文档库 最新最全的文档下载
当前位置:文档库 › 游戏开发_2048_设计说明书

游戏开发_2048_设计说明书

课程设计主要内容

1.题目

2048

2.需求分析

游戏操作需求:

1、可使用鼠标或↑、↓、→、←或W、X、A、D键进行操作;

2、Play按钮重新开始游戏;

3、Undo按钮取消本次操作,回到上一步。

2048游戏算法

1、游戏开始时随机的产生2个数值为2/4的方格,其中1个方格置于4个角中的一个位置,

另一个方格随机的置于其它位置,其余方格值为0。

2、每次移动鼠标或按方向键后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。

3、每合并一次格子,将其值累计到游戏总分中。

4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。

5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。

6、2出现的概率为90%,4出现的概率为为10%。

3.设计环境

运行环境:windows xp,windows 2003 windows 7

开发环境:Microsoft Visual Studio 2010

编写语言:c#

一.详细设计说明

1.系统程序流程图

N

2.系统概要说明

本程序是在VS2010环境下编写的Windows应用程序,函数中利用了画图函数绘制基本方块模型,并通过键盘或鼠标执行相应的操作。在产生的方块中,调用随机方法,随机产生1~100中的任何一个数字,数字小于90,方块显示数字为2,否则显示为4,每一,通过这种方式,实现了游戏中其中不同模块的数字的随机产生。

3.功能说明

(1) 实现可以显示2或者4两张数字的方块

(2) 实现各个方块的上下左右移动

(3) 实现方块间数字判断与相加

4.系统各类的知识点说明

1.主类

Main()方法

主函数调用主要功能的三个方法,实现程序运行。

2.Cube类(画单元格)

Cube类的功能定义了单个方块的构架。此类中,定义了不同的数字显示所显示的不同的单元格方块,使方块相加变化明显。

此类中定义了属性currValue//当前得分

以及方法Cube_Paint()方块的绘制,此方法针对可能出现的12中数字显示,运用Graphics类,画出不同的显示的方块

3.forms类(方块的控制)

此类主要实现对方块的控制,实现每种不同操作的实现

此类创建了四个属性

private Cube[] cubes = new Cube[16];//创建个个cubes类的数组,实现游戏方块的创建

enum MoveDict { Up, Down, Left, Right };//定义枚举类型,键盘控制方向,上下左右private int x1, y1;//鼠标位置

private int score = 0;//房钱成绩

private int[] prev =new int[17]; /./上一步方格值和积分

Form1()方法:构造方法,实现方块的实例化创建

start()方法:游戏的初始化,实现最开始两个方块的摆放。

SavePrevVaule()方法:保存每上一步的方块值以及成绩,实现撤销一次的操作

LoadPrevValue()方法:加载上一步值,当进行撤销操作时,调用该方法。

OneMove()方法:实现移动一次的操作。此方法调用MoveLine()进行累加,实现成绩的相加MoveLine()方法:移动一行的方法

getNextCube()方法:取下一个方块

CanMove()方法:通过方块是否能够移动,判断游戏是由结束

pictureBox1_MouseDown()方法:获取鼠标移动的位置

getDirection()方法:通过鼠标坐标判断方块的移动方向

Form1_KeyUp()方法:接受键盘信息,判断方块移动方向

btnPlay_Click()方法:“开始”按钮的单击事件,调用start()方法,开始游戏

btnUndo_Click()方法:“撤销”按钮的单机事件,调用LoadPrevValue()方法,进行撤销操作5.主要算法设计

1.方块值的随机数产生

System.Random r = new Random();

int n1 = r.Next(1, 100);

cubes[0].Value = (n1 < 90 ? 2 : 4);

通过Random类产生100以内的随机数,数字大于90,方块值为4;小于90,方块值为2

2.游戏初始化两个随机方格位置的摆放

System.Random r = new Random();

int c1 = r.Next(1, 4);

int c2 = c1;

do

c2 = r.Next(1, 16);

while (c2 == c1);

for (int i = 0; i < 16; i++)

cubes[i].Value = 0;

int n1 = r.Next(1, 100);

int n2 = r.Next(1, 100);

switch (c1)

{

case 1:

cubes[0].Value = (n1 < 90 ? 2 : 4);

break;

case 2:

cubes[3].Value = (n1 < 90 ? 2 : 4);

break;

case 3:

cubes[12].Value = (n1 < 90 ? 2 : 4);

break;

case 4:

cubes[15].Value = (n1 < 90 ? 2 : 4);

break;

}

cubes[c2 - 1].Value = (n2 < 90 ? 2 : 4);

四个角随机摆放一个方格,其他位置随机摆放,位置重叠,再随机产生一个

3.保存上一步值的算法实现

private int[] prev =new int[17]; //定义一个数组记录值

for (int i = 0; i < 16; i++)

prev[i] = cubes[i].Value;//数组前16个元素保存,16个方块的值

prev[16] = score;//数组最后一个元素保存当前成绩值

4.方块移动一次的算法实现

每移动一次,要加载得分,并是先移动后方块的位置摆放以及方块数值的相加及显示private int MoveLine(Cube cube1, Cube cube2, Cube cube3, Cube cube4)

{

int score = 0;

if (cube1.Value == 0 && cube2.Value == 0 && cube3.Value == 0 && cube4.Value == 0)

return 0;

Cube[] cubes = { cube1, cube2, cube3, cube4 };

ArrayList iCubes = new ArrayList(); //判断最低行方块值是否为0,为0即不存在方块,去掉为0的方块

for (int i = 0; i < cubes.Length; i++)

if (cubes[i].Value != 0)

{

iCubes.Add(cubes[i].Value);

}

for (int i = 0; i < cubes.Length - iCubes.Count; i++)

cubes[i].Value = 0;

for (int i = 0; i < iCubes.Count; i++)

cubes[i + cubes.Length - iCubes.Count].Value = (int)iCubes[i];

if (cubes[2].Value != 0)//如果等于0,说明改行只有一个非0的数,则不需要移动和累加数了

{

if (cubes[3].Value == cubes[2].Value)//后一块与前一块方块比较,如果数字相同,则累加成绩

{

score += 2 * cubes[3].Value;

cubes[3].Value = 2 * cubes[3].Value;

if (cubes[1].Value == cubes[0].Value)

{

score += 2 * cubes[1].Value;

cubes[2].Value = 2 * cubes[1].Value; cubes[1].Value = 0;

cubes[0].Value = 0;

}

else

{

cubes[2].Value = cubes[1].Value;

cubes[1].Value = cubes[0].Value; ;

cubes[0].Value = 0;

}

}

else

{

if (cubes[2].Value == cubes[1].Value)

{

score += 2 * cubes[2].Value;

cubes[2].Value = 2 * cubes[2].Value;

cubes[1].Value = cubes[0].Value; ;

cubes[0].Value = 0;

}

else

{

if (cubes[1].Value == cubes[0].Value)

{

score += 2 * cubes[1].Value;

cubes[1].Value = 2 * cubes[1].Value;

cubes[0].Value = 0;

}

}

}

}

return score;

}

5.获取下一个方块的算法实现

private void getNextCube()

{

ArrayList iCubes = new ArrayList(); //去除0之后的方块

for (int i = 0; i < 16; i++)

{

if (cubes[i].Value == 0)

{

iCubes.Add(i);

}

}

if (iCubes.Count > 0)

{ //在所有为0的数上,随机增加一个数

System.Random r = new Random();

cubes[(int)iCubes[r.Next(1, iCubes.Count) - 1]].Value = (r.Next(1, 100) < 90 ? 2 : 4); ;

}

else

{

if (CanMove()==false)

{//当不能移动,游戏结束!

MessageBox.Show("Game Over!");

}

}

}

6.判断游戏是否结束的算法实现

private bool CanMove()

{

//判断左右是否能够移动,如果存在两个数相同,即方块可以移动累加,返回true,游戏未结束

if(cube1.Value == cube2.Value || cube2.Value == cube3.Value || cube3.Value == cube4.Value ||

cube5.Value == cube6.Value || cube6.Value == cube7.Value || cube7.Value == cube8.Value ||

cube9.Value == cube10.Value || cube10.Value == cube11.Value || cube11.Value == cube12.Value ||

cube13.Value == cube14.Value || cube14.Value == cube15.Value ||

cube15.Value == cube16.Value

)

return true;

//同理。判断上下能否移动

if(cube1.Value == cube5.Value || cube5.Value == cube9.Value || cube9.Value == cube13.Value ||

cube2.Value == cube6.Value || cube6.Value == cube10.Value || cube10.Value == cube14.Value ||

cube3.Value == cube7.Value || cube7.Value == cube11.Value || cube11.Value == cube15.Value ||

cube4.Value == cube8.Value || cube8.Value == cube12.Value || cube12.Value == cube16.Value

)

return true;

return false;//全部不能移动,返回false,即游戏结束

}

二.游戏运行说明

1.游戏运行流程图

当方块不能移动时,游戏结束

三.课程设计总结

通过本次课程设计,对.net windows应用程序有了更多的了解,不过我也发现我的好多不足之处,首先是自己编程粗心大意,经常出错,通过学习也有所改进;再有对C#类库的一些标准方法不太熟悉,还以及对C#语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。

通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C#语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机。

2048小游戏设计

2048小游戏 (一)程序介绍 2048是一款益智小游戏,玩家需要在l6个格子中通过数字叠加的方法将最初的数字2凑成数字2048。有16个格子,初始时会有两个格子上安放了两个数字2, 每次可以选择上下左右其中一个方向去滑动, 每滑动一次, 所有的数宇方块都会往滑动的方向靠拢外, 系统也会在空自的地方随即出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。 2o48是比较流行的一款数字游成a本课程设计通过设计与开发 JvM平台上的2048游戏,进一步掌握所学Java课程的知识, 体验 Java的跨平台性, 同时将 Java设计方面的知识拓展应用 (二) 功能需求描述 l、图形用户界面: 2048的最大特点就是玩家对图形界面里的数字进行操作, 也就是是玩家与游戏的互动 2、当前分数 scoRE 与最高分数的显示:在我们设计的2048游戏中当前分数取了页面i内所有数字相加的值为分数, 对玩家玩游戏的进展有直接性、客观性的展现, 同时, 最高分数取了以往玩家退出游戏时所保存分数的最高分 3、数字颜色‘游戏中数宇的颜色以2为首項的等比数列变化,即2、 4、8、l6、32、“、128、256、5l2、l024、2048__.对应的数字卡片变色 4、游戏的退出:游戏退出时,我们采用弹出对话框的确认玩家是否真的要退出游戏, 当然这样做更符合游戏人性化设计的观念。 (三)玩法技巧: 1、最大数尽可能放在角落 2、数字按顺序紧邻排列 3、首先満足最大数和次大数在的那一列/行是满的 4、时刻注意活动较大数旁边要有相近的数 5、以大数所在的一行为主要移动方向 6、不要急于“清理桌面” (四)程序说明 一个类 Copy2048继承JFrame, 类中包括, 一个构造方法 Copy2048,构造方法中设定游戏界面的大小,背景颜色,边框,字体,标签,布局,位置,记录剩

游戏24点课程设计报告

游戏24点课程设计报告 一.题目: 分析类: 计算24点:任意输入4位数字,利用+,-,*,/四则运算使之得到结果 24。输出所有不同算法的计算表达式,可为运算优先级而使用括号。 二.问题分析: 1.全面性: 此问题要求输出结果为24的计算表达式,并且要求输出要全面,我考虑用for循环与递归实现遍历来保证输出的全面性,考虑到递归的‘一归到底',每一次完整递归都代表一种算法(详情见算法)。 2.输出的判定和四位数字的类型: 在输出的时候对最后结果等于24的判别,因为考虑到有除法,有可能中途结果可能会出现不能整除的情况与小数,所以输出的四个数都设为float型,且输出判定的时候用近似判定法,而不直接写让最后结果等于24(详情见算法)。 3.重复性: 如果用循环与递归保证了输出24的表达式的全面性,但不可避免的会出现重复,才开始我想在遍历与递归时,加一些限定条件来消除重复但是这样做不但会出错,还不能保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。 但是对于输入的那4位数字中如果有重复的话,程序结果还是会出现重复的,此问题尚未解决.(详情见算法)。 4.括号问题的处理: 对于括号问题,我规定对每一步的计算表达式,除了*之外,+,-,\都加上括号,即让程序按自己规定的方向执行,输出的括号只是让人能看懂,其实在运算时不起作用(详情见算法)。 5.输出: 输出方面我以为用了遍历所以在每一层遍历都把运算表达式存到一个较大的数组中,在输出的时候如果满足输出条件(在遍历时纪录每次递归的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符),就直接把那个数组里的内容输出,遍历会直接去寻找表达式里的表达式(详情见算法)。 三.算法描述(源代码里有更详尽解释): 1.主要方法: 遍历与递归。 2.主要思路: 把输入的四个数放在一个数组n[4]中,然后任取其中任意两个(不能取同一个--既不能出现自己和自己运算的情况),然后用一个for和一个switch语句来实现这两个数的加减乘除运算,然后把运算的结果放到另一个数组b[4]中并记录此运算的表达式(放到一个大一点的数组tm[4][25]中),同时把其他两个没用到的数也放到该数组中,然后重复以上过程(用遍历实现),最后先判定是不是最后一层运算,是的话在判定最后结果是不是等于24,等于24的话就把那个纪录运算式的数组输出。然后考虑到不能出现重复的(例如:1*2*3*4和2*4*3*1等等)我在遍历的同时记录了第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,对输出的时候做限定(例如:对运算符全*的只输出一遍等等)。在有一次输出后我还定义了另外两个数组用来分别保存上一次输出的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,来解决重复输出的问题,不过此种做法有可能导致输出的时候不全。(此问题尚未解决)即还不能同时保证全面性与不重复性。 3.主要函数与数组:

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.wendangku.net/doc/5819137289.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

扫雷的课程设计报告

西安文理学院信息工程学院课程设计报告 设计名称:数据结构课程设计 设计题目:实现一个N*M的扫雷游戏 学生学号:1402130407 专业班级:软件13级四班 学生姓名:樊秀琳 学生成绩: 指导教师(职称):谢巧玲(讲师) 课题工作时间:2015.6.22 至2015.7.3

说明: 1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个 学生。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩由指导教师实施。 4、报告正文字数一般应不少于3000字,也可由指导教师根据本门综合设 计的情况另行规定。 5、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按 不及格处理。

信息工程学院课程设计任务书 指导教师:院长: 日期:2015年6月22日

信息工程学院课程设计进度安排表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班 指导教师签名: 2014年6月22日

成绩评定表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班

摘要 摘要: 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C++,VB,JAVA等。我利用eclipse编写了与它功能相似的扫雷游戏,寓学于乐。 程序的功能是随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,按任意键结束程序。单击屏幕上的笑脸可以重新开始游戏。所有地雷标出后胜利,当鼠标左键单击到地雷时提示游戏失败。其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作。清除未靠近地雷区的方块较为复杂。 关键词:算法设计;事件;Eclipse

基于C + + 的2048游戏设计

实习论文(本科) 学院数学与统计学院 专业统计学 年级2013级 姓名 论文题目基于C + + 的2048游戏设计指导教师职称讲师成绩 2016年10月16日

目录 摘要 (1) 关键词 (1) Abstract (1) Key words (1) 前言 (1) 1 实习前的准备 (2) 2 实习目的 (2) 3 实习任务 (2) 4 实习内容 (2) 4.1 2048游戏简介 (2) 4.2 2048模块需求分析 (3) 4.3 UI界面的规划设计 (3) 4.4 头文件的需求分析 (4) 4.5 随机数的生成 (4) 4.6 图片资源的导入和加载 (5) 4.7 主体算法的分析和实现 (6) 4.8 游戏结束的判断 (8) 4.9 游戏最终运行成果 (10) 5 个人总结 (10) 参考文献 (10)

基于C + + 的2048游戏设计 学生姓名:学号: 学院:数学与统计学院专业:统计学 指导教师:职称:讲师 摘要:专业实习,是教学计划中的一门重要的必修课和综合实践课程,是培养学生的专业素质和实际能力的重要实践环节。通过此次的C + + 实习,掌握了程序设计的基本理论与方法,能够运用基本代码进行简单的程序设计,运行基本的游戏程序。 关键词:C + + ;设计;程序 The Game Design of 2048 Based on C + + Abstract:The important required course in the teaching plan and comprehensive practice curriculum, professional internships, is to cultivate the students' professional quality and practical ability of the important link of practice. Through the C + + practice, we grasp the basic theory and method of program design, be able to use basic code to build simple program and run it. Key words:C + + ;Design;Program 前言 这次实习是我们毕业前的一次实践性实习。为了拓展我们的知识面,增强我们对所学知识的应用能力,增加我们在社会竞争中的经验,锻炼和提高我们的综合素质,以便在以后毕业后能真正走入社会,并且能够在生活和工作中很好地处理各方面的问题,学校特地从北京达内科技集团聘请了专业的C + + 工程师讲师来对我们进行专业实训,进一步运用所学知识分析和解决实际专业问题,从而为就业打下良好的基础。

《游戏设计》课程设计指导书

《游戏设计》课程设计指导书 编写:蔺广逢 适用于:数字媒体专业 2011.12

游戏设计课程设计任务书 设计时间:1周学分数:1.0 执笔人:范彩霞编写日期:2008年10月 一、课程设计目的 游戏设计课程设计是数字媒体技术专业必修的实践环节。本课程设计是《游戏设计》课程实践环节的深化和延续。通过该实践环节的训练,使学生能够更加全面和系统的掌握游戏设计的体系结构。通过对所做游戏的故事梗概、游戏类型以及设计制作过程中所涉及的相关技术的学习和掌握,提高学生的实践能力以及团队协作能力,为在计算机游戏设计这一领域进行深入研究做准备。 二、课程设计的内容与要求 本课程设计通过分组来进行,每组3~4人。对每一个组,都必须设计和实现一个完整的游戏,游戏的类型不限,软件运行环境限为Microsoft Windows,硬件平台限为PC。在每组进行游戏设计之前必须提供游戏文档说明,包括游戏的故事情节、游戏的类型、游戏界面的设计等。每组设计的游戏不一定是原创的,但绝不能抄袭已有的游戏。 每组设计的游戏需要有较为完整的情节,要求能体现以下的基本技术:提供使用键盘或鼠标控制视点的朝向和运动的功能;在游戏中至少有一个人物是三维的,并且能产生相应的动画。必须在某个场景中有配音或者背景音乐;最好能在某一个画面中体现一些特效技术;必须能实时或者准实时运行。 游戏设计完成后对自己所做的游戏进行短评,包括:游戏中的哪一部分是最得意的?对最初的游戏设计作了哪些修改,为什么?在这个游戏项目的实践中获得的经验和教训是什么?如果有更多的时间下一步会怎么做? 三、课程设计的报告(论文、作业)的要求 课程设计报告是课程设计过程的整理和总结。因此,编写课程设计报告是课程设计阶段的一个重要组成部分。课程设计报告的内容和要求根据设计内容而定,对于本课程设计,主要应包括以下内容: 封面:封面上应标明“游戏设计课程设计”报告、专业、姓名、学号与时间等; 课程设计报告内容主要包括: (1)课程设计的目的;

2048游戏的设计与实现 课程设计

Java语言程序设计 课程设计 题目2048游戏的设计与实现

目录 1. 需求分析 ...........................................................................................错误!未定义书签。 2. 系统运行环境 ....................................................................................错误!未定义书签。 3. 功能需求描述 ....................................................................................错误!未定义书签。 4. 总体设计 ...........................................................................................错误!未定义书签。 5. 程序模块设计 ....................................................................................错误!未定义书签。 6. 总结...................................................................................................错误!未定义书签。

一、需求分析 《2048》是比较流行的一款数字游戏。原版2048首先在github上发布,原作者是Gabriele Cirulli。它是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏[1] 。 随后2048便出现各种版本,走各大平台。由Ketchapp公司移植到IOS的版本最为火热,现在约有1000万下载,其名字跟原版一模一样。衍生版中最出名的是《2048六边形》版本,先后在全球81个国家中的board game中排进了前200。安卓版非常火爆的有《挑战2048》,其2.0.0版以后还加入了双人对战。其次比较特别的有2048中国朝代版。更有2048自定义版,可以自己定义文字和图片。《2048》是IOS中流行的一款。 本课程设计通过设计与开发JVM平台上的2048游戏,进一步掌握所学Java课程的知识,体验Java的跨平台性,同时将Java设计方面的知识拓展应用 二、系统运行环境 1、硬件环境: 2、软件环境: 操作系统:WindowsXP/Windows7 软件:集成开发环境Eclipse 三、功能需求描述 1、图形用户界面:2048的最大特点就是玩家对图形界面里的数字进行操作,也就是是玩家与游戏的互动 2、当前分数SCORE与最高分数的显示:在我们设计的2048游戏中当前分数取了页面所有数字相加的值为分数,对玩家玩游戏的进展有直接性、客观性的展现;同时,最高分数取了以往玩家退出游戏时所保存分数的最高分

算24点小游戏

研究生课程论文 课程名称C++面向对象程序设计 授课学期2013 学年至2014 学年 第一学期 学院电子工程学院 专业电子与通信 学号 姓名 任课教师 专题算24点小游戏 交稿日期2014年01月10日 成绩 阅读教师签名 日期 广西师范大学研究生学院

目录 1 引言 (2) 1.1 设计任务与要求 (2) 1.2 设计目的 (2) 1.3 C++面向对象语言简介 (2) 2 C++课程设计原理及方案选择 (3) 2.1 概述 (3) 2.1.1 方案设计与论证 (3) 2.2 二十四点游戏的原理 (4) 2.2.1 主函数设计 (4) 2.2.2 子函数的设计 (4) 2.2.3 类体的设计 (5) 3 程序流程及演示 (6) 3.1 程序流程图,程序清单与调用关系 (6) 3.2 程序 (7) 3.3 运行结果 (9) 4 结论 (10)

1引言 随着网络技术的发展,小游戏在网络发展如火如荼。二十四点小游戏是一个不仅能放松认得神经而且益智的趣味小游戏。对于21世纪的今天,作为一个社会工作者来说,面对日益剧烈的竞争,工作压力都是很大的,为了释放压力就需要一个很好的减压平台,那么网络上的小游戏首当其冲,24点小游戏受到了欢迎。 1.1设计任务与要求 题目要求在输入4个数后,程序对这个4个数进行运算,若能计算出结果等于24,即输出运算过程。目标是在输入四个数之后,先进行全排列,然后进行全运算,从而最终得到结果以输出。 1.2设计目的 本次设计的目的就是在掌握c++编程语言和visual c++编译软件的基础上。完成一个算24的小游戏程序设计,在系统提示下输入4个数后,程序对这4个数进行运算,若能计算出结果等于24,即输出运算过程。程序设计目标很明确,在输入4个数之后,先进行全排列,然后进行全运算,重而得到最终结果输出。 1.3C++面向对象语言简介 C++是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。其编译器比目前其他计算机语言的编译技术更复杂。类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。一个有一定规模的C++程序是由许多类所构成的。 C++支持面向过程的程序设计,也支持基于对象的程序设计,又支持面向对象的程序设计。以后我们将介绍基于对象的程序设计。包括类和对象的概念、类的机制和声明、类对象的定义与使用等。这是面向对象的程序设计的基础。基于对象就是基于类。与面向过程的程

游戏设计与制作课程设计题目

游戏设计与制作课程设计 以下4个题目任选一个按要求完成,并于6月5日(即第15周周四)前提交包含所有材料的课程设计袋。 题目1:太阳系模拟 太阳系(Solar System)是以太阳为中心,和所有受到太阳重力约束的天体的集合体,主要包括太阳,八大行星,以及卫星.此课题模拟太阳系各大行星和卫星围绕太阳旋转运动。 基本设计思路和运行效果可参考“《《计算机图形学》课程设计报告”一文相关内容。 要求: 开发环境——VS2008以上 SDK ——DirectX 9.0c 以上 题目2:基于阴影贴图的阴影的实现 阴影贴图是实现实时阴影的一种方法,它可以实现任意曲面上投影的阴影效果,而不仅仅是平面阴影。 通过本次课程设计,要求: 1、了解基于阴影贴图的阴影实现的基本思路和算法; 2、结合参考文献理解实现过程; 3、基于阴影贴图的阴影实现存在的问题和改进的方法。 4、编写相应的实现代码和测试代码。 参考: 1、”Introduction.to.3D.Game.Programming.with.DirectX.9.0c.Shader.Approach”第22.2节“Shadow mapping”。 2、DX SDK自带的“ShadowMap sample”。 题目3:二维游戏“Breakout!(打砖块)”的设计与实现 进入Breakout的初始界面,屏幕上方的彩色矩形方块代表砖块,屏幕下方的较长的矩形方块表示板子。板子的垂直位置不变,但可在屏幕边界之间通过用户的输入左右移动。还有一个小球,从屏幕中间向下运动,球可从板子或左右墙面反弹击中砖块。击中的砖块即消失。小球不断实现反弹击中砖块的过程,直到以下两种情况出现,退出游戏: 1、小球碰到地面(即屏幕的下边界),即玩家没用板子接住球。在这种情况下,假设一关游戏给三次击球的机会,如果总共有三次没有用板子接住球,玩家失败,退出游戏。 2、所有的砖块都被击中,玩家赢,退出游戏。

游戏开发-2048-设计说明书

游戏开发设计说明书 题目2048 学号20 学生姓名董涛 指导教师谢逸 所在班级计科1108班 专业名称计算机科学与技术

目录 游戏开发课程设计 (1) 目录 (2) 一.课程设计主要内容 (3) 1.题目 (3) 2.需求分析 (3) 3.设计环境 (3) 二.详细设计说明 (4) 1.系统程序流程图 (4) 2.系统概要说明 (5) 3.功能说明 (5) 4.系统各类的知识点说明 (5) 5.主要算法设计 (6) 三.游戏运行说明 (10) 1.游戏运行流程图 (10) 1.游戏开始 (11) 2.游戏进行 (12) 3.游戏结束 (12) 四.课程设计总结 (13)

一.课程设计主要内容 1.题目 2048 2.需求分析 游戏操作需求: 1、可使用鼠标或↑、↓、→、←或W、X、A、D键进行操作; 2、Play按钮重新开始游戏; 3、Undo按钮取消本次操作,回到上一步。 2048游戏算法 1、游戏开始时随机的产生2个数值为2/4的方格,其中1个方格置于4个角中的一个位置, 另一个方格随机的置于其它位置,其余方格值为0。 2、每次移动鼠标或按方向键后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。

5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为90%,4出现的概率为为10%。 3.设计环境 运行环境:windows xp,windows 2003 windows 7开发环境:Microsoft Visual Studio 2010 编写语言:c# 二.详细设计说明 1.系统程序流程图

计算24点游戏c++

24点游戏软件的开发 1 概述 1.1 课程设计目的 a、巩固并加深学生对C++语言程序设计知识的理解; b、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别; c、进一步掌握和应用VC++ 6.0集成开发环境; d、提高运用C++语言解决实际问题的能力; e、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统; f、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。 1.2 课程设计内容 课题名称:24点游戏软件的开发 说明:24点游戏是一种常见的纸牌游戏说明 要求: a)实现随机发牌; b)能进行结果验算; c)计分; d)难度设置。 2 系统需求分析 2.1 系统目标 24点游戏是个流行的数学运算游戏。本次课程设计通过24点游戏来加深我们对对话框编程的认识和理解,并介绍Visual C++在数学计算方面的应用,以及在按钮上设置位图和设置计时器的方法。 24点扑克游戏的规则是:由系统发出4张扑克牌,要求用户利用扑克牌上显示的数字(JQKA算10),通过加减乘除运算得出24。 2.2 主体功能 a.对游戏设计三个难易级别,分别为低级、中级和高级。每次开始游戏前可以根据玩家的需要进行难度设置,如若不设置,系统默认难度级别为中级,设置完难度级别之后就可以开始游戏了,单击“发牌”按钮,桌面上出现四张翻开的扑克牌,与此同时,游戏开始计时,进度条开始前进。 b.在规定的时间内,玩家可以在“输入算式”的编辑框中输入自己想好的算式,然后点击“验算”按钮:如果输入的算式经运算后所的答案正确,则会在编辑框中

显示“正确!”;如果输入的数字与给出的牌的数字不符或者符号不合法,则会弹出“内部错误!”的窗口;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,则会在编辑框中显示“错误”;如果未输入任何的数字和算符,则会弹出“内部错误!”的窗口。 c.如果在规定的时间内,玩家没有点击验算按钮,则会弹出“内部错误”的窗口。 d.在结束本轮游戏后,如果玩家想继续游戏,则可点击“发牌”按钮即可重新发牌,开始下一轮的游戏;如果玩家想结束游戏,则可点击“结束”按钮即可结束游戏。 2.3 开发环境 Microsoft Visual C++ 6.0 3 系统概要设计 3.1 系统功能模块划分 a.建立一个随机产生扑克牌的模块。由程序随机产生4张扑克牌,每张牌对应一个整数。 b.计时的模块。定义一个计时器,以便对使用时间进行计数。 c.计算表达式的模块。主要是通过函数来确定运算式各符号优先级和最终计算出输入算式的结果。 d.验算表达式正误的模块。在规定的时间内输入算式进行验算,根据不同的情况会出现不同的对话框。

军棋游戏设计_课程设计报告

2016-2017学年第一学期 《Windows程序设计》 课程设计报告 题目:军棋游戏设计 专业: 班级: 姓名: 指导教师: 成绩: 学院 二0一六年十一月十五日

目录 1 设计的目的与功能简介 (1) 1.1 设计的目的 (1) 1.2 功能简介 (1) 2 游戏分析 (2) 2.1 界面设计 (2) 2.2 棋盘数据结构 (4) 2.3 通信协议设计 (4) 2.4 走棋规则设计 (6) 2.5 布阵规则设计 (8) 3 游戏详细设计 (9) 3.1 初始化棋盘 (9) 3.2 走棋规则 (11) 3.3 读写布阵棋谱文件 (12) 3.4 “保存布阵”、“读取布阵”、“开始对战” (14) 3.5 通信过程 (16) 3.6 “主机”、“从机”的选择 (24) 3.7 “联机”、“重新开始”、“退出游戏” (24) 3.8 窗体关闭 (26) 3.9 游戏运行测试 (26) 4 设计心得 (28) 5 参考文献 (29) 6 附录 (30)

1 设计的目的与功能简介 1.1 设计的目的 随着休闲网络游戏市场竞争的升级,尤其是网络棋牌游戏的巨大市场前景的吸引,许多公司都加入到棋牌游戏的竞争之列,一时之间竞争可谓惨烈。由于全国通用的全国流行的棋牌游戏市场(斗地主、象棋、军旗、梭哈)已经基本被几个大的游戏厂商(联众、腾讯、边锋、远航、中游)所占据,加之棋牌游戏玩家忠诚度非常高的特性,继续介入这快市场已经没有任何意义。一般来讲每一个地方游戏都是独立的,每个独立的游戏所面对的目标消费者都是不同的,所以对于企业的营销推广工作要求也比较高。如何在未来开拓出更多精彩的产品项目,为用户提供更为优质的服务,并结合自身的实际情况制定出最为合理的收费模式,便成了各厂商要想得到长足的发展,就必须先解决的一览子问题。在线棋牌游戏有着深厚的文化底蕴、坚实大众基础和广阔的发展空间,对于其前景应该是没有任何值得争议的。 1.2 功能简介 军棋,又称陆战棋。估计华人没有不知道什么叫做军旗的,军棋是一种家喻户晓的棋类游戏,它的多变吸引了无数玩家。 军旗的子数:军棋每方共有25个子,司令、军长、军旗各一;师长、旅长、团长、营长、炸弹各二;连长、排长、工兵、地雷各三。 军旗的子力:司令>军长>师长>旅长>团长>营长>连长>排长>工兵,大子遇小子,小子拿掉,大子放在原位,炸弹碰到任何子力同时拿下,这是任何规则都遵循的。 军旗的摆法:原则上25个棋子可以摆放在棋盘除行营外的任何位置,但是对于一些特殊子力还有特别的限制。例如,军旗只能摆在两个大本营其中的一个;地雷只能摆在后两排除军旗占据的一个大本营外的任何9个位置;炸弹不能摆在第一排的5个位置。军旗和地雷位置一旦固定,出征后就不能够再移动[5]。 军旗规则:

C程序课程设计报告(扫雷游戏)

C程序设计 扫雷游戏 一、设计题目:扫雷游戏 二、设计目的 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2.培养学生综合运用所学知识独立完成课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基

本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 三、设计要求 1.汪洋和孔维亮组成设计小组。小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。 2.查阅相关资料,自学具体课题中涉及到的新知识。 3.采用结构化、模块化程序设计方法,功能要完善,界面要美观。 4.按要求写出课程设计报告,并于设计结束后1周内提交。 一概述 1)掌握数组指针的概念及其应用 2)培养团结合作精神 2. 课程设计的要求 要求我们有扎实的C语言知识,以及良好的编程习惯,能够熟练的应用循环,有毅力,还要求我们有较强的合作精神,善于总结。同时还要求我们自学C语言作图部分知识。在必要时还要上网查相关资料。 3.课程设计的主要设计思想 扫雷游戏主要用了一个10行10列的二维数组,刚开始利用random随机布雷。 每一个程序最主要的是算法。扫雷游戏算法的重点是一开始统计好每个格子周围有多少雷,当鼠标左键点在格子上时做出判断,如果周围8个格子有雷则显示出雷数,如果没有雷则显示空白格(在四个角的格子显示周围3个格子,其它边缘的格子显示周围5个的状态),我们在主函数中用两个for语句来判断周围雷数。我们还加了鼠标处理函数。 如果格子上有雷则调用函FailExitGame(),显示“Fail!”,游戏结束。若所有的雷都标出,且所有的格子都处理过,则调用函数ExitGame(),显示“OK,Good!”,游戏结束。游戏结束后,按任意键出去。

Android小游戏之2048课程设计

题目Android小游戏之2048 院系 专业软件技术专业 学生姓名XXX 学号XX 二O一五年六月八日

目录 1概念 1.1游戏背景-----------------------------------------------------1 1.2游戏开发-----------------------------------------------------1 1.3论文内容安排-------------------------------------------------1 2 功能设计 2.1界面设计-----------------------------------------------------2 2.2游戏设计-----------------------------------------------------2 2.3事件监听-----------------------------------------------------4 2.4游戏最终实现-------------------------------------------------4 3 结果展示 3.1游戏开始界面-------------------------------------------------7 3.2游戏结束界面-------------------------------------------------7 4 结论 4.1结论心得-----------------------------------------------------8 5 参考文献 5参考文献-------------------------------------------------------8

17 24点游戏系统设计

中北大学 课程设计说明书 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 学院:信息与通信工程学院 专业:电子信息工程 题目:多媒体技术和程序设计实践: 24点游戏系统设计 指导教师:陈友兴赵英亮职称:副教授 2011年1月7日

中北大学 课程设计任务书 10/11学年第一学期 学院:信息与通信工程学院 专业:电子信息工程 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 课程设计题目:多媒体技术和程序设计实践: 24点游戏系统设计 起迄日期:2010年12月18日~2011年1月7日课程设计地点:电子信息工程专业实验室 信息工程系实验室 指导教师:陈友兴赵英亮 系主任:王浩全 下达任务书日期:2010年12月17日

1.设计目的: (1)掌握VC++程序开发平台; (2)掌握对话框模式的可视化实现和按钮消息的响应; (3)掌握应用VC++库函数实现数据的输入、计算等功能。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):(1)查阅相关资料,掌握基于面向对象的编程方法; (2)主界面采用对话框模式,编辑24点游戏的相应控件; (3)实现发牌、计算和验证的功能; (4)要求3位同学各自实现不同分工。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: (1)要求设计组的每个成员都要了解设计的要求和思路; (2)编写详细的设计说明书一份; (3)要求有正确的运行结果及结果分析。

4.主要参考文献: 1王华,叶爱亮,祁立学等.Visual C++6.0编程实例与技巧.北京:机械工业出版社,1999. 2李光明.Visual C++6.0经典实例大制作.北京:中国人事出版社,2000. 3严华峰.Visual C++课程设计案例精编.北京:中国水利水电出版社,2002. 4官章全,刘加明.Visual C++6.0类库大全.北京:电子工业出版社,1999. 5张荣梅,梁晓林.Visual C++实用教程.北京:冶金工业出版社,2004. 6魏亮,李春葆.Visual C++程序设计例学与实践.北京:清华大学出版社,2006. 7陈清华,朱红.Visual C++课程设计案例精选与编程指导.南京:东南大学出版社,2004. 5.设计成果形式及要求: 提供详细的设计说明书一份 软件设计结果 6.工作计划及进度: 2010年 12月18日~12月22日:学习VC有关编程方法; 12月23日~2011年1月3日:在指导教师指导下实现程序设计; 2011年1月4日~1月6日:撰写课程设计说明书; 1月7日:答辩 系主任审查意见: 签字: 年月日

(完整word版)JAVA课程设计--扫雷游戏

合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第二学期 课程Java语言与应用 课程设计名称扫雷游戏 学生姓名胡远远 学号0604031005 专业班级07网络工程一班 指导教师许强张贯虹

2010年09月 1.设计内容及要求 1.1 扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:(1)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。 (2)用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。 (3) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (4)扫雷胜利后,显示游戏胜利。 (5) 用户可以右击空格,可以选择标记为“旗帜”、“问号”或者返回成空格。 1.2 需实现的主要功能 (1)用户点击笑脸实现复位操作。 调用repaint()和validate()函数对界面进行重置以及刷新操作(2)可以显示用户完全扫雷成功所花时间。 文本框TF记录扫雷成功所花的时间 (3)在失败和胜利后跳出失败或胜利的文本框 JoptionPane 该类用来调出对话框并提示胜利 2.需求分析 2.1 扫雷棋盘的布局设计 系统的整体布局为:CardLayout布局, 采用了文本框、按钮、面板、框架…等组件,菜单主要有run按钮笑脸和哭脸,按钮的功能是重新开始新的游戏。

三子棋小游戏课程设计

三子棋小游戏课程设计 计算机学院计算机科学与技术专业《程序设计综合课程设计》报告 (2011/2012学年第一学期) 学生姓名: 学生班级: 学生学号: 指导教师: 2012年01月04日 三 子 棋 小 游 戏 目录 第一章程序设计的目的和要求 1 1.1课程设计的目的 ......1 1.2课程设计的要求 1 第二章课程设计任务内容 3 2.1课程设计题目 3 2.2课程设计介绍 3 第三章详细设计说明 ..4 3.1 流程逻 辑............................................................ .4 3.2 限制条 件 (5)

3.3 运行结 果 (5) 3.4 实验过 程 (8) 第四章实验总结及特色 11 4.1调试结果及截图 11 第五章课程设计心得及体会 13 附录? 参考文献 15 附录? 程序代码 16 第一章课程设计目的和要求 目的 通过此次课程设计,进一步加深对C++语言和运用的了解,将理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。 巩固已经学习过的C++理论知识;进一步学习程序设计、程序调试的能力。 进一步学习面向对象编程的知识和程序调试的能力; 增强Visual C++编程环境的应用能力 掌握并且熟练应用《C++程序设计》中所学知识,并学会运用。 掌握函数功能的划分方法,并运用此方法解决问题。学会程序测试方案的制定,并且实现程序的测试。 通过此次实践,积累经验,提高分析和解决问题的能力。 第二节要求 课程设计需要从整体来考虑,在大的方向下来考虑小的模块,在继续分工。作到最小化,可执行化。

扫雷小游戏课程设计

西安科技大学 软件工程课程设计报告 题目:扫雷游戏开发 班级:计科0901班 学号: xxxxxxxxxxxx 姓名: xxxxxxx 电话:xxxxxxxxxxxxx

2012年7月 目录 1 绪论 (3) 1.1 选题目的及意义 (3) 1.2 系统概述 (3) 2 可行性研究报告 (4) 3 需求规格说明书 (5) 4 总体设计说明书 (6) 5详细设计说明书 (7) 6 系统实现 (16) 6.1 开发环境 (16) 6.2 关键技术 (16) 6.3 运行结果 (16) 7测试分析报告 (17) 8心得体会 (19) 参考文献

1.绪论 1.1选题目的及意义 随着现在生活节奏的加快,人们在工作学习之余需要一个轻松娱乐的放松环境。因此我编写此软件的目的,一方面作为初学者来了解java环境下的小程序开发,另一方面使用户能在娱乐休闲的同时拓展思维能力。扫雷是单人计算机游戏。游戏的用户界面由小方格组成的战场构成。当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。此游戏还允许玩家指定战场中的地雷数。 参考Windows 操作系统提供的扫雷游戏,改进扫雷游戏程序,增加以下功能:在主界面中添加一个菜单栏,菜单栏中包括游戏和帮助两个菜单,其中游戏菜单中设置初级、中级、高级、自定义、声音、扫雷英雄榜这几个菜单项,帮助菜单中设置游戏规则和制作人员两个菜单项。 背景说明: a.软件名称:扫雷 b.用户:所有扫雷游戏爱好者 1.2 系统概述 1.2.1扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下: (1) 扫雷游戏分为初级、中级和高级三个级别。单击游戏菜单可以选择“初级”、“中级”和“高级”。 (2) 选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击‘“开始”便启动计时器。 (3) 用户要揭开某个方块,可左键单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。 (4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (5)当用户点中雷时,将有“你输了”的提示出现,胜利时,将有“你赢了”的提示出现。 1.2.2 需实现的主要功能 用户可以自定义级别并且可以任意输入雷数; 具有计时功能,即显示用户完成移动盘子所花费的时间。

相关文档