算法分析与设计-课程设计报告

算法分析与设计-课程设计报告
算法分析与设计-课程设计报告

XXXX大学

算法设计与分析课程设计报告

院(系):

年级:

姓名:

专业:计算机科学与技术

研究方向:互联网与网络技术

指导教师:

X X X X 大学

目录

题目1 电梯调度 .......................... 错误!未定义书签。

题目描述.................................................错误!未定义书签。

算法文字描述.............................................错误!未定义书签。

算法程序流程.............................................错误!未定义书签。

算法的程序实现代码.......................................错误!未定义书签。题目2 切割木材 .......................... 错误!未定义书签。

题目描述..................................................错误!未定义书签。

算法文字描述..............................................错误!未定义书签。

算法程序流程..............................................错误!未定义书签。

算法的程序实现代码........................................错误!未定义书签。题目3 设计题 ............................ 错误!未定义书签。

题目描述..................................................错误!未定义书签。

输入要求.................................................错误!未定义书签。

输出要求..................................................错误!未定义书签。

样例输入..................................................错误!未定义书签。

样例输出..................................................错误!未定义书签。

测试样例输入..............................................错误!未定义书签。

测试样例输出..............................................错误!未定义书签。

算法实现的文字描述........................................错误!未定义书签。

算法程序流程..............................................错误!未定义书签。

算法的程序实现代码........................................错误!未定义书签。算法分析与设计课程总结................... 错误!未定义书签。

参考文献................................. 错误!未定义书签。

题目1 电梯调度

题目描述

一栋高达31层的写字楼只有一部电梯,其中电梯每走一层需花费4秒,并且在每一层楼停靠的时间为10秒,乘客上下一楼需要20秒,在此求解最后一位乘客到达目的楼层的最短时间以及具体的停靠计划。例如:此刻电梯停靠需求为4 5 10(有三位乘客,他们分别想去4楼、5楼和10楼),如果在每一层楼都停靠则三位乘客到达办公室所需要的时间为3*4=12秒、4*4+10=26秒、4*9+2*10=56秒,则最后一位乘客到达办公室的时间为56秒,相应的停靠计划为4 5 10均停靠。对于此测试用例电梯停靠计划方案:4 10,这样到第4楼的乘客所需时间为3*4=12秒,到第5楼的乘客所需时间为3*4+20=32秒,到第10楼的乘客所需时间为9*4+10=46秒,即最后到达目的楼层的顾客所需时间为46秒。

输入要求:

输入的第1行为整数n f1 f2 … fn,其中n表示有n层楼需要停靠,n=0表示没有更多的测试用例,程序终止运行。f1 f2 … fn表示需要停靠的楼层(n<=30,2<=f1

输出要求:

对于每一个测试用例,第1行输出最后一位乘客到达目的楼层所需时间,第2行输出停靠次数和相应的停靠方案,每一个数字用一个空格隔开。

算法文字描述

程序实现的算法思想,将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到远问题的解。与分治法不同的是,适合用动态规划发求解的子问题往往不是相互独立。若用分治法求解这类问题,则分解的子问题数目太多,以至于最后解决原问题需要耗费指数时间。然而,不同子问题的数目常常是多项式量级。在分治法求解时,有些子问题被重复计算了许多次。如果能够保存已解决的子问题的答案,而在需要时在找出以求得的答案,就可以避免大量重复计算,从而得到多项式时间算法。为了达到这个目的,可以采用一个表来记录所有已解决的子问题的答案。不管子问题以后是否被使用,只要他被计算过,就将其结果填入表中。动态规划算法适合求解最优化问题,设计动态规划算法的具体步骤如下:○1找出最优解的性质,并刻画其结构;○2递归地定义最优值;

○3以自底向上的方式计算最优值;○4根据计算最优值时得到的信息,构造最优解。

例如:给定金额n以及1,2,5分硬币,求找n的最少硬币数。

对于大于1分的找零理所当然可以找零1分,大于2分和5分的找零与此类似,那么找零时就有三种选择,即找零后剩余金额为n-1,n-2,n-5,这三种选择总的找零数最少的方案即为所求解的方案。显然,最终的找零方案与执行当前选择后剩余的金额的找零相关,即金额n的最优找零方案包含了金额n-1,n-2,n-5的最优找零方案,于是可得如下状态转移方程:

具体的求解过程:

初始化F(1)=1,F(2),F(5)=1

F(1)1

F(2)1

F(3)min{F(2)+1,F(1)+1}=2

F(4)min{F(2)+1,F(3)+1}=2

F(5)1

F(6)min{F(1)+1,F(4)+1,F(1)+1}=2

F(n)min{F(n-1)+1,F(n-2)+1,F(n-5)+1}

算法设计思路及求解过程

思路:题目所描述的整个过程是“并行的”,而且所有人到达各自楼层的用时只与最晚到达的人有关。由于去各个楼层的具体数目对结果没有影响,所以可以将“电梯还剩i个人”表述成“电梯里面的乘客还要去i个楼层”。电梯从第1层开始向上运行,任意时刻的状态都可以由“电梯当前所处楼层”和“电梯里面都有哪些乘客确定”,初始状态为“电梯在1楼”和“所有乘客都在电梯上”。

在电梯运行的每一个阶段都需要作出相应的决策,哪些乘客乘坐电梯到目的层,哪些乘客选择爬楼梯到达目的地。决策后,电梯里面的乘客被分成两部分:乘客留在电梯里面继续上升;乘客离开电梯走楼梯到达。求当前状态下电梯里面的乘客所有人到达目的所需要的最短时间,只需要找到一个最优决策,使得下电梯的乘客和留在电梯中的乘客最晚到达时间越短越好,这个最短时间就是当前状态下的最优解。如果假设决策后留在电梯里面的乘客到达各自楼层所需要的时间

为T1,离开电梯的各自到达目的地所需时间为T2,则min{max(T1,T2)}就是当前状态的最优解,其中T1可以由“当前层数+1”和“决策后剩下的人”确定的状态得到;T2则为下电梯走楼梯到达目的走楼梯最多的那一位乘客所花时间。

如果去第k 层的乘客选择在当前楼层下电梯,那么第1,2…k -1层的乘客也应该选择在此时下电梯(如错误!未找到引用源。所示),这样就可以得到当前决策下的一个最优解。

为了进一步处理停靠请求,对楼层按从高到低进行排序,并以此进行编号,如此可以避免在求解过层中处理不连续的请求,如:4,5,10。使用i,j 两个参数表示电梯当前的状态,即电梯在第i 层,电梯中有j 位乘客。

综上所述,可得如下状态转移方程:

f(i,j)表示电梯在第i 层楼时,电梯中j 个人都到达目的地所需要的最短时间。

具体求解过程:

第一步:计算初始状态f (topFloor,1),f(topFloor,2),…,f(topFloor,n); 第二步:根据状态转移方程计算f(i,j);

第三步:根据计算最优值时记录的信息求解最优解。

1

无论电梯当前位于何处

2 n k …

3 … 第k 楼的乘客选择在

此下电梯

k-1

k 层以下的乘客此刻都应离开电梯

图 1 解题结论

算法程序流程

图 2 Input函数流程图

图 4 main函数流程图

图 3 solve函数流程图

图 5 calculate函数流程图

图 7 tLeave函数流程图

图 6 tStay函数流程图

算法的程序实现代码

# include

# include

# include

#include

# include

#include

using namespace std;

const int maxN=30,maxF=31;

.n]中楼层数从高到低排列

for(int i=n;i>=1;i--)

cin>>f[i];

return true;

}

int dp[maxF+1][maxN+1],nextJ[maxF+1][maxN+1];

图 8 main函数流程图

开始

i>n-1bestW

bestW=cw

i=0

i

nVisited[i]=visited[i]

i=i+1

Y

结束

N

Y

Y N

false==res_arr[i]cw+data[i]+k*sw<=w

Y

visited[i]=true,cw+=data[i],k=k+1

递归调用backtrack(i+1,k)

cw-=data[i],k=k-1

Y

visited[i]=false

递归调用backtrack(i+1,k)

N

N

N

错误!未指

定顺序。错误!未指定书签。错误!未指定顺序。

scanf("%d",data+index);

char ch=getchar();

}

}

tower_walk();

print_result();

}

算法分析与设计课程总结

通过本课程各个专题模块的学习,回顾和巩固了曾经学习过的知识,并且有了新的感受和收获。老师的教学具有很强的启发性,在整个学习过程中,通过具体的示例详细地讲解了穷举法、动态规划、贪心算法、回溯法和分支限界法等不同类型的算法,是我对学习算法充满了热情。学习算法对逻辑思维能力、推理能力和表达能力都有一定的要求,同时学习过程也有助于提高个人的逻辑思维能力,有助于培养分析问题和解决问题的习惯。

最后感谢黄海于老师的悉心指导。

参考文献

[1]王晓东. 算法设计与分析. 清华大学出版社. 2014.

[2]Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein.

算法导论. 机械工业出版社. 2011.

模拟电子技术课程设计报告模板

模拟电子技术课程设计报告 设计课题: 数字电子钟的设计 姓名: 学院: 专业: 电子信息工程 班级: 学号: 指导教师:

目录 1.设计的任务与要求 (1) 2.方案论证与选择 (1) 3.单元电路的设计和元器件的选择 (5) 3.1 六进制电路的设计 (6) 3.2 十进制计数电路的设计 (6) 3.3 六十进制计数电路的设计 (6) 3.4双六十进制计数电路的设计 (7) 3.5时间计数电路的设计 (8) 3.6 校正电路的设计 (8) 3.7 时钟电路的设计 (8) 3.8 整点报时电路的设计 (9) 3.9 主要元器件的选择 (10) 4.系统电路总图及原理 (10) 5.经验体会 (10) 参考文献 (11) 附录A:系统电路原理图 (12) 附录B:元器件清单 (13)

数字电子钟的设计 1. 设计的任务与要求 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字钟包括组合逻辑电路和时叙电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。 1.1设计指标 1. 时间以12小时为一个周期; 2. 显示时、分、秒; 3. 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; 4. 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时; 5. 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。1.2 设计要求 1. 画出电路原理图(或仿真电路图); 2. 元器件及参数选择; 3. 编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。 2. 方案论证与选择 2.1 数字钟的系统方案 数字钟实际上是一个对标准频率(1H Z)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1H Z时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。

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

辽宁科技大学课程设计说明书 设计题目:基于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.360docs.net/doc/4510527760.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

电路课程设计报告分析

电路分析基础课程设计报告设计题目:MF-47指针式万用电表组装实验 专业建筑电气与智能化 班级建智141班 学号 201402050104 学生姓名张子涵 指导教师郭芳 设计时间2014-2015学年下学期 教师评分 2015年 6月 28日

目录 1.概述 (2) 1.1目的 (2) 1.2课程设计的组成部分 (2) 2. 万用表组装实验设计的内容 (2) 3.总结 (2) 3.1课程设计进行过程及步骤 (2) 3.2所遇到的问题,你是怎样解决这些问题的 (7) 3.3体会收获及建议 (7) 3.4参考资料(书、论文、网络资料) (7) 4. 教师评语 (7) 5.成绩 (7)

1.概述 1.1目的 (1)通过万用表组装实验,进一步熟悉万用表结构、工作原理和使用方法。 (2)了解电路理论的实际应用,进一步学会分析电路,提高自身的能力。 1.2课程设计的组成部分 1.学习认识万能表 2.组装与检测万能表 3.讨论总结 2.万用表组装实验设计的内容 1.万用表套件材料 2.二极管极性的判断 3.色环的认识 4.元件引脚的弯制成型 5.焊接元器件的插放 6.元器件参数的检测和元器件的焊接 7. 线路板安装程序 3.总结 3.1课程设计进行过程及步骤 1.万用表套件材料

2.二极管极性的判断 判断二极管极性时可用实习室提供的万用表,将红表棒插在“+”,黑表棒插在“-”,将二极管搭接在表棒两端,观察万用表指针的偏转情况,如果指针偏向右边,显示阻值很小,表示二极管与黑表棒连接的为正极,与红表棒连接的为负极,与实物相对照,黑色的一头为正极,白色的一头为负极,也就是说阻值很小时,与黑表棒搭接的时二极管的黑头,反之,如果显示阻值很大,那么与红表棒搭接的时二极管的正极。 3.色环的认识 黄电阻有4条色环,其中有一条色环与别的色环间相距较大,且色环较粗,读数时应将其放在右边。每条色环表示的意义,色环表格左边第一条色环表示第一位数字,第2个色环表示第2个数字,第3个色环表示乘数,第4个色环也就是离开较远并且较粗的色环,表示误差。由此可知,图3-3-1中的色环为红、紫、绿、棕,阻值为27×105Ω=2.7MΩ,其误差为±0.5%。将所取电阻对照表格进行读数,比如说,第一个色环为绿色,表示5,第2个色环为蓝色表示6,第3个色环为黑色表示乘100,第4个色环为红色,那么表示它的阻值是56×100=56Ω误差为±2%,对照材料配套清单电阻栏目R19=56Ω。蓝色或绿色的电阻,与黄电阻相似,首先找出表示误差的,比较粗的,而且间距较远的色环将它放在右边。从左向右,前三条色环分别表示三个数字,第4条色环表示乘数,第5条表示误差。比如:蓝紫绿黄棕表示675×104=6.75MΩ,误差为±1%。从上可知,金色和银色只能是乘数和允许误差,一定放在右边;表示允许误差的色环比别的色环稍宽,离别的色环稍远;本次实习使用的电阻大多数允许误差是±1%的,用棕色色环表示,因此棕色一般都在最右边。 4.元件引脚的弯制成形 左手用镊子紧靠电阻的本体,夹紧元件的引脚,使引脚的弯折处,

《电子设计基础》课程设计报告模板

课程设计报告册格式(本页不打印) 一、设计任务(四号、黑体,不加粗) 例如:十字路口交通灯控制系统设计(正文全部为宋体、小四,下同) 二、设计要求 教师下达的设计基本要求…… 三、设计内容 1.设计思想(宋体、小四、加粗) 对题目的理解,计划采用的实现方法 2.设计说明 对设计方案的简单综述,建议增加方案对比内容; 3.系统方案或者电路结构框图 包含对各个单元电路的详细分析; 保留详细的参数计算、卡诺图、状态转换图等设计内容; 4.设计方案 一个模块电路结构对应一个仿真波形和一段文字说明; 仿真及分析时,请捕捉关键点的波形数据,以确保设计结果具有良好的说服力; 5.电路原理总图 A4纸整张打印,打印出图纸边框 绘制原理图时,应注意加入电源、信号输入与输出端口; 芯片内部具有多个相同功能单元时,注意充分利用; 元器件在电路原理图中的布局应规范、紧凑; 6.PCB分层打印图 按照相同比例分别打印出顶层、底层、丝印层,并尽可能打印在同一张A4纸中; 在保证布通率的前提下,尽量选择较大的线宽、安全间距; 四、设计总结 个人真实的总结体会,不低于100字。 五、参考资料 包括网站、网页的资料;从网站上下载资料过多将被视为抄袭,一定要强调自己的设计思路,创新理念。 注: ——课程设计论文用A4纸打印,文中的计量单位、制图、制表、公式、缩略词和符号应遵循国家的有关规定。 ——实验报告采用A4纸双面打印,实验报告的内容全部手写,所有的打印图请牢固粘贴在实验报告上,不要使用QQ截图等低像素的截图工具。 ——封面与任务书双面打印在同一张A4纸;

1、设计题目 数字钟 2、设计内容和要求: 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 设计要求采用中小规模集成器件完成具有以下技术指标的数字钟: (1)显示时、分、秒; (2)24小时制计数; (3)具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。校时时钟源可以手动输入或借用电路中的时钟; (4)具有正点报时功能; (5)要求计时准确、稳定。 3、设计目的 (1)进一步熟悉各种进制计数器的功能及使用; (2)掌握译码器显示电路的应用; (3)熟悉集成芯片的内部结构及应用; (4)掌握数字电子钟的组成与工作原理; (5)提升对实际电路的设计和调试能力。 4、设计原理 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,一般由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等单元组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,在精度要求不高的时候,可选用555定时器构成的振荡器加分频器来实现,但精度要求高的电路中多采用晶体振荡器电路加分频器实现,在本设计中要求精度高,所以选用的是后者。将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”可采用12进制也可采用24进制计数器,本实验采用24进制。最终完成一天的计数过程。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位LED 显示器显示出来。整点报时电路是根据计时系统的输出状态产生一个脉冲信号,去触发音频发生器实现报时。校时电路是对“时、分”显示数字进行校正和调整。其数字电子钟系统框图如图1所示。

《c语言课程设计报告--小游戏“石头剪子布”》

《C语言课程设计》报告题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩:

目录: 一、选题背景...................................................................................................................... - 2 - 二、设计思路...................................................................................................................... - 2 - 三、主要问题的解决方法及关键技术.............................................................................. - 3 - 四、程序流程图.................................................................................................................. - 3 - 五、源程序清单.................................................................................................................. - 6 - 六、程序运行结果.............................................................................................................. - 8 - 七、设计总结...................................................................................................................... - 9 - 八、教师评语.................................................................................................................... - 10 - 一、选题背景 通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

课程设计报告【模板】

模拟电子技术课程设计报告设计题目:直流稳压电源设计 专业电子信息科学与技术 班级电信092 学号 200916022230 学生姓名夏惜 指导教师王瑞 设计时间2010-2011学年上学期 教师评分 2010年月日

昆明理工大学津桥学院模拟电子技术课程设计 目录 1.概述 (2) 1.1直流稳压电源设计目的 (2) 1.2课程设计的组成部分 (2) 2.直流稳压电源设计的内容 (4) 2.1变压电路设计 (4) 2.2整流电路设计 (4) 2.3滤波电路设计 (8) 2.4稳压电路设计 (9) 2.5总电路设计 (10) 3.总结 (12) 3.1所遇到的问题,你是怎样解决这些问题的12 3.3体会收获及建议 (12) 3.4参考资料(书、论文、网络资料) (13) 4.教师评语 (13) 5.成绩 (13)

昆明理工大学津桥学院模拟电子技术课程设计 1.概述 电源是各种电子、电器设备工作的动力,是自动化不可或缺的组成部分,直流稳压电源是应用极为广泛的一种电源。直流稳压电源是常用的电子设备,它能保证在电网电压波动或负载发生变化时,输出稳定的电压。一个低纹波、高精度的稳压源在仪器仪表、工业控制及测量领域中有着重要的实际应用价值。 直流稳压电源通常由变压器、整流电路、滤波电路、稳压控制电路所组成,具有体积小,重量轻,性能稳定可等优点,电压从零起连续可调,可串联或关联使用,直流输出纹波小,稳定度高,稳压稳流自动转换、限流式过短路保护和自动恢复功能,是大专院校、工业企业、科研单位及电子维修人员理想的直流稳压电源。适用于电子仪器设备、电器维修、实验室、电解电镀、测试、测量设备、工厂电器设备配套使用。几乎所有的电子设备都需要有稳压的电压供给,才能使其处于良好的工作状态。家用电器中的电视机、音响、电脑尤其是这样。电网电压时高时低,电子设备本身耗供电造成不稳定因家。解决这个不稳定因素的办法是在电子设备的前端进行稳压。 直流稳压电源广泛应用于国防、科研、大专院校、实验室、工矿企业、电解、电镀、充电设备等的直流供电。 1.1直流稳压电源设计目的 (1)、学习直流稳压电源的设计方法; (2)、研究直流稳压电源的设计方案; (3)、掌握直流稳压电源的稳压系数和内阻测试方法。 1.2课程设计的组成部分 1.2.1 设计原理

动画与游戏设计-课程设计报告

《动画与游戏开发》 课程报告 学号:111102020103 姓名:张慧 专业班级:11级计科本01班 日期:2013-12-9

电子信息工程学院 目录 一、课程内容及应用领域 1.1基于DirectX的粒子系统 (3) 1.1.1 粒子系统简介 (3) 1.1.2广告板技术 (3) 1.1.3粒子系统的基本原理 (3) 1.2粒子系统的应用领域 (3) 二、课程内容的难点、疑点 2.1课程要点 (4) 2.2课程难点 (4) 2.3课程疑点 (4) 三、实例开发 3.1实例题目及说明 (4) 3.2关键技术 (5) 3.2.1系统完成的四部曲 (5) 3.2.2星光粒子结构构成技术 (5) 3.2.3 MyPaint()绘图函数 (5) 3.3开发过程 (9) 3.3.1案例所需背景图 (10) 3.3.2程序部分代码 (10) 3.3.3运行结果截图 (15)

3.4总结..........................................................17四、谈谈自己对课程内容的掌握程度

一、课程内容及应用领域 1.课程内容:基于DirectX的粒子系统 相关内容简介: (1)粒子系统简介 粒子系统是三维图形编程领域中用于实现特殊效果的一种非常重要的技术.该技术是由Reeves于1983年首次提出来的.通过粒子系统可以使用非常简单的粒子来构造复杂的物体,它为模拟动态的不规则物体,提供了强有力的技术手段。一般情况下,粒子的几何特征十分简单,可以用一个像素或一个小的多边形来表示.如果给出了粒子中心点的坐标和粒子大小,不难计算出绘制粒子所需要的四个顶点的位置坐标. (2)广告板技术 由于通常使用平面图形而不是立体图形表示一个粒子,所以需要使用的粒子四边形始终面向观察者.这就要使用广告板技术.广告板技术的原理是,在渲染一个多边形时,首先根据观察方向构造一个旋转矩阵,利用该矩阵旋转多边形使其面向观察者,如果观察方向不断变化,就要不断旋转多边形. (3)粒子系统的基本原理 粒子通常都是一个带有纹理的四边形。我们通过这个使用了纹理映射的四边形,可以认为粒子实际上是一个很小的网格模型,只不过是纹理赋予了它特殊的外表罢了。绘制粒子就如果绘制多边形一样简单,因为一个粒子说白了就是一个可改变大小并映射了纹理的四边形罢了。 粒子系统由大量的粒子构成,粒子是一种微小的物体,每个粒子都具有一定的属性,如位置、大小以及纹理,可能还需要颜色、透明度、运动速度、加速度、生命期等属性。我们可以把粒子想象成颗粒状的物体,如雪花,雨滴,沙尘,烟雾等特殊的事物。又比如游戏中的

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!”,游戏结束。游戏结束后,按任意键出去。

unity3d游戏课程设计报告

游戏程序设计课程报告 课程: Unity3D课程设计题目:探索迷宫 班级: 学号: 姓名:

日期:2014.12 一、摘要 1 UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D软件 的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。

二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交2 互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分

游戏开发课程设计报告模版-扫雷游戏报告(定稿)

中原工学院信息商务学院 课程设计报告 2016~2017学年第一学期 课程游戏开发课程设计 课程设计名称扫雷游戏 学生姓名*** 学号***** 专业班级数媒141 指导教师郑全录 2016年12月

目录 第一章设计内容及要求 (1) 1.1 扫雷游戏的基本要求 (1) 1.2 游戏需要实现的主要功能 (1) 第二章需求分析 (2) 2.1扫雷游戏界面设计 (2) 2.2 雷区的设计 (2) 2.3 音效的设计 (3) 2.4 扫雷英雄榜的设计 (3) 第三章总体设计 (5) 3.1 总体功能图 (5) 3.2 总体流程图 (5) 第四章主要功能设计流程 (6) 4.1 雷区设计流程图 (6) 4.2 音效设计流程图 (6) 4.3 英雄榜设计流程图 (7) 第五章主要功能设计流程 (8) 5.1 类之间关系图 (8) 5.2程序运行效果图 (8) 5.2.1 游戏登录界面 (8) 5.2.2游戏菜单界面 (9) 5.2.3游戏运行界面 (10) 5.2.4游戏英雄榜界面 (12) 第六章总结 (13) 参考文献 (14) 附录 (15)

第一章设计内容及要求 1.1扫雷游戏的基本要求 当前各种游戏层出不穷,因为游戏的开发成本非常大,所以游戏的开发具有一定的风险性,但是一些小游戏的开发成本具有成本小,编写简单的优势,所以这些小游戏在游戏开发中也占有一席之地。在这类小游戏中包括益智类游戏,它以画面精美、游戏方法简单等特点得到大家的认可。成为人们在工作之余不可或缺的好伙伴。针对这种情况我选择了扫雷游戏该课题作为我的课程题目。 Windows XP和Windows 7系统提供的扫雷游戏是一个很有趣的游戏。本次课程设计的主要任务是使用JA V A语言编写一个与其类似的扫雷游戏。具体要求如下: 1、扫雷游戏分为初级、中级和高级三个级别,同时扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 2、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中任何一个方块便启动了计时器。 3、用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下没有雷,则显示一个数字,该数字代表此方块周围的8个方块中共有多少颗雷。 4、如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),窗口左上角的雷数计数器将会减少一个。 5、扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 6、用户如果遇到疑问的方块,可以勾选游戏菜单下的标记选项卡(或者用快捷键Alt+G然后点击M)即可标记该可疑方块,此时双击右键并可出现“?”标记。另有颜色选项,当用户选中该项时,游戏将以最低图像像素来显示。 7、如果用户需要使用提示声,可选中声音选项,此时将听到计时的咔嗒声。当用户点中雷时,将有爆炸声产生;胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2游戏需要实现的主要功能 1、用户可以自定义级别并且可以任意输入雷数; 2、具有计时功能,既显示用户完成所有扫雷任务所需要的时间; 3、自动保存扫雷英雄榜。

大学物理创新实验报告

大学物理创新实验报告 篇一:大学物理创新实验报告 大学物理实验报告总结 一:物理实验对于物理的意义 物理学是研究物质的基本结构,基本的运动形式,相互作用及其转化规律的一门科学。它 的基本理论渗透在基本自然科学的各个领域,应用于生产部门的诸多领域,是自然科学与 工程科学的基础。物理学在本质上是一门实验学科,物理规律的发现和物理理论的建立都 必须以物理实验为基础,物理学中的每一项突破都与实验密切相关。物理概念的确立,物 理规律的发现,物理理论的确立都有赖于物理实验。 二:物理实验对于学生的意义 大学物理实验已经进行了两个学期,在这两个学期,通过二十几个物理实验,我们对物理 学的理解和认识又更上了一步台阶。通过对物理实验的熟悉,可以帮助我们掌握基本的物 理实验思路和实验器材的操作,进一步稳固了对相关的定理的理解,锻炼理性思维的能力。在提高我们学习物理物理兴趣的同时,培养我们的科学思维和创新意识,掌握实验研究的 基本方法,提高基本科学实验能力。它也是我们进入大学接触的第一门实践性教学环节, 是我们进行系统的科学实验方法和技能训练的重要必修课。它还能培养我们“实事求是的 科学态度、良好的实验习惯、严谨踏实的工作作风、主动研究的创新与探索精神、爱护公 物的优良品德”。 三:我眼中的物理实验的缺陷 1:实验目的与性质的单一性 21世纪的学科体系中,多种学科是相互结合,相互影响的,没有一门学科能独立于其他 学科而单独生存,但是在我们的实验过程中,全都是关于物理,这一单科的实验内容,很 少牵涉到其他。有些实验完全是为了实验而实验,根本不追求与其他学科的联系与结合。2:实验的不及时性及实验信息的不对称性 物理是一门以实验为基础的基本学科,在我们所学的物理内容中,更多的是关于公式定理的,这些需要及时的理解和记忆,最简单的方式是通过实验来进行。但是我们所做的实验,都是学过很久以后,甚至是已经学完物理学科后进行的,这就造成我们对物理知识理解的 不及时性,不能达到既定的效果。而且,我们重复科学实验伟人的实验很大程度上是得知结论后凭借少量的实验数据轻易得出相似的结论,与前人广袤的数据量不可同日而语,这就造成实验信息的不对称性, 不利于从本质上提高我们的实验能力。

大学课程设计报告小小打字游戏设计-课程设计报告

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

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 系统功能 (1) 1.3 信息存储功能 (1) 2 系统设计 (1) 2.1 数据库设计 (1) 2.1.1 GameUser表 (1) 2.1.2 GameInfo表 (2) 2.2 游戏系统设计 (2) 2.2.1 程序项目设计 (2) 2.2.2 功能模块设计 (2) 3 C#系统实现 (5) 3.1 类图 (5) 3.2 核心代码 (6) 3.3 MySqlConn类 (10) 3.4 MainForm类 (11) 3.5 菜单事件 (12) 3.6 窗体键盘事件 (13) 3.7 MyRandom类 (15) 3.8 Program类 (16) 4 总结 (17) 4.1 收获 (17) 4.2 反思 (17) 5 参考文献: (18)

1 设计内容及要求 1.1 设计内容 软件名称:小小打字游戏 需求分析:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。 1.2 系统功能 (1)、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏; (2)、注册功能:不存在的用户,可以注册; (3)、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个; (4)、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值; (5)、游戏显示:游戏窗口随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度; (6)、游戏操作:按下键盘上的A-Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1; (7)、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏数据记录; (8)、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示以及游戏排名。 1.3 信息存储功能 需要存储的信息: (1)游戏分数、(2) 游戏等级、 (3) 用户、 (4)密码、(5)游戏开始时间、(6)游戏结束时间。 2 系统设计 2.1 数据库设计 2.1.1 GameUser表 表1 GameUser表

大学物理演示实验报告.doc

大学物理演示实验报告 学物理演示实验报告--避雷针 一、演示目的 气体放电存在多种形式,如电晕放电、电弧放电和火花放电等,通过此演示实验观察火花放电的发生过程及条件。 二、原理 首先让尖端电极和球型电极与平板电极的距离相等。尖端电极放电,而球型电极未放电。这是由于电荷在导体上的分布与导体的曲率半径有关。导体上曲率半径越小的地方电荷积聚越多(尖端电极处),两极之间的电场越强,空气层被击穿。反之越少(球型电极处),两极之间的电场越弱,空气层未被击穿。当尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离时,其间的电场较弱,不能击穿空气层。而此时球型电极与平板电极之间的距离最近,放电只能在此处发生。 三、装置 一个尖端电极和一个球型电极及平板电极。 四、现象演示 让尖端电极和球型电极与平板电极的距离相等。尖端电极放电,而球型电极未放电。接着让尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离,放电在球型电极与平板电极之间发生

五、讨论与思考 雷电暴风雨时,最好不要在空旷平坦的田野上行走。为什么? 学物理演示实验报告--避雷针 一、演示目的 气体放电存在多种形式,如电晕放电、电弧放电和火花放电等,通过此演示实验观察火花放电的发生过程及条件。 二、原理 首先让尖端电极和球型电极与平板电极的距离相等。尖端电极放电,而球型电极未放电。这是由于电荷在导体上的分布与导体的曲率半径有关。导体上曲率半径越小的地方电荷积聚越多(尖端电极处),两极之间的电场越强,空气层被击穿。反之越少(球型电极处),两极之间的电场越弱,空气层未被击穿。当尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离时,其间的电场较弱,不能击穿空气层。而此时球型电极与平板电极之间的距离最近,放电只能在此处发生。 三、装置 一个尖端电极和一个球型电极及平板电极。 四、现象演示 让尖端电极和球型电极与平板电极的距离相等。尖端电极放电,而球型电极未放电。接着让尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离,放电在球型电极与平板电极之间发

模拟电路课程设计报告完成

模拟电路课程设计报告设计课题:语音滤波器的设计 专业班级:08电信(本) 学生:钟武峰 学号:080802049 指导教师:曾祥华 设计时间:20010年 语音滤波器的设计

一、设计任务与要求 ①分别用压控电压源和无限增益多路反馈二种方法设计电路; ②抑制50Hz工频干扰信号 ③压控电压源的品质因素Q=1,无限增益多路反馈的品质因素Q=2,增益AV >1; ④用桥式整流电容滤波集成稳压块电路设计电路所需的正负直流电源(±12V)。 二、方案设计与论证 由设计要求可知,此次设计的主要目的是设计出能抑制50HZ工频信号的滤波电路。即在输入端加入不同频率的语音信号后,在50HZ左右的信号将能受到抑制,而超出这个抑制围的信号将能够通过,所以应选用带阻滤波器实现功能。其次,应分别用压控电压源和无限增益多路反馈两种方法进行设计。其次用桥式整流电容滤波集成稳压块电路设计电路所需的稳定的正负直流电源,联系课本,即可用桥式整流电路和电容滤波电路和稳压管稳压电路构成。 一,电流源设计: 要求输出V ± 12 ()1电流源设计思路: 1)电网供电电压交流220V(有效值)50Hz,要获得低压直流输出,首先必须采用电源变压器将电网电压降低获得所需要交流电压。 2)降压后的交流电压,通过整流电路变成单向直流电,但其幅度变化大(即脉动大)。 3)脉动大的直流电压须经过滤波电路变成平滑,脉动小的直流电,即将交流成份滤掉,保留其直流成份。 4)滤波后的直流电压,再通过稳压电路稳压,便可得到基本不受外界影响的稳定直流电压输出,供给负载RL。 由设计要求可知,设计中的整流部分,应该也必须用桥式整流电路。

快速配对游戏_课程设计报告

Visual Basic 课程设计报告 所属课程名称:Visual Basic程序设计 课程设计题目:快速配对游戏 课程设计难度:两星 课程设计时间:2012.2.27 ~ 4.18 学号:9121091601XX 姓名:XXX 南京理工大学机械工程学院 二〇一三年X月

一、程序功能 (1)运行程序,显示如图1的开始界面,图片均为“背对”用户。单击“开始”按钮,图片显示1.5秒(如图2,图片均随机安排),然后翻过去。用户使用鼠标将图片翻起,如果连续 单击的两个图片内容相同则会保持显示状态;如果两图片不同,两张图片0.5秒后自动翻 过去。用户凭记忆在尽量短的时间内将8对图片全部“翻起”,游戏完成。 图1 图2 (2)从用户第一次单击图片是,程序开始计时(以秒为单位),并在窗口的右上角显示已用时间。 没击中一对图片,窗口中显示一个“笑脸”图标,否则显示一个“严肃的脸”图标(见图 3)。 图3 (3)程序自动记录前三个最短完成时间,在游戏结束时一图4所示的消息框显示所用的时间,

并请玩家输入名字。单击“排行榜”按钮时可以弹出“排行榜”窗体,如图5所示,显示 前三名所用的时间。 图4 图5 (4)在游戏中,窗口的“开始”和“排行榜”按钮成无效态,游戏完成后,“开始”按钮变为“重来”,单击该按钮可以从头再来一局。 二、课程设计的详细设计 游戏主界面:(1)窗体的顶部要放置“开始”、“排行榜”和“退出”按钮。在放置一个两个重合的图像控件用来显示游戏中的“笑脸”和“严肃的脸”。再放置一个标签控件来显 示用户所用的时间。加入三个定时器控件“Timershow”、“Timercompare”和 “Timercounter”分别来控制展示图片的时间、点击不同图片后图片的展示时 间和记录玩家的所用时间。 (2)窗体的中部放置16个图像框控件数组“”来放置游戏中的图片。和一个放置“背面”图片的图像框控件“Imageback” 在案安排游戏使用图片时使用的是随机函数Rnd随机的将“Imagepicture()” 的Index值赋给数组,然后将这些选中的图片的“Picture”属性赋给“Imageshow ()” 图像框达到随机安排图片的目的。 (3)窗体的下部放置31个图像框控件“Imagepicture()”来放置31种不同的候选图片。 排行榜窗体:(1)加入12个标签控件用来显示“排行榜”。“LabelWanjia()”控件组显示玩家姓名,“LabelChengji()”控件组显示玩家成绩。 (2)添加“返回”按钮,单击按钮时返回游戏主界面。 游戏加载时将“chengji”文件中的已存入的成绩和玩家姓名加载到“排行榜”窗体的相应位置上。 在游戏完成时用消息框提示你的成绩,如果你的成绩进入前三名则可以再“Inputbox”里面输入自己的姓名。 在游戏程序结束时将“排行榜”窗体上的内容存入成绩文件中。 全程序中使用控件数组和数组使程序的编写简单、明了。

java扫雷游戏课程设计报告

Java课程设计报告 姓名 号学 系院 级班 业专 1.设计内容及要求 1.1 扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下: (1) 扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 (2) 选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。 (3) 用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。. (4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为

是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (5) 扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 (6)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G 然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。 (7)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2 需实现的主要功能 (1)用户可以自定义级别并且可以任意输入雷数; (2)具有计时功能,即显示用户完成移动盘子所花费的时间; (3)用户可以选择是否有音效; (4)自动保存扫雷英雄榜; 2.需求分析 2.1 扫雷棋盘的布局设计 系统的整体布局为:CardLayout布局, 采用了菜单、按钮、面板…等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出,按钮的功能是重新开始新的游戏。 2.2 雷区的设计 MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener 和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成 图2-1 MineArea类的UML图

相关文档
最新文档