马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 heidern0612 于 2019-7-29 09:47 编辑
写的内容都是自我思考的过程,难免有疏漏,有错误的地方欢迎广大鱼油给予指正!
改进我们的小游戏这一节挺好玩的,说实话这个小游戏浪费我一中午时间,饭都顾不上吃。
后面看来,其实并不推荐这种if套if又套if的写法。
不符合代码简洁之道,不过当时看来可以实现某些功能,看起来也蛮有趣的。
实现了如下功能:
1、增加了一个Debuffer,敌人持续加血、我方持续减血效果。
2、在靠近猜对的数时,对方会获得一个debuffer,会出现暴击效果。
3、我方可以吃血瓶恢复血量。
4、如果三回合没有猜到数字 and 不贴边,对方会获得一个暴击效果,持续到下回合结束。
5、辛苦打败敌人和猜中数字打败敌人结局不太一样。
6、根据自身血量的不同,猜中数字会导致不一样的结局。
还可以预实现以下效果:
1、打怪几率掉装备,可以获得更牛X的攻击效果,敌人去血更多。
2、可以对敌人释放魔法,让敌人说出接近目标数字的数字。
3、我方获得狂暴魔法,双方都加攻击。
4、还有很多好玩的效果,都可以用whie 和if 来实现,通篇我也只用了while和if语句。其实只有循环和判断就很好玩了,不只是简单的数字游戏哟。
import random
hp1 = 20 #人类血量
hp2 = 50 #恶魔血量
med = 3 #药品数量
secrect = random.randint(1,20)
mgc = 3 #恶魔魔法冷却回合
debuffer = 0 #人类受伤debuffer
print("""----------这里是恶魔猫的城堡----------
愚蠢的人类,你要向我挑战吗?
你作为千百年来敢于反抗喵星人的唯一人类,似乎已经做好了准备。
身上只有三瓶HP药,是部落的长老费劲千辛万苦给你熬制出来的,所以要省着点用。(指令:吃药)
""")
while hp1 > 0 and hp2 >0:
temp = input("请输入要攻击的数值:")
if "吃药" in temp and med > 0 and hp1 <20:
hp1 += 10
med -= 1
print("你喝下了珍贵的红药水,血量得到了一定的恢复!")
if hp1 > 20:
hp1 = 20
print(f"你已经恢复到了满状态!血量当前为{hp1}")
if med == 0 :
print("不知不觉间,你的包裹已经空空如也……药吃没了,你只能选择死战到底。")
if temp.isdigit():
guess = int(temp)
if guess != secrect:
if 0< (guess - secrect) < 2 or 0 < (secrect - guess) < 2: #接近猜测的数字(范围2以内)
print("你似乎发现了喵星人的怕痒的弱点,上去对着猫星人一顿挠。喵星人准备的魔法中断了。")
hp2 -= 10
hp1 -= 2
mgc = 3
print(f"你当前的血量值为{hp1},喵星人的血量值为{hp2},距喵星人准备魔法还有{mgc}回合")
else:
print("喵星人敏捷的闪过你的攻击,并朝你发动了一次反击。")
hp2 -= 5
hp1 -= 3
mgc -= 1
print(f"你当前的血量值为{hp1},喵星人的血量值为{hp2},距喵星人准备魔法还有{mgc}回合")
else:
if hp1 >= 15 :
print("你轻松的战胜了喵星人,喵星人绝望的看着你对你说:‘十八年后我还会回来的!’,然后死掉了")
print("人类获得了胜利,全国上下载歌载舞,一个新的时代开启了。")
hp2 -=50
break
elif hp1 <= 5 :
print("你战斗了许久也无法战胜喵星人,同意了喵星人割地赔款的要求。")
print("喵星人虎视眈眈的望着你和你的国家,不知在想些什么。")
hp2 -=50
break
else:
print("你艰难的战胜了喵星人,喵星人逃跑了。")
print("人类国家从上到下一片疮痍,百废待兴。")
hp2 -=50
break
if mgc == 0 :
hp1 -= 4
hp2 += 5
mgc = 3
debuffer = 2
print("喵星人发动了自身天赋技能:卖萌,你被大大的伤害了8点血,喵星人获得了5点血量的特殊恢复。")
print(f"你当前的血量值为{hp1},喵星人的血量值为{hp2},距喵星人准备魔法还有{mgc}回合。")
if debuffer != 0:
debuffer -= 1
hp1 -=2
hp2 +=3
print("猫星人因上回合发动了天赋技能,获得了持续恢复3点血量,你被持续的伤害了2点血量。")
print(f"你当前的血量值为{hp1},喵星人的血量值为{hp2}。")
else:
print("趁着你的空档,喵星人趁着你慌乱的时候攻击了你一波。")
hp1 -=1
print(f"你当前的血量值为{hp1},喵星人的血量值为{hp2}。")
if hp1 <= 0:
print("你被喵星人打败了,喵星人彻底的统治了星球,人类依旧活在喵星人的支配之下。")
if hp2 <= 0:
print("你靠着自身的努力打败了喵星人,全国上下热烈的庆祝着,欢迎着你的归来。")
print("------------游戏结束-------------")
|