写一个python枪战小游戏
这是一个简单的枪战小游戏的示例代码:
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 著作权归作者所有。请勿转载和采集!