c语言程序设计开放性实验指导手册

c语言程序设计开放性实验指导手册

ID:1355267

大小:567.50 KB

页数:83页

时间:2017-11-10

c语言程序设计开放性实验指导手册_第1页
c语言程序设计开放性实验指导手册_第2页
c语言程序设计开放性实验指导手册_第3页
c语言程序设计开放性实验指导手册_第4页
c语言程序设计开放性实验指导手册_第5页
资源描述:

《c语言程序设计开放性实验指导手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言程序设计开放性实验指导手册C语言程序设计开放性实验指导手册信息工程学院计算机系目录-82-C语言程序设计开放性实验指导手册实验一:扫雷游戏-2-实验二:贪吃蛇游戏-23-实验三:进程调度-30-实验四:存储管理分配分区算法-39-实验五:通讯录-48-实验六:工资管理-59-实验一:扫雷游戏-82-C语言程序设计开放性实验指导手册第一部分实验内容在屏幕中央位置显示一个雷区,雷区范围内预先埋设了一定数量的随机分布的地雷;玩家通过上下左右键控制光标在雷区的各个小方块之间移动并做标记;若能正确标记出

2、雷区中的所有地雷,则游戏胜利;否则踩雷,游戏失败。扫雷游戏要具备以下功能:开局:首先选择游戏等级,然后生成不同等级的雷区界面。游戏等级分为三级:各等级方块数为——初级:8×8、中级:16×16、高级:24×24;各级地雷数=总方块数/6;雷区每个方块下面或埋藏有1个地雷,或者没有地雷;挖雷:将光标移到某个方块,并按空格或回车键,可挖开它;若所揭方块下有雷,则踩雷,此时所有含地雷的块都标记ã,该局游戏失败;如果方块上出现数字,它代表在它周围的8个方块中共有多少颗地雷;标记地雷:在光标所在的某个方块上按

3、F或f键,则标记此块下埋着地雷(实际上可能是误标),显示为F。每标记一个地雷,地雷数减少1;标记疑问:在光标所在的某个方块上按Q或q键,则在某方块上面标一个问号(?),意味着没有把握判定它是否有雷。标记为?的块可在恰当的时候再按标记地雷或挖开;自动挖开:如果某个数字方块周围的地雷全都标记完,则在该方块上按A或a键,将其剩下的方块挖开;输入:通过键盘输入相关指示信息;输出:提示游戏是否成功,是否继续。任务1:确定游戏界面、输入方式和基本数据(1)确定游戏的界面。游戏屏幕中央显示由小方块组成的雷区,小方

4、块的背景显示为浅灰,表示该方块没有被挖开或标记;小方块的背景显示为深灰,表示它已经被挖开或标记为“F”、“?”或“*”;当选中一个方块要操作时,它的边框线为红色。在屏幕的左上方显示游戏是否成功等信息,这也是游戏结果的表现形式。(2)决定游戏的输入方式。采用键盘,通过光标的移动来选择操作的小方块,根据所敲击的键值来选择游戏的功能。下面是对键盘功能键的定义:上,下,左,右键用来移动光标的位置;回车或者空格键用来挖开光标当前指向的一个方块;F,f标记当前光标指向的方块有地雷;Q,q在光标指向方块打一个问号

5、,表示可能有地雷;A,a自动挖开光标周围的方块;ESC退出游戏。(3)确定主要的数据,这里主要是有关雷区的数据。雷区界面数据-82-C语言程序设计开放性实验指导手册intMAXCOL=640;/*屏幕最大宽度*/intMAXROW=480;/*屏幕最大高度*/#define_ROW24/*雷区最多方块行数*/#define_COL24/*雷区最多方块列数*/intROW=8;/*当前游戏雷区行数*/intCOL=8;/*当前游戏雷区列数*/#defineSIZEX20/*雷区方块的水平大小(像素数)

6、*/#defineSIZEY20/*雷区方块的垂直大小(像素数)*/#defineSTARTX(MAXCOL-COL*SIZEX)/2/*水平起始位置*/#defineSTARTY(MAXROW-ROW*SIZEY)/2/*垂直起始位置*/雷区内部数据inttotalMine;/*整个雷区所含的地雷总数*/inttable[_ROW][_COL];/*数组table的每个元素值记录了雷区对应方块是否有雷:1表示有雷,0表示没有雷*/intnum[_ROW][_COL];/*数组num的每个元素值记录

7、了雷区对应方块周围有多少个地雷*/intflag[_ROW][_COL];/*数组flag的每个元素值记录了雷区对应方块当前的状态*/在整个系统中table[_ROW][_COL]、num[_ROW][_COL]、flag[_ROW][_COL]是最核心的数据,是雷区的内部表示,游戏的挖雷、标记雷、标记疑问、自动挖开等界面操作,在内部实际上是对这些数据的操作。方块(i,j)的状态取值:#defineUNFLAG0/*表示该方块还没有被打开或者标记*/#defineFLAGED1/*标记该方块有地雷*

8、/#defineQUESTION20/*表示该方块可能有地雷*/#defineEXPLOD30/*踩到地雷爆炸了*/#defineOPEN40/*一个没有地雷的方块被打开*/光标当前位置数据intpi,pj;/*记录光标的当前位置,初始时光标在(0,0)上*/intdi[8]={-1,-1,0,1,1,1,0,-1};/*x方向偏移量*/intdj[8]={0,1,1,1,0,-1,-1,-1};/*y方向偏移量*/-82-C语言程序设计开放性实验指导手册游戏状态数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。