怎么用C++编写一个五子棋程序

CZlin123 2020-11-11 07:08:19
大学老师布置的作业,求大佬指点,小白一枚
...全文
414 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿麦 2020-11-12
  • 打赏
  • 举报
回复
如果是要写AI引擎,涉及的内容比较多。看看 Alpha-Beta 搜索,甚至神经网络作着法筛选。 Alpha-Beta 搜索,可以看一下 http://www.xqbase.com/ (象棋巫师)里的“计算机博弈”相关内容,把棋盘和规则用五子棋规则和棋盘改写一下 另外,五子棋的规则也有很多种,老师的要求应该是最简单的无禁手吧。
CZlin123 2020-11-12
  • 打赏
  • 举报
回复
引用 3 楼 wst_test的回复:
老师要你做的应该只是算法实现 而不要求你做什么AI人机对弈、多炫酷的图形界面这些 所以你可以把棋盘上横向+纵向的两个坐标点 来表示每个棋子的位置 这样就能简单地算出来是否五子连珠 解决了核心问题 你就用任何一种方式表达输出和输入 比如:用scanf_s来获得每个人下一手走在哪里 用printf_s打印棋盘上每个棋子的位置 下完一手重新输出一次 这样就可以算完成了
你也是杨老师的学生吗?
wst_test 2020-11-12
  • 打赏
  • 举报
回复
老师要你做的应该只是算法实现 而不要求你做什么AI人机对弈、多炫酷的图形界面这些 所以你可以把棋盘上横向+纵向的两个坐标点 来表示每个棋子的位置 这样就能简单地算出来是否五子连珠 解决了核心问题 你就用任何一种方式表达输出和输入 比如:用scanf_s来获得每个人下一手走在哪里 用printf_s打印棋盘上每个棋子的位置 下完一手重新输出一次 这样就可以算完成了
ooolinux 2020-11-11
  • 打赏
  • 举报
回复
五子棋界面可以用图形贴图,AI算法则比较复杂。 图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件),入门比较容易。   C++ Builder是真正的可视化的开发工具。C++ Builder可以用鼠标拖拉控件加上设置属性轻松的“设计”出一个程序的图形用户界面,利用可视的组件/控件像“搭积木”一样,以“所见即所得”的方式搭建应用程序的界面,这也是C++ Builder这个名字中Builder的概念。这样,只需要用C++语言编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。数据的输入和表现,都在图形用户界面,非常直观、易用。这就是RAD开发(Rapid Application Development,快速应用程序开发)。 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。 C++ Builder 6.0几个示例程序项目源代码下载: C++ Builder第一个程序(模拟聊天室)v1.11 C++ Builder模拟数字双时钟示例(未完成)v0.2.1 C++ Builder纸牌游戏Demo v0.03 C++ Builder不规则图像透明贴图(位图的透明显示)三种方法及简单动画v1.3 C++ Builder写的《ZEC 四则运算练习程序》 海底海星情景v0.9.2 C++ Builder简单电话簿Demo例子v1.11
liups 2020-11-11
  • 打赏
  • 举报
回复
对于CSDN来说,你提出了问题,就可以发现下面是一大堆的五子棋代码可以下载。所以根本不用发问,直接搜索就有了

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧