# ===== CodeLab: Python 小游戏②:石头剪刀布 =====
# 来源: https://aoerliang.dpdns.org/articles/game-python-rps
# 以下代码片段按文章出现顺序拼接, 共 6 段

# ----- 片段 1 (python) -----
import random

choices = ["石头", "剪刀", "布"]
# 玩家输入 0/1/2,分别对应 石头/剪刀/布

# ----- 片段 2 (python) -----
while True:
    text = input("请出拳(0=石头 1=剪刀 2=布): ")
    if not text.isdigit():
        print("请输入数字 0、1 或 2!")
        continue
    player = int(text)
    if player not in (0, 1, 2):
        print("编号必须是 0、1 或 2!")
        continue
    break

# ----- 片段 3 (python) -----
computer = random.randint(0, 2)
print(f"你出 {choices[player]},电脑出 {choices[computer]}")

# ----- 片段 4 (python) -----
diff = (player - computer) % 3
if diff == 0:
    print("平局!")
elif diff == 2:
    print("你赢啦!")
else:
    print("你输了...")

# ----- 片段 5 (python) -----
import random

choices = ["石头", "剪刀", "布"]
wins = losses = 0

for round_no in range(1, 6):
    print(f"\n===== 第 {round_no} 局 =====")
    while True:
        text = input("请出拳(0=石头 1=剪刀 2=布): ")
        if not text.isdigit():
            print("请输入数字 0、1 或 2!")
            continue
        player = int(text)
        if player not in (0, 1, 2):
            print("编号必须是 0、1 或 2!")
            continue
        break
    computer = random.randint(0, 2)
    print(f"你出 {choices[player]},电脑出 {choices[computer]}")
    diff = (player - computer) % 3
    if diff == 0:
        print("平局!")
    elif diff == 2:
        print("你赢啦!")
        wins += 1
    else:
        print("你输了...")
        losses += 1
    print(f"当前比分:你 {wins} : {losses} 电脑")

print("\n===== 最终结果 =====")
if wins > losses:
    print(f"恭喜你以 {wins}:{losses} 获胜!")
elif wins < losses:
    print(f"可惜,{wins}:{losses},电脑赢了...")
else:
    print(f"{wins}:{losses},打平!")

# ----- 片段 6 (text) -----
===== 第 1 局 =====
请出拳(0=石头 1=剪刀 2=布): 0
你出 石头,电脑出 剪刀
你赢啦!
当前比分:你 1 : 0 电脑
...
===== 最终结果 =====
恭喜你以 3:1 获胜!
