C语语言言实实现现简简单单的的控控制制台台三三子子棋棋游游戏戏
用C语言实现简单的控制台三子棋游戏
首先,确定一局游戏的基本流程:
1、创建棋 并初始化。 (将棋 看作一个二维数组)
2、打印显示出棋 。
3、玩家落子(玩家通过输入行列坐标的方式来落子)。
4 、判定胜负关系。 (如果玩家胜出,则退出游戏。)
5、电脑落子(随机位置落子) 。
6、判定胜负关系 (如果电脑胜出,退出游戏。否则,回到步骤 2 继续执行。)
第第一一步步,此处通过构造menu()函数搭建一个简单的交互菜单和玩家交互,用来判断是否开始进行一局游戏。
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int enu() {
printf("====================\n");
printf("1.开始游戏\n");
printf("0.结束游戏\n");
printf("====================\n");
printf(" 请输入您的选择: ");
int choice = 0;
scanf("%d", &choice);
return choice;
}
int ain() {
while (1) {
int choice = enu();
if (choice == 1) {
//ga e();//此处调用了一个ga e函数。
}
else if (choice == 0) {
printf("goodbye!\n");
break;
}
}
syste ("pause");
return 0;
}
第第二二步步,对第一步中调用的game()函数进行构造。game()函数为核心功能函数,其主要任务是完成基本流程。
1.构建初始化init()函数。初始化一个3*3的二维数组,将它当做棋 ,并将数组元素全部初始化为0 。
void init(char chessBoard[MAX_ROW][MAX_COL]) {
// 把数组中的每个元素都设=初始化为“空格”。
for (int row = 0; row < MAX_ROW; row++) {
for (int col = 0; col < MAX_COL; col++) {
chessBoard[row][col] = ' ';
}
}
}
2.构建棋 打印printChessBoard()函数。运用for循环打印出3*3的棋 。
void printChessBoard(char chessBoard[MAX_ROW][MAX_COL]) {
//把棋 打印出来。
printf("++++\n");
for (int row = 0; row < MAX_ROW; row++) {
printf("| %c | %c | %c |\n", chessBoard[row][0],
chessBoard[row][1], chessBoard[row][2]);
printf("++++\n");
}
}
3.构建玩家落子player ove()函数,玩家通过输入行列坐标的方式来落子。此过程中需要判断:1.玩家输入的行列坐标是否在棋
的合理位置。2.玩家输入的行列坐标位置是否已经有棋子。
void playerMove(char chessBoard[MAX_ROW][MAX_COL]) {
// 让玩家落子. 通过控制台输入行列坐标的方式来实现。
while (1) {
printf(" 请玩家输入坐标(row col): ");