您现在的位置是:首页 >技术交流 >马上五一了,带大家玩一下五子棋——C语言网站首页技术交流
马上五一了,带大家玩一下五子棋——C语言
简介马上五一了,带大家玩一下五子棋——C语言
五一祝福
因为这篇博文实在五一这天完成的,所以呢,在介绍五子棋之前,先祝各位支持小白的大佬都五一快乐!
花了点时间下了个“五一快乐”的五子棋,哈哈哈哈哈哈,还不太熟练,所以写的有点丑,勉强过的去就行,不知道佬们看不看得出来,还是说实在一点都不像,不过没关系,佬们阅读了之后希望可以给我修正一下,去玩玩。那个’乐‘字确实没整好,哈哈哈,看起来超别扭
如下图所示:
祝福送给打架了之后就让我们来说一说正文吧。
五子棋的实现
五子棋的实现分为一下几个功能的实现:
- 首先是先构建棋盘,我们这里用了一个二维数组chessboard来对我们的棋盘进行初始化和放置棋子
- 实现展示棋盘的函数void ShowChessBoard(int board[ROW][COL])
- 玩家1下棋,我们用函数void PlayerMove(int board[ROW][COL], int who)来实现,后面那个参数who 传的是谁就是到谁下棋
- 玩家1下棋之后棋盘会有变化,我们要对棋局进行判断是否达成了五子连珠,或者说整个棋盘的棋子都放满了还没结束,那就是平局,否则就是继续进行棋局,我们用函数int IsOver(int board[ROW][COL])来进行判断,其中这个函数的判断方法是通过调用函数int ChessCount(int board[ROW][COL], enum Dir d)来判断每下一步棋之后该位置的八个方向都进行判断,看是否达成其中至少有一个方向满足五子连珠来判断当前棋局的情况
- 玩家2下棋,将第3 ,4中的玩家1变成玩家2重复上述第3 , 4步。
1 菜单
代码实现:
void menu()
{
printf("****************************
");
printf("******1. 开始 0.退出******
");
printf("****************************
");
printf("请选择 :> ");
}
2.展示棋盘
代码实现:
void ShowChessBoard(int board[ROW][COL])
{
printf("