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