为了游戏 发表于 2016-12-27 12:09:08

刚看到猜数字。。改良了猜数字游戏,求大家指教改进。。

shuz = 1
jiesho = input("加载程序中.输入1继续.")
nicaid = int(jiesho)
if shuz == nicaid:
    print("加载完成!")
while shuz == nicaid:
    import random
    shuzi = random.randint(1,10)
    print("!!!猜数字游戏!~~~~")
    jieshou = input("猜猜看我心里想的数字吧~你有5次机会")
    nicaide = int(jieshou)
    if shuzi == nicaide:
      print("哇,你好厉害,这都能猜对!")
    cishu = 0
    while cishu < 5 and shuzi != nicaide:
      cishu += 1
      if shuzi == nicaide:
            print("有BUG,这两行代码根本用不上,还要运算,删了后边又不成立,好尴尬")
      elif shuzi > nicaide:
            print("小了,你猜小了!~~")
            i = cishu
            p =str(i)
            f=(p) + ("次了!~~~~~")
            print(f)
      elif shuzi < nicaide:
            print("大了,你猜大了,往小了猜。")
            i = cishu
            p =str(i)
            f=(p) + ("次了!~~~~~")
            print(f)
      jieshou = input("猜猜看我心里想的数字吧!~")
      nicaide = int(jieshou)
      if shuzi == nicaide:
            print("哇,你好厉害,这都能猜对!")
    print("好吧,那游戏结束了")
    jiesho = input("还要玩吗.输入1继续.")
    nicaid = int(jiesho)
print("好吧,那游戏结束了")

为了游戏 发表于 2016-12-27 12:09:58

直接复制代码就能运行了,要学的太多了。。

为了游戏 发表于 2016-12-28 01:36:40

temp = input("输入1开始游戏")
chongxin = int(temp)
congtou = 1
while congtou == chongxin:
    print("               小剑圣勇闯深林救公主            ")
    print("勇敢的小剑圣进入了一片茂密的深林要从魔王手中救出美丽的公主")
    guan = 0
    ph = 2000
    gong = 80
    lan = 200
    lany = 5
    phy = 5
    mowph = 800
    guan1 = ["现在开始攻击魔王的第",(guan),"个护卫"]
    phy1 = ["小剑圣生命药水为",(phy),"颗"]
    lany1 = ["小剑圣法力药水为",(lany),"颗"]
    gong1 = ["小剑圣攻击力为",(gong)]
    ph1 = ["小剑圣生命值为",(ph)]
    lan1 = ["小剑圣法力值为",(lan)]
    print (ph1)
    print (gong1)
    print (lan1)
    print (phy1)
    print (lany1)
    temp = input("小剑圣在入口的大树捡到一把长剑,输入1装备输入2寻找失主")
    guess = int(temp)
    if guess == 1:
      gong += 8
      gong1 = ["小剑圣攻击力为",(gong)]
      print(gong1)
    else:
      print("小剑圣找到一家猎户")
      temp = input("为了感谢小剑圣,猎户送给小剑圣一件护甲。输入1装备,输入2不装备")
      guess = int(temp)
      if guess == 1:
            ph += 120
            ph1 = ["小剑圣目前的生命值为",(ph)]
            print (ph1)
            print("小剑圣发现了魔王的五大护卫,需要杀死五个护卫才能见到魔王")
      elif guess == 2:
            print("小剑圣发现了魔王的五大护卫,需要杀死五个护卫才能见到魔王")
    while guan < 5 and ph > 0:
      import random
      mogong = random.randint(60,70)
      mogong1 = mogong * guan / 2
      guan += 1
      moph = 150
      moph1 = moph * guan / 2
      guan1 = ["现在开始攻击魔王的第",(guan),"个护卫"]
      print (guan1)
      while moph1 > 0 and ph >0:
            import random
            mogong = random.randint(60,70)
            mogong1 = mogong * guan / 2
            temp = input("是否使用技能,输入1使用技能, 请输入2平砍 , 技能在一个回合效果可叠加")
            guess = int(temp)
            if guess == 1:
                gong += 20
                print("小剑圣使用了无极剑道技能,攻击力加20,目前攻击力为",gong)
            else:
                print("小剑圣拿着小破刀冲了上去,目前攻击力为",gong)
            moph1 -= gong
            shang = moph1 - gong
            shang1 = ["小剑圣攻击对护卫造成",(gong),"伤害"]
            print (shang1)
            ph -= mogong1
            ph1 = ["小剑圣受到",(mogong1),"点伤害生命值剩余",(ph)]
            print (ph1)
            if moph1 >1:
                print("护卫咆哮着又向你冲了过来")
            else:
                print("护卫挂了,继续战斗吧")
    while ph >0 and mowph > 0:
      print("恭喜你通过努力帮助小剑圣战胜了五个守卫")
      print("现在开始进攻魔王!")
      while mowph > 0 and ph >0:
            import random
            mowgong = random.randint(300,400)
            temp = input("是否使用技能,输入1使用技能, 请输入2平砍 相信你已经尝到了技能的甜头")
            guess = int(temp)
            if guess == 1:
                gong += 20
                print("小剑圣使用了无极剑道技能,攻击力加20,目前攻击力为",gong)
            else:
                print("小剑圣拿着小破刀冲了上去,目前攻击力为",gong)
            mowph -= gong
            shang = moph - gong
            shang1 = ["小剑圣攻击对魔王造成",(gong),"伤害"]
            print (shang1)
            ph -= mowgong
            ph1 = ["小剑圣受到",(mowgong),"点伤害生命值剩余",(ph)]
            print (ph1)
            if mowph >1:
                print("魔王咆哮着又向你冲了过来")
            else:
                print("魔王挂了")
    if ph > 0:
      print("恭喜你通过努力帮助小剑圣救出了公主")
    else:
      print("妈呀,你的生命都成负数了,过关失败了,")
print ("游戏结束")

为了游戏 发表于 2016-12-28 01:37:53

写了一半,实在是太笨了,都学了三天了,就写出这么点东西

塔兹米888 发表于 2016-12-29 21:00:23

厉害啊,真不错

黑白色的枫 发表于 2017-1-5 20:29:25

{:10_257:}
import random
r_num = random.randint(1,10)
r_num = int(r_num)
frequency = 3
print('来玩一个猜数字的游戏吧')
play_num = input('一共有三次机会,请输入一个1到10之间的整数:')
while play_num.isdigit() != 1:
    play_num = input('请重新输入正确的数据类型:')
play_num = int(play_num)

while frequency > 0:
    frequency = frequency - 1    #计算猜测次数
    r_frequency = 3 - frequency    #计算使用猜测次数
    u_frequency = 3 - r_frequency    #计算剩余猜测次数

    if play_num == r_num:
      frequency = 0    #猜中时将猜测次数归零
      print('真厉害,你用了',r_frequency,'次就猜中了答案,运气真是太好了!')
      print('游戏结束了,再见~')

    elif (frequency > 0) and (play_num > r_num):
      print('猜错啦,比正确答案大了')
      print('你还有',u_frequency,'次机会')
      play_num = input('请重新输入一个1到10之间的整数:')
      play_num = int(play_num)

    elif (frequency > 0) and (play_num < r_num):
      print('猜错啦,比正确答案小了')
      print('你还有',u_frequency,'次机会')
      play_num = input('请重新输入一个1到10之间的整数:')
      play_num = int(play_num)

    else:
      print('次数用完也没猜对,正确答案是',r_num,'游戏结束了,再见~')

这是我写的猜数字游戏

黑白色的枫 发表于 2017-1-5 20:37:26

{:10_257:}这是我自己写的模拟回合制的代码,相比楼主的少了很多东西,条件判断也不对
you_name = input('你的名字:')       #获取玩家ID
zhujue = (20,10,5)      #玩家数值设定(生命,攻击,防御)
guaiwu = (10,8,5)       #怪物数值设定(生命,攻击,防御)
guaiwu_name = ('哥布林')
zj_hp = zhujue       #获取玩家生命
zj_atk = zhujue      #获取玩家攻击力
zj_def = zhujue[-1]   #获取玩家防御力
g_hp = guaiwu      #获取怪物生命
g_atk = guaiwu       #获取怪物攻击力
g_def = guaiwu[-1]      #获取怪物防御力

while g_hp > 0:
        print(you_name,'HP',zj_hp,'atk',zj_atk,'def',zj_def)    #显示玩家的数值(名字、生命、攻击、防御)
        print(guaiwu_name,'HP',g_hp,'atk',g_atk,'def',g_def)    #显示怪物的数值(名字、生命、攻击、防御)
        print('1 = 攻击')
        dz = input('要做什么?')   #获取玩家指令
        zl = int(dz)
        if zl == 1:
                zj_sh = zj_atk - g_def          #计算对怪物造成的伤害
                g_hp = g_hp - zj_sh             #计算怪物剩余生命
                print(you_name,'对',guaiwu_name,'造成了',zj_sh,'点伤害')
                g_sh = g_atk - zj_def         #计算怪物对主角造成的伤害
                zj_hp = zj_hp - g_sh            #计算主角剩余生命
                print(guaiwu_name,'对',you_name,'造成了',g_sh,'点伤害')
        else:
                print('请输入正确的指令')

print('战斗获胜')
页: [1]
查看完整版本: 刚看到猜数字。。改良了猜数字游戏,求大家指教改进。。