给我写一个完整的扫雷游戏代码吧
时间: 2023-03-13 08:43:20 浏览: 89
这里有一个完整的扫雷游戏代码:#include<stdio.h>
int main()
{
int board[10][10]; //棋盘,用于存放雷和数字
int row, col; //行和列
int mines; //雷的数量
int i,j,k;
int x,y; //玩家的输入
int count; //周围的雷的数量//初始化:随机生成雷,并将棋盘清零
srand((unsigned)time(NULL));
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
board[i][j]=0;
}
mines=rand()%20;
for(k=0; k<mines; k++)
{
row=rand()%10;
col=rand()%10;
board[row][col]=-1;
}//计算每个位置周围雷的数量
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(board[i][j]==-1) continue;
count=0;
for(x=i-1; x<=i+1; x++)
{
for(y=j-1; y<=j+1; y++)
{
if(x<0||x>9||y<0||y>9) continue;
if(board[x][y]==-1) count++;
}
}
board[i][j]=count;
}
}//扫雷游戏的主要过程
while(1)
{
//打印棋盘
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(board[i][j]==-1)
printf("* ");
else
printf("%d ",board[i][j]);
}
printf("\n");
}
//输入玩家的输入
printf("Please enter row and col (row,col):\n");
scanf("%d,%d", &row, &col);
//获取玩家的输入
if(board[row][col]==-1)
{
printf("You lose\n");
break;
}
else
printf("You get %d point\n",board[row][col]);
}
return 0;
}
阅读全文