贪吃蛇小游戏练手

本文详细介绍了一款经典贪吃蛇游戏的设计与实现过程。利用Swing布局搭建游戏界面,通过线程控制游戏速度,使用LinkedList及迭代器实现蛇身移动,随机生成食物的位置,并处理边界碰撞与得分统计。

设计步骤:

Part1

设计游戏图纸

画出900*700的白色窗口

在窗口上添加画布

在画布上添加标题

在画布上添加游戏区

Part2

创建蛇身,属性、蛇身移动、吃食物

随机出现食物

碰到墙壁和自身

计分和时间

游戏素材来源于:https://blog.youkuaiyun.com/Geoooo/article/details/79457301

只是运用了线程、内部类、双向链表及迭代器Iterator、枚举的知识点实现了一遍

附上大致实现步骤:

1.     Swing布局

 

在JFrame对象上添加画布,创建画布类并实现键盘监听接口,在构造函数中为窗口添加键盘监听器监听事件

在画布上paint标题和游戏区,并添加蛇头ImageIcon

2.     线程启动

可以改变蛇身运动速度

知识点:线程

3.     蛇类

属性:存放蛇身的队列,蛇头位置x和y,蛇头方向

行为:移动,吃食物,碰到墙面和自身,键盘事件

知识点:LinkedList集合并用迭代器Iterator遍历集合元素

蛇身移动:队列头部新增一个元素,尾部去掉一个元素

x

 

4.     食物类

食物如何随机出现在游戏区

知识点:Random对象.nextInt(n); 随机出现1—n的整数

5.     方向Dir类

知识点:枚举类enum

最终的游戏效果:

有时碰墙壁会遇到bug,毕竟对于布局是手动输入像素点的做法是不太好,另外后面继续再试下排分表,添上存储和排序的功能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值