# games
**Repository Path**: jackson222/game
## Basic Information
- **Project Name**: games
- **Description**: AI五子棋游戏
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-11-05
- **Last Updated**: 2025-11-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: AI-Games
## README
## 五子棋AI对战游戏
这是一个基于Windows平台的五子棋游戏项目,使用C++语言和Windows API开发。游戏支持人机对战和AI对战模式,AI具备强化学习能力,能够通过游戏不断提升棋力。
## 项目特点
- **双模式对战**:支持人机对战和AI自动对战
- **智能AI**:基于强化学习算法的AI,具备自我学习和提升能力
- **经验持久化**:AI学习经验自动保存到文件,重启后继续积累
- **多种交互**:提供悔棋、快速对战等多种游戏功能
- **实时显示**:实时显示AI学习状态和对战统计信息
AI的智能程度使用以下强化学习指标衡量:
1. **经验值 (Experience)** - AI通过游戏获得的经验累积
2. **知识库 (Knowledge Base)** - AI掌握的策略和位置知识
3. **适应性 (Adaptability)** - AI适应不同局面的能力
4. **探索率 (Exploration Rate)** - AI尝试新策略的概率(随时间递减)
## 安装说明
本项目需要使用Microsoft Visual Studio进行编译和运行。请按照以下步骤操作:
1. 安装Microsoft Visual Studio(推荐2019或更高版本)
2. 打开项目文件[game1.sln](file://C:\Users\Administrator\source\repos\game\game1.sln)
3. 在Visual Studio中选择"生成" -> "重新生成解决方案"
4. 编译完成后,在Debug目录下会生成可执行文件`game1.exe`
## 使用说明
### 基本操作
1. 运行生成的`game1.exe`文件
2. 游戏窗口打开后,玩家执黑子,通过鼠标左键在棋盘交叉点落子
3. AI执白子,会自动进行对战
### 功能按钮
- **开始游戏**:重新开始一局新的游戏
- **悔棋**:撤销上一步玩家和AI的走棋(仅在人机对战模式下可用)
- **AI对战**:启动两个AI之间的自动对战模式
- **快速5局**:让两个AI快速进行5局对战,加速AI学习
### 游戏模式
1. **人机对战**:默认模式,玩家执黑对战AI(白子)
2. **AI对战**:两个AI自动对战,观察AI之间的博弈
3. **快速对战**:AI快速进行多局对战,快速积累经验
### 快捷键
- **鼠标左键**:在棋盘上落子(人机对战模式)
- **鼠标右键**:重新开始游戏
- **空格键**:切换AI模式开启/关闭
## 界面说明
### 游戏状态显示
- 棋盘上方中央显示当前回合状态(你的回合/AI思考中/游戏结束)
- 右侧区域显示AI学习状态和对战统计信息
### AI学习指标
- **经验值**:AI通过游戏获得的总体经验数值
- **知识库**:AI掌握的策略和位置知识丰富程度
- **适应性**:AI应对不同局面的适应能力
- **探索率**:AI尝试新策略的概率
- **胜率统计**:AI的获胜局数和总体胜率
## 技术特性
### 核心功能
- 基于Windows API的图形界面实现
- 五子棋游戏规则完整实现
- 智能AI算法,包含位置评估和策略选择
- 游戏状态持久化,支持经验数据保存和加载
### AI强化学习机制
- **位置评估**:基于连子数、阻挡情况等评估每个位置的价值
- **经验积累**:通过胜负结果调整策略和位置偏好
- **自我提升**:随着对局增加,AI决策能力逐步提升
- **数据持久化**:学习经验保存到文件,重启后继续使用
### 文件结构
- [Resource.h](file://C:\Users\Administrator\source\repos\game\Resource.h):定义项目中使用的资源标识符
- [framework.h](file://C:\Users\Administrator\source\repos\game\framework.h):包含Windows API的头文件配置
- [game1.h](file://C:\Users\Administrator\source\repos\game\game1.h):主程序头文件
- [game1.rc](file://C:\Users\Administrator\source\repos\game\game1.rc):资源脚本文件,定义界面元素和图标
- [game1.ico](file://C:\Users\Administrator\source\repos\game\game1.ico) 和 [small.ico](file://C:\Users\Administrator\source\repos\game\small.ico):项目图标文件
- [ai_learning_data.dat](file://C:\Users\Administrator\source\repos\game\Debug\ai_learning_data.dat):AI学习数据保存文件
- `.vs/`目录:包含Visual Studio的配置文件
- `Debug/`目录:编译生成的可执行文件和调试信息
## 注意事项
- 本项目是基于Windows平台开发的,只能在Windows系统上编译和运行
- 需要安装Visual Studio的C++开发工具包
- 如果遇到编译错误,请检查Visual Studio的编译器版本和项目配置是否匹配
- AI学习数据保存在[ai_learning_data.dat](file://C:\Users\Administrator\source\repos\game\Debug\ai_learning_data.dat)文件中,请勿删除
## 学习价值
本项目适合用于学习以下技术知识:
- Windows API图形界面编程
- 基础游戏开发框架设计
- 简单AI算法实现
- 强化学习基础概念应用
- 数据持久化技术
- C++面向对象编程实践
通过这个项目,开发者可以深入了解Windows桌面应用程序开发流程,掌握游戏逻辑实现方法,以及学习基础的人工智能算法应用。