9. C++实现五子棋

一、前言

五子棋本身逻辑还是很简单的,只要黑白任一棋子连成5个即为获胜,本文简单用C++结合EGE库将其实现了一下。

但考虑到五子棋这种游戏为两个人下的,为其添加一个网络联机功能或许会更好,不过本文并没有实现,看以后有时间再说吧。

EGE库的配置在本站的其它文章中已经做了详细的介绍,所以这里不再赘述,不会的可以参考其它文章:引入EGE库

最终成品如下:

image-20231110150422176

只实现了基本功能,如有需要可以自己再完善一下细节,代码可以从文末下载。

二、代码逻辑

1.main函数

这个代码的逻辑依旧很简单,和另一个推箱子的代码逻辑基本是一样的:

  1. 所有操作都在一个二维数组上。
  2. 将这个二维数组映射到窗口上。

整个代码不过两百行而已,这里简单介绍一下即可:

image-20231110150733237

只有两个函数:

  1. draw:用于将下棋的二维数组画到窗口上。
  2. isWin:用来判断当前棋局的输赢情况。

然后主函数中就是在初始化窗口、设置窗口背景色、标题、棋盘二维数组、当前下棋人、绘制棋盘。

然后来到for这个游戏循环中,不理解为什么这么写的,最好的去看一看前面引入EGE库的系列文章,里面有详细的介绍。

然后游戏循环中,基本可以分为三个部分:

image-20231110151218625

作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux