资源描述:
《《面向对象课程设计》报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《面向对象课程设计》报告1・整体的介绍:本软件是针对贪吃蛇小游戏的C#程序,利用方向键来改变蛇的运行方向,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.设计说明:1・游戏启动窗口:此窗口为进入游戏的欢迎界面。窗口界面截图如下:2•游戏主菜单窗口此窗口为进入游戏与否及获取游戏帮助的界面,选择〃帮助"按钮可以获得游戏相关操作的帮助,选择退出可直接退出游戏,选择进入游戏则可以开始游戏。窗口界面截图如下:帮助窗口截图如下:3•游戏主窗口此窗口为整个程序的主要部分,该窗口包含了游戏开始、暂停、退出游戏、难度选择及分数显示等功能。当进入
2、游戏窗口后就开始啦游戏。蛇的初始默认为中间,颜色为红色;食物为随机产生,颜色为黑色;窗口截图如下所示:用到的类:classblock//块,记录蛇块的颜色坐标人小等。{privateColorcolor;privateint_size;privatePoint_point;publicblock(Colorcolor,intsize,Pointp)this,color=color;this._point=p;this・size=size;publicF)intpointget{returnthis・_point;}}publicvirtualvoidpaint(Gr
3、aphicsg){SolidBrushsb=newSolidBrushCcolor);lock(g){try{g・EillRectangle(sb,this・point.X*this・_size,point・Y*this._size,this・_size1,_size-1);}catch{}}}}classpalette蛇块列表以及游戏速度,//Palette类是整个游戏的核心处理类,里面定义了画布的大小,背景色,移动方向等属性privateintJheight=20;privateint_width=20;privateColor_bgColor;privateGr
4、aphicsgpPalettc;//画-布?publicArrayList^blocks;publicDirection.direction;publicSystem.Timers・TimertimerBlock;privateblock_food;privateint_size二20;privateintlevel=1;privatebool_isGameOver=false;privateint[]_speed=newint[]{500,450,400,350,300,250,200,150,100,50};publicvoidStart()//Start函数用于
5、开始游戏,这个函数的内部其实就是设定食物,以及触发计时器{this._food=getfoodO;timerBlock=newSystem・Timers.Timer(_speed[this•—lev’el]);timerBlock・Elapsed+二newElapsedEventHandler(OnBlockTimedEvent);timerBlock・AutoReset=true;timerBlock.Start();!publicvoidOnBlockTimedEvent(objectsource,ElapsedEventArgse)//行函数,这个函数用于更新蛇
6、块信息列表,以及检测游戏是否结束等{this.Move();if(this.CheckDcadO){this・LimerBlock・StopO;this・timerBlock・Dispose();MessageBox.Show("score:〃+this,blocks.Count,"gameover");}}privateboolCheckDead()//检测游戏是否结束{blockhead=(block)this,blocks[0];if(head,point,X<0
7、head,point.Y<0
8、
9、head,point.X>this,head.point・Y>th
10、is•—height)returntrue;for(inti=1;i