Skip to content

AstreoX/CGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

围棋游戏 (Go Game)

基于SDL图形库开发的围棋游戏,实现了围棋的基本规则和人机对弈功能。

框架由AstreoX搭建,MCTS参数由国科大同学BigTurtle调试

功能特点

基本功能

  • 使用SDL图形化界面创建19×19的棋盘
  • 实现围棋基本规则(自动提子、气的判断、自杀行为判断)
  • 悔棋和回溯棋局功能(使用双向链表存储)
  • 实时计算黑白双方气数并判断胜负

进阶功能

  • 基于蒙特卡洛树搜索(MCTS)的AI对弈功能
  • 打劫行为判断与提示

项目结构

CGoGame/
├── main.c              # 主程序入口
├── Makefile            # 编译配置文件
├── include/            # 头文件目录
│   ├── board.h         # 棋盘数据结构和基本操作
│   ├── game.h          # 游戏逻辑和规则
│   ├── gui.h           # 图形界面
│   ├── ai.h            # AI算法
│   └── utils.h         # 工具函数
├── src/                # 源代码目录
│   ├── board.c         # 棋盘实现
│   ├── game.c          # 游戏逻辑实现
│   ├── gui.c           # 图形界面实现
│   ├── ai.c            # AI算法实现
│   └── utils.c         # 工具函数实现
├── libs/               # DLL依赖库目录
└── resources/          # 资源文件目录
    └── logo.jpg        # 国防科技大学图样
    └── background.jpg  # 国防科技大学图样

编译和运行

依赖项

  • SDL2
  • SDL2_image
  • SDL2_ttf

编译

make

运行

双击run_game.bat运行游戏

准备发布版本

make prepare_release

这将在release目录下创建一个包含可执行文件和所有必要DLL的版本。

操作说明

  • [A] - 切换AI模式
  • [U] - 悔棋
  • [P] - 回溯棋局
  • [T] - 显示/隐藏提示

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors