C++黑白棋实验报告.docxVIP

  • 55
  • 0
  • 约1.81万字
  • 约 18页
  • 2019-10-11 发布于江西
  • 举报
黑白棋实验报告 我的黑白棋程序共分为两个大部分,UI部分和AI部分,分别通过若干个函数实现。UI部分包括基本规则实现、界面设计、悔棋、存档读档、提示功能。AI部分包含搜索与剪枝、估价函数。 UI部分介绍 规则 黑白棋又叫翻转棋,棋盘为8*8正方形,有黑色和白色两种棋子,交替下棋,每次新下棋子和其他己方棋子夹住的对方棋子翻转为己方颜色。目前评价黑白棋棋力高低和局面优劣的主要参考标准包括:行动力,稳定子,外部子,内部子,奇偶性等等。 界面 界面为DOC命令行界面,用户使用鼠标点击菜单和棋盘。读取鼠标点击位置时使用ReadConsoleInput函数。游戏菜单包括新游戏和读档,新游戏需要点击选择人人对战/人机对战;先手/后手;难度。 游戏开始后界面为字符画出的棋盘,每次电脑下棋后更新棋盘位置。通过光标定位输出改变棋盘位置,避免连续刷屏给玩家带来不适。每次更新状态后提示可下棋位置,方便玩家选择。玩家点击棋盘上的位置即可下棋,点击无效位置无反应。 玩家在每次下棋时也可以点击菜单,菜单包括5个选项:存档,读档,悔棋,退出,作弊。每个子菜单均可返回主菜单。下面一一介绍各自功能的作用和实现方式。 悔棋 悔棋功能即为返回上一步下棋之前的状态,通过数组记录前一步棋盘状态,悔棋时返回上一步棋盘状态。悔棋功能可以无穷悔棋,如果已经是开局状态会提示无发悔棋。 存档与读档 存档和读档通过二进制文件流实现,共有

文档评论(0)

1亿VIP精品文档

相关文档