GUI课程设计报告_第1页
GUI课程设计报告_第2页
GUI课程设计报告_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、«GUI.Net应用程序设计课程设计报告设计题目:俄罗斯方块专业计算机科学与技术班级110051B学号12010051044、12010051053学生姓名曹蒋星、乔伟岭指导教师顾洪设计时间2012-12-24至2013-1-6教师评分2013年1月4日一、课程设计概述1.1.1设计任务及目的1.1.2课程设计的步骤1.二、课程设计过程1.2.1对象分析1.2.2界面详细设计3.2.3设计模型3.2.4总结4.2.5参考资料22课程设计概述1.1设计任务及目的C#中俄罗斯方块小游戏的简单的实现1.2课程设计的步骤1. 构思框架2. 考虑能力以内所能实现的简单功能3. 编写代码调试并寻

2、找问题,解决问题课程设计过程2.1对象分析1、整体结构规划思想要求阐述系统整体结构的选择、设计的思想,绘制功能结构图。进入俄罗斯游戏页面,按照简单的游戏思路进行游戏!通过数组操作,逐步实现方块的产生、下落、变形、左右移动、消除、整体卜落、以及积分的功能。方块生(判断是否下落)下落”(是否可以左右移动)变形、左右移动(判断是否满行)消行(是否消行成功)增加积分2、主界面设计思想简单活晰,让人容易看懂游戏的玩法。3、子界面的设计思想要求对子界面的设计以及界面上对象的选取思路进行阐述和分析无子界面!2.2界面详细设计对主界面的设计实现过程进行阐述和分析,详细说明制作该界面的步骤,所使用的对象以及届性

3、设置、使用事件及代码等。2.3设计模型原型设计图:设计效果图:#region定义砖块inti,j,y,xTricks:i为那块砖,j为状态,丫为列,x为行privateint,Tricks=(1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,

4、0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0(1,0,0,0,(1,1,0,0,(0,1,0,0,(0,0,0,0,(0,1,1,0,(1,1,0,0,(0,0,0,0,(0,0,0,0,(1,1,0,0,(0,1,0,0,(0,1,0,0,(0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0;#endr

5、egion#region定义背景privateint,bgGraoud=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

6、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,/随机生成方块和状态privatevoidBeginTricks()(随机生成砖码和状态码inti=rand.Next(

7、0,TricksNum);intj=rand.Next(0,StatusNum);CurrentTrickNum=i;CurrentStatusNum=j;分配数组for(inty=0;y<4;y+)(for(intx=0;x<4;x+)(CurrentTricky,x=Tricksi,j,y,x;)CurrentX=0;CurrentY=0;timer1.Start();/变化方块privatevoidChangeTricks()(if(CurrentStatusNum<3)(CurrentStatusNum+;)else(CurrentStatusNum=0;)for(i

8、nty=0;y<4;y+)(for(intx=0;x<4;x+)(CurrentTricky,x=TricksCurrentTrickNum,CurrentStatusNum,y,x;)下落方块privatevoidDownTricks()(if(CheckIsDown()(CurrentY+;else(if(CurrentY=0)(timer1.Stop();MessageBox.Show("OVER");return;/下落完成,修改背景for(inty=0;y<4;y+)(for(intx=0;x<4;x+)(if(CurrentTricky,

9、x=1)(bgGraoudCurrentY+y,CurrentX+x=CurrentTricky,x;)CheckSore();BeginTricks();)Draw();)/检测是否可以向下了privateboolCheckIsDown()for(inty=0;y<4;y+)for(intx=0;x<4;x+)if(CurrentTricky,x=1)/超过了背景if(y+CurrentY+1>=20)returnfalse;if(x+CurrentX>=14)(CurrentX=13-x;)if(bgGraoudy+CurrentY+1,x+CurrentX=1)(

10、returnfalse;)returntrue;)检测是否可以左移privateboolCheckIsLeft()(for(inty=0;y<4;y+)(for(intx=0;x<4;x+)(if(x+CurrentX-1<0)(returnfalse;if(bgGraoudy+CurrentY,x+CurrentX-1=1)(returnfalse;returntrue;/检测是否可以右移privateboolCheckIsRight()(for(inty=0;y<4;y+)(for(intx=0;x<4;x+)(if(x+CurrentX+1>=14)(

11、returnfalse;if(bgGraoudy+CurrentY,x+CurrentX+1=1)(returnfalse;returntrue;privatevoidDraw()(Graphicsg=Graphics.FromImage(myImage);g.Clear(this.BackColor);for(intbgy=0;bgy<20;bgy+)for(intbgx=0;bgx<14;bgx+)(if(bgGraoudbgy,bgx=1)(g.FillRectangle(newSolidBrush(Color.Blue),bgx*20,bgy*20,20,20);)/绘制当

12、前的图片for(inty=0;y<4;y+)(for(intx=0;x<4;x+)(if(CurrentTricky,x=1)(g.FillRectangle(newSolidBrush(Color.Blue),(x+CurrentX)*20,(y+CurrentY)*20,20,20);)Graphicsgg=panel1.CreateGraphics();gg.DrawImage(myImage,0,0);privatevoidtimer1_Tick(objectsender,EventArgse)(DownTricks();)privatevoidForm1_KeyDown(

13、objectsender,KeyEventArgse)(if(e.KeyCode=Keys.W)(ChangeTricks();Draw();)elseif(e.KeyCode=Keys.A)(if(CheckIsLeft()(CurrentX-;Draw();)elseif(e.KeyCode=Keys.D)(if(CheckIsRight()(CurrentX+;)Draw();)elseif(e.KeyCode=Keys.S)(timer1.Stop();timer1.Interval=10;timer1.Start();)privatevoidForm1_KeyUp(objectsender,KeyEventArgse)(if(e.KeyCode=Keys.S)timer1.Stop();timerl.Interval=800;timer1.Start();privatevoidCheckSore()(for(inty=19;y>-1;y-)(boolisFull=true;for(intx=13;x>-1;x-)(if(bgGraoudy,x=0)(isFull=false;break;if(isFull)增加积分Sorce=Sorce+100;for(intyy=y;yy>0;yy-)(for(intxx=0;x

温馨提示

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

评论

0/150

提交评论