# -*- coding: utf-8 -*
import time,os,random#######数据系统的建立
class player:#玩家信息def __init__(self,name,maxhp=100,ac=10,speed=1.0,money=0):self.name=nameself.hp=maxhpself.maxhp=maxhpself.minac=int(ac*0.5)self.maxac=int(ac*1.5)self.speed=speedself.money=moneyself.exp=0self.maxexp=100self.rank=0self.challenge=0def rankup(self):#升级系统self.maxhp+=10+self.rankself.minac+=random.randint(2,8)self.maxac+=random.randint(4,12)self.hp=self.maxhpself.speed+=0.1self.exp-=self.maxexpself.maxexp=int(self.maxexp*1.1)self.rank+=1def printa(self):#个人信息print('【%s】' %self.name)print('等级:%d(%d/%d)' %(self.rank,self.exp,self.maxexp))print('生命值:%d/%d' %(self.hp,self.maxhp))print('攻击力:%d-%d' %(self.minac,self.maxac))print('速度:%.1f' %self.speed)print('金钱:%d' %self.money)print('敌人等级:%d' %self.challenge)print()def ac(self):#随机return random.randint(self.minac,self.maxac)def save(self):#保存s=self.name+'\n'+str(self.rank)+'\n'+str(self.exp)+'\n'+str(self.maxexp)+'\n'+str(self.hp)+'\n's+=str(self.maxhp)+'\n'+str(self.minac)+'\n'+str(self.maxac)+'\n'+str(self.speed)+'\n'+str(self.money)+'\n's+=str(self.challenge)with open('hero.save','w') as f:f.write(s)print('战士,你的数据保存成功!\n')#######游戏主系统的建立
def LOADING():#加载函数global heroif os.path.exists('hero.save'):try:with open('hero.save','r') as f:d=f.read().split('\n')hero=player(d[0])hero.rank=int(d[1])hero.exp=int(d[2])hero.maxexp=int(d[3])hero.hp=int(d[4])hero.maxhp=int(d[5])hero.minac=int(d[6])hero.maxac=int(d[7])hero.speed=float(d[8])hero.money=int(d[9])hero.challenge=int(d[10])print('欢迎回来,我的战士。\n')print()return 0except Exception as e:print('战士,你的存档读取出错:',e)print()hero=player(input('战士,我该如何称呼你?\n'))def EXP(x):#经验获取if x<5:return -0.198*x+1if x>=5:return 0.01def FIGHT(A,B):#战斗事件global timestimes+=1ac=B.ac()A.hp-=acprint('<%d>\n【%s】攻击【%s】!\n【%s】受到 %d 点伤害!\n【%s】剩余生命值:%d\n' %(times,B.name,A.name,A.name,ac,A.name,A.hp))if A.hp<=0:return 1else:return 0def BATTLE(who):#进入战斗状态global timestry:s2=int(input('我的战士,你想挑战多少等级的怪物?\n'))except:s2=1print()if s2>0:os.system('cls')print('挑战【%d】级怪物\n' %s2)if who.challenge<s2:who.challenge=s2monster=player(str(s2)+'级怪物',s2*50,s2*8,s2/5+1,s2*random.randint(0,20))exp=int(s2*100*EXP(who.rank-s2))if s2%10==0:monster.hp+=40monster.minac+=6monster.maxac+=12monster.money+=s2//10*200exp*=2print('这个怪物远比你想象中的强大。\n')times=0while monster.hp>0 and who.hp>0:if monster.speed>who.speed:if FIGHT(who,monster):breaktime.sleep(0.5)if FIGHT(monster,who):breaktime.sleep(0.5)else:if FIGHT(monster,who):breaktime.sleep(0.5)if FIGHT(who,monster):breaktime.sleep(0.5)if who.hp>0:if monster.money>0:print('你成功地击杀了怪物,经验和金钱增加了!\n')else:print('你成功地击杀了怪物,经验增加了!\n')who.exp+=expranktmp=0while who.exp>=who.maxexp:who.rankup()ranktmp+=1if ranktmp==1:print('【%s】的力量发生了变化!\n' %who.name)elif ranktmp>1 and ranktmp<100:print('【%s】的力量得到了强大的提升!\n' %who.name)elif ranktmp>=100:print('【%s】一定是我们的救世主!\n' %who.name)who.money+=monster.moneyelse:print('很遗憾我的战士,你被怪物杀死了,安息吧,游戏到此结束。\n')print()return Trueelse:print('我的战士,这里找不到更弱的怪物了。\n')print()return Falsedef CURE(who):#治疗事件os.system('cls')if who.hp<who.maxhp and who.money>0:if who.money>=who.maxhp-who.hp:print('在圣光的照耀和保佑下,你恢复如初!\n')who.money-=who.maxhp-who.hpwho.hp=who.maxhpelse:print('由于你的金钱不够,牧师只治疗了你的部分伤势。\n')who.hp+=who.moneywho.money=0else:print('我的战士,你的心灵得到了治愈,愿上帝保佑你,阿门。\n')print()#######加载
LOADING()gameover=False#######游戏操作界面
while gameover==False:print('A.寻找怪物\nB.寻求治疗\nC.保存存档\nD.查看属性')print()s=input('我的战士,你接下来有何打算?\n(输入序号执行对应操作)\n')print()
#指令的判断if s=='A':gameover=BATTLE(hero)elif s=='B':CURE(hero)elif s=='C':os.system('cls')hero.save()elif s=='D':os.system('cls')hero.printa()else:print("我的战士,我听不清你的要求,再说一次吧,你接下来有何打算?\n")sinput('---- YOU DIED ----')

python自动战斗文字小游戏相关推荐

  1. 利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单

    优质文章,第一时间送达! 相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻 ...

  2. python做游戏代码_利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!...

    相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...

  3. 利用Python基础代码语句,实现2G时代文字小游戏,学会难道不香吗?

    相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...

  4. 利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!

    相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆.偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的.曾经流量很少,响应很快 ...

  5. 改进Python文字小游戏(4)

    前面,我们讲了变量和字符串的一些种类.朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯! 1)首先, ...

  6. python实现文字游戏_改进Python文字小游戏(4)

    前面,我们讲了变量和字符串的一些种类.朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯! 1)首先, ...

  7. Python文字小游戏

    Python文字小游戏 纪念我写下的第一个游戏 游戏介绍: 1.1V1文字小游戏 2.两种游戏角色 3.只有简单逻辑,比如选择人物等 #西游日记 #纪念我写下的第一个小游戏 print('*'*36+ ...

  8. Python 文字小游戏

    ** 废话说一点,然后上代码 ** 游戏介绍: 1.3V3文字小游戏 2.三种角色,互相之间有克制 3.只有简单的逻辑,比如选择角色出场顺序只能输入数字1-3 import time, randomc ...

  9. 教你用Python自制拼图小游戏,一起来玩吧

    摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...

最新文章

  1. 学习全基因组测序数据分析1:测序技术
  2. python svm超参数_grid search 超参数寻优
  3. 帝国cms 打开打开转换表文件失败!
  4. 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》
  5. c++ map初始化_Java多线程 未完成初始化--构造方法中新建线程
  6. git覆盖覆盖推送_强制“git Push”覆盖远程文件
  7. 《别闹了,费曼先生》
  8. PHP安卓获取gpgga,对于GPS模块数据接收和提取的问题分析
  9. MTK刷机(ubuntu下)
  10. 360Hbase二级索引
  11. PHP基础PPT课件,《php基础》PPT课件.ppt
  12. 对话腾讯金融云胡利明:金融机构数字化,迈进了“深水区”
  13. 使用爱思助手备份苹果手机数据的方法
  14. 电商订单价格计算逻辑
  15. python产生0101_GitHub - zhl0101/Python-100-Days: Python - 100天从新手到大师
  16. Python基础7:文件操作
  17. linux添加windows字体文件夹里,如何把Windows下的字体添加到Linux中
  18. 漫反射辐照——并不是很完全的翻译
  19. 什么是gpt一4-如何用上gpt-4
  20. MMsegmentation教程1:学习配置文件

热门文章

  1. pip install warning
  2. 使用微安级功耗分析仪,给微软无线键盘进行了功耗评测,分享评测数据,供软硬件工程师和产品工程师参考!
  3. Zephyr_FileSystems
  4. 【树莓派入门】从零开始在树莓派上运行YOLOV5项目实战教程
  5. groovy 模板_一个非常轻巧的基于Groovy的Web应用程序项目模板
  6. 微赞html写入,微赞WZ-后台一键更新-授权
  7. 多语言在线客服系统源码-自动识别中英环境-私有化部署完美支持跨境电商网站...
  8. 设计模式学习之工厂模式(附demo)
  9. PAT (Basic Level) Practise (中文)1062. 最简分数(20)
  10. 12地教师社招公告已出,深圳教招即将时发布?这些报考条件你需要了解