这是一个用C语言实现的控制台小游戏—-五子棋,棋盘大小和获胜棋子数目是用宏定义的,可以自定义,所以可以轻松改为三子棋、六子棋等等。此游戏设定为人机对战(PVE),电脑走棋是随机的。
编译环境:VS2015
此程序采用多文件编译,共有三个文件,一个game.h头文件,一个game.c文件和一个main.c文件,代码分别如下:
game.h
这里是一些数据和函数的声明
#ifndef _GAME_H_
#define _GAME_H_
#define _BOARD_ 10 //棋盘大小
#define _PIECE_ 5 //获胜所需要连起来的棋子个数
typedef struct Board{
char show[_BOARD_][_BOARD_]; //棋盘字符数组
char Pc; //电脑使用的棋子
char Player; //棋手使用的棋子
}Brd ,*pBrd; //Brd:五子棋 pBrd:五子棋指针
void init(pBrd B);
void PrintBrd(const pBrd B);
void Pcrand(pBrd B);
int Player(pBrd B);
int judge(pBrd B, int n);
void menu(pBrd B);
#endif // ! _GAME_H_
game.c
这里是函数的具体实现
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include "game.h"
void init(pBrd B)
{
int i, j;
for (i = 0; i < _BOARD_; i++)
{
for (j = 0; j < _BOARD_; j++)
{
B->show[i][j] = ' ';
}
}
B->Pc =