C语言实现五子棋小游戏

您所在的位置:网站首页 如何用编程做一个小游戏简单 C语言实现五子棋小游戏

C语言实现五子棋小游戏

2024-03-28 09:37| 来源: 网络整理| 查看: 265

       三子棋,五子棋,无论多少子棋,其原理都是一样的。下面我用五子棋为例讲解用C语言多文件编程实现五子棋。

       设计电脑和玩家两个作为下棋的两方,用键盘输入作为玩家的游戏操作。

1.效果图:

程序总的构架:

我们只要输入坐标就可以和电脑对弈了。

电脑的棋子用 ‘0’ 表示,玩家的棋子用 ‘x’ 表示。

 

2.打印菜单

可以根据自己的爱好设计各种风格的菜单,自己自然赏心悦目,让自己的游戏更加美观。

// 菜单 menu() { printf("\n"); printf("*******************************\n"); printf("**** 欢迎来到五子棋游戏! ****\n"); printf("**** 1.进入游戏 ****\n"); printf("**** 0.退出游戏 ****\n"); printf("*******************************\n"); }

 

3.初始化棋盘

ROW, COL 分别表示棋盘的宽度和高度(即是棋盘的 x 和 y)。

一开始先把棋盘初始化为 '  '  (空格)。

void InitBoard(char board[ROW][COL], int row, int col) { int i = 0; int j = 0; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { board[i][j] = ' '; } } } 4.打印棋盘

用竖线和横线把棋盘封装起来,在棋盘外标上坐标的位置提示,以方便玩家。

//打印棋盘 void DisplayBoard(char board[ROW][COL], int row, int col) { int i = 0; int j = 0; for (i = 0; i < row; i++) { printf(" %d ", i+1); //打印棋盘 x 轴坐标提示 } printf("\n"); for (j = 0; j < col; j++) { printf("---|"); //打印第一行棋盘 } printf("\n"); for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf(" %c |", board[i][j]); //打印竖标 } printf(" %d ", i+1); //打印棋盘 y 轴坐标提示 printf("\n"); for (j = 0; j < col; j++) { printf("---|"); //打印横标 } printf("\n"); } } 5.电脑下棋

我是利用函数 strand() 函数和 rand() 函数让电脑在棋盘上空的地方随机下棋,用一个循环判断就可以实现。也可以设计电脑让电脑更加“聪明”,能够判断玩家已经下好的棋,并能够做出阻止(我没有做这一步,如果有兴趣的话,可以自己再研究一下哦 ^_^)。

//电脑下棋 void ComputerMove(char board[ROW][COL], int row, int col) { int x = 0; int y = 0; printf("电脑走:>\n"); while (1) { x = rand() % row; y = rand() % col; if (board[x][y] == ' ') { board[x][y] = '0'; break; } else { continue; } } } 6.玩家下棋

从键盘上输入下棋坐标,判断坐标正好是棋盘上空的地方,则成功下棋,若在棋盘上但非空位置,提示玩家该坐标已经被占用,要重新输入,若不在棋盘上,提示玩家该坐标非法,要重新输入。

//玩家下棋 void PlayerMove(char board[ROW][COL], int row, int col) { int x = 0; int y = 0; printf("玩家走:>\n"); printf("请输入坐标(%d,%d): >",row,col); while (1) { scanf("%d %d", &x, &y); if (x >= 1 && x = 1 && y = 1 && x = 1 && y


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3