没有合适的资源?快使用搜索试试~ 我知道了~
java贪食蛇小游戏.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 183 浏览量
2022-06-10
21:07:02
上传
评论
收藏 150KB DOC 举报
温馨提示
试读
16页
java贪食蛇小游戏
资源推荐
资源详情
资源评论
课程设计说明书 NO.1
贪食蛇小游戏
1.课程设计的目的
贪吃蛇是大众化的一个小程序,人们手机中是一个很常见的一个小游戏,人们对
它并不陌生,在紧张 的现在生活中给人们带来了不少的乐趣,我写的这个贪吃蛇小游
戏能满足人们业余时间的适当放松,再紧张的生活节奏中适当的放松一下,保持好的
心态。
在这个程序中我用了 Java 语言来编写,运用了 Java 中的一些常用的功能,Java
语言是在国内外广泛使用的一种语言。Java 语言功能丰富、表达能力强、使用灵活方
便、应用面广、目标程序效率高、可移植性好,纯粹的面向对象的编程,特别适合用
于编写应用软件。代码简单易懂,在游戏的同时也可以简单的看一下代码,有助于初
涉 Java 者语言水平的提高。
本次设计不仅考查了我综合运用以前所学知识的能力,同时也锻炼了我的实际动
手能力,对于我以后工作能力的培养具有重要的意义。
2.设计方案论证
2.1 设计思路
本次设计的重点之处在于编程思想的形成,设计图像界面,产生随机食物及其位
置。同时通过软件工具的处理,将其转换为 exe 文件,使得该程序的运行可以随处运
行,而不需要安装 Java 虚拟机。难点程序编写中,整个程序框架的架构。这就要求我
们不仅要对这个游戏的玩法特别熟悉,而且还要熟练掌握 Java 语言。
这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体 ,
身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移
动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏
者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了
有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇
头的新位置开始画出蛇。
**
大 学
课程设计说明书 NO.2
2.2 Java 的特点
我们可以用一句话来高度的概括 Java 语言的特点:Java 是一种简单的,面向对象
的,分布式的,解释的,健壮的,安全的,结构中立的,可移植的,高性能,多线程
的动态语言。
Java 尽可能的利用了面向对象技术的优点。Java 并不是在运行前将所有的模块都
链接起来。一个新的或升级的库函数并不用更改源程序就能真确运行。
Java 的设计使它不断适合发展的环境。在类库中可以自由的加入新的方法和实例
变量而不会影响用户程序的执行。并且 Java 通过接口来支持多重继承,使之比严格的
类继承具有更灵活的方式和扩展性。
2.3 设计方法
(1)总体设计流程图,如下图所示:
**
大 学
课程设计说明书 NO.3
图 1 总体设计流程图
(2) 贪吃蛇游戏软件详细设计
贪食蛇的前移算法主要是蛇身结点前移,后面的覆盖前面的蛇身结点。其由线程
thread 调用的 run()方法,主要的代码的实现如下所示:
snake[shu].setBackground(Color.yellow);
else
snake[shu].setBackground(Color.green);
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
if(shu<15)
thread.sleep(100);
if(shu>=15&&shu<35)
**
大 学
课程设计说明书 NO.4
thread.sleep(80);
if(shu>=35&&shu<70)
thread.sleep(50);
if(shu==70)
thread.sleep(10);
}
catch(Exception e){}
}
else if(fangxiang==3)//向下
{
try
{
y+=10;
snake[0].setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
if(shu%2==0)
snake[shu].setBackground(Color.yellow);
else
snake[shu].setBackground(Color.green);
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
if(shu<15)
thread.sleep(100);
if(shu>=15&&shu<35)
**
大 学
剩余15页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功