当前位置:网站首页>C語言實現掃雷(簡易版)
C語言實現掃雷(簡易版)
2022-06-24 20:27:00 【AKA.瞳源治】
#define ROW 9
#define COL 9
#define ROWS 2 + ROW
#define COLS 2 + COL
#define shuliang 10
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
void quyu(char mine[ROWS][COLS], int rows, int cols, char n)
{
int i = 0;
int j = 0;
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
mine[i][j] = n;
}
}
}
void xianshi(char show[ROWS][COLS], int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i <= col; i++)
{
printf("%d ", i);
}
printf("\n");
for (i = 1; i <= row; i++)
{
printf("%d ", i);
for (j = 1; j <= col; j++)
{
printf("%c ", show[i][j]);
}
printf("\n");
}
printf("\n");
}
void buzhi(char mine[ROWS][COLS], int row, int col)
{
int m = shuliang;
int x = 0;
int y = 0;
while (m)
{
x = rand() % row + 1;
y = rand() % row + 1;
if (mine[x][y] == '0')
{
mine[x][y] = '1';
m--;
}
}
}
int zhouweilei(char mine[ROWS][COLS], int x, int y)
{
return mine[x - 1][y - 1] +
mine[x - 1][y] +
mine[x - 1][y + 1] +
mine[x][y - 1] +
mine[x][y + 1] +
mine[x + 1][y - 1] +
mine[x + 1][y] +
mine[x + 1][y + 1] -
8 * '0';
}
void play(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
int x = 0;
int y = 0;
int win = 0;
while (win < row * col - shuliang)
{
printf("請輸入坐標:");
scanf("%d %d", &x, &y);
if (x >= 1 && x <= row && y >= 1 && y <= col)
{
if (mine[x][y] == '1')
{
printf("死\n");
xianshi(mine, ROW, COL);
printf("遊戲結束\n");
break;
}
else
{
int m = zhouweilei(mine, x, y);
show[x][y] = m + '0';
xianshi(show, ROW, COL);
}
}
else
{
printf("請重新輸入\n");
continue;
}
win++;
}
if (win == row * col - shuliang)
{
printf("贏了\n");
xianshi(mine, ROW, COL);
}
}
void meun()
{
Sleep(5000);
char a1[] = "******** 1. play *******";
char a2[] = "******** 0. exit *******";
char a3[] = "######## #######";
char a4[] = "######## #######";
int left1 = 0;
int right1 = strlen(a1) - 1;
int left2 = 0;
int right2 = strlen(a2) - 1;
while (left1 < right1 && left2 < right2)
{
a3[left1] = a1[left1];
a3[right1] = a1[right1];
a4[left2] = a2[left2];
a4[right2] = a2[right2];
printf("%s\n", a3);
printf("%s\n", a4);
left1++;
right1--;
left2++;
right2--;
Sleep(100);
system("cls");
}
printf("%s\n", a3);
printf("%s\n", a4);
}
void game()
{
char mine[ROWS][COLS] = { 0 };
char show[ROWS][COLS] = { 0 };
quyu(mine, ROWS, COLS, '0');
quyu(show, ROWS, COLS, '*');
buzhi(mine, ROW, COL);
xianshi(show, ROW, COL);
play(mine, show, ROW, COL);
}
void saolei()
{
int xuanze = 0;
srand((unsigned int)time(NULL));
do
{
meun();
printf("請輸入:");
scanf("%d", &xuanze);
switch (xuanze)
{
case 1:
printf("開始遊戲\n");
game();
break;
case 0:
printf("退出遊戲\n");
break;
default:
printf("輸入錯誤\n");
break;
}
} while (xuanze);
}
int main()
{
saolei();
return 0;
}边栏推荐
- Predicate
- Bytebase rejoint la communauté de base de données open source d'alicloud polardb
- Bytebase加入阿里云PolarDB开源数据库社区
- 顺序栈遍历二叉树
- 云计算发展的 4 个阶段,终于有人讲明白了
- 《梦华录》“超点”,鹅被骂冤吗?
- IP address to integer
- The agile way? Is agile development really out of date?
- What is showcase? What should showcase pay attention to?
- Digital twin industry case: Digital Smart port
猜你喜欢

Five day summary of software testing

Digital twin industry case: Digital Smart port

What is CNN (convolutional neural network)

得物多活架构设计之路由服务设计

Bytebase joins Alibaba cloud polardb open source database community

Using dynamic time warping (DTW) to solve the similarity measurement of time series and the similarity identification analysis of pollution concentration in upstream and downstream rivers

Fundamentals of performance testing -- definitions of common terms

顺序栈1.0版本

Full link service tracking implementation scheme

大一女生废话编程爆火!懂不懂编程的看完都拴Q了
随机推荐
Microsoft Office Excel 2013 2016 graphic tutorial on how to enable macro function
Some ideas about chaos Engineering
OpenVINO2022 Dev Tools安装与使用
开放可编程基础设施(OPI)项目,重新定义DPU/IPU
等等党们的胜利!挖矿退潮后,显卡价格全面暴跌
The Network Security Review Office launched a network security review on HowNet, saying that it "has a large amount of important data and sensitive information"
天天鉴宝暴雷背后:拖欠数千万、APP停摆,创始人预谋跑路?
Ribbon源码分析之@LoadBalanced与LoadBalancerClient
SQL export CSV data, unlimited number of entries
Anti epidemic through science and technology: white paper on network insight and practice of operators | cloud sharing library No.20 recommendation
网络安全审查办公室对知网启动网络安全审查,称其“掌握大量重要数据及敏感信息”
Bytebase 加入阿裏雲 PolarDB 開源數據庫社區
Write a positive integer to the node and return a floating-point number multiplied by 0.85 when reading the node
UART communication (STM32F103 library function)
Apache+php+mysql environment construction is super detailed!!!
What about the Golden Angel of thunder one? Golden Angel mission details
With its own cells as raw materials, the first 3D printing ear transplantation was successful! More complex organs can be printed in the future
Todesk remote control, detailed introduction and tutorial
Two solutions to the problem of 0xv0000225 unable to start the computer
gateway