1.clion添加头文件
在CMakeLists.txt中添加include_directories(header header/game.h)
header是头文件所在的文件夹
2.扫雷游戏
game.h
//各种申明(函数……)
#ifndef UNTITLED1_7_29GAME_H
#define UNTITLED1_7_29GAME_H
#endif //UNTITLED1_7_29GAME_H
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define ROW 9
#define COL 9
#define ROWS ROW+2
#define COLS COL+2
#define EASY_COUNT 10
//初始化棋盘
void InitBoard(char board[ROWS][COLS],int rows,int cols,char set);
//打印棋盘
void PrintBoard(char board[ROWS][COLS],int rows,int cols);
//布置雷
void SetMine(char board[ROWS][COLS],int rows,int cols);
//排查雷
void Findmine(char show[ROWS][COLS],char mine[ROWS][COLS],int rows,int cols);
gametext.c
#include "game.h"
#include <time.h>
#include "game.c"
void menus()
{
printf("**********************\n");
printf("****** 1.plat ******\n");
printf("****** 0.exit ******\n");
printf("**********************\n");
}
void game()
{
char show[ROWS][COLS];//用于显示的棋盘
char mine[ROWS][COLS];
InitBoard(show,ROWS,COLS,'*');//初始化棋盘
InitBoard(mine,ROWS,COLS,'0');
Sleep(600);
system("CLS");
PrintBoard(show,ROW,COL);//打印棋盘
//PrintBoard(mine,ROW,COL);
SetMine(mine,ROW,COL);//布置雷
//PrintBoard(mine,ROW,COL);
Findmine(show,mine,ROW,COL);//排查雷
}
int main()
{
int input=0;
srand((unsigned int)time(NULL));
do
{
menus();
printf("input your choice:>>");
scanf("%d",&input);
switch(input)
{
case 1:
printf("\n START GAME!!!!\n\n");
game();
break;
case 0:
printf("EXIT\n");
break;
default:
printf("error,re-enter\n");
break;
}
}while(input);
}
game.c
//各种函数的实现
#include "game.h"
int win=0;
int win2=0;
void InitBoard(char board[ROWS][COLS],int rows,int cols,char set)
{
for(int i=0;i<rows;i++)
{
for(int j=0;j<cols;j++)
{
board[i][j]=set;
}
}
}
void PrintBoard(char board[ROWS][COLS],int rows,int cols)
{
int j=0;
int i=0;
for(i=0;i<=rows;i++)
{
if(i==1)
printf("------------------------------\n");
printf("%d| ",i);
if(i==0)
{
for(j=1;j<=cols;j++)
{
printf("%d ",j);
}
}
else
{
for(j=1;j<=cols;j++)
{
printf("%c ",board[i][j]);
}
}
printf("\n");
}
printf("\n");
}
void SetMine(char board[ROWS][COLS],int rows,int cols)