5.4 KiB
5.4 KiB
✊ 剪子包袱锤游戏(石头剪刀布)
经典的石头剪刀布游戏,支持人机对战!
🎮 游戏规则
基本规则
- 石头 赢 剪子 - 石头可以砸坏剪子
- 包袱 赢 石头 - 包袱可以包住石头
- 剪子 赢 包袱 - 剪子可以剪破包袱
- 相同手势为平局
游戏流程
- 玩家选择手势(石头/包袱/剪子)
- 电脑随机选择手势
- 比较双方手势,判断胜负
- 统计战绩,继续或结束游戏
🚀 快速开始
方法 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%
🏆 技巧提示
心理学策略
虽然电脑是随机的,但人类玩家有规律可循:
- 首局倾向 - 男性倾向出石头,女性倾向出剪子
- 连胜模式 - 赢家倾向于保持相同手势
- 连败模式 - 输家倾向于换手势
- 平局模式 - 平局后倾向于出能赢上次的手势
高级技巧
- 观察对手习惯 - 记录对手偏好
- 随机化策略 - 避免被对手预测
- 心理战术 - 故意透露虚假信息
温馨提示
⚠️ 这只是一个娱乐游戏,请勿当真! ⚠️ 电脑完全随机,没有 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
祝你好运!✊✌️🖐️🍀