Commit 33e765da by BellCodeEditor

auto save

parent a9bd63ac
Showing with 112 additions and 0 deletions
import random
class Pokemon:
def __init__(self,name,hp,attack,defense,speed,SA,SD,skill):
self.level = 1
self.name = name
self.hp = hp
self.attack = attack
self.defense = defense
self.max_hp = self.hp
self.speed = speed
self.SA = SA
self.SD = SD
print('玩家您好,您选择的宝可梦是'+str(self.name))
print('宝可梦的血量值为'+str(self.hp))
print('宝可梦的攻击力为'+str(self.attack))
print('宝可梦的防御值为'+str(self.defense))
print('-----------------------------------------------------------')
def combat(self,enemy):
info1 = self.name + '对' +enemy.name + '发动了抓击!'
info2 = enemy.name + '收到了' + str(self.attack*0.25) + '点伤害!'+'防御减免'+ str(enemy.defense*0.2)+'点伤害。'
enemy.hp = enemy.hp - self.attack*0.25 + enemy.defense*0.2
if enemy.hp > 0:
info3 = enemy.name+'剩余'+str(enemy.hp)+'血量!'
info = info1 + info2 + info3
print(info)
else:
info3 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info3)
def cure(self,enemy):
self.hp=self.hp+self.hp*0.3
if self.hp > self.max_hp:
self.hp = self.max_hp
print(self.name + '使用了hp药水!hp增加了'+str(self.hp*0.3)+'点,目前的血量为:'+str(self.hp))
def skill1(self,enemy):
for skill1 in range(2):
enemy.hp = enemy.hp - self.SA*0.15 + enemy.SD*0.1
self.hp = self.hp + self.SA*0.2
print('寄生状态生效,'+enemy.name+'受到'+str(self.SA*0.15-enemy.SD*0.1)+'点伤害!'+self.name+'恢复了'+str(self.SA*0.2)+'点hp!')
print(self.name+'使用了技能:寄生种子!'+enemy.name+'被寄生了!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
def skill2(self,enemy):
for skill2 in range(2):
enemy.SD = enemy.SD - self.SA*0.25
enemy.defense = enemy.defense - self.SA*0.25
print('燃烧状态生效,'+enemy.name+'受到破甲效果,减少'+str(self.SA*0.25)+'点SD和defense属性!')
enemy.hp = enemy.hp - self.SA*0.25 + enemy.SD*0.2
print(self.name+'使用了技能:火花!'+enemy.name+'受到'+str(self.SA*0.25)+'点伤害!'+enemy.name+'减免了'+str(enemy.SD*0.2)+'点伤害!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
def skill3(self,enemy):
for skill3 in range(3):
enemy.attack = enemy.attack - self.SA*0.2
enemy.speed = enemy.speed - self.SA*0.3
print('虚弱状态生效!'+enemy.name+'受到削减攻击和减速效果,减少'+str(self.SA*0.2)+'attack和'+str(self.SA*0.3)+'点速度!')
print(self.name+'使用了技能:水沫'+enemy.name+'受到了虚弱状态!')
if enemy.hp > 0:
info = enemy.name+'剩余'+str(enemy.hp)+'血量!'
print(info)
else:
info1 = enemy.name+'的hp不足,进入濒死状态.'+self.name+'胜利'
print(info1)
a = Pokemon('妙蛙种子',45,49,49,45,65,65,'寄生种子')
b = Pokemon('杰尼龟',44,48,65,50,64,43,'水沫')
while True:
print('-'*30)
print(a.name+'hp'+str(a.hp)+b.name+'hp'+str(b.hp))
choice = input('请选择释放技能(1 抓击/2 hp药水/3 寄生种子/4 火花/5 水沫)')
if choice == 'q':
print('战斗结束')
break
elif choice == '1':
a.combat(b)
elif choice == '2':
a.cure(a)
elif choice == '3':
a.skill1(b)
elif choice == '4':
a.skill2(b)
elif choice == '5':
a.skill3(b)
else:
print('请重新输入')
continue
status = random.randint(1,6)
if status == 1:
b.combat(a)
elif choice == 2:
a.cure()
elif choice == 3:
a.skill1(b)
elif choice == 4:
a.skill2(b)
else:
a.skill3(b)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment