小伤口 发表于 2020-12-2 01:24:34

桃花侠大战菊花怪 1.0

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

交第38讲作业啦
这是写的小游戏,写完之后才发现代码可以缩写好多的。但已经1点多了不想改了{:10_266:}
希望不会有bug{:10_250:}
话不多说放代码{:10_297:}
第一次发作品好羞涩{:10_319:} import random as r
def gongjili(x):
    x=x+int(c)
    if x>100:
      x=100
    return x
def nengliang(x):
    x=x+int(e)
    if x>150:
      x=150
    return x
def shengmingzhi(x):
    x=x+int(d)
    if x>800:
      x=800
    return x
def fangyujia(x):
    x=x+int(s)
    if x>150:
      x=150
    return x
def gongjili1(x):
    x=x+r.randint(10,40)
    if x>100:
      x=100
    return x
def nengliang1(x):
    x=x+r.randint(10,40)
    if x>150:
      x=150
    return x
def shengmingzhi1(x):
    x=x+r.randint(10,40)
    if x>800:
      x=800
    return x
def fangyujia1(x):
    x=x+r.randint(10,40)
    if x>150:
      x=150
    return x
juhuaguai={'攻击力':50,'生命值':800,'能量':100,'防御甲':150}
taohuaxia={'攻击力':50,'生命值':800,'能量':150,'防御甲':100}

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

while 1:
    if juhuaguai['生命值']<=0:
      print('菊花怪被打败了')
      break
    if taohuaxia['生命值'] <=0:
      print('桃花侠被打败了')
      break   
    if temp!='1' and temp!='2':
      print('请正确输入')
      break
    if juhuaguai['生命值']>0 and taohuaxia['生命值']>0:
      print('战斗打响了')

      if taohuaxia['能量']>0 and juhuaguai['防御甲']>0:
            juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*taohuaxia['能量']*0.01+juhuaguai['防御甲']*0.38
      if taohuaxia['能量']>0 and juhuaguai['防御甲']<=0:
            juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*taohuaxia['能量']*0.01
      iftaohuaxia['能量']<=0 and juhuaguai['防御甲']>0:
            juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*0.5+juhuaguai['防御甲']*0.38
      if taohuaxia['能量']<=0 and juhuaguai['防御甲']<=0:
            juhuaguai['生命值']=juhuaguai['生命值']-taohuaxia['攻击力']*0.5
      if juhuaguai['能量']<=0 and taohuaxia['防御甲']<=0 :
            taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*0.5
      if juhuaguai['能量']<=0 and taohuaxia['防御甲']>0:
            taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*0.5+taohuaxia['防御甲']*0.38
      if juhuaguai['能量']>0 and taohuaxia['防御甲']>0:
            taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*juhuaguai['能量']*0.01+taohuaxia['防御甲']*0.38
      if juhuaguai['能量']>0 and taohuaxia['防御甲']<=0:
            taohuaxia['生命值']=taohuaxia['生命值']-juhuaguai['攻击力']*juhuaguai['能量']*0.01
      juhuaguai['能量']=juhuaguai['能量']-r.randint(15,27)
      juhuaguai['防御甲']=juhuaguai['防御甲']-r.randint(15,27)
      if juhuaguai['能量']<=0:
            juhuaguai['能量']=0
      taohuaxia['能量']=taohuaxia['能量']-r.randint(15,27)
      taohuaxia['防御甲']=taohuaxia['防御甲']-r.randint(15,27)
      if taohuaxia['能量']<=0:
            taohuaxia['能量']=0
      if juhuaguai['防御甲']<=0:
            juhuaguai['防御甲']=0
      if taohuaxia['防御甲']<=0:
            taohuaxia['防御甲']=0
      print('菊花怪现在攻击力为:',juhuaguai['攻击力'])
      print('菊花怪现在生命值为:',juhuaguai['生命值'])
      print('菊花怪现在能量为:',juhuaguai['能量'])
      print('菊花怪现在防御甲为:', juhuaguai['防御甲'])
      print('')
      print('桃花侠现在攻击力为:',taohuaxia['攻击力'])
      print('桃花侠现在生命值为:',taohuaxia['生命值'])
      print('桃花侠现在能量为:',taohuaxia['能量'])
      print('桃花侠现在防御甲为:',taohuaxia['防御甲'])
      if juhuaguai['生命值']<=0:
            print('菊花怪被打败了')
            break
      if taohuaxia['生命值'] <=0:
            print('桃花侠被打败了')
            break   
      if temp=='1':
            print('')
            print('按1进入转化攻击力渠道')
            print('按2进入转化生命值渠道')
            print('按3进入转化能量渠道')
            print('按4进入转化防御甲通道')
            while 1:
                if not a:
                  break
                b=input('请选择元晶转化渠道:')
                if b=='1':
                  c=input('请分配你的元晶(攻击力上限为100):')
                  if int(c)<=a:
                        juhuaguai['攻击力']=gongjili(juhuaguai['攻击力'])
                        print('攻击力现在为:',juhuaguai['攻击力'])
                        a=a-int(c)
                        print('元晶还剩:',a)
                  else:
                        print('元晶不够啦')
                if b=='2':
                  d=input('请分配你的元晶(生命值上限为800):')
                  if int(d)<=a:
                        juhuaguai['生命值']=shengmingzhi(juhuaguai['生命值'])
                        print('生命值现在为:',juhuaguai['生命值'])
                        a=a-int(d)
                        print('元晶还剩:',a)
                  else:
                        print('元晶不够啦')
                if b=='3':
                  e=input('请分配你的元晶(能量上限为150):')
                  if int(e)<=a:
                        juhuaguai['能量']=nengliang(juhuaguai['能量'])
                        print('能量现在为:',juhuaguai['能量'])
                        a=a-int(e)
                        print('元晶还剩:',a)
                  else:
                        print('元晶不够啦')
                if b=='4':
                  s=input('请分配你的元晶(防御值上限为150):')
                  if int(s)<=a:
                        juhuaguai['防御甲']=fangyujia(juhuaguai['防御甲'])
                        a=a-int(s)
                        print('元晶还剩:',a)
                  else:
                        print('元晶不够啦')
               
            taohuaxia['能量']=nengliang1(taohuaxia['能量'])
            taohuaxia['攻击力']=gongjili1(taohuaxia['攻击力'])
            taohuaxia['生命值']=shengmingzhi1(taohuaxia['生命值'])
            taohuaxia['防御甲']=fangyujia1(taohuaxia['防御甲'])
            a+=80
      if temp=='2':
            print('')
            print('按1进入转化攻击力渠道')
            print('按2进入转化生命值渠道')
            print('按3进入转化能量渠道')
            print('按4进入转化防御甲通道')
            while 1:
                if not f:
                  break
                g=int(input('请输入元晶转化渠道:'))
                if g==1:
                  c=int(input('请分配你的元晶(攻击力上限为100)'))
                  if c<=f:
                        taohuaxia['攻击力']=gongjili(taohuaxia['攻击力'])
                        print('攻击力现在为:',taohuaxia['攻击力'])
                        f=f-int(c)
                        print('元晶还剩:',f)
                  else:
                        print('元晶不够啦')
                if g==2:
                  d=int(input('请分配你的元晶(生命值上限为800):'))
                  if d<=f:
                        taohuaxia['生命值']=shengmingzhi(taohuaxia['生命值'])
                        print('生命值现在为:',taohuaxia['生命值'])
                        f=f-int(d)
                        print('元晶还剩:',f)
                  else:
                        print('元晶不够啦')
                if g==3:
                  e=int(input('请分配你的元晶(能量上限为150):'))
                  if e<=f:
                        taohuaxia['能量']=nengliang(taohuaxia['能量'])
                        print('能量现在为:',taohuaxia['能量'])
                        f=f-int(e)
                        print('元晶还剩:',f)
                  else:
                        print('元晶不够啦')
                if g==4:
                  s=int(input('请分配你的元晶(防御值上限为150):'))
                  if s<=f:
                        taohuaxia['防御甲']=fangyujia(taohuaxia['防御甲'])
                        print('防御甲现在为:',taohuaxia['防御甲'])
                        f=f-s
                        print('元晶还剩:',f)
                  else:
                          print('元晶不够啦')
                       
            f+=80
            juhuaguai['攻击力']=gongjili1(juhuaguai['攻击力'])
            juhuaguai['生命值']=shengmingzhi1(juhuaguai['生命值'])
            juhuaguai['能量']=nengliang1(juhuaguai['能量'])
      
            juhuaguai['防御甲']=fangyujia1(juhuaguai['防御甲'])
            
               
            
            
                  
               
            
            

      
      
   





小伤口 发表于 2020-12-2 01:26:17

回复有鱼币哟{:10_297:}

小伤口 发表于 2020-12-2 01:29:40

本帖最后由 小伤口 于 2020-12-2 01:35 编辑

还好是凌晨,没人看见哈哈{:10_250:}

heidern0612 发表于 2020-12-2 07:59:15

{:10_297:} 大佬优秀

fbymelt 发表于 2020-12-2 09:24:04

小伤口 发表于 2020-12-2 01:26
回复有鱼币哟

6666

1336069416 发表于 2020-12-2 10:54:41

可以呀

守望星星 发表于 2020-12-2 11:36:00

文字游戏也有点乐趣的

mambaywy 发表于 2020-12-2 11:40:23

66

温木zou 发表于 2020-12-2 13:43:32

你可以去试试学习pygame 然后整个rpg{:10_256:}

小伤口 发表于 2020-12-2 13:57:38

温木zou 发表于 2020-12-2 13:43
你可以去试试学习pygame 然后整个rpg

俺去试试{:10_256:}

心驰神往 发表于 2020-12-2 14:40:00

来了{:10_256:}

心驰神往 发表于 2020-12-2 14:40:34

{:10_256:}鱼币

ghoob321 发表于 2020-12-2 14:49:33

写完之后才发现代码可以缩写好多的

小伤口 发表于 2020-12-2 14:59:58

心驰神往 发表于 2020-12-2 14:40
鱼币

可惜了{:10_250:}

心驰神往 发表于 2020-12-2 15:02:44

小伤口 发表于 2020-12-2 14:59
可惜了

运气太差了{:10_266:}

咔叽小飞鼠 发表于 2020-12-2 15:29:14

小伤口 发表于 2020-12-2 01:26
回复有鱼币哟

鱼币{:5_101:}

咔叽小飞鼠 发表于 2020-12-2 15:35:17

试运行了一下,分配校验点之后不再进入战斗了,只能继续分配经验点

小伤口 发表于 2020-12-2 15:39:29

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

对,必须把80个分配完才能继续战斗{:10_297:}

柯慕·雨泽 发表于 2020-12-2 15:41:59

初学者感觉好厉害

小伤口 发表于 2020-12-2 15:46:40

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

可能你最后分配的时候超过个数了,我忘记加提示了,现在好了{:10_250:}
页: [1] 2 3
查看完整版本: 桃花侠大战菊花怪 1.0