C专业课程设计打砖块_第1页
C专业课程设计打砖块_第2页
C专业课程设计打砖块_第3页
C专业课程设计打砖块_第4页
C专业课程设计打砖块_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

辽宁工业大学C#.NET程序设计课程设计(汇报)题目:打砖块游戏院(系):软件学院专业班级:计算机信息管理101班学号:学生姓名:姜洪亮指导老师:胡峰老师职称:助教起止时间:.11.21至.12.02程序设计专题(汇报)任务及评语院(系):软件学院教研室:软件教研窒学号学生姓名姜洪亮专业班级计算机信息管理101班程序设计(汇报)题目打砖块游戏程序设计(汇报)任务程序设计专题任务和要求:(1)掌握c#.net编程、面向对象基础知识。(2)较熟练地编写c#.netwindows应用程序。(3)了解C#.net常见类库、编程技巧、异常处理。(5)联络已学过内容,巩固所学理论,增强独立工作能力。(6)经过设计关键使学生有一个独立编写程序过程,对理论学习及动手能力全部有一个很大提升。(7)经过此次设计,深入培养学生热爱专业思想,同时对本专业综合素质提升起一个主动推进作用。程序设计过程中,要严格遵守实践步骤时间安排,听从指导老师指导。正确地完成上述内容,统计实习日志,规范完整地撰写出实训汇报。指导老师评语及成绩成绩:指导老师签字:年12月目录第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程序设计目标《C#.Net程序设计》是计算机科学和技术专业必修专业基础课程,其实践性、应用性很强。实践教学步骤是必不可少一个关键步骤。本课程程序设计专题实际是软件技术专业学生学习完《C#.Net程序设计》课程后,进行一次全方面综合训练,C#.Net程序设计设计目标是加深对理论教学内容了解和掌握,使学生较系统地掌握程序设计及其在网络开发中广泛应用,基础方法及技巧,为学生综合利用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2程序设计试验环境硬件要求能运行Windowsxp操作系统微机系统。C#.Net程序设计语言及对应集成开发环境visual。1.3程序设计预备知识熟悉c#语言及visual集成开发环境。1.4程序设计要求按程序设计指导书提供课题,要求学生在自行完成各个操作步骤,并能实现且达成举一反三目标,完成一个项目处理一类问题。要求学生能够全方面、深入了解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够很好地了解和掌握,能够进行简单分析和判定;能编写出含有良好风格程序;掌握c#.net基础技能和面向对象概念和方法;了解windows编程。同时培养学生进行分析问题、处理问题能力;培养学生进行设计分析、设计方法、设计操作和测试、设计过程观察、了解和归纳能力提升。程序设计内容2.1程序设计题目打砖块游戏:作为我们一款熟知游戏我想大家全部不陌生吧,就是经过挡板把小球挡回,不让小球落地,直到打光全部砖块为止,游戏过关进入更难得模式小球速度愈加快,砖块组成图案发生改变,是一个很有趣味小游戏。2.2程序整体设计说明2.2.11.需求分析本系统为一个用C#实现为我们所熟悉简单打砖块游戏,该系统具体功效以下:能简便开始游戏,游戏中功效和日常我们所熟悉游戏功效一致,直到砖块全部打光过关和在砖块打光之前机会用完游戏结束功效;当游戏结束时会自动弹出消息框提醒本关所取得得分数;当过关时会出现提醒图片,点击进入下一关,下一关方块位置和所组成形状会发生改变2设计环境本程序选择VisualStudio作为试验环境。3.程序设计内容和思绪游戏设计游戏开始时,小球会停在挡板正中间,而且此时小球能够伴随挡板左右自由移动,当按下空格键小球弹出,并在程序设定区域中不停碰撞反弹。当小球碰撞到墙壁、挡板、和砖块时候,均以相同速度反弹,而且砖块被碰撞后会以相同速度反弹,而且当砖块被碰撞后会消失。挡板能够左右移动以接住小球,若超出三次没有接住,则游戏结束,按退出键退出,当全部砖块全部打光时则出现进入下一关提醒框,点击进入下一关。2.2.1依据设计思绪,能够为系统设计三个类,实现小球类RussiaBlock继承Object类,主窗体类MainForm类,设置窗体类SettingForm类。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Drawing;namespaceArkanoid{classDisposeDAO{///<summary>///处理球碰到砖块后弹方向(上下)///</summary>///<paramname="bx">砖X坐标</param>///<paramname="by">砖Y坐标</param>///<paramname="bw">砖水平长度</param>///<paramname="bh">砖高度</param>///<paramname="qx">球X坐标</param>///<paramname="qy">球Y坐标</param>///<paramname="qr">球直径</param>///<returns>返回string类型值</returns>publicstaticstringDisposeTopDown(intbx,intby,intbw,intbh,intqx,intqy,intqr){stringYfangxiang="";intf=0;//方向if(Math.Abs(by-(qy+qr))<=2){f=1;//从上碰撞到球}elseif(Math.Abs(qy-(by+bh))<=2){f=2;//从下碰撞到球}if(f==1){Yfangxiang="YTop";}elseif(f==2){Yfangxiang="YDown";}returnYfangxiang;}///<summary>///处理球碰到砖块后弹方向(左右)///</summary>///<paramname="bx">砖X坐标</param>///<paramname="by">砖Y坐标</param>///<paramname="bw">砖水平长度</param>///<paramname="bh">砖高度</param>///<paramname="qx">球X坐标</param>///<paramname="qy">球Y坐标</param>///<paramname="qr">球直径</param>///<returns>返回string类型值</returns>///<summary>///处理球碰撞到砖块后动作///</summary>///<paramname="point">砖块坐标</param>///<paramname="qx">球X坐标</param>///<paramname="qy">球Y坐标</param>///<paramname="qr">球直径</param>///<paramname="xfangxiang">现在X方向</param>///<paramname="yfangxiang">现在Y方向</param>///<returns>RreturnDataDbean类型值</returns>publicstaticReturnDataBeanDisposeBrick(Point[]point,intqx,intqy,intqr,stringxfangxiang,stringyfangxiang)rnrdb;}}}.2.1进入游戏时主界面,能够选择开始、帮助和退出功效。.2.2游戏游戏开始前画面,显示游戏信息,分数、关卡、及生命次数。帮助帮助信息,是相关游戏怎样开始,介绍游戏玩法,和开发作者游戏说明。.2.4进入游戏以后,游戏开始画面,空格开始游戏,能够经过键盘←、→来控制挡板移动。.2游戏结束画面,当你用完全部生命时,会弹出此窗口,提醒你所得分数,游戏结束,可退出。.2.6游戏当你打光全部砖块时,屏幕会出现此字样,提醒你点击进入下一关,显示剩下生命值。.退出命令。用户可直接退出程序。注意,假如在游戏过程中鼠标点击别地方,或关闭别文件,此时游戏会继续运行,只关键点击窗口则会继续进行。..12.3程序部分源代码及注释RussiaBlock类以下包含词语基础块指是由四个小方块组成实体,四个小方块指是小正方形。方块和基础块同义。结构函数,经过给定参数:控件实例,左边界,底边界,小方块(一个基础块由4个小方块组成)单位象素,形状号,起始位置,颜色。程序部分源代码及注释usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Threading;namespaceArkanoid{publicpartialclassGameCol1:Form{publicGameCol1(){InitializeComponent();}Point[]pointPic=newPoint[50];//封装pictureBox对象stringkeySpace="";//是否按下空格键stringkey="";//是否按下左右键stringxfangxiang="XRight";//X方向默认为右stringyfangxiang="YTop";//Y方向默认为上intx=4;//X坐标移动方向inty=4;//Y坐标移动方向publicstaticintcount=3;//剩下机会intbw=0;//砖块宽度intbh=0;//砖块高度intqr=0;//球直径Pointdispoint=newPoint(999,999);//移动砖块到XY位置publicstaticintscore=0;//得分int_count=-1;intcountB=50;ReturnDataBeanrdb=newReturnDataBean();//控制球移动timer事件privatevoidtimer1_Tick(objectsender,EventArgse){_count=-1;//击中哪一个砖块if(countB==0){keySpace="Stop";xfangxiang="";yfangxiang="";this.picNext.Location=newPoint(12,254);}//右上if(keySpace=="Space"&&xfangxiang=="XRight"&&yfangxiang=="YTop"){this.TopRight();}//左下elseif(keySpace=="Space"&&xfangxiang=="XLeft"&&yfangxiang=="YTop"){this.TopLeft();}//左下elseif(keySpace=="Space"&&xfangxiang=="XLeft"&&yfangxiang=="YDown"){this.DownLeft();}//右下elseif(keySpace=="Space"&&xfangxiang=="XRight"&&yfangxiang=="YDown"){this.DownRight();}//判定是否击中球if(_count>=0&&_count<50){this.IsScore(_count);}}//按下键盘键发生事件privatevoidGameCol1_KeyDown(objectsender,KeyEventArgse){if(e.KeyCode==Keys.Left){key=e.KeyCode.ToString();}if(e.KeyCode==Keys.Right){key=e.KeyCode.ToString();}if(e.KeyCode==Keys.Space){keySpace=e.KeyCode.ToString();}}//释放键盘键发生事件privatevoidGameCol1_KeyUp(objectsender,KeyEventArgse){key="";}//单击退出键发生事件privatevoidlblClose_Click(objectsender,EventArgse){GameMain.isLoginGame=false;Program.bol=true;this.Close();}privatevoidlblClose_MouseEnter(objectsender,EventArgse){this.lblClose.ForeColor=Color.Red;}privatevoidlblClose_MouseLeave(objectsender,EventArgse){this.lblClose.ForeColor=Color.Black;}privatevoidgoFeichuan_Tick(objectsender,EventArgse){if(key=="Left"){PointFpoint=this.picFeichuan.Location;PointQpoint=this.picQiu.Location;if(this.picFeichuan.Location.X>=(this.picLeftborder.Location.X+18)){Fpoint.X-=10;if(keySpace==""){Qpoint.X-=10;}}this.picFeichuan.Location=Fpoint;this.picQiu.Location=Qpoint;}elseif(key=="Right"){PointFpoint=this.picFeichuan.Location;PointQpoint=this.picQiu.Location;if(this.picFeichuan.Location.X<=(this.picRightborder.Location.X-97)){Fpoint.X+=10;if(keySpace==""){Qpoint.X+=10;}}this.picFeichuan.Location=Fpoint;this.picQiu.Location=Qpoint;}}游戏结束代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceArkanoid{publicpartialclassGameOver:Form{publicGameOver(){InitializeComponent();}privatevoidlblExit_Click(objectsender,EventArgse){Application.Exit();}privatevoidlblExit_MouseEnter(objectsender,EventArgse){this.lblExit.ForeColor=Color.Red;}privatevoidlblExit_MouseLeave(objectsender,EventArgse){this.lblExit.ForeColor=Color.Black;}

温馨提示

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

评论

0/150

提交评论