贪吃蛇课程设计报告

贪吃蛇课程设计报告

ID:9935880

大小:66.00 KB

页数:14页

时间:2018-05-16

贪吃蛇课程设计报告_第1页
贪吃蛇课程设计报告_第2页
贪吃蛇课程设计报告_第3页
贪吃蛇课程设计报告_第4页
贪吃蛇课程设计报告_第5页
资源描述:

《贪吃蛇课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告实验名称:Java学院:xx职业技术学院系别:信息系姓名:xxx专业:xxxxxx1课题:贪吃蛇任课教师:xxx摘要3Abstract3一.详细设计41.属性解释42.初始化坐标:43.调用线程44.具体功能实现:54.1.移动功能的实现:54.2.吃食物功能实现:64.3.判断游戏是否结束的功能实现:84.4.画图方法的实现94.5.监听键盘动作:105.界面的设计:115.1进入程序界面设计115.2第2个界面的设计:125.3第3个界面设计:126.把程序植入手机中13二.字符设备驱动程序实现13三.总结:14四.致谢14摘要程序核

2、心思想:运行程序首界面(进入游戏,退出游戏)进入游戏后选择难度(简单,普通,高难)根据不同的难度设置相应的属性。进入游戏界面。首先初始化蛇的坐标,食物的坐标,和障碍物的坐标。然后获取当前屏幕的大小为将来的边界判断做准备。然后创建并执行线程。线程基本流程:判断是否是暂停阶段,如果没有暂停就执行:eatFood();move(direction);repaint();如果游戏结束了就重新游戏或者退出。AbstractCoreoftheprocess:firstrunningtheprograminterface(intothegame,withdrawf

3、romthegame)intothegameafterthedifficultchoiceof(simple,ordinary,highlydifficult)dependingonthedifficultyofsettingthecorrespondingattribute.Intothegameinterface.Firstinitializethecoordinatesofthesnake,coordinatesfood,andthecoordinatesofobstructions.Andaccesstothesizeofthecurrent

4、screenforthefutureofthebordertoprepareforjudgement.Andthencreateandexecutionthreads.Threadthebasicprocess:determinewhetherthestageissuspended,ifnotthemoratoriumontheimplementationof:eatFood();move(direction);repaint();gametoanendifthegameoroutonthere.一.详细设计1.属性解释用1个2维数组snake[20

5、0][2]存放蛇身坐标,第2维是0的时候代表横坐标,为1的时候为纵坐标。第1维数字代表蛇身方块的数字,例如snake[0][0]就代表蛇头的横坐标snake[1][1]就代表第2个方块的总坐标。snakeNum为蛇的长度(以方格为单位)。SNAKEWIDTH为方格大小。direction;为移动方向,zhangai0x,zhangai1x,zhangai2x,zhangai3x,zhangai0y,zhangai1y,zhangai2y,zhangai3y,为障碍物的坐标。foodx,foody为食物的坐标。isPaused为判定是否是暂停状态,tr

6、ue为暂停false为非暂停。A为难度系数,a可以为1,2,3。1的时候最难,3的时候最简单。SLEEP_TIME为系统沉睡时间,其值越小速度越快。2.初始化坐标:isPaused=true;//设置游戏开始为暂停状态snakeNum=7;//设置蛇身长度7个方格//循环依次初始化蛇身没个方格的坐标,蛇头的坐标为(100,40)for(inti=0;i

7、始化食物坐标foodX=100;foodY=100;//初始化障碍物的坐标,其位置环绕挡住食物,zhangai0x=foodX+4*a;zhangai0y=foodY+4*a;zhangai1x=foodX+4*a;zhangai1y=foodY-4*a;zhangai2x=foodX-4*a;zhangai2y=foodY+4*a;zhangai3x=foodX-4*a;zhangai3y=foodY-4*a;3.调用线程thread=newThread(this);thread.start();while(isRun)//开始时间{if(!isP

8、aused){eatFood();//吃食物move(direction);//移动if(gameover)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。