对于初学C语言的同学,五子棋不可谓不是一个好的练习。我们不但要考虑玩家及电脑的落子,还要考虑棋盘是否已满、是否有一方已经获得胜利。因此我们要考虑好各种情况,设定好函数及循环。
下面是两人五子棋的简单代码,注释部分是电脑产生随机数的函数,如若取消注释并注释掉关于玩家二的函数,运行起来就是人机对战。
程序如下:
game.h
#ifndef __GAME_H__
#define __GAME_H__
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#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 player1_move(char board[ROWS][COLS], int row, int col);
void player2_move(char board[ROWS][COLS], int row, int col);
//void computer_move(char board[ROWS][COLS], int row, int col);
char Is_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, ' ', row*col*(sizeof(char))); //初始化棋盘
}
void Display_board(char board[ROWS][COLS], int row, int col)
{
int i=0;
for (i = 0; i < row;