失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python实现人机交互剪刀石头布小游戏(七局四胜制)

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

时间:2019-01-27 11:35:19

相关推荐

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 += 1passelif player == "1" and computer == "2":print("win,电脑出的剪刀")n1 += 1passelif player == "2" and computer == "3":print("win,电脑出的布")n1 += 1passelif player == "3" and computer == "1":print("win,电脑出的拳头")n1 += 1passelif player == "1" and computer == "3":print("lose,电脑出的布")n2 += 1passelif player == "2" and computer == "1":print("lose,电脑出的拳头")n2 += 1passelif player == "3" and computer == "2":print("lose, 电脑出的剪刀")n2 += 1pass

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

if n1 >= 4:print("感谢您,您赢得了本次猜拳的最终胜利!")print(f"本次比赛平局了{n}把")passelif 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 += 1passelif player == "1" and computer == "2":print("win,电脑出的剪刀")n1 += 1passelif player == "2" and computer == "3":print("win,电脑出的布")n1 += 1passelif player == "3" and computer == "1":print("win,电脑出的拳头")n1 += 1passelif player == "1" and computer == "3":print("lose,电脑出的布")n2 += 1passelif player == "2" and computer == "1":print("lose,电脑出的拳头")n2 += 1passelif player == "3" and computer == "2":print("lose, 电脑出的剪刀")n2 += 1passif n1 >= 4:print("感谢您,您赢得了本次猜拳的最终胜利!")print(f"本次比赛平局了{n}把")passelif n2 >= 4:print("很遗憾,您输了本次猜拳比赛,您的对手获得胜利!")print(f"本次比赛平局了{n}把")pass

如果觉得《Python实现人机交互剪刀石头布小游戏(七局四胜制)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。