Files
drawing-app/RPS_README.md
T

5.4 KiB
Raw Blame History

✊ 剪子包袱锤游戏(石头剪刀布)

经典的石头剪刀布游戏,支持人机对战!

🎮 游戏规则

基本规则

  • 石头 赢 剪子 - 石头可以砸坏剪子
  • 包袱 赢 石头 - 包袱可以包住石头
  • 剪子 赢 包袱 - 剪子可以剪破包袱
  • 相同手势为平局

游戏流程

  1. 玩家选择手势(石头/包袱/剪子)
  2. 电脑随机选择手势
  3. 比较双方手势,判断胜负
  4. 统计战绩,继续或结束游戏

🚀 快速开始

方法 1:运行启动文件

python play_rps.py

方法 2:直接运行游戏

python rps_game.py

🎯 游戏操作

输入方式(三种任选)

手势 数字 字母 中文
石头 1 r 石头
包袱 2 p 包袱
剪子 3 s 剪子

示例

请选择手势:
  1. 石头 (r/1)
  2. 包袱 (p/2)
  3. 剪子 (s/3)

你的选择:r     # 或者输入 1,或者输入 石头

📖 游戏流程示例

============================================================
✊ 剪子包袱锤 ✌️
============================================================

游戏规则:
  - 石头赢剪子
  - 包袱赢石头
  - 剪子赢包袱
  - 相同手势为平局
============================================================

请输入你的名字:小明

你好,小明!让我们开始游戏吧!

------------------------------------------------------------
第 1 局
------------------------------------------------------------

请选择手势:
  1. 石头 (r/1)
  2. 包袱 (p/2)
  3. 剪子 (s/3)

你的选择:石头

🤖 电脑正在思考...

👤 小明:石头
🤖 电脑:剪子

✅ 小明 赢了!石头 赢 剪子

📊 统计:小明 1 胜 / 电脑 0 胜 / 平局 0 场

是否继续游戏?(y/n): y

🎲 概率说明

电脑出拳概率

电脑使用真随机选择器,每个手势的概率均为:

  • 石头:33.33%
  • 包袱:33.33%
  • 剪子:33.33%

理论胜率

  • 玩家胜率:33.33%
  • 电脑胜率:33.33%
  • 平局概率:33.33%

🏆 技巧提示

心理学策略

虽然电脑是随机的,但人类玩家有规律可循:

  1. 首局倾向 - 男性倾向出石头,女性倾向出剪子
  2. 连胜模式 - 赢家倾向于保持相同手势
  3. 连败模式 - 输家倾向于换手势
  4. 平局模式 - 平局后倾向于出能赢上次的手势

高级技巧

  • 观察对手习惯 - 记录对手偏好
  • 随机化策略 - 避免被对手预测
  • 心理战术 - 故意透露虚假信息

温馨提示

⚠️ 这只是一个娱乐游戏,请勿当真! ⚠️ 电脑完全随机,没有 AI 学习功能!

📊 统计功能

游戏提供详细的统计数据:

  • 总游戏局数
  • 玩家胜利场次
  • 电脑胜利场次
  • 平局场次
  • 胜率百分比
  • 表现评价

🎨 游戏特色

✅ 简单易懂的规则 ✅ 多种输入方式(数字/字母/中文) ✅ 友好的用户界面 ✅ 实时统计显示 ✅ 胜率计算 ✅ 智能输入验证 ✅ 完整的游戏流程 ✅ 鼓励性评价系统 ✅ 支持随时退出(Ctrl+C)

💡 扩展建议

未来可以添加的功能:

  • 三局两胜制
  • 五局三胜制
  • 连胜统计
  • 历史记录
  • 排行榜系统
  • 多种难度(简单/中等/困难)
  • 成就系统
  • 音效和动画
  • 双人对战模式

🔧 技术实现

核心技术

  • enum 模块 - 手势枚举
  • random 模块 - 真随机数生成
  • 输入验证 - 确保用户输入合法
  • 异常处理 - 优雅处理中断和错误
  • 统计计算 - 实时数据追踪

克制关系

beats = {
    Move.ROCK: Move.SCISSORS,      # 石头赢剪子
    Move.PAPER: Move.ROCK,         # 包袱赢石头
    Move.SCISSORS: Move.PAPER      # 剪子赢包袱
}

代码结构

RockPaperScissorsGame
├── __init__()          # 初始化游戏状态
├── display_title()     # 显示标题
├── get_player_name()   # 获取玩家名字
├── get_player_move()   # 获取玩家手势
├── get_computer_move() # 获取电脑手势
├── determine_winner()  # 判断胜负
├── play_round()        # 玩一轮
├── check_continue()    # 检查是否继续
├── show_final_stats()  # 最终统计
└── run()               # 主流程

📝 版本历史

v1.0.0

  • ✅ 基础游戏功能
  • ✅ 多种输入方式
  • ✅ 统计功能
  • ✅ 用户界面优化
  • ✅ 输入验证
  • ✅ 异常处理

🎓 学习价值

通过这个游戏可以学习:

  • Python 基础语法
  • 枚举类型使用
  • 随机数生成
  • 用户输入处理
  • 游戏循环设计
  • 状态管理
  • 数据追踪
  • 字典数据结构

🌍 文化背景

历史起源

  • 起源于中国汉朝(公元前 206 年 - 公元 220 年)
  • 最初是酒令游戏
  • 后传播到日本、韩国等东亚国家
  • 现已成为全球知名的游戏

不同名称

  • 中国:石头剪刀布
  • 日本:じゃんけん (Jan-ken-pon)
  • 韩国:가위바위보 (Kawi Bawi Bo)
  • 英语国家:Rock Paper Scissors

有趣事实

  • 2005 年,日本机器人用高速相机在 20 毫秒内识别手势并获胜
  • 2011 年,东京大学机器人保持 100% 胜率
  • 世界石头剪刀布协会每年举办世界锦标赛

📄 许可证

MIT License

🎉 开始游戏

# 无需安装额外依赖
python play_rps.py

祝你好运!✊✌️🖐️🍀