0
点赞
收藏
分享

微信扫一扫

Python实现人机交互剪刀石头布小游戏(七局四胜制)

yeamy 2022-03-25 阅读 66
python

1、游戏要求

# 实现人机对战石头剪刀布
# 需求:实现用户登录并可以定义用户昵称
# 可以选择对战英雄
# 实现石头剪刀布对决(七局四胜制)
# 实现遇到恶意用户警告处理或者强制退出
# 要求打印最终对战结果,公布比赛胜负

# 导入外部函数,后续调用

import random

# 选英雄的方法

# 保证定义要在调用之前

def selectHero():
    # 英雄定义
    hero = int(input("请输入您的对手:1.唐三 2.箫炎 3.易烊千玺 4.亚瑟 5.游乐王子\n"))
    if hero == 1:
        print("您的对手是唐三")
        heroName = "唐三"
    elif hero == 2:
        print("您的对手是箫炎")
        heroName = "箫炎"
    elif hero == 3:
        print("您的对手是易烊千玺")
        heroName = "易烊千玺"
    elif hero == 4:
        print("您的对手是亚瑟")
        heroName = "亚瑟"
    elif hero == 5:
        print("您的对手是游乐王子")
        heroName = "游乐王子"
    else:
        print("真是个傻屌!英雄不会选!")
        heroName = "傻屌"

 # main函数:是程序的入口

if __name__ == '__main__':
    print("======================欢迎来到剪刀石头布======================")
    name = input("请输入你的名称:")
    print("欢迎",name,"!")
    selectHero()

# 开始进行游戏部分

# 这里由于是七局四胜制,所以在while循环这里任何一方的胜场数在4次以下的都要继续执行循环体

    n = 0 # 记录平局次数
    n1 = 0 # 记录胜局次数
    n2 = 0 # 记录败局次数
while n1 < 4 and n2 < 4:
    print("开始游戏,提示:1、石头,2、剪刀,3、布")
    # 人出招
    player = input("请出招:")
    if input !=[1,2,3]:
        # 面对用户恶意输入,进行警示
        print("请输入1,2,3这三个数字中任意一个!\n不然TMD就滚蛋!")
    # 电脑出招
    computer = str(random.randint(1,3))

# 判断每次猜拳的结果

    if computer == player:
        print("平局")
        n += 1
        pass
    elif player == "1" and computer == "2":
        print("win,电脑出的剪刀")
        n1 += 1
        pass
    elif player == "2" and computer == "3":
        print("win,电脑出的布")
        n1 += 1
        pass
    elif player == "3" and computer == "1":
        print("win,电脑出的拳头")
        n1 += 1
        pass
    elif player == "1" and computer == "3":
        print("lose,电脑出的布")
        n2 += 1
        pass
    elif player == "2" and computer == "1":
        print("lose,电脑出的拳头")
        n2 += 1
        pass
    elif player == "3" and computer == "2":
        print("lose, 电脑出的剪刀")
        n2 += 1
        pass

# 打印最终对战结果,公布比赛结果

    if n1 >= 4:
        print("感谢您,您赢得了本次猜拳的最终胜利!")
        print(f"本次比赛平局了{n}把")
        pass
    elif n2 >= 4:
        print("很遗憾,您输了本次猜拳比赛,您的对手获得胜利!")
        print(f"本次比赛平局了{n}把")
        pass

2、完整的游戏代码

import random
# main函数:是程序的入口
# 保证定义要在调用之前
# 选英雄的方法
def selectHero():
    # 英雄定义
    hero = int(input("请输入您的对手:1.唐三 2.箫炎 3.易烊千玺 4.亚瑟 5.游乐王子\n"))
    if hero == 1:
        print("您的对手是唐三")
        heroName = "唐三"
    elif hero == 2:
        print("您的对手是箫炎")
        heroName = "箫炎"
    elif hero == 3:
        print("您的对手是易烊千玺")
        heroName = "易烊千玺"
    elif hero == 4:
        print("您的对手是亚瑟")
        heroName = "亚瑟"
    elif hero == 5:
        print("您的对手是游乐王子")
        heroName = "游乐王子"
    else:
        print("真是个傻屌!英雄不会选!")
        heroName = "傻屌"
if __name__ == '__main__':
    print("======================欢迎来到剪刀石头布======================")
    name = input("请输入你的名称:")
    print("欢迎",name,"!")
    selectHero()

    n = 0 # 记录平局次数
    n1 = 0 # 记录胜局次数
    n2 = 0 # 记录败局次数
while n1 < 4 and n2 < 4:
    print("开始游戏,提示:1、石头,2、剪刀,3、布")
    # 人出招
    player = input("请出招:")
    if int(input != [1,2,3]):
        # 面对用户恶意输入,进行警示
        print("请输入1,2,3这三个数字中任意一个!\n不然TMD就滚蛋!")
    # 电脑出招
    computer = str(random.randint(1,3))

    # 判断每次猜拳的结果
    if computer == player:
        print("平局")
        n += 1
        pass
    elif player == "1" and computer == "2":
        print("win,电脑出的剪刀")
        n1 += 1
        pass
    elif player == "2" and computer == "3":
        print("win,电脑出的布")
        n1 += 1
        pass
    elif player == "3" and computer == "1":
        print("win,电脑出的拳头")
        n1 += 1
        pass
    elif player == "1" and computer == "3":
        print("lose,电脑出的布")
        n2 += 1
        pass
    elif player == "2" and computer == "1":
        print("lose,电脑出的拳头")
        n2 += 1
        pass
    elif player == "3" and computer == "2":
        print("lose, 电脑出的剪刀")
        n2 += 1
        pass

    if n1 >= 4:
        print("感谢您,您赢得了本次猜拳的最终胜利!")
        print(f"本次比赛平局了{n}把")
        pass
    elif n2 >= 4:
        print("很遗憾,您输了本次猜拳比赛,您的对手获得胜利!")
        print(f"本次比赛平局了{n}把")
        pass
举报

相关推荐

0 条评论