C语言代码实现简易扫雷
本文实例为大家分享了C语言代码实现简易扫雷的具体代码,供大家参考,具体内容如下
源.c代码如下:
#define_CRT_SECURE_NO_WARNINGS
#include"Game.h"
voidGame()
{
//创建两个雷区,一个记录雷,一个展示给玩家
charmine[ROWS][COLS]={0};
charshow[ROWS][COLS]={0};
//初始化两个雷区
Init_board(mine,ROWS,COLS,'0');
Init_board(show,ROWS,COLS,'*');
//打印雷区
Prin_board(show,ROW,COL);
//布置地雷
PlaceMine(mine,ROWS,COLS);
//开始扫雷
FoundMine(mine,show,ROW,COL);
}
intmain()
{
srand((unsignedint)time(NULL));
//打印菜单
intinput=0;
printf("**********************************\n");
printf("*******1.play0.exit*******\n");
printf("**********************************\n");
do
{
printf("请选择:\n");
scanf("%d",&input);
switch(input)
{
case1:
Game();
printf("再来一局请输入1,退出请按0\n");
break;
case0:
printf("退出游戏\n");
break;
default:
printf("请输入1或0:\n");
break;
}
}while(input);
return0;
}
Game.h代码如下:
#include#include #include #defineROWS11 #defineCOLS11 #defineROWROWS-2 #defineCOLCOLS-2 #defineEASY10 voidInit_board(charboard[ROWS][COLS],introws,intcols,charset); voidPrin_board(charboard[ROWS][COLS],introw,intcol); voidPlaceMine(charboard[ROWS][COLS],introw,intcol); voidFoundMine(charboard1[ROWS][COLS],charboard2[ROWS][COLS],introw,intcol);
Game.c代码如下:
#define_CRT_SECURE_NO_WARNINGS
#include"Game.h"
intSum(charboard[ROWS][COLS],intx,inty)
{
inttem=y;//备份y的值,方便循环中初始化y值
//(x-1,y-1)(x-1,y)(x-1,y+1)
//(x,y-1)(x,y)(x,y+1)
//(x+1,y-1)(x+1,y)(x+1,y+1)
inti=0,j=0;
intsum=0;
for(i=0;i<3;i++,x++)
{
for(j=0,y=tem;j<3;j++,y++)
{
sum+=board[x-1][y-1];
}
}
sum=sum-8*(int)'0';
returnsum;
}
voidInit_board(charboard[ROWS][COLS],introws,intcols,charset)
{
inti=0,j=0;
for(i=0;i=1&&x<=row&&y>=1&&y<=col)
{
if(board1[x][y]=='1')
{
printf("游戏结束,你踩雷了\n");
break;
}
else
{
board2[x][y]=Sum(board1,x,y);
Prin_board(board2,ROW,COL);
}
}
else
printf("坐标非法\n");
}
if(board1[x][y]!='1')
printf("恭喜你完成游戏!\n");
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。