写一个简单的小游戏 ——五子棋
- emmmmmmm,这只是一个简单的五子棋,电脑的落子也只是单纯的只用随机数产生,并没有多的逻辑处理,因此,游戏的难点在于让电脑赢,完毕。
- 代码很简单,主要的问题就是判断输入的坐标合法性,修改坐标处的显示,判断游戏的状态(也就是胜利,流局和游戏继续三个的状态),判断方法也很简单,只需要对二维数组遍历就好。
- 话不多说先上图:
- 选择界面:
- 游戏界面:
在游戏界面我设置了可以动态设置棋盘的大小( 棋盘的大小只需要在#define那里修改就可以。不过因为是在6*6棋盘下设计的界面(虽然很丑),所以6*6下效果最好。),所以它可能是这样的:
这样的:
和这样的:
- 游戏结束后输出:
- 最后附上代码:
代码分为三部分 game.h game.c 和 text.c
void game_menu(const char a[R][C]); // 游戏界面
void choose_menu(char a[R][C]); //选择界面
void initialize_game(char a[R][C]); //初始化游戏
void player_game(char a[R][C]); //玩家落子
void computer_game(char a[R][C]); //电脑落子
char judgment(const char a[R][C]); // 判断游戏状态
void game(char a[R][C]); //游戏过程
void end_print(char game_status); //输出游戏情况
#include"game.h"
void initialize_game(char a[R][C])
{
int i, j;
for (i = 0; i < R; i++)
for (j = 0; j < C; j++)
a[i][j] = 32;
}
void game_menu(const char a[R][C])
{
int i = 0, j = 0;
printf("\n\n\t-----游戏棋盘为5X5,玩家需要在下面输入要落子的位置,先行后列,中间以空格隔开!!!-----\n");
printf("\n\t\t----- 玩家落子为“ X ” 电脑落子为“ O ” -----\n");
printf("\n\n\t\t | ̄%d ̄ ̄ ̄ ̄",