文件名称:贪吃蛇Java源码分析
文件大小:46KB
文件格式:DOC
更新时间:2012-08-23 05:15:14
Java
*文件名:GreedSnake.java *作者:C.Jason *要点分析: *1)主要部分已经集成为一个对象SnakeModel,利用键盘控制实现操作。 *文件名:SnakeModel.java *作者:C.Jason *要点分析: *1)数据结构:matrix[][]用来存储地图上面的信息,如果什么也没有设置为false, * 如果有食物或蛇,设置为true;nodeArray,一个LinkedList,用来保存蛇的每 * 一节;food用来保存食物的位置;而Node类是保存每个位置的信息。 *2)重要函数: * changeDirection(int newDirection) ,用来改变蛇前进的方向,而且只是 * 保存头部的前进方向,因为其他的前进方向已经用位置来指明了。 其中newDirection * 必须和原来的direction不是相反方向,所以相反方向的值用了同样的奇偶性。在测试 * 的时候使用了direction%2!=newDirection%2 进行判断。 * moveOn(),用来更新蛇的位置,对于当前方向,把头部位置进行相应改变。如果越界, * 结束;否则,检测是否遇到食物(加头部)或身体(结束);如果什么都没有,加上头部, * 去掉尾部。由于用了LinkedList数据结构,省去了相当多的麻烦。 …………………………