贪吃蛇小游戏练手
设计步骤:
Part1
设计游戏图纸
画出900*700的白色窗口
在窗口上添加画布
在画布上添加标题
在画布上添加游戏区
Part2
创建蛇身,属性、蛇身移动、吃食物
随机出现食物
碰到墙壁和自身
计分和时间
游戏素材来源于:https://blog.****.net/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,毕竟对于布局是手动输入像素点的做法是不太好,另外后面继续再试下排分表,添上存储和排序的功能