鱼C论坛

 找回密码
 立即注册
查看: 7345|回复: 44

[作品展示] 桃花侠大战菊花怪 1.0

[复制链接]
发表于 2020-12-2 01:24:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小伤口 于 2020-12-26 17:32 编辑

交第38讲作业啦
这是写的小游戏,写完之后才发现代码可以缩写好多的。但已经1点多了不想改了
希望不会有bug
话不多说放代码
第一次发作品好羞涩
  1. import random as r
  2. def gongjili(x):
  3.     x=x+int(c)
  4.     if x>100:
  5.         x=100
  6.     return x
  7. def nengliang(x):
  8.     x=x+int(e)
  9.     if x>150:
  10.         x=150
  11.     return x
  12. def shengmingzhi(x):
  13.     x=x+int(d)
  14.     if x>800:
  15.         x=800
  16.     return x
  17. def fangyujia(x):
  18.     x=x+int(s)
  19.     if x>150:
  20.         x=150
  21.     return x
  22. def gongjili1(x):
  23.     x=x+r.randint(10,40)
  24.     if x>100:
  25.         x=100
  26.     return x
  27. def nengliang1(x):
  28.     x=x+r.randint(10,40)
  29.     if x>150:
  30.         x=150
  31.     return x
  32. def shengmingzhi1(x):
  33.     x=x+r.randint(10,40)
  34.     if x>800:
  35.         x=800
  36.     return x
  37. def fangyujia1(x):
  38.     x=x+r.randint(10,40)
  39.     if x>150:
  40.         x=150
  41.     return x
  42. juhuaguai={'攻击力':50,'生命值':800,'能量':100,'防御甲':150}
  43. taohuaxia={'攻击力':50,'生命值':800,'能量':150,'防御甲':100}

  44. print('游戏说明:每局你都会有80个元晶,可以加任何属性包括生命值,转换率都是1:1.生命值为0游戏就结束')
  45. print('')
  46. print('能量和防御甲每局都会损耗,但是数值越高攻击力造成的伤害或防御能力也会相应的提高')
  47. print('')
  48. print('选1为菊花怪  世人甚爱牡丹,吾独爱菊---菊花怪 ',juhuaguai)
  49. print('')
  50. print('选2为桃花侠  只为桃花不为侠---桃花侠',taohuaxia)
  51. temp=input('请选择人物')
  52. a=80
  53. f=80

  54. while 1:
  55.     if juhuaguai['生命值']<=0:
  56.         print('菊花怪被打败了')
  57.         break
  58.     if taohuaxia['生命值'] <=0:
  59.         print('桃花侠被打败了')
  60.         break   
  61.     if temp!='1' and temp!='2':
  62.         print('请正确输入')
  63.         break
  64.     if juhuaguai['生命值']>0 and taohuaxia['生命值']>0:
  65.         print('战斗打响了')

  66.         if taohuaxia['能量']>0 and juhuaguai['防御甲']>0:
  67.             juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*taohuaxia['能量']*0.01+juhuaguai['防御甲']*0.38
  68.         if taohuaxia['能量']>0 and juhuaguai['防御甲']<=0:
  69.             juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*taohuaxia['能量']*0.01
  70.         if  taohuaxia['能量']<=0 and juhuaguai['防御甲']>0:
  71.             juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*0.5+juhuaguai['防御甲']*0.38
  72.         if taohuaxia['能量']<=0 and juhuaguai['防御甲']<=0:
  73.             juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*0.5
  74.         if juhuaguai['能量']<=0 and taohuaxia['防御甲']<=0 :
  75.             taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*0.5
  76.         if juhuaguai['能量']<=0 and taohuaxia['防御甲']>0:
  77.             taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*0.5+taohuaxia['防御甲']*0.38  
  78.         if juhuaguai['能量']>0 and taohuaxia['防御甲']>0:
  79.             taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*juhuaguai['能量']*0.01+taohuaxia['防御甲']*0.38
  80.         if juhuaguai['能量']>0 and taohuaxia['防御甲']<=0:
  81.             taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*juhuaguai['能量']*0.01
  82.         juhuaguai['能量']=juhuaguai['能量']-r.randint(15,27)
  83.         juhuaguai['防御甲']=juhuaguai['防御甲']-r.randint(15,27)
  84.         if juhuaguai['能量']<=0:
  85.             juhuaguai['能量']=0
  86.         taohuaxia['能量']=taohuaxia['能量']-r.randint(15,27)
  87.         taohuaxia['防御甲']=taohuaxia['防御甲']-r.randint(15,27)
  88.         if taohuaxia['能量']<=0:
  89.             taohuaxia['能量']=0
  90.         if juhuaguai['防御甲']<=0:
  91.             juhuaguai['防御甲']=0
  92.         if taohuaxia['防御甲']<=0:
  93.             taohuaxia['防御甲']=0
  94.         print('菊花怪现在攻击力为:',juhuaguai['攻击力'])
  95.         print('菊花怪现在生命值为:',juhuaguai['生命值'])
  96.         print('菊花怪现在能量为:',juhuaguai['能量'])
  97.         print('菊花怪现在防御甲为:', juhuaguai['防御甲'])
  98.         print('  ')
  99.         print('桃花侠现在攻击力为:',taohuaxia['攻击力'])
  100.         print('桃花侠现在生命值为:',taohuaxia['生命值'])
  101.         print('桃花侠现在能量为:',taohuaxia['能量'])
  102.         print('桃花侠现在防御甲为:',taohuaxia['防御甲'])
  103.         if juhuaguai['生命值']<=0:
  104.             print('菊花怪被打败了')
  105.             break
  106.         if taohuaxia['生命值'] <=0:
  107.             print('桃花侠被打败了')
  108.             break   
  109.         if temp=='1':
  110.             print('')
  111.             print('按1进入转化攻击力渠道')
  112.             print('按2进入转化生命值渠道')
  113.             print('按3进入转化能量渠道')
  114.             print('按4进入转化防御甲通道')
  115.             while 1:
  116.                 if not a:
  117.                     break
  118.                 b=input('请选择元晶转化渠道:')
  119.                 if b=='1':
  120.                     c=input('请分配你的元晶(攻击力上限为100):')
  121.                     if int(c)<=a:
  122.                         juhuaguai['攻击力']=gongjili(juhuaguai['攻击力'])
  123.                         print('攻击力现在为:',juhuaguai['攻击力'])
  124.                         a=a-int(c)
  125.                         print('元晶还剩:',a)
  126.                     else:
  127.                         print('元晶不够啦')
  128.                 if b=='2':
  129.                     d=input('请分配你的元晶(生命值上限为800):')
  130.                     if int(d)<=a:
  131.                         juhuaguai['生命值']=shengmingzhi(juhuaguai['生命值'])
  132.                         print('生命值现在为:',juhuaguai['生命值'])
  133.                         a=a-int(d)
  134.                         print('元晶还剩:',a)
  135.                     else:
  136.                         print('元晶不够啦')
  137.                 if b=='3':
  138.                     e=input('请分配你的元晶(能量上限为150):')
  139.                     if int(e)<=a:
  140.                         juhuaguai['能量']=nengliang(juhuaguai['能量'])
  141.                         print('能量现在为:',juhuaguai['能量'])
  142.                         a=a-int(e)
  143.                         print('元晶还剩:',a)
  144.                     else:
  145.                         print('元晶不够啦')
  146.                 if b=='4':
  147.                     s=input('请分配你的元晶(防御值上限为150):')
  148.                     if int(s)<=a:
  149.                         juhuaguai['防御甲']=fangyujia(juhuaguai['防御甲'])
  150.                         a=a-int(s)
  151.                         print('元晶还剩:',a)
  152.                     else:
  153.                         print('元晶不够啦')
  154.                
  155.             taohuaxia['能量']=nengliang1(taohuaxia['能量'])
  156.             taohuaxia['攻击力']=gongjili1(taohuaxia['攻击力'])
  157.             taohuaxia['生命值']=shengmingzhi1(taohuaxia['生命值'])
  158.             taohuaxia['防御甲']=fangyujia1(taohuaxia['防御甲'])
  159.             a+=80
  160.         if temp=='2':
  161.             print('')
  162.             print('按1进入转化攻击力渠道')
  163.             print('按2进入转化生命值渠道')
  164.             print('按3进入转化能量渠道')
  165.             print('按4进入转化防御甲通道')
  166.             while 1:
  167.                 if not f:
  168.                     break
  169.                 g=int(input('请输入元晶转化渠道:'))
  170.                 if g==1:
  171.                     c=int(input('请分配你的元晶(攻击力上限为100)'))
  172.                     if c<=f:
  173.                         taohuaxia['攻击力']=gongjili(taohuaxia['攻击力'])
  174.                         print('攻击力现在为:',taohuaxia['攻击力'])
  175.                         f=f-int(c)
  176.                         print('元晶还剩:',f)
  177.                     else:
  178.                         print('元晶不够啦')
  179.                 if g==2:
  180.                     d=int(input('请分配你的元晶(生命值上限为800):'))
  181.                     if d<=f:
  182.                         taohuaxia['生命值']=shengmingzhi(taohuaxia['生命值'])
  183.                         print('生命值现在为:',taohuaxia['生命值'])
  184.                         f=f-int(d)
  185.                         print('元晶还剩:',f)
  186.                     else:
  187.                         print('元晶不够啦')
  188.                 if g==3:
  189.                     e=int(input('请分配你的元晶(能量上限为150):'))
  190.                     if e<=f:
  191.                         taohuaxia['能量']=nengliang(taohuaxia['能量'])
  192.                         print('能量现在为:',taohuaxia['能量'])
  193.                         f=f-int(e)
  194.                         print('元晶还剩:',f)
  195.                     else:
  196.                         print('元晶不够啦')
  197.                 if g==4:
  198.                     s=int(input('请分配你的元晶(防御值上限为150):'))
  199.                     if s<=f:
  200.                         taohuaxia['防御甲']=fangyujia(taohuaxia['防御甲'])
  201.                         print('防御甲现在为:',taohuaxia['防御甲'])
  202.                         f=f-s
  203.                         print('元晶还剩:',f)
  204.                     else:
  205.                           print('元晶不够啦')
  206.                        
  207.             f+=80
  208.             juhuaguai['攻击力']=gongjili1(juhuaguai['攻击力'])
  209.             juhuaguai['生命值']=shengmingzhi1(juhuaguai['生命值'])
  210.             juhuaguai['能量']=nengliang1(juhuaguai['能量'])
  211.       
  212.             juhuaguai['防御甲']=fangyujia1(juhuaguai['防御甲'])
  213.             
  214.                
  215.             
  216.             
  217.                     
  218.                
  219.             
  220.             

  221.         
  222.         
  223.    





复制代码

评分

参与人数 2荣誉 +5 鱼币 +10 贡献 +3 收起 理由
xiao-wugui + 5 牛啊
糖甜弯了嘴 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-2 01:26:17 | 显示全部楼层
回复有鱼币哟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-12-2 01:29:40 | 显示全部楼层
本帖最后由 小伤口 于 2020-12-2 01:35 编辑

还好是凌晨,没人看见哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-12-2 07:59:15 | 显示全部楼层
大佬优秀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 09:24:04 | 显示全部楼层

回帖奖励 +2 鱼币


6666
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 10:54:41 | 显示全部楼层

回帖奖励 +2 鱼币

可以呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 11:36:00 | 显示全部楼层
文字游戏也有点乐趣的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 11:40:23 | 显示全部楼层
66
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 13:43:32 | 显示全部楼层
你可以去试试学习pygame 然后整个rpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 13:57:38 | 显示全部楼层
温木zou 发表于 2020-12-2 13:43
你可以去试试学习pygame 然后整个rpg

俺去试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 14:40:00 | 显示全部楼层
来了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 14:40:34 | 显示全部楼层
鱼币
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-2 14:49:33 | 显示全部楼层
写完之后才发现代码可以缩写好多的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 14:59:58 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 15:02:44 | 显示全部楼层

运气太差了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 15:29:14 | 显示全部楼层

回帖奖励 +2 鱼币


鱼币
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 15:35:17 | 显示全部楼层
试运行了一下,分配校验点之后不再进入战斗了,只能继续分配经验点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 15:39:29 | 显示全部楼层
咔叽小飞鼠 发表于 2020-12-2 15:35
试运行了一下,分配校验点之后不再进入战斗了,只能继续分配经验点

对,必须把80个分配完才能继续战斗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-2 15:41:59 | 显示全部楼层

回帖奖励 +2 鱼币

初学者感觉好厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-2 15:46:40 | 显示全部楼层
咔叽小飞鼠 发表于 2020-12-2 15:35
试运行了一下,分配校验点之后不再进入战斗了,只能继续分配经验点

可能你最后分配的时候超过个数了,我忘记加提示了,现在好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表