game.h 文件
#ifndef __GAME_H__
#define __GAME_H__
enum OPTION
{
EXIT,
PLAY
};
#include #include #include #include #define ROWS 5
#define COLS 5
void init_board(char board[ROWS][COLS], int row, int col);
void display_board(char board[ROWS][COLS], int row, int col);
void player_move(char board[ROWS][COLS], int row, int col);
void computer_move(char board[ROWS][COLS], int row, int col);
static int is_full(char board[ROWS][COLS], int row, int col);
char check_win(char board[ROWS][COLS], int row, int col);
#endif
game.c 文件
#include "game.h"
void init_board(char board[ROWS][COLS], int row, int col)
{
memset(board, ' ', col*row*sizeof(board[0][0]));
}
void display_board(char board[ROWS][COLS], int row, int col)
{
int i = 0;
for (i=0; i=0)&&(x=0)&&(y
test.c文件
#include "game.h"
void game ()
{
char board[ROWS][COLS] = {0};
char ret = 0;
init_board(board, ROWS, COLS);
display_board(board, ROWS, COLS);
srand((unsigned int)time(NULL));
while (1)
{
player_move(board, ROWS, COLS);
if ((ret = check_win(board, ROWS, COLS))!= ' ')
break;
/*if ((check_win(board, ROWS, COLS)) != ' ')
{
ret = check_win(board, ROWS, COLS);
break;
}*/
display_board(board, ROWS, COLS);
computer_move(board, ROWS, COLS);
if ((ret = check_win(board, ROWS, COLS))!= ' ')
break;
/*if ((check_win(board, ROWS, COLS)) != ' ')
{
ret = check_win(board, ROWS, COLS);
break;
}*/
display_board(board, ROWS, COLS);
}
if(ret == '@')
{
printf ("真厉害,恭喜你赢了\n");
}
else if(ret == '*')
{
printf ("呵呵!真遗憾!\n");
}
else if(ret == 'q')
{
printf ("平局\n");
}
display_board(board, ROWS, COLS);
}
void menu()
{
printf ("**********欢迎进入五子棋游戏***********\n");
printf ("***************记得选择哦**************\n");
printf ("***********(1.play 0.exit)**********\n");
printf ("**************祝您玩的愉快*************\n");
}
int main ()
{
int input = 0;
do
{
menu();
printf ("请选择^_^:");
scanf("%d",&input);
switch(input)
{
case 1:
game ();
break;
case 0:
break;
default:
printf("选择错误\n");
break;
}
}
while(input);
return 0;
}
来让我们一起玩一下游戏吧!
玩家赢了哦^_^
很遗憾,电脑赢了
哎呀,平局了哦