用Java写贪吃蛇游戏的大致思路是什么?

我这里有代码和jar包,我简单说一下思路:首先我们要在画布上画一个区块,这个区块是一条蛇的头部,但是蛇会变长,所以我们需要用一些东西来存储蛇,所以我们可以用数组,ArrayList,LinkedList等等(我更喜欢用LinkedList)。虽然这里说的是蛇,但其实是一个街区的X,Y坐标,蛇画的很好。这需要一个线程和一个move()方法来保持它的移动。蛇在动,但是没有方向。这时候就需要一个方法,让它有方向,但是要注意,反方向不能改变方向(就是蛇有方向,不能动,但是到了边缘就不行了。这个时候就会出界结束游戏,然后出现食物。注意食物不能出界。如果有食物,蛇会吃掉它。这个时候,就要以一种方式把食物吃下去。当它被吃掉时,蛇会长出一块,食物会重新出现。蛇长大了,却能摸到自己的身体。然后你要做一些事情,让它接触到之后结束游戏,这是最初的想法。以下是一些细节,我就不说了。