刚学完面对像类,趁周末突发灵感,写了这个。
第一次写,经验有点不足,可能有些地方有更好的表达方式
这里开始正文
import random
class Monstr: #怪物
def __init__(self,hp,name,ad):
self.hp=hp #血量
self.name=name #怪物名称
self.ad=ad #攻击造成的伤害
# self.state='' #状态
def fight(self,two): #fight:战斗
print(self.name,'对',two.name,'造成',self.ad,'点伤害')
two.hp-=self.ad
print(two.name,'还剩',two.hp,'点血量')
print('-'*100)
def arr():
print('----->正在探索中') #这里为了使运行后更加真实,
select = input('嘀——嘀——嘀~~,野生杰尼龟出现了,是否战斗')
if select == '战斗':
print('战斗开始,这一次绝对是你了——皮卡丘')
elif select=='逃跑':
print('逃跑成功')
return
#这里pikachu代表皮卡丘,是我的宠物,而jenny代表野生杰尼龟
pikachu = Monstr(100, '皮卡丘', random.randint(10, 30))
jenny = Monstr(100, '杰尼龟', random.randint(10, 30))
# pikachu.explore()
while True:
select1=int(input('【1】战斗------------------【2】捕捉----------------'))
if select1==1:
firstr =random.randint(1, 2) #判断谁为先手攻击
if firstr == 1:
print('皮卡丘使用了【十万伏特】')
pikachu.fight(jenny)
# pikachu.text()
print('\n杰尼龟使用了【水枪】')
jenny.fight(pikachu)
elif firstr==2:
print('杰尼龟使用了【水枪】')
jenny.fight(pikachu)
print('\n皮卡丘使用了【十万伏特】')
pikachu.fight(jenny)
if pikachu.hp < 0:
print('{}战败了,{}获胜,还剩{}血'.format(pikachu.name, jenny.name, jenny.hp))
break
elif jenny.hp <= 0:
print('{}战败了,{}获胜,还剩{}血'.format(jenny.name, pikachu.name, pikachu.hp))
break
elif select1==2: #捕捉
if jenny.hp>=30:
print('血量太高,捕捉失败,')
elif jenny.hp<30:
print('捕捉成功!!!你获得新宠物【杰尼龟】')
break
arr()
到这里结束。
实图如下
![](https://img-blog.csdnimg.cn/img_convert/a6f92fb828465074fb0b53cdc427a996.png)
![](https://img-blog.csdnimg.cn/img_convert/f8600c34f6c02d71ebf2c2abaaff7bb8.png)
![](https://img-blog.csdnimg.cn/img_convert/6e1bbffc663a640c597822f7e36a4065.png)
运行结果:
![](https://img-blog.csdnimg.cn/img_convert/0cca0af7d7188946e21ed5a7d52ff4a0.png)
各位大佬感觉怎么样,目前在学校学习python已3周了