当前位置: 首页 > news >正文

扫雷游戏及其中的知识点

       大家好呀,今天我们给大家讲解扫雷游戏如何用C语言制作,以及制作扫雷游戏中的一些C语言知识。

        想到扫雷游戏,大家有什么想法吗?大家还记得扫雷游戏是什么样子的吗?我在网上找了一些扫雷游戏的图片给大家提供参考:

                                            

         如图所示,扫雷游戏需要的元素有以下几个:

                  1.进入游戏界面

                  2.初始化棋盘

                  3.打印出棋盘

                  4.布置雷(随机出现的雷)

                  5.排查雷

                  6.统计点开的坐标周围雷的个数

因此,我们就可以开始构思我们的代码框架,


首先第一步:写一个游戏进入界面

我们需要创建三个东西

然后开始我们的扫雷游戏的制作,我们需要写一个游戏的进入界面,这一步我们需要用到的知识点有:

(1)函数的调用

函数:即子程序,C语言中的函数是一个完成某项特定的任务的一小段代码

自定义函数的形式如下:

rer_type fun_name(形式参数)
{}

 ret_type是函数的返回类型,比如int(整数型返回值)、void(没有返回值)、char(字符型返回值)等

fun_name是函数的名字

(形式参数)是自定义函数中需要使用的参数,这里的参数在这个自定义函数没有调用之前是不占用内存空间的,只有这个自定义函数调用的时候,才占用内存空间

(2)do while循环

do 
{}while();

do while循环,无论如何都会循环一次

一开始进入函数就直接运行函数一次,再进行判断是否满足条件继续循环

while里面的数字,如果是真或者是非零的数字,就继续循环

                              如果是假或者是零,就退出循环

在C语言中 0表示假,非0表示真

 (3)swtich选择语句

switch()
{case1:break;case2:break;default:break;
}

switch() 其中()里面的值是选择case语句的值

break;是退出switch语句,否则,就会顺序执行case1,case2,default语句

default语句,是执行除了case1,case2之外的其他情况的语句

那么,我们学习了写进入游戏界面大概需要的知识点之后,我们就开始写我们的进入游戏界面的代码啦,代码和运行程序的结果如后面所示:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void menu()
{printf("######################\n");printf("### 欢迎玩扫雷游戏 ###\n");printf("###     1.paly     ###\n");printf("###     0.exit     ###\n");printf("######################\n");}
void test()
{	int input = 0;do {menu();printf("请输入1开始游戏,或者输入0退出游戏\n");scanf("%d",&input);switch (input){case1:printf("进入扫雷游戏:");break;case0:printf("退出游戏\n");break;default:printf("输入的数字有误,请输入0或者1\n");break;}} while (input);//因为输入0就会退出,如果是其他数字就会进入循环}
int main()
{test();return 0;
}

            输出的界面如图:

                                         

http://www.lryc.cn/news/440236.html

相关文章:

  • 【乐企-业务篇】开票前置校验服务-规则链服务接口实现(发票基础信息校验)
  • 【搜索算法】以扩召回为目标,item-tag不如query-tag能扩更多数量
  • SpringBoot入门(黑马)
  • Stream流操作
  • 【Linux】查看操作系统开机时初始化的驱动模块列表的一个方法
  • 快速入门Vue
  • ubuntu系统服务器离线安装python包
  • re题(30)BUUCTF-[HDCTF2019]Maze
  • day36+day37 0-1背包
  • PostMan使用变量
  • 多线程同步
  • 第159天:安全开发-Python-协议库爆破FTPSSHRedisSMTPMYSQL等
  • 软件测试 | APP测试 —— Appium 的环境搭建及工具安装教程
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-13
  • 衡石分析平台使用手册-替换衡石minio
  • 怎么将几个pdf合成为一个?把几个PDF合并成为一个的8种方法
  • 明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败
  • ClickHouse的安装配置+DBeaver远程连接
  • UVM仿真的运行(四)—— objection 机制
  • 【ShuQiHere】算法分析:揭开效率与复杂度的神秘面纱
  • 记忆化搜索专题——算法简介力扣实战应用
  • 【Java】【力扣】83.删除排序链表中的重复元素
  • vue3项目实现全局国际化
  • Oracle 19c异常恢复—ORA-01209/ORA-65088---惜分飞
  • 【Webpack--000】了解Webpack
  • 开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序与社交电商的崛起
  • 在线IP代理检测:保护您的网络安全
  • 【算法】BFS—解开密码锁的最少次数
  • 非守护线程会阻止JVM的终止吗
  • Grafana面板-linux主机详情(使用标签过滤主机监控)