用c语言编写五子棋的报告,五子棋 (用C语言编写五子棋游戏)

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;

}

来让我们一起玩一下游戏吧!

54c930b89ea63407041b4f01387767d8.png

玩家赢了哦^_^

852977e52990d2bb6d577623d47f45ac.png

很遗憾,电脑赢了

ea99f61b0b3bbd04c6468d0a0e61f0cb.png

哎呀,平局了哦

c483a1cfb1bcda09ed9544963943baf4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值