类的应用(与怪兽对战的小游戏)
#怪兽对战文字游戏:
from random import randint
class Creature():
def __init__(self,hp,name):
self.name=name
self.hp=hp
def attack(self):
attack_value=randint(0,50)
return attack_value
def being_attack(self,attack_value):
self.hp-=attack_value
def not_dead(self):
if self.hp<=0:
return False
else:
return True
def show_status(self):
print('{}\'s hp is {}.'.format(self.name,self.hp))
player=Creature(100,'Cheng')
enemy=Creature(80,'monster')
while player.not_dead() and enemy.not_dead():
#游戏开始显示玩家和怪兽的血量和状态
player.show_status()
enemy.show_status()
#判断玩家该回合攻击还是防御
user_input=input('Attack or Defence(A/D):')
if user_input=='A':
#分别获取攻击力
player_attack_value=player.attack()
enemy_attack_value=enemy.attack()
#接受攻击
enemy.being_attack(player_attack_value)
player.being_attack(enemy_attack_value)
elif user_input=='D':
#选择防御时怪兽攻击力衰减
enemy_attack_value=enemy.attack()*0.1
player.being_attack(enemy_attack_value)
if player.not_dead():
print('You win!')
else:
print('You lose!')
控制台运行结果: