扫雷c语言

扫雷c语言,第1张

扫雷c语言

1.主程序:

#include "game.h"
void menu()
{
	printf("***************************************n");
	printf("************1.play      0.exit*********n");
	printf("***************************************n");
}
void game()
{
	char Mine[ROWS][COLS]={0};
	char Show[ROWS][COLS]={0};
	InitBoard(Mine,ROWS,COLS,'0');//后台雷的数据
	InitBoard(Show,ROWS,COLS,'*');//玩家展示
	SetMine(Mine,ROW,COL);//布雷
	DisplayBoard(Mine,ROW,COL);//打印后台雷数据
	DisplayBoard(Show,ROW,COL);//展示给玩家的数据
	FindMine(Mine,Show,ROW,COL);//判断是否踩雷

}
int main()
{
	int input=0;
	do 
	{
		menu();
		scanf("%d",&input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("请重新输入n");
			break;
		}
	} while (input);
	return 0;

}

2.模块:

.h文件

#pragma once
#include
#define ROW 9
#define COL 9
#define ROWS ROW+2
#define COLS COL+2

#define MINE_COUNT 10

void InitBoard(char board[ROWS][COLS],int rows,int cols,char set);

void DisplayBoard(char board[ROWS][COLS],int row,int col);

void SetMine(char board[ROWS][COLS],int row,int col);

int GetMineCount(char Mine[ROWS][COLS],int x,int y);

void  FindMine(char Mine[ROWS][COLS],char Show[ROWS][COLS],int row,int col);

.c文件:

#include "game.h"
#include 
void InitBoard(char board[ROWS][COLS],int rows,int cols,char set)
{
	int i=0;
	for(i=0;i=1&&x<=row&&y>=1&&y<=col)
		{
			if(Mine[x][y]=='1')
			{
				printf("很遗憾,你被炸死了");
				DisplayBoard(Mine,ROW,COL);
				break;
			}else
			{
				int count = GetMineCount(Mine,x,y);
				Show[x][y]=count+'0';
				DisplayBoard(Show,ROW,COL);
				notMine++;//找到
			}
		}else
		{
			printf("坐标非法n");
		}
	}
	if(win==row*col-MINE_COUNT)
	{
		printf("恭喜取得胜利n");
		DisplayBoard(Mine,ROW,COL);
	}
}

 主要思路:

1.定义两个数组,存放显示给用户的界面数据;另一个存放后台数据

 2.设置雷的位置

3.判断是否踩雷

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5714422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存