某年某月某日,某人想着C语言不复习白不复习,便开创了一个新项目——
《??》是由某人自研的一款棋类游戏。你将在游戏中探索一个被称作「楚汉争霸」的幻想世界。在这广阔的世界中,你可以踏遍两国,邂逅性格各异、能力独特的同伴,与他们一同对抗强敌,踏上寻回王座之路;也可以不带目的地漫游,沉浸在充满生机的世界里,让好奇心驱使自己发掘各个角落的奥秘……直到你与分离的王座重聚,在终点见证一切事物的沉淀。
一、更新日志
v1.0.0:寻路提示版 2023.02.25
- 初步实现了基本的寻路逻辑
- 实现了棋子的移动和胜负判断
v1.1.0:悔棋版 2023.03.02
- 初步实现了悔棋功能 (重要)
- 每一次移动都会产生一条指令记录(init_pos, dest_pos, remove_block)存储在棋盘内的二维数组中
- 在选择阶段输入w即可执行一次撤销,一次撤销回退记录中最迟的两条指令
- 实现了一次大重构
二、设计思路
在基础版完成后,经过梳理和重构,使软件架构基本符合下图。
- 第一层:基本数据结构
- 棋子
- 行动
- 第二层:辅助型数据结构
- 棋子栈
- 行动栈
- 等
- 第三层:组合数据结构、数据核心
- 棋盘
- 第四层:逻辑核心、人机交互
- 逻辑判断模块
- 操作模块
- 消息管理模块
三、展望
- 将在v1.2.0前推出连续多步悔棋、并进一步优化人机交互体验;
- 在v1.2.0正式发布时,将做出实用的人机对抗模式,即完成人工象棋ai并部署至游戏中
- 可能将在v1.3.0推出基于强化学习模型AlphaZero的象棋ai
- 之后会用js重构游戏逻辑、并使用html部署前端界面
四、项目
有兴趣的朋友可以与我私信,并参与到项目开发之中,还请多多关照哦
Github:
123sleaf-123/ChineseChess-