C语言实现简易扫雷

这篇具有很好参考价值的文章主要介绍了C语言实现简易扫雷。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

设定一个9x9的棋盘其中包含十个地雷,每次玩家选了一个位置之后那个坐标会返回一个整型数字,代表周围八个坐标内地雷的数量;如果选的为地雷则游戏失败;如果选完了除了地雷所在的坐标,则玩家获胜

首先,需要三个文件

1.game.h 实现大部分函数的声明以及引用的其他的头文件

2.game,c 游戏各种逻辑函数的定义

3.test.c 主函数以及游戏的测试

我的思路是这样的,想让主函数看起来更简洁一些,所以创建一个test()函数,把所有测试都放在内

C语言实现简易扫雷

下一步,设定几种情况:

如果玩家选1则开始游戏

如果玩家选0则退出游戏

如果玩家选了其他选项则输出“选择错误”然后让玩家重新选择

这里可以使用switch()语句:

C语言实现简易扫雷 

这里,我们需要一个菜单放在前面,提示玩家选择

C语言实现简易扫雷

由于需要考虑到玩家可能输入错误或者玩不止一盘所以整体需要放在一个do while()循环中

C语言实现简易扫雷

 此刻,我们需要两个棋盘一个用来布置雷的信息,一个用来放排查出来的信息。简单的来说,一个棋盘在后台放地雷,制作者可以看出地雷在哪里。这样调试以及运行逻辑都会更加简洁一些,另一个棋盘则为给玩家看的棋盘。

C语言实现简易扫雷

我们把这两个数组先存放在game()函数里,game函数用来实现各种逻辑

接着,思考一个坐标旁边有几个地雷数的逻辑:

由于是9x9的棋盘,但如果玩家输入的坐标再边上(比如1,1),旁边的坐标也应该计算在内

所以在后台写游戏逻辑时需要使用11x11的棋盘

C语言实现简易扫雷

首先需要初始化棋盘

先在game.声明

C语言实现简易扫雷

接着,在game.c写逻辑

C语言实现简易扫雷

接下来,需要打印棋盘让玩家看到,原理同上

 C语言实现简易扫雷

 有一点不同的是,需要打印坐标在旁边,让玩家更加容易的输入坐标

C语言实现简易扫雷

 这样一来玩家可以轻易的知道想选的目标坐标在第几行第几列

下一步,需要布置雷在棋盘中

假设布置十个雷在9x9的棋盘中

C语言实现简易扫雷

然后在game.h中声明

C语言实现简易扫雷

接着,在game.c中定义

 C语言实现简易扫雷

 由于十个地雷都是随机摆放的,所以我们需要生成两个随机数,并把它们带入到棋盘上的x和y坐标

我们还需要在test()中声明一下

C语言实现简易扫雷

 接着,每生成一个随机数就把该坐标中的0换成1

最后,我们需要写游戏里的最后一个主逻辑--排雷

先在game.h中声明

C语言实现简易扫雷

接着,在game.c中定义

如果剩下的行和列相乘,剩下所有没选的坐标总数相加小于地雷数,说明游戏继续

        如果该坐标 = 1,则代表踩到地雷了,玩家失败

        如果不为1,则使用get_mine_count()函数计算周围的地雷数

        如果坐标非法,则让玩家重新输入有效坐标

如果剩下的行和列相乘,剩下所有没选的坐标总数相加等于地雷数,说明玩家已经选完了所有非地雷的坐标,玩家获胜

C语言实现简易扫雷 

数字+字符'0'代表该数字的ASCII码值

C语言实现简易扫雷 

 get_mine_count()函数定义

C语言实现简易扫雷

 地雷为'1',非地雷为'0',所以相加在一起再-'0'会得到该数字的ASCII码值

最后,再test.c中game()函数中实现所有函数逻辑 

C语言实现简易扫雷

 文章来源地址https://www.toymoban.com/news/detail-404314.html

到了这里,关于C语言实现简易扫雷的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • go语言实现扫雷

    源码如下 如下显示效果 长按鼠标左键划过格子会有提示,与windows扫雷效果一致。 左键既是单击,点数字时也是双击,右键标雷。 在界面输入,1 + 回车 = 初级,2 + 回车 = 中级,3 + 回车 = 高级 在界面输入, 11 22 33 + 回车 = 高度11,宽度22,总雷数33 。可以自定义数据 如果想在浏览器

    2024年03月13日
    浏览(48)
  • 扫雷游戏的实现(C语言)

    对于扫雷游戏,大家应该都很熟悉吧,下面让我们来看看它是如何实现的。 目录 一、游戏规则及设计思想 二、各功能的代码实现 1.创建菜单 2、主函数的实现  3、创建棋盘并初始化 4、打印棋盘  5、布置雷的位置 (埋雷) 6、排查雷   三、代码汇总 1、game.h文件 2、game.c文

    2024年02月03日
    浏览(30)
  • el-form实现其中一个填写即可的校验

       

    2024年02月13日
    浏览(34)
  • 【C语言】扫雷游戏完整代码实现

    目录 1.game.h 2.game.c 3.progress.c 4.运行结果

    2024年02月21日
    浏览(33)
  • C语言实现扫雷(包含递归展开)

    目录 一:扫雷游戏的基础逻辑 二:关于扫雷相关的信息存储 三:游戏大体实现逻辑 四:具体实现 (1)初始化 (2)打印 (3)布置雷 (4)查雷 五:全部代码 (1)game.h (2)game.c (3)test.c 六:实际效果演示 扫雷游戏逻辑如下: 1. 游戏开始时,玩家将看到一个方格棋盘,每个方格上有一个数

    2024年02月05日
    浏览(34)
  • C语言之扫雷游戏实现篇

    目录 主函数test.c 菜单函数 选择循环 扫雷游戏实现分析 整体思路  问题1 问题2  问题3 问题4  游戏函数(函数调用)  创建游戏盘数组mine 创建游戏盘数组show 初始化游戏盘数组InitBoard 展示游戏盘DisplayBoard 游戏盘置雷SetMine 游戏盘排雷FindMine test.c总代码 头文件函数声明game

    2024年02月11日
    浏览(29)
  • 探秘C语言扫雷游戏实现技巧

    本篇博客会讲解,如何使用C语言实现扫雷小游戏。 使用2个二维数组mine和show,分别来存储雷的位置信息和排查出来的雷的信息,前者隐藏,后者展示给玩家。假设盘面大小是9×9,这2个二维数组都要开大一圈,也就是大小是11×11,这是为了更加方便的数边角上雷的个数,防止

    2024年02月10日
    浏览(36)
  • C语言实现简单的扫雷游戏

    目录 1 - test.c 2 - game.c 3 - game.h 代码里的注释感觉已经很清楚啦,就不多讲解啦 感谢各位大佬的支持!!!

    2024年01月22日
    浏览(35)
  • C语言:轻松实现扫雷小游戏

    目录 一、前言 二、扫雷步骤 1.创建项目 2.设计整体框架 1.定义数组长度和雷的个数 2.game函数功能 三、头文件game.h代码实现  四、测试文件test.c代码实现 五、game函数功能实现 1.初始化棋盘 2.打印棋盘  3.布置雷 4. 获得雷的个数  5.排查雷 6.game函数实现代码 六、总结 大家好

    2024年02月03日
    浏览(31)
  • 【初阶C语言】实现扫雷(详细讲解+全部源码)

    本游戏用到了三个文件 两个源文件:扫雷.c ,game.c 一个头文件:game.h 想要做好游戏,首要任务就是要把模块想好。 先打印一个游戏菜单 玩家选择是否(1\\0)是否进入游戏 游戏思路:(这次实现的是初级难度的扫雷,棋盘9X9,10个雷) 我们先创建两个二维数组,一个数组布

    2023年04月09日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包