java练手项目小游戏_JAVA练手小项目四:贪吃蛇游戏 | 学步园

JAVA练手小项目四:贪吃蛇游戏

时间:2009年2月3日

开发工具:ECLIPSE

项目描述:贪吃蛇游戏,实现了蛇,食物,界面等对象。实现了蛇的移动,食物的随机出现以及蛇吃食物变长和蛇移动,食物的随机出现以及蛇吃食物变长和蛇移动到界面外死亡的功能,本项目主要是练习

面向对象的思想,SWING,多线程,事件监听,容器,泛型以及接口的使用等

项目过程:

1.建立一个窗口界面

使用JFrame类与JPanel类进行窗口的建立

1.在JFrame上建立工具条来实现相应的功能如游戏的开始,继续,退出等功能

2.利用面向对象的思想建立各个类

编写各个类的主体框架

对于一个贪吃蛇游戏来说我们要考虑游戏的哪些部分?

组成部分:

Snake

蛇类用来存放关于蛇的方法:

蛇移动的方法:move();

改变方向的:ChangeDirection();

吃食物的方法:eatFood();

是否移动后撞到自己的身体 boolean isEatBody()

显示自己 drawMe();

启动线程:Runable();

Food

食物类方法:

是否被蛇吃到:boolean isSnakeEat();

显示食物自己:DrawMe();

游戏显示界面类 GamePanel

显示界面上的物品:disPlay();

控制器类 Controller

此类用于处理按键事件与各种逻辑代码

键盘事件

产生新的游戏方法:启动线程

增加监听接口

处理蛇移动后显示方法和食物存亡以及蛇存亡的方法

3.蛇的移动

蛇如何移动

通过监听类按键处理后利用Point类来得到移动后的坐标,采用addFirst,removeLast()方法对蛇进行添头去尾,向前移动时尾去掉一个,同时在头部显示一个。

4.蛇移动时方向的问题

处理反方向和无效方向

定义两个方向一个记录现有方向,一个记录移动前方向,判断新老方向是否相反,如果相反新方向,则依然向老方向行驶

5.完成食物类的方法

判断当蛇移动后是否碰到到食物,利用equals方法判断坐标是否相等

画出食物,利用Global类中的设置的大小填充

6.蛇吃食物,蛇吃本身

如果蛇吃到食物,蛇的身体添加一个

如果蛇吃到本身,蛇就死亡(终止线程)

7.解决蛇出界的问题

移动时,如果蛇移动的坐标小于0或大于游戏界面的范围时,蛇死亡

8.处理工具条上的功能

使用事件监听类处理每个按钮。

加速,减速功能:处理PageUP和pageDown键在相应方法中对速度增快或减慢,由于工具条上方法较简单不做多说明,看代码就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值