用C语言实现三子棋游戏(上)
2021-01-29 23:05
796 查看
先上代码:
#include "game.h" //测试三子棋游戏 void menu() { printf("***********************\n"); printf("****1.play 0.exit****\n"); printf("***********************\n"); } //游戏的整个算法实现 void game() { //数组 - 存放走出棋盘的信息 char board[ROW][COL] = { 0 };//全部空格 //初始化棋盘 InitBoard(board, ROW, COL); //打印棋盘 DisplayBoard(board,ROW,COL); return 0; } void test() { int input = 0; do { menu(); printf("请选择:>"); scanf("%d", &input); switch (input) { case 1: game(); printf("三子棋\n"); break; case 0: printf("退出游戏\n"); break; default: printf("选择错误,请重新选择\n"); break; } } while (input); } int main() { test(); return 0; }
这边我们需要另外创建一个头文件和一个源文件,头文件名为game.h,以下为它的代码:
#define ROW 3 #define COL 3 #include<stdio.h> //声明 void InitBoard(char board[ROW][COL], int row, int col); void DisplayBoard(char board[ROW][COL], int row, int col);
头文件主要放的是声明。
还有个源文件为game.c文件,以下为它的代码:
#include "game.h" void InitBoard(char board[ROW][COL], int row, int col) { int i = 0; int j = 0; for ( i = 0; i < row; i++) { for (j = 0; j < col; j++) { board[i][j] = ' '; } } } //void DisplayBoard(char board[ROW][COL], int row, int col) //{ // int i = 0; // for ( i = 0; i < row; i++) // { // //1.打印一行的数据 // printf(" %c | %c | %c \n", board[i][0], board[i][1], board[i][2]); // //2.打印分割行 // if (i <row -1) // { // printf("---|---|---\n"); // } // // } //} void DisplayBoard(char board[ROW][COL], int row, int col) { int i = 0; for (i = 0; i < row; i++) { int j = 0; for (j = 0; j < col; j++) { //1.打印一行的数据 printf(" %c ", board[i][j]); if (j < col - 1) { printf("|"); } } printf("\n"); //2.打印分割行 if (i < row - 1) { for ( j = 0; j < col; j++) { printf("---"); if (j<col - 1) { printf("|"); } } printf("\n"); } } }
这样我们就做出了一下的效果