打砖块游戏课程设计报告分解_第1页
打砖块游戏课程设计报告分解_第2页
打砖块游戏课程设计报告分解_第3页
打砖块游戏课程设计报告分解_第4页
打砖块游戏课程设计报告分解_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章程序设计专题目的与要求11.1 程序设计目的11.2 程序设计的实验环境11.3 程序设计的预备知识11.4 程序设计要求1第2章程序设计内容22. 1概要设计22. 2程序整体设计说明22. 3程序部分源代码及注释82. 4测试结果12第3章程序设计总结13参考文献14辽宁工业大学课程设计说明书(论文)第1章 程序设计目的与要求1.1 程序设计目的c#.net程序设计是计算机科学与技术专业的必修专业基础课程,其实践性、应 用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是软 件技术专业学生学习完c#.net程序设计课程后,进行的一次全面的综合训练,c#.net

2、程序设”的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设 计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软 件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 程序设计的实验环境硬件要求能运行windows xp操作系统的微机系统。c#.net程序设计语言及相应的集 成开发环境 visual studio. neto1. 3程序设计的预备知识熟悉c#语言及visual studio, net集成开发环境。1.4程序设计要求按程序设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达 到举一反三的目的,完成一个项目解决一类问

3、题。要求学生能够全面、深入理解和熟练 掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握, 能够进行简单分析和判断;能编写出具有良好风格的程序;掌握c#.net2003的基本技能 和面向对象的概念和方法;了解windows编程。同时培养学生进行分析问题、解决问题 的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解 和归纳能力的提高。3第2章 程序设计内容2.1程序设计题目打破块游戏:作为我们一款熟知的游戏我想大家都不陌生吧,就是通过挡板把小球挡回, 不让小球落地,直到打光所有砖块为止,游戏过关进入更难得模式小球速度更快,砖块 组成的图案发生改变

4、,是一个很有趣味的小游戏。2. 2程序整体设计说明3. 2.1程序设计内容1 .需求分析本系统为一个用c#实现的为我们所熟悉的简单的打砖块游戏,该系统的具体功 能如下:1)能简便的开始游戏,游戏中的功能与日常我们所熟悉的游戏的功能一致,直到砖 块全部打光过关和在破块打光之前机会用完游戏结束功能;2)当游戏结束时会自动弹出消息框提示本关所获得得分数;3)当过关时会出现提示图片,点击进入下一关,下一关的方块位置和所组成的形状 会发生改变2 设计环境本程序选择visual studio 2008作为实验环境。3 .程序设计内容和思路1)游戏设计游戏开始时,小球会停在挡板正中间,而且此时小球可以随着挡

5、板左右 自由移动,当按下空格键小球弹出,并在程序设定的区域中不停碰撞反弹。2)当小球碰撞到墙壁、挡板、和砖块的时候,均以相同的速度反弹,并且砖块被碰 撞后会以相同的速度反弹,并且当破块被碰撞后会消失。3)挡板可以左右移动以接住小球,若超过三次没有接住,则游戏结束,按退出键退 出,当所有砖块全部打光时则出现进入下一关的提示框,点击进入下一关。2. 2. 1.1程序中所用类说明根据设计思路,可以为系统设计三个类,实现小球的类russiablock继承object类,主窗体类yainform类,设置窗体类settingform类。using system;using system. collecti

6、ons. generic;using system. text;using system. drawing;namespace arkanoidclass disposedao/ summary)/处理球碰到砖块后弹的方向(上下)/ / 砖的 x 坐标/ 砖的 y 坐标/ 砖的水平长度/param/ 砖的高度/ 球的 x 坐标/ 球的 y 坐标/ 球的直径/returns返回 string 类型值/returns)public static string disposetopdown(int bx, int by, int bw, int bh, int qx, int qy, int qr)

7、(string yfangxiang =;int f = 0; 方向if (math. abs(by - (qy + qr) = 2) (f = 1; 从上碰撞到球)else if (math. abs(qy - (by + bh) = 2)(f = 2; 从下碰撞到球)if (f = 1)(yfangxiang = ytop;)else if (f = 2) (yfangxiang = ydown”;)return yfangxiang;)/ /处理球碰到砖块后弹的方向(左右)/ /summary/ 砖的 x 坐标/ 砖的 y 坐标/ 砖的水平长度/ 砖的高度/ 球的 x 坐标/ 球的 y

8、坐标/ 球的直径辽宁工业大学课程设计说明书(论文)/returns返回 string 类型值/returns)/ /处理球碰撞到砖块后的动作/ /summary/ param name=point”)砖块的坐标/ 球的 x 坐标/ 球的 y 坐标/ 球的直径/ 目前 x l/ 目前 y 方向/ rreturndatadbean 类型值/returns)public static returndatabean disposebrick(point point, int qx, int qy, int qr, string xfangxiang, string yfangxiang)rn rdb;

9、)2.2. 2.程序窗体2. 2. 2. 1程序主界面进入游戏时的主界面,可以选择开始、帮助和退出功能。2. 2. 2.1程序主界面2. 2. 2. 2游戏界面游戏开始前的画面,显示游戏信息,分数、关卡、及生命次数。2. 2. 2. 2游戏界面2.2.2. 3帮助界面帮助信息,是关于游戏如何开始,介绍游戏玩法,以及开发作者的游戏说明。 我们来帮忙!二一暂游戏说明:.该游戏区名思义是军珠去打.乒率上方的去块,您可以与键盘上的(左锲)和(右暹)来控制狂茸下方的麦条!准菖好以后.按.三7岁键发射凄条上的球.福块打宾以后就可以进入下一关噢!以不能撞下来-落下以后必须三厘条接住,否则就输了噢!只有三班机

10、会噢!作者:姜洪亶,王晓迪2. 2. 2. 3帮助界面2. 2. 2.4开始游戏进入游戏之后,游戏开始画面,空格开始游戏,可以通过键盘的一、f来控制挡板的移 动。2. 2. 2. 4开始游戏游戏结束游戏结束画面,当你用完所有的生命时,会弹出此窗口,提示你所得分数,游戏结束, 可退出。2. 2. 2. 5游戏结束2. 2. 2. 6游戏过关提示当你打光所有破块时,屏幕会出现此字样,提示你点击进入下一关,显示剩余生命值。2.2. 2.6游戏过关2. 2. 3异常处理说明退出命令。用户可直接退出程序。注意,如果在游戏过程中鼠标点击别的地方,或关闭别的文件,此时游戏会继续运行, 只要点击

11、窗口则会继续进行。2. 2. 4程序运行效果及存在的问题2. 2. 4. 1未处理问题2. 2. 4.1未处理问题2. 3程序部分源代码及注释2. 3. 1 russiablock 类以下涉及的词语基本块指的是由四个小方块构成的实体,四个小方块指的是小正方 形。方块与基本块同义。1)构造函数,通过给定的参数:控件实例,左边界,底边界,小方块(一个基本块由4 个小方块构成)单位象素,形状号,起始位置,颜色。2)程序部分源代码及注释using system. collections. generic;using system. componentmodel;using system. data;u

12、sing system. drawing;using system. text;using system. windows. forms;using system. threading;namespace arkanoid public partial class gamecoll : form (public gamecoll() (initiali zecomponent 0;)point pointpic = new point50;封装picturebox对象string keyspace =是否按下空格键string key =;是否按下左右键string xfangxiang =

13、xright”;/x方向默认为右string yfangxiang = ytop;y方向默认为上int x = 4;/x坐标移动方向int y = 4;/y坐标移动方向public static int count = 3;剩余机会int bw = 0;砖块宽度int bh = 0;砖块高度int qr = 0;球的直径point dispoint = new point (999, 999);移动砖块到xy位置public static int score = 0;得分int _count = -1;int countb = 50;returndatabean rdb = new retur

14、ndatabeano;控制球的移动timer事件private void timerl_tick(object sender, eventargs e) (_count = -1;击中的哪一个砖块if (countb = 0) (keyspace = stop;xfangxiang =yfangxiang 二;this. picnext. location = new point (12, 254);) 右上if (keyspace = space & xfangxiang = xright & yfangxiang = ytop) (this. topright 0; /左下else if

15、(keyspace = space & xfangxiang = xleft & yfangxiang = ytop) (this. topleft 0 ; 左下else if (keyspace = space & xfangxiang = xleft & yfangxiang = ydown) (this. downleft0;)/右下else if (keyspace = space & xfangxiang = xright & yfangxiang = ydown) (this. downright ();)判断是否击中球if qcount = 0 & _count = (this.

16、 picleftborder. location. x + 18) (fpoint. x -= 10;if (keyspace =)qpoint. x -= 10; ) ) this. picfeichuan. location = fpoint; this. picqiu. location = qpoint; ) else if (key = right) (point fpoint = this. picfeichuan. location;point qpoint = this. picqiu. location;if (this. picfeichuan. location. x =

17、 (this. picrightborder. location. x - 97) fpoint. x += 10;if (keyspace = ) (qpoint. x += 10; ) )this. picfeichuan. location = fpoint;this. picqiu. location = qpoint; )3)游戏结束代码using system;using system. collections. generic;using system. componentmodel;using system. data;using system. drawing;using s

18、ystem. text;using system. windows. forms;using system. 10;namespace arkanoid public partial class gameover : form(public gameover() (initializecomponent 0;)private void lblexit_click(object sender, eventargs e)application. exit 0;)private void lblexit_mouseenter(object sender, eventargs e)(this. ibl

19、exit. forecolor = color. red;)private void lblexit_mouseleave(object sender, eventargs e) (this. iblexit. forecolor = color. black;)private void gameover_load(object sender, eventargs e)(this. iblscore. text = gamecoll. score. tostringo ;)private void labell_click(object sender, eventargs e) )2. 4测试

20、结果2.4. 1主窗体运行界面编程完毕后,运行调试,主窗体界面,及游戏信息。一2. 4.1主窗体运行界面第3章程序设计总结在期末的课程设计中,我选择的是设计一个游戏(打砖块),这对于我们来说是一 次尝试与创新的过程,也可以说是一个挑战的过程毕竟以前没有做过这类的课设,缺乏 一定的经验,现在利用自己学到的知识设计并制作一个游戏,这本身就是一个知识转化 为生产力的过程,所以我很兴奋,投入了很高的热情和努力在具体设计和实施中,我感受到了一个程序与无到有的过程,对具体的设计步骤, 思路,方法,技巧都有了进一步的了解,并且感受深刻。在设计中我基本按照规范的方法和步骤进行,首先调查这个游戏,并查阅相关资料, 然后确

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论