C语言最简单的扫雷实现(解析加原码)

头文件

#define ROW 9
#define COL 9
#define ROWS ROW+2
#define COLS COL+2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define numlei 10

do while可以循环玩
两个板子,内板子放0,外板子放*
set函数初始化两个板子
lei函数,x,y随机两数,把内板子某些0改为1
print函数打印内或外板子
board返回周围8个格子雷的个数

#include "game.h"
void set(char arr[ROWS][COLS], int row, int col,char set)
{for (int i = 0;i < ROWS;i++){for (int j = 0;j < COLS;j++){arr[i][j] = set;}}
}
void lei(char arr[ROWS][COLS], int row, int col)
{int count = numlei;while (count){int x = rand() % 9 + 1;int y = rand() % 9 + 1;if (arr[x][y]=='0'){arr[x][y] = '1';count--;}}
}
void print(char arr[ROWS][COLS], int row, int col)
{for (int i=0;i<=row;i++){printf("%d ",i);}printf("\n");for (int i = 1;i <= row;i++){printf("%d ", i);for (int j = 1;j <= col;j++){   printf("%c ", arr[i][j]);}printf("\n");}
}
int board(char mine[ROWS][COLS], int x, int y)
{return  (mine[x - 1][y] + mine[x - 1][y - 1] + mine[x][y - 1] + mine[x + 1][y-1] + mine[x + 1][y] + mine[x + 1][y + 1] + mine[x][y + 1] + mine[x - 1][y + 1]-8*'0');}void game()
{printf("********************\n");printf("**** 1.游戏开始 ****\n");printf("**** 0.退出游戏 ****\n");printf("********************\n");int input;char show[ROWS][COLS];char inside[ROWS][COLS];do{scanf("%d", &input);switch (input){case 1:printf("游戏开始\n");set(show, ROW, COL, '*');print(show, ROW, COL);set(inside, ROW, COL, '0');lei(inside, ROW, COL);int win = 0;while (win<ROW*COL-numlei){int x, y;scanf("%d %d", &x, &y);if (x >= 1 && y >= 1 && x <= ROW && y <= COL){if (inside[x][y] == '1'){printf("你被炸了\n");print(inside, ROW, COL);break;}else{int c = board(inside, x, y);show[x][y] = c + '0';print(show, ROW, COL);win++;}}elseprintf("输入坐标错误,请重新输入\n");}if (win == ROW * COL - numlei){printf("排雷成功\n");print(inside, ROW, COL);}break;case 0:printf("退出游戏\n");break;default:printf("重新输入\n");break;}} while (input);
}int main()
{   srand((unsigned) time(NULL));game();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/469098.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金融学期末速成笔记

【拯救者】金融学速成&#xff08;基础习题&#xff09; 重点: 市场经济是发达的商品经济。在市场经济条件下&#xff0c;市场机制作为资源配置方式&#xff0c;发挥基础性作用。 除具有商品经济的一般特征外&#xff0c;与商品经济相比&#xff0c;市场经济还具有一些新的特征…

后悔没早点知道,Coze 插件 + Cursor 原来可以这样赚钱

最近智能体定制化赛道异常火爆。 打开闲鱼搜索"Coze 定制",密密麻麻的服务报价直接刷屏,即使表明看起来几十块的商家,一细聊,都是几百到上千不等的报价。 有趣的是,这些智能体定制化服务背后,最核心的不只是工作流设计,还有一个被很多人忽视的重要角色 —— …

嵌入式采集网关(golang版本)

为了一次编写到处运行&#xff0c;使用纯GO编写&#xff0c;排除CGO&#xff0c;解决在嵌入式中交叉编译难问题 硬件设备&#xff1a;移远EC200A-CN LTE Cat 4 无线通信模块&#xff0c;搭载openwrt操作系统&#xff0c;90M内存

基于Multisim数字电子秒表0-60S电路(含仿真和报告)

【全套资料.zip】数字电子秒表电路Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 1.秒表最大计时值为60秒&#xff1b; 2. 2位数码管显示&#xff0c;分辨率为1秒&#xff1b; 3.具有清零…

昇思大模型平台打卡体验活动:项目2基于MindSpore通过GPT实现情感分类

昇思大模型平台打卡体验活动&#xff1a;项目2基于MindSpore通过GPT实现情感分类 1. 载入与处理数据集 在情感分类任务中&#xff0c;我们使用了IMDB数据集&#xff0c;首先需要对数据进行加载和处理。由于原数据集没有验证集&#xff0c;我们将训练集重新划分为训练集和验证…

Mac如何实现最简单的随时监测实时运行状态的方法

Mac book有着不同于Windows的设计逻辑与交互设计&#xff0c;使得Mac book有着非常棒的使用体验&#xff0c;但是在Mac电脑的使用时间过长时&#xff0c;电脑也会出现响应速度变慢或应用程序崩溃的情况&#xff0c;当发生的时候却不知道什么原因导致的&#xff0c;想要查询电脑…

有趣的Midjourney作品赏析(附提示词)

中文提示词&#xff1a;国风少年 C4D软件,高分辨率,超细节,超现实主义, 英文提示词&#xff1a;National Style Youth Cinema4D,high resolution,hyper detailed,surrealism, --niji 6 --ar 1:1 中文提示词&#xff1a;粘土模型&#xff0c;男性穿着中世纪欧洲蓝色盔甲&#x…

时序预测 | gamma伽马模型锂电池寿命预测 EM算法粒子滤波算法结合参数估计

时序预测 | gamma伽马模型锂电池寿命预测 EM算法粒子滤波算法结合参数估计 目录 时序预测 | gamma伽马模型锂电池寿命预测 EM算法粒子滤波算法结合参数估计预测效果基本介绍参考资料 预测效果 基本介绍 gamma伽马模型锂电池寿命预测 EM算法粒子滤波算法结合参数估计 伽马模型、…

男同事36岁,听说被裁拿了12万。今天看到他退了群,但下午领导就反悔了,让他回来,还要把12万补偿退回来

亲爱的读者们&#xff0c;今天咱们来聊聊职场那些事儿。你听说过吗&#xff1f;有位男同事&#xff0c;36岁&#xff0c;被裁了&#xff0c;拿了12万补偿金&#xff0c;然后退了群。你以为这就是结局&#xff1f;不&#xff0c;故事才刚刚开始&#xff01; 想象一下&#xff0…

李佳琦回到巅峰背后,双11成直播电商分水岭

时间倏忽而过&#xff0c;又一年的双11即将宣告结束。 从双11正式开始前的《新所有女生的offer》&#xff0c;到被作为“比价”标杆被其他平台直播间蹭、被与其他渠道品牌比较&#xff0c;再到直播间运营一时手快多发了红包……整个双11周期下来&#xff0c;李佳琦直播间在刷新…

Golang | Leetcode Golang题解之第546题移除盒子

题目&#xff1a; 题解&#xff1a; func removeBoxes(boxes []int) int {dp : [100][100][100]int{}var calculatePoints func(boxes []int, l, r, k int) intcalculatePoints func(boxes []int, l, r, k int) int {if l > r {return 0}if dp[l][r][k] 0 {r1, k1 : r, k…

Python | Leetcode Python题解之第553题最优除法

题目&#xff1b; 题解&#xff1a; class Solution:def optimalDivision(self, nums: List[int]) -> str:if len(nums) 1:return str(nums[0])if len(nums) 2:return str(nums[0]) "/" str(nums[1])return str(nums[0]) "/(" "/".joi…

新手 Vue 项目运行

前言&#xff1a;前面讲了我们已经将spingboot项目运行起来了&#xff0c;现在我们只需将后台管理的Vue项目运行起来即可完成整个项目。 在运行vue项目之前&#xff0c;请先运行springboot项目&#xff0c;运行步骤请看&#xff1a;运行Springboot Vue 项目_springbootvue项目…

光学全息详解

一、光学全息概述 1.1 光学全息的基本思想与原理的概述 光波是电磁波, 随时间振动,并在空间传播。光波照射物体时, 其振幅和相位就被空间调制。物光波的振幅给出物体的亮度(强度)信息, 相位给出物体的方位(深度和位置)信息。若能采用某种方法把物光波的振幅和相位同时记录下来…

自定义包和第三方包

1.自定义包由自己创建&#xff08;创建步骤如下&#xff09; 2.第三方包由大佬开发可通过python安装后自带的pip安装第三方包&#xff08;安装时由于默认连接的是外网网速较慢&#xff0c;可换国内的网如(清华网)&#xff1a;https://pypi.tuna.ysinghua.edu.cn/simple&#x…

SNH48 GROUP燃动杭州 第五届偶像运动会落下帷幕

2024年11月9日&#xff0c;“我们能赢”SNH48 GROUP第五届偶像运动会在杭州运河体育公园盛大开赛&#xff0c;本次运动会由高榕及SNH48郭爽、GNZ48梁娇作为赛事特邀主持人&#xff0c;并于小红书、微信视频号、SNH48 GROUP官方直播APP口袋48及MEET48全程直播。SNH48&#xff08…

Latex使用花体符号\mathbb{R}报错解决办法

一、背景 latex的优势是可以进行自动排版&#xff0c;以及复杂公式的编辑。然而&#xff0c;编辑花体符号R时&#xff0c;使用命令\mathbb{R}报错&#xff0c;编译不通过&#xff0c;这里记录一下解决办法。 二、Latex使用花体符号\mathbb{R}报错解决办法 在LaTeX中&#xf…

当当网创始人李国庆邀您:共襄创客匠人5000人“全球创始人IP领袖高峰论坛”

创客匠人正式官宣&#xff01;当当网原CEO、联合创始人和首席大股东、CRYSTO董事长、CEO李国庆&#xff0c;受邀参加创客匠人5000人“全球创始人IP领袖高峰论坛”&#xff0c;将与我们携手共赴这场巅峰盛宴。 由创客匠人打造的“全球创始人IP领袖高峰论坛”将在2024年12月26日-…

docker安装zookeeper,以及zk可视化界面介绍

1. zookeeper 1.1. zookeeper简单介绍 ZooKeeper 是一个分布式的开源协调服务&#xff0c;最初由 Apache Hadoop 项目开发&#xff0c;用于构建分布式应用程序。它提供了一个简单的接口&#xff0c;允许开发人员实现诸如配置维护、域名服务、分布式同步、组服务等常见任务。Z…

SIwave:释放 SIwizard 求解器的强大功能

SIwave 是一种电源完整性和信号完整性工具。SIwizard 是 SIwave 中 SI 分析的主要工具&#xff0c;也是本博客的主题。 SIwizard 用于研究 RF、clock 和 control traces 的信号完整性。该工具允许用户进行瞬态分析、眼图分析和 BER 计算。用户可以将 IBIS 和 IBIS-AMI 模型添加…