用Python简单实现猜拳游戏
寻思着可不可以不用过多的if和else实现这个功能
于是便想到用一个嵌套列表来表示猜拳的状态
电脑出拳时总会有3个状态(石头,剪刀和布),电脑的每一个出拳时的状态也对应着输赢的三个状态(胜利,平局和失败)
那么可以定义列表game[i]中下标为0的列表的出拳状态为石头,1为剪刀,2为布。
列表game[i][j]中的1为失败状态,2为平局,3为胜利
于是就可以通过game[i][j]的取值得到玩家的输赢状态
import random
import time
#石头 1
#剪刀 2
# 布 3
s = ["石头","剪刀","布"]
game = [[2,1,3],[3,2,1],[1,3,2]]
win = 2
num = 1
while True:
print(f"第{num}局进行中")
print("机器人出拳中")
for i in range(10):
time.sleep(0.3)
print("#",end="")
value = random.randint(0,2)
gamer = int(input("\n机器人出拳完毕,玩家请出拳\n0:石头\t1:剪刀\t2布\n:"))
print(f"电脑为{s[value]},玩家为{s[gamer]}")
if game[value][gamer] == 1:
print("电脑获胜")
win = win -1
elif game[value][gamer] == 2:
print("平局,再来一次")
continue
elif game[value][gamer] == 3:
print("玩家获胜")
win =win +1
num = num +1
if num > 5:
break
if win >=3:
print("玩家获得最终胜利")
else:
print("电脑获得最终胜利")