C语言

您所在的位置:网站首页 c语言实验报告实验分析 C语言

C语言

2024-07-09 19:31| 来源: 网络整理| 查看: 265

文章目录 一.问题要求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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3