欢迎来到天天文库
浏览记录
ID:38739604
大小:274.50 KB
页数:14页
时间:2019-06-18
《专业综合实践课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、专业综合实践课程设计目录一项目名称及说明11.1项目名称:11.2项目说明:11.3调试环境1二设计方案22.1设计流程22.2设计思想2三程序详细设计说明33.1游戏开始前速度选择33.2随机指定蛇,食物,围墙的数组43.3根据数组画出界面53.4获取按键事件63.5蛇移动时的处理73.6蛇吃食物的处理93.7蛇撞墙的处理93.8游戏主窗体载入时事件函数103.9计时器触发的事件10四程序运行界面114.1选择级别界面114.2游戏界面114.3游戏结束界面124.4帮助界面12五结束语12五参考文献1313专业综合实践课程设
2、计一项目名称及说明1.1项目名称:基于.NET窗体编程的贪吃蛇小游戏1.2项目说明:本项目实现的贪吃蛇小游戏以供用户进行娱乐。用户在游戏开始前可自行选择游戏速度。进入游戏后边框内会随机出现若干个绿色的食物和红色的围墙,用户通过“上下左右”键可控制蛇的移动方向吃绿色食物,同时需要避免蛇头撞到红色围墙或者边框。如果蛇头碰到绿色食物则说明食物被吃,食物在框内消失,蛇头碰到围墙或者边框则游戏失败。当食物全部吃光后进入下一关,下一关有更多的食物和围墙。按z键可加速按x键可减速。1.3调试环境WindowsXP系统以及visualstudi
3、o200813专业综合实践课程设计二设计方案2.1设计流程2.2设计思想13专业综合实践课程设计用一个小矩形表示蛇身的一节,蛇头用黑色表示。定义三个数组分别存放蛇,食物还有围墙的像素点。利用定时器timer不断触发窗体内的事件,用背景色清理窗体,重新画出蛇,食物,围墙以达到蛇移动的效果。每次触发时都要坚持存放蛇的数组是否与食物的数组或者围墙的数组相重合,如果与食物数组相重合则取得食物数组中该点并将分散加1,如果与围墙数组相重合则调用end()函数结束游戏。此外如果用户按键则触发按键的函数,如果按键为方向键且与当前蛇前进方向不一样
4、则改变蛇的方向与按键一致,如果按了z,x键则改变计时器timer的时间间隔缩短或增长,按了空格键则暂停。三程序详细设计说明3.1游戏开始前速度选择说明:选择速度越快,timer计时器的间隔时间越短13专业综合实践课程设计privatevoidok_Click(objectsender,EventArgse){snake.Speed=300/this.speed.Value;if(this.speed.Value==4)snake.Speed=45;if(this.speed.Value==5)snake.Speed=10;thi
5、s.Close();}privatevoidsp_vc(objectsender,EventArgse){switch(this.speed.Value){case1:this.l1.Text="速度:慢";break;case2:this.l1.Text="速度:中";break;case3:this.l1.Text="速度:快";break;case4:this.l1.Text="速度:很快";break;case5:this.l1.Text="速度:死亡速度";break;}}13专业综合实践课程设计13专业综合实践课程设
6、计3.2随机指定蛇,食物,围墙的数组说明:在指定数组时考虑了游戏刚开始和游戏过关后两种情况13专业综合实践课程设计publicvoidreset()//随机指定墙和点的位置{this.walls=newArrayList();this.nuts=newArrayList();Randomran=newRandom();this.headc=Color.Black;//设置蛇身颜色为绿色this.bodyc=Color.Green;this.direction=Way.right;//开始时if(this.cart.Count<=
7、3){for(inti=-1;i<=1;i++){Pointn=newPoint(this.sl*i,this.sl*(this.district.Height/this.sl/2));this.cart[i+1]=n;}}//过关时if(this.cart.Count>3){for(inti=2-this.cart.Count;i<=1;i++){Pointn=newPoint(this.sl*i,this.sl*(this.district.Height/this.sl/2));this.cart[i-2+this.cart
8、.Count]=n;}}for(inti=0;i
此文档下载收益归作者所有