电商网站建设电话动漫设计与制作专业的学校有哪些

web/2025/9/30 8:40:30/文章来源:
电商网站建设电话,动漫设计与制作专业的学校有哪些,wordpress列表页缩略图,黑马程序员前端培训费用C语言经典游戏扫雷 前言一.游戏规则二.所需文件三.创建菜单四.游戏核心内容实现1.创建棋盘2.打印棋盘3.布置雷4.排查雷5.game()函数具体实现 五.游戏运行实操六.全部码源 前言 #x1f600;C语言实现扫雷是对基础代码能力的考察。通过本篇文章你将学会如何制作出扫雷#xff… C语言经典游戏扫雷 前言一.游戏规则二.所需文件三.创建菜单四.游戏核心内容实现1.创建棋盘2.打印棋盘3.布置雷4.排查雷5.game()函数具体实现 五.游戏运行实操六.全部码源 前言 C语言实现扫雷是对基础代码能力的考察。通过本篇文章你将学会如何制作出扫雷坚持一段时间的复习相信你肯定能够掌握扫雷 文末附三子棋全部代码. 扫雷游戏网页版 - Minesweeper 一.游戏规则 设计游戏前先了解三子棋基本规则以围绕规则用C语言实现 一个扫雷盘面由许多方格cell组成方格中随机分布着一定数量的雷mine一个格子中至多只有1雷。胜利条件是打开所有安全格非雷格safe cell失败条件是打开了一个雷格踩雷。 二.所需文件 扫雷并不是一项容易的代码需要我们进行分文件编写。 什么是分文件编写 就是把我们的程序代码划分成多个文件这样就不会把所有的代码都放在main.c里面采用分模块的编程思想进行功能划分把每个功能不一样的单独放在一个c文件里然后写头文件把它封装成可调用的一个函数在主函数调用这个封装好的函数编译的时候一起编译即可 ✌好处 a.功能责任划分 b.方便调试 c.主程序简洁 来让给我们看看具体操作如下 头文件中创建game.h ----用来声明函数 源文件中创建game.c—函数具体实现 / test.c—主题流程 三.创建菜单 先创建一个菜单以展示进入退出游戏功能 void menu() {printf(**********************\n);printf(****** 1.play ******\n);printf(****** 0.exit ******\n);printf(**********************\n); }用do…while循环实现菜单使用switch语句进行菜单选择 int main() {int input 0;do{menu();printf(请输入选项);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; }四.游戏核心内容实现 这里我们简化游戏设置一个9*9的棋盘安置10个雷。 排查过程如下 1.如果这个位置是雷那么游戏结束。 2.如果把不是雷的位置都找出来了那么游戏结束。 3.如果这个位置不是雷就计算这个位置的周围的8个格子有几个雷并显示出雷的个数。 game函数中实现整个游戏先数组棋盘 1.创建棋盘 先创建数组两个数组为区别设置雷为1和统计雷个数为1做区分 图一”1“为雷mine 图二”1“为雷的个数(show) char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };注由于行列频繁使用在game.h中宏定义 #define ROW 9 #define COL 9#define ROWS ROW 2 #define COLS COL 2在game.h文件中声明创建棋盘函数 //初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);在game.c文件中实现初始化棋盘函数 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set) {int i 0;int j 0;for (i 0; i rows; i){for (j 0; j cols; j){board[i][j] set;}} }在test.c文件中实现调用 InitBoard(mine, ROWS, COLS, 0); InitBoard(show, ROWS, COLS, *);2.打印棋盘 在game.h中声明打印棋盘函数 //打印棋盘 void DisplayBoard(char board[ROWS][COLS], int row, int col);在game.c中实现打印棋盘函数 void DisplayBoard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;printf(------------扫雷------------\n);for (i 0; i row; i){printf(%d , i);}printf(\n);for (i 1; i row; i){printf(%d , i);for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);}printf(------------扫雷------------\n); }3.布置雷 在game.h中声明布置雷函数 //布置雷 void SetMine(char mine[ROWS][COLS], int row, int col);在game.c文件中实现布置雷函数设置随机雷数EASY_COUNT进入while循环每设置一个雷EASY_COUNT减一直到雷设置完毕跳出循环。为保证雷的随机性需生成随机坐标判断设置雷是否重复未重复设置雷”1“。 void SetMine(char board[ROWS][COLS], int row, int col) {int count EASY_COUNT;while (count){int x rand() % row 1;//x坐标为1-9int y rand() % col 1;//y坐标为1-9if (board[x][y] 0){board[x][y] 1;}count--;} }随机数在game.h中进行宏定义 #define EASY_COUNT 10调用rand()需要srand() srand((unsigned int)time(NULL));注包含头文件 #includestdlib.h—srand #includetime.h-----time 4.排查雷 在game.h文件中声明排查雷函数 //排查雷 void FindMine(char mine[ROWS][COLS],char show[ROWS][COLS], int row, int col);在game.c中实现排查雷函数输入坐标↔️确保坐标在棋盘范围内否则重新输入判断棋盘范围内坐标是否重复输入未重复输入判断是否踩雷.若踩雷”很遗憾炸死“若没有统计周围雷个数用GetMineCount函数。放入while循环若雷没有排查完持续循环若被炸死跳出循环。若所有雷被排查出则排雷成功 void FindMine(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 - EASY_COUNT){printf(请输入排查坐标);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (show[x][y] ! *){printf(输入坐标重复请重新输入\n);}else if (mine[x][y] 1){printf(很遗憾你被炸死了\n);DisplayBoard(mine, ROW, COL);break;}else{//不是雷就统计x,y坐标周围有几个雷int c GetMineCount(mine, x, y);show[x][y] c 0;DisplayBoard(show, ROW, COL);win;}}else{printf(输入坐标错误请重新输入\n);}}if (win row * col - EASY_COUNT){printf(排雷成功\n);DisplayBoard(mine, ROW, COL);} }在game.c文件中实现统计雷个数函数,因为在排查雷函数内部不需在game.h文件中声明。因为坐标内输入的是字符‘0’所以统计出个坐标数‘1’之和减去‘0’及为周围雷数 int GetMineCount(char mine[ROWS][COLS], int x, int y) {return mine[x 1][y] mine[x - 1][y] mine[x][y 1] mine[x][y - 1] mine[x 1][y 1] mine[x - 1][y 1] mine[x - 1][y - 1] mine[x 1][y - 1] - 8 * 0; }5.game()函数具体实现 1实现棋盘初始化2打印棋盘3设置棋盘雷数4排查雷 void game() {char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };InitBoard(mine, ROWS, COLS, 0);InitBoard(show, ROWS, COLS, *);DisplayBoard(show, ROW, COL);SetMine(mine, ROW, COL);FindMine(mine, show, ROW, COL); }五.游戏运行实操 出现菜单进行选择 选1进入游戏 输入坐标开始游戏 坐标重复重新输入 越界重新输入 踩雷炸死 选择0退出游戏 六.全部码源 test.c #define _CRT_SECURE_NO_WARNINGS 1 #includegame.h void menu() {printf(*************************\n);printf(******* 1. play ******\n);printf(******* 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, *);DisplayBoard(show, ROW, COL);SetMine(mine, ROW, COL);FindMine(mine, show, ROW, COL); } int main() {srand((unsigned int)time(NULL));int input 0;do{menu();printf(请输入选项);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏);break;default:printf(输入错误请重新输入);break;}} while (input);return 0; }game.c #define _CRT_SECURE_NO_WARNINGS 1 #includegame.hvoid InitBoard(char board[ROWS][COLS], int rows, int cols, char set) {int i 0;int j 0;for (i 0; i rows; i){for (j 0; j cols; j){board[i][j] set;}} }void DisplayBoard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;printf(------------扫雷------------\n);for (i 0; i row; i){printf(%d , i);}printf(\n);for (i 1; i row; i){printf(%d , i);for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);}printf(------------扫雷------------\n); }void SetMine(char board[ROWS][COLS], int row, int col) {int count EASY_COUNT;while (count){int x rand() % row 1;int y rand() % col 1;if (board[x][y] 0){board[x][y] 1;}count--;} }int GetMineCount(char mine[ROWS][COLS], int x, int y) {return mine[x 1][y] mine[x - 1][y] mine[x][y 1] mine[x][y - 1] mine[x 1][y 1] mine[x - 1][y 1] mine[x - 1][y - 1] mine[x 1][y - 1] - 8 * 0; }void FindMine(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 - EASY_COUNT){printf(请输入排查坐标);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (show[x][y] ! *){printf(输入坐标重复请重新输入\n);}else if (mine[x][y] 1){printf(很遗憾你被炸死了\n);DisplayBoard(mine, ROW, COL);break;}else{//不是雷就统计x,y坐标周围有几个雷int c GetMineCount(mine, x, y);show[x][y] c 0;DisplayBoard(show, ROW, COL);win;}}else{printf(输入坐标错误请重新输入\n);}}if (win row * col - EASY_COUNT){printf(排雷成功\n);DisplayBoard(mine, ROW, COL);} }game.h #pragma once #includestdio.h #includestdlib.h #includetime.h#define ROW 9 #define COL 9#define ROWS ROW 2 #define COLS COL 2#define EASY_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 mine[ROWS][COLS], int row, int col);//排查雷 void FindMine(char mine[ROWS][COLS],char show[ROWS][COLS], int row, int col);本次扫雷学习告一段落扫雷详解完整代码反复阅读坚持打码相信你在不久的将来就会拿下扫雷以扩展更高级代码。期待下次作品与大家见面

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

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

相关文章

威县网站建设代理价格有域名 如何免费建设网站

从kernel里面抠出的一些与宏container_of有关的代码,如下: 1、此宏作用是从结构体的某元素(member)出发,得到结构体的首地址; 2、container_of的参数解释 (1)type:指的是…

温州网站域名注册服务公司58同城临沂网站建设

面试经典150题 day28 题目来源我的题解方法一 双指针 题目来源 力扣每日一题;题序:11 我的题解 方法一 双指针 使用两个指针left和right,初始分别指向最左侧和最右侧,然后每次移动矮的一侧。存水量Math.min(height[left],heigh…

html商城网站模板下载wordpress更新主题

文章目录 linux 一些命令fdisk 磁盘分区parted 分区文件系统mkfs 格式化文件系统fsck 修复文件系统 mount 挂载swap 交换分区清除linux缓存df du 命令raid 命令基本原理硬raid 和 软raid案例raid 10 故障修复,重启与卸载 lvm逻辑卷技术LVM的使用方式LVM 常见名词解析…

电子商务网站建设的过程和步骤it网站模板

一、背景 Kubernetes 默认的证书有效期只有1年,因此需要每年手动更新一次节点上面的证书,特别麻烦而且更新过程中可能会出现问题,因此我们要对 Kubernetes 的 SSL 证书有效期进行修改,这里将证书的时间限制修改为100年。 环境信息如下: 操作系统内核版本K8S版本Ubuntu 20.…

界面设计最好的网站保定建设工程信息网

ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之…… 拿Linuxx86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断、修改页表、访问…

app软件下载网站免费进入做网站服务器多少钱

用C语言可以写人工智能程序吗? 可以用C语言编写具有人工智能功能的程序,但是较为复杂。C语言是一种通用的编程语言,它在执行速度和资源控制方面表现出色,这使得它适合于需要高性能处理的人工智能应用,如游戏AI&#xf…

如何做网站推广获客临海市住房与城乡建设规划局 网站

点击蓝字关注我们来源自网络,侵删一.整体功能介绍实现一个登陆界面1 输出一个登陆界面2 用户名能够实现邮箱验证,regex库,密码要不可见3 进度条的模拟实现4 音乐播放二.分步实现1.输出一个登陆界面首先对此功能使用到的函数进行简单的介绍。s…

大连品牌网站建设公司短视频营销策划方案

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 缺乏明确的目标,一生将庸庸…

建设厅网站预算员报名时间网站建设哪家好知道万维科技

一、前言🔥 环境说明:Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 二、如何生成Swagger文档 上一期我们已经能正常访问swagger在线文档,但是文档空空如也,对不对,接下来我就教大家怎么把相关的接口都给…

织梦 两个网站wordpress怎么收费

部分依赖图 (PDP) 和个体条件期望 (ICE) 图可用于可视化和分析目标响应1与一组感兴趣的输入特征之间的交互。 部分依赖图 (PDP) 显示了目标响应与一组感兴趣的输入特征之间的依赖关系,边缘化了所有其他输入特征(“补充”特征)的值。直观地说…

四川省建设厅官方网站联系电话织梦网站wap

环境搭建参考&#xff1a;mongodb&#xff1a;环境搭建_Success___的博客-CSDN博客 需求&#xff1a; 在文章搜索服务中实现保存搜索记录到mongdb 并在搜索时查询出mongdb保存的数据 1、安装mongodb依赖 <dependency><groupId>org.springframework.data</groupI…

北京网站建设华网购物软件app排行榜前十名

SQLAlchemy 是 Python 中一款非常流行的数据库工具包&#xff0c;它对底层的数据库操作提供了高层次的抽象。在本篇文章中&#xff0c;我们将介绍 SQLAlchemy 的两个主要组成部分&#xff1a;SQL 工具包 (SQL Toolkit) 和对象关系映射器 (Object-Relational Mapper, ORM) 的基本…

企业建设网站的主要目的医疗器械网站备案前置审批事例

概述最近做查询&#xff0c;统计和汇总。由于数据量比较庞大&#xff0c;大部分表数据上百万&#xff0c;甚至有的表数据上千万。所以在系统中做sql优化比较多&#xff0c;特此写一篇文章总结一下关于sql优化方面的经验。导致查询缓慢的原因1、数据量过大2、表设计不合理3、sql…

双语网站建设方案怎么用自己的电脑搭建网站

C# 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符&#xff0c;分类如下&#xff1a; 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本教程将逐一讲解算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及…

淘宝网站可以做百度快照吗深圳市制作网站

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

网站策划编辑的工作内容上海网站建设公司

储能系统是微电网的核心组成部分&#xff0c;其热管理对于微电网的安全与稳定具有重要意义。相对于表面温度&#xff0c;电池堆内部温度场更有意义。针对红外热像仪无法监测电池堆内部温度场的问题&#xff0c;浙江工业大学分布式能源与微网研究所、浙江工业大学机械工程学院的…

网站seo工具百度怎么发自己的小广告

文章目录 1 IDA是什么&#xff1f;2 IDA界面3 汇编基础4 IDA查看hello world二进制5 查看带有条件语句和函数调用的二进制6 总结 1 IDA是什么&#xff1f; IDA是一款反编译软件&#xff0c;可以查看二进制的汇编代码&#xff0c;常用于逆向和问题定位。与其他商业软件类似&…

网站建设和使用情况软件开发公司组织架构

Time Limit: 1 Sec Memory Limit: 128 MBSec Special JudgeDescription1tthinking除了随机算法&#xff0c;其他什么都不会。但是他还是可以ac很多题目&#xff0c;他用的是什么呢&#xff1f;他会选择一个好的随机种子&#xff0c;然后输出答案。往往他选择的一个好的种子可…

土特产网站模板 织梦网站建设+用ftp上传文件

网上医院预约挂号系统设计与实现 摘 要 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级&#xff0c;也为了更好的维护医院预约挂号信息&#xff0c;网上医院…

网站树状型结构优化商城平台网站开发深圳

一、简单查询 1.1 数据的备份还原 导出&#xff1a;先对数据库进行备份&#xff0c;然后提取备份文件中的sql语句导入&#xff1a; 方法一&#xff1a;创建和原始数据同名的数据&#xff0c;然后执行从备份文件中导出的sql语句【此方法不要修改sql语句】方法二&#xff1a;在数…