石头、剪刀、布小游戏

小游戏(1)

  • 游戏首先要有游戏规则,这样才有判断胜负的思路。
# 先创建创建一个游戏规则
# 石头 = 0、剪刀 = 1、布 = 2.
'''
赢的情况有三种,分别是:
情况匹配    前减后赢差值   前减后输差值
0赢1,         -1             1
1赢2,         -1             1
2赢0.          2             -2
'''
  • 有了规则就有了判断标准,现在需要出拳进行判定。先进行一个值得输入的和转换,和电脑玩游戏,必须要让电脑随机出拳,不然肯定赢不了,这里用到了random模块。j取0-3的随机整数。
hand = input('石头、剪刀、布,你要出哪一个呢:')
if hand in ('石头', '剪刀', '布'):
if hand == '石头':
	hand = 0
elif hand == '剪刀':
	hand = 1
elif hand == '布':
	hand = 2
j = random.randint(0, 2)
res = hand - i
  • 这一部将转换后的值res和胜负判定值进行比较,来判定胜负并且打印输出结果。
        if res == (2 or -1):
            print('恭喜你,你赢了!')
        elif res == 0:
            print('平局')
        else:
            print('很遗憾,你输了。')
  • 到这里其实已经算是完成了游戏。
  • 但是他毕竟是一个游戏,为了让玩家有更好的游戏体验,对着个游戏进行了优化。对可能出现的意外进行了解决,首先就是如果你出的拳不是石头剪刀布那么游戏是无法进行下去的,这里进行一个判定。还增加了是否再次进行游戏的选择,那么对用户是否输入了正确选项也进行了判定,如果连续两次输入了错误选项,那么就强制退出游戏。最后发现游戏的框架是很简单的,后期对游戏进行优化处理的代码远比游戏本身多。所以要想有更大的空间,只能向完美更加努力。
  • 最后优化后的代码就在这里了,有什么好的建议可以提在评论区哦。
# 先创建创建一个游戏规则
# 石头 = 0、剪刀 = 1、布 = 2.
'''
赢的情况有三种,分别是:
情况匹配    前减后赢差值   前减后输差值
0赢1,         -1             1
1赢2,         -1             1
2赢0.          2             -2
'''
import random
while True:
    hand = input('石头、剪刀、布,你要出哪一个呢:')
    if hand in ('石头', '剪刀', '布'):
        again = 1
        if hand == '石头':
            hand = 0
        elif hand == '剪刀':
            hand = 1
        elif hand == '布':
            hand = 2
        j = random.randint(0, 2)
        res = hand - i
        if res == (2 or -1):
            print('恭喜你,你赢了!')
        elif res == 0:
            print('平局')
        else:
            print('很遗憾,你输了。')
        again = input('想再玩一次请输入1,退出请输入0:')
        if again != '1' and again != '0':
            again = input('只能输入1(再玩一次)或0(退出游戏)哦,请从新输入:')
        else:
            if again != '1' and again != '0':
                print('已退出游戏,欢迎下次再玩。')
                break
        if again == 1:
            continue
        else:
            print('等着你下次来玩哦!')
            break
    else:
        print('输入错误!')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值