python初学之人机猜拳游戏

1、需求

1 石头剪刀布游戏需求
(1)循环打印菜单:
**************************************************************
欢迎玩石头、剪刀、布游戏
游戏规则:
按 0 键,出石头;
按 1 键,出剪刀;
按 2 键,出布;
按 9 键,退出游戏;
按其他键,可以重新输入,但累计按错3次,游戏结束。
**************************************************************
(2)要打印系统出的是哪个,要打印用户输入的哪个
(3)要打印用户输赢情况
(4)统计用户和系统的输赢情况,如果用户累加赢三次,则输出用户大胜;如果系统累加赢3次,则输出用户大败;
无论用户大胜 还是大败,都退出游戏。

2、代码

import random

flag = True
count = 0
syscoun = 0
error = 0

# return 手势:石头、剪刀、布
def fist(num):
    global error
    if num==0:
        return '出石头'
    elif num==1:
        return '出剪刀'
    elif num==2:
        return '出布'
# 判断输赢,输出结果
def execute(n1,n2,a1,a2):
    display1 = fist(a1)
    display2 = fist(a2)
    global count
    global syscoun
    if a1==a2:
        print(n1,display1)
        print(n2,display2)
        print('平局了再接再厉!')
    elif a1==0: # 玩家 出石头
        print(n1, display1)
        if a2==1:
            print(n2, display2)
            print('恭喜玩家赢了!')
            count += 1
        if a2==2:
            print(n2, display2)
            print('很遗憾玩家输了!')
            syscoun += 1
    elif a1==1: # 玩家 出剪刀
        print(n1, display1)
        if a2==0:
            print(n2, display2)
            print('很遗憾玩家输了!')
            syscoun += 1
        if a2==2:
            print(n2, display2)
            print('恭喜玩家赢了!')
            count += 1
    elif a1==2: # 玩家 出布
        print(n1, display1)
        if a2==1:
            print(n2, display2)
            print('很遗憾玩家输了!')
            syscoun += 1
        if a2==0:
            print(n2, display2)
            print('恭喜玩家赢了!')
            count += 1
    print('玩家积分:' + str(count) + ' 电脑积分:' + str(syscoun))
# 游戏初始化界面
def init():
    print()
    print('****************************************************************')
    print('欢迎玩石头、剪刀、布游戏')
    print("游戏规则:")
    print("按 0 键,出石头;")
    print("按 1 键,出剪刀;")
    print("按 2 键,出布;")
    print("按 9 键,退出游戏;")
    print("按其他键,可以重新输入,但累计按错3次,游戏结束。")
    print('*****************************************************************')
# 游戏结束界面
def destory():
    print('*************************游戏结束*******************************')
#
def game():
    global count
    global syscoun
    global flag
    global error
    while flag:
        if error>=3:
            print('累计按错3次,游戏结束')
            flag = False
        ins = input()
        if ins=='9':
            print('玩家退出')
            flag = False
        else:
            if ins != '0' and ins != '1' and ins != '2':
                print('输入格式有误,请重新输入')
                error += 1
                continue
        ins = int(ins)
        rand = int(random.randint(0,2))
        execute('玩家','电脑',ins,rand)
        if count>=3:
            print('玩家大胜')
            flag = False
        if syscoun>=3:
            print('玩家大败')
            flag = False
        if error>=3:
            print('输入有误')
            print('累计按错3次,游戏结束')
            flag = False
# 主方法
def main():
    init()
    game()
    destory()
# 执行
main()

3、运行结果

****************************************************************
欢迎玩石头、剪刀、布游戏
游戏规则:
按 0 键,出石头;
按 1 键,出剪刀;
按 2 键,出布;
按 9 键,退出游戏;
按其他键,可以重新输入,但累计按错3次,游戏结束。
*****************************************************************
1
玩家 出剪刀
电脑 出剪刀
平局了再接再厉!
玩家积分:0 电脑积分:0
0
玩家 出石头
电脑 出布
很遗憾玩家输了!
玩家积分:0 电脑积分:1
2
玩家 出布
电脑 出剪刀
很遗憾玩家输了!
玩家积分:0 电脑积分:2
3
输入格式有误,请重新输入
1
玩家 出剪刀
电脑 出石头
很遗憾玩家输了!
玩家积分:0 电脑积分:3
玩家大败
*************************游戏结束*******************************

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日月星辰TEL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值