这是一个简单的枪战小游戏的示例代码:

import random

class Player:
    def __init__(self, name):
        self.name = name
        self.hp = 100
        self.gun = None
        
    def take_damage(self, damage):
        self.hp -= damage
        
    def is_alive(self):
        return self.hp > 0
    
    def equip_gun(self, gun):
        self.gun = gun
        
    def shoot(self, enemy):
        if self.gun is None:
            print("你没有装备枪支!")
        else:
            damage = self.gun.get_damage()
            print(f"{self.name}使用{self.gun.name}对{enemy.name}造成了{damage}点伤害!")
            enemy.take_damage(damage)
            
class Gun:
    def __init__(self, name, damage, ammo):
        self.name = name
        self.damage = damage
        self.ammo = ammo
        
    def get_damage(self):
        if self.ammo > 0:
            self.ammo -= 1
            return self.damage
        else:
            print(f"{self.name}没有弹药了!")
            return 0
        
    def reload(self, ammo):
        self.ammo += ammo
        print(f"{self.name}装填了{ammo}发弹药!")
        
player = Player("玩家")
enemy = Player("敌人")
gun = Gun("手枪", 20, 10)

player.equip_gun(gun)

while player.is_alive() and enemy.is_alive():
    action = input("请选择行动(1-开枪,2-装填弹药):")
    
    if action == "1":
        player.shoot(enemy)
    elif action == "2":
        gun.reload(10)
    else:
        print("无效的行动!")
        
    if enemy.is_alive():
        enemy.shoot(player)
        
if player.is_alive():
    print("你赢了!")
else:
    print("你输了!")

这个小游戏中,玩家和敌人分别有100点生命值。玩家可以选择开枪或者装填弹药进行行动,敌人会自动开枪攻击玩家。玩家和敌人可以互相造成伤害,当一方生命值归零时游戏结束。玩家装备了一把手枪,手枪有10发弹药,每次开枪会消耗一发弹药,当弹药用尽时需要装填弹药


原文地址: http://www.cveoy.top/t/topic/h0T2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录