LinkedList的使用——控制台输出贪吃蛇游戏

首先写一个节点类Node(),定义贪吃蛇的所有行走路线路过的点。
定义横竖坐标 ( i , j ), 生产get() 和 set() 方法,定义一个空的构造方法和一个带参构造方法,重写haseCode( ) 和 equals ( ) 方法,以确保两次输入相同的坐标是同一个。
LinkedList的使用——控制台输出贪吃蛇游戏_第1张图片

然后写Wrom ( )类:
LinkedList的使用——控制台输出贪吃蛇游戏_第2张图片
用LinkedList<>数组来保存Node对象,形成链式结构,写一个Wrom构造函数,利用五个node来初始化贪吃蛇的“身体”,contains ( )方法是判断蛇身节点的坐标,step ()方法是用来移动,利用LinkedList对头尾的操作来使蛇身移动,去掉最后一个节点增加一个新的头节点来移动。
下面来定义贪吃蛇游戏的游戏面板WromPanel类,对游戏界面进行输出:
LinkedList的使用——控制台输出贪吃蛇游戏_第3张图片
输出一个长度为10高度为32的矩形,if(wrom.contains(i,j))逻辑判断蛇身的坐标位置,在蛇身的位置打印 * ,其他位置输出空格。
最后进行游戏测试:
LinkedList的使用——控制台输出贪吃蛇游戏_第4张图片
获得WromPanel( )类 和 Wrom( )类,进行逻辑判断,根据输入的字符控制蛇身移动的方向。

总结:一共四个类:节点类Node( ),蛇身类 Wrom( ),面板类 WromPanel( ),测试类 WromTest( )
游戏设计之初就要抽象出各个类及其作用,首先抽象出面板类,对游戏的可视化,然后抽象出蛇身类,分成逻辑层和控制层两个部分,逻辑层进行判断控制层进行根据操作变化,然后可以抽象出节点类,蛇身上的每一个位置都是一个节点类,利用LinkedList<>将节点进行存储、操作。
本游戏是对LinkedList数组进行操作的实例,其优势在于对数组收尾的操作简易方便。

你可能感兴趣的:(java)