文章目录

  • 一.问题要求
    • 1,问题描述
    • 2,程序的功能
  • 二.基本要求
    • 1,要求分析
    • 2,需求分析
  • 四.设计概要
    • 1,程序的设计概要
    • 2,程序的主要流程
      • 1.设置棋盘
      • 2.布地雷
  • 五.用户说明
  • 六.测试结果
    • 1,运行结果说明
    • 2.测试结论
  • 七.程序设计总结

一.问题要求

1,问题描述

本题目要求我们设计一个程序实现扫雷游戏,在游戏时利用最短时间内去点击九宫格的格子显示数字去找出非地雷的格子,并且避免踩到地雷。在完成基本要求的情况下,去提高游戏性,同时增强用户的体验感受和可玩性,以及对数字的反应能力。

2,程序的功能

(1)首先当确定第一个格子里为地雷时,需要将地雷转换到其他格子,防止游戏一开始后就结束。
(2)当我们选择的格子位置周围不存在地雷时,就要以九宫格的形式散步开来,再进行扫雷周围过程,并判断该坐标是否有地雷,同时进行统计地雷的总数,以便减去不必要的过程,从而提升游戏效率。

二.基本要求

1,要求分析

1.首先用C语言程序设计思想,明确编写思路,先写一个菜单,用来显示下面程序的过程,比如设置棋盘,进行埋雷,接着去扫雷,当扫雷结束后去统计地雷数量。
2.其次用C语言去建立一个二维数组,并对二维数组初始化,一个存放地雷,一个去显示地雷并且统计地雷的数量。
3.在程序设计好行数和列数时,此时需要在此基础上设置一个辅助棋盘,就是在现有的基础上每行每列加2,然后我们设置地雷数量,使用宏定义的方法,以便后期改变数字,而扩大的2行2列格子只是辅助计算,不显示也不起作用。
4.最后计算剩余地雷数量,若@显示为0则周围没有地雷,若显示数字,则表示周围的地雷数量,#代表地雷,当此坐标显示#则会被炸死,游戏结束。

2,需求分析

3.1系统目标
1.首先要满足系统以及玩家的不同方面和不同层次的需求,同时提高程序的设计性能。
2.为了增强扫雷游戏的玩家的信息的安全性,同时提高扫雷游戏的游戏效率,节约扫雷游戏资源的成本。
3.为游戏将来信息化建设,以及发展趋势提供一定的支持,在游戏项目发展的同时适应当下游戏建设趋势化。
4.游戏本身要满足玩家的要求,玩家通过此游戏项目去体验扫雷游戏的乐趣,从而激发玩家对数字的反应能力和手的灵活能力。

3.2系统功能

1.对于游戏项目的设计人员,可以管理游戏者的信息以及游戏的后台设计。
2.对于游戏者来说,当玩家去体验这个扫雷游戏时,不仅仅是玩游戏,更应该是感受扫雷过程中的感染力,以及对数字独立思考的反应能力和敏感程度。
3.对于游戏项目的本身,首先要去满足游戏者的需求,其次根据人们的所需设计出适合的扫雷游戏项目。
4.首先当确定第一个格子里为地雷时,需要将地雷转换到其他格子,防止游戏一开始后就结束。
5.当我们选择的格子位置周围不存在地雷时,就要以九宫格的形式散步开来,再进行扫雷周围过程,并判断该坐标是否有地雷,同时进行统计地雷的总数,以便减去不必要的过程,从而提升游戏效率。

3.3用户需求

1.首先满足用户在登陆扫雷游戏时可以选择通关模式以及难易模式,选择之后根据地雷的数量去判断通关是否。
2.接着游戏项目根据用户需求设置项目的用户人数,防止人数过多情况下,系统发生崩溃现象,当用户人数设置好,再去选择扫雷游戏开始。
3.当用户使用时出现某些意外发生时,用户离开后,下次进入游戏界面,依然可以玩扫雷游戏,而不是退出界面后自动游戏结束,降低用户玩游戏的体验性。

3.4非功能需求

1.安全性:对于一个扫雷游戏项目的安全,防止病毒入侵,以及恶意网站攻击,确保系统的安全性能,以及用户的信息安全性。
2.游戏项目的质量问题以及发生事故的处理问题。
3.游戏项目的系统,以及后台,反应时间的快慢,用户体验游戏时间和多个用户玩游戏的冲突问题。

四.设计概要

1,程序的设计概要

1.首先我们需要知道扫雷游戏程序设计的本质,用函数实现游戏的过程,先分一个大的模块,接着去分成小的模块,比如先去设置九宫格棋盘,再去初始化二维数组,设置地雷的数量,
为避免重复要去扫雷,根据每个坐标位置的数字显示判断。
2.与布雷的设计流程一样,也要将雷阵设计成(A+2) ×(A+2);因为这个地雷阵为玩家雷阵,为了增加神秘性,可以将它其初始化为字符*,或是其他字符也可以。
3.游戏设计中,#代表地雷,而0代表没有地雷,每个坐标位置的数字代表周围8个格子的地雷数量。

2,程序的主要流程

1.设置棋盘

设计一个A*A(A代表雷阵大小,根据设计者需要自行设计)的雷阵,布有X(X代表雷的个数,根据设计者与玩家需求自己设计)个雷,那我们可以用二维数组来实现雷阵,用字符‘1’表示有雷,字符‘0’表示没有雷。

代码如下:

void Init_Ar(Grid ar, int row, int col) //初始化
{//*显示for (int i = 1; i <= row; ++i){for (int j = 1; j <= col; ++j){ar[i][j] = INITSHOW;}}
输出行输出列代码:
void Print_Ar(Grid ar, int row, int col)
{printf("  ");for (int i = 1; i <= col; ++i){printf("%2d", i);  //输出列}printf("\n");for (int i = 1; i <= row; ++i){printf("%2d", i);   //输出行

2.布地雷

先随机取值,去判断这个坐标位置处是否有地雷,然后排除地雷的重复,再去设置地雷的数量。

int i = 0;while (i < MINENUM){int r = rand() % ROWSIZE + 1;  //随机取值,判断这个坐标是否有雷int c = rand() % COLSIZE + 1;
//排除地雷重复if (!(ar[r][c] & MAKEMINE)){ar[r][c] = (ar[r][c] | MAKEMINE);  //设置地雷数++i;}}

五.用户说明

1.首先运行结果显示的是以*分布的格子,而#代表了地雷,0代表此位置的周围没有地雷,而数字表示周围有几个地雷。
2.用户在使用时,可以通过在键盘输入 5 6 0,代表了第5行第6列没有地雷,如果此坐标位置没有地雷,则展开一大片,如果是数字,则游戏接着进行,如果此位置是地雷,则游戏直接结束,就会显示炸死了。
3.当用户进行到游戏中间时,由于特殊原因退出游戏,此时应该保持安静,等待一会,游戏会给用户反应时间去缓解心情,和游戏的可玩性,当游戏结束后,用户对于这个扫雷游戏会有不同的体验。
4.当游戏结束后,用户可以关闭这个扫雷游戏项目的窗口,然后可以去休息,做一些别的事情,同时学会独立思考问题,加强对数字的判断以及反应能力。

六.测试结果

1,运行结果说明

首先扫雷游戏程序的详细过程在此设计报告均说明,用测试的数据经过程序不断运行时得到的数据与预测出结论的结果大致一样,而且没有很大的差距。

2.测试结论

(1)功能性出现错误:在运行测试的过程中,每个功能模块有些并不可以正常实现全部功能,扫雷游戏的扫雷过程出现的问题最多,就需要对于这个问题去改正,不断测试,还有“可输入空格”等缺陷问题,这个问题在程序设计也可改进,但都影响到一个扫雷游戏项目的安全问题,所以进行多次测试是必要的。
(2)代码出现错误:其次在程序的测试过程中,每个功能模块的文本框会出现一些无限输入的缺陷,甚至还有用户信息数据的显示问题,每个功能都存在一些缺陷导致不能实现或产生错误结果;导致扫雷游戏项目不稳定、或者是破坏被数据的情况等,这些情况也不可避免。而这就需要不断进行测试,优化系统,提高系统的稳定性。

七.程序设计总结

1.首先根据此扫雷游戏项目的程序设计,通过C语言程序设计的语言各方法技巧,对一些问题进行分析和解决问题,正确完整的去分析问题,进一步去提高自己解决问题的能力,从而不断得学习新知识,新方法,然后设计出解决问题的算法和程序设计。
2.通过这个系统的程序设计,用来验证为解决扫雷游戏中扫雷问题而去设计的算法与程序的正确性,然后进一步去学会利用基本调试方法,最后根据理论知识和语言技巧去寻找出这个程序代码中的错误,然后对于错误的地方去进行修改和改正,从而进一步去提高自己的程序设计水平和对于问题分析处理的能力,在实践中不断锻炼自己,以便对于问题分析的完整性
3.最后还得到一些教训,比如在写程序时需要认真,细心,否则写程序时会字母和大小写书写错误,所以应该加强自己的专注力以及多看多读课外知识,不能只局限于课本和老师所讲的内容。

C语言-扫雷游戏程序设计相关推荐

  1. c语言扫雷游戏策划文档,扫雷游戏程序设计课设计报告.doc

    扫雷游戏程序设计课设计报告 课 程 设 计 扫雷游戏程序设计 2013 年 11 月 5 日 设计题目扫雷游戏程序设计成绩课 程 设 计 主 要 内 容 扫雷游戏是Windows操作系统自带的一款小游 ...

  2. c语言俄罗斯方块程序设计论文,c语言俄罗斯方块游戏程序设计报告

    c语言俄罗斯方块游戏程序设计报告 俄罗斯方块程序设计报告 2018-7-1511 计本(2)班 卢文俊C 语言课程设计报告主标题: C 语言课程设计 副标题: 俄罗斯方块游戏 ----界面设计姓 名: ...

  3. c语言扫雷源代码简单版,C语言扫雷游戏源代码

    C语言扫雷游戏源代码 /* 模拟扫雷游戏 */ #include #include #include #include #include #include #include union REGS re ...

  4. c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)

    前言 本篇博客主要介绍如何使用C语言实现扫雷游戏. 一.游戏规则 在一张ROW行COL列的地图上存在MINE_COUNT个地雷.玩家输入坐标翻开格子,若没有踩雷,则计算此格子周围8个格子的地雷总数,并 ...

  5. c语言扫雷游戏构成原理,扫雷游戏的C语言实现

    在学习C语言初期,我们可以找一些平常玩的游戏进行简单的C语言实现.今天就和大家分享一下关于windows中扫雷游戏的实现. 在正式写代码前,简单说一下对这个游戏的分析: 1.先提示的应该是一个简单的m ...

  6. C语言扫雷游戏(简易版)

    前言 经过学习数组.函数.循环语句.选择语句等C语言的一些基础知识后,我想借助编写扫雷小游戏来对所学知识进行一个巩固.游戏只会实现一些基本的功能,展开.标记雷.取消雷等不实现(还不会). 1.游戏编写 ...

  7. C语言 —— 扫雷游戏

    ▏扫雷是款极其经典的游戏,以下就来描述用C语言实现初级扫雷游戏(9*9)的实现  ▏ 目录 写这个游戏的思路 玩法介绍 思考过程 实现过程 主函数 游戏函数 游戏函数的头文件  写这个游戏的思路  玩 ...

  8. c语言扫雷游戏代码_C语言游戏详解---扫雷游戏

    扫雷游戏大家应该都不陌生,一个扫雷游戏要满足的基本要求是: 1. 第一次扫的位置不能是雷 2. 每展开一个位置要显示该位置周围雷的个数 3. 若该位置周围没雷,要把周围展开 该游戏的界面是10X10的 ...

  9. [C语言]扫雷游戏(Mine Sweeper)

    目录 扫雷游戏:: game.h game.c 1.打印菜单 2.初始化雷区 3.打印雷区 4.布置雷 5.排查雷 6.统计排查坐标周围雷的个数 test.c 扫雷游戏:: game.h #pragm ...

  10. c语言打字游戏程序设计报告,打字游戏程序设计汇报.doc

    打字游戏程序设计汇报 第二章 打字游戏程序设计内容要求和设计思想 2.1 设计内容要求 要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏:按ESC键返回主界面:按空格暂停:按大写字母E程序结束 ...

最新文章

  1. linux 磁盘维护 swapon swapoff 简介
  2. 正确的 send recv 行为
  3. Golang之错误处理
  4. 为什么dos下的com文件都要org 0100h呢?为什么系统启动时要org 07c00h呢
  5. 通过特性动态获取属性及值
  6. SQL Server数据库快照
  7. 高达大战分晓!日本机器人先赢后输,遭电锯切割惨惨惨 | 附高清完整视频
  8. 信息安全系统设计基础实验一 2013521120135216
  9. WEB页面自打开的响应顺序
  10. 一文带你了解手机运营商类api接口
  11. [网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令
  12. envi自定义坐标系
  13. 目标实现,时间、知识管理体系
  14. 【数学建模】二手房房价影响因素分析(描述性统计+推断统计综合应用、线性回归预测分析)
  15. iOS的非常全的三方库,插件,大牛博客
  16. 用观察者模式设计一个气象台
  17. ThinkPHP 工作流设计
  18. 北邮科技园首个元宇宙产业创新平台落地朝阳区IDP国际大数据交易产业园
  19. 基于arduino的ESP32 学习笔记(一) 基于ESP32的智能花盆
  20. 重启计算机连线的标志是,win10右下角总出现一个小地球图标怎么办_win10电脑网络连接图标变成地球如何解决...

热门文章

  1. 《UNIX编程艺术》--读书笔记
  2. 开热点给电脑消耗大吗_电脑用手机热点上网耗流量多不多
  3. vijos 1082
  4. 学生网站模板——我的家乡-云南(9页) HTML+CSS+JavaScript 关于我的家乡的HTML网页设计-----云南
  5. 《windows 鼠标指针文件 学习笔记》
  6. 华为数通VRRP配置实验
  7. xp系统做无盘服务器,锐起无盘网吧系统无盘XP系统特点
  8. iPhone的MobileTerminal使用经验
  9. 【AI视野·今日CV 计算机视觉论文速览 第189期】Fri, 1 Jan 2021
  10. 遗传算法求解TSP问题(C++实现)