貪吃蛇*要點分析:
*1)數(shù)據(jù)結(jié)構(gòu):matrix[][]用來存儲地圖上面的信息,如果什么也沒有設(shè)置為false,
* 如果有食物或蛇,設(shè)置為true;nodeArray,一個LinkedList,用來保存蛇的每
* 一節(jié);food用來保存食物的位置;而Node類是保存每個位置的信息。
*2)重要函數(shù):
* changeDirection(int newDirection) ,用來改變蛇前進的方向,而且只是
* 保存頭部的前進方向,因為其他的前進方向已經(jīng)用位置來指明了。 其中newDirection
* 必須和原來的direction不是相反方向,所以相反方向的值用了同樣的奇偶性。在測試
* 的時候使用了direction%2!=newDirection%2 進行判斷。
* moveOn(),用來更新蛇的位置,對于當前方向,把頭部位置進行相應(yīng)改變。如果越界,
* 結(jié)束;否則,檢測是否遇到食物(加頭部)或身體(結(jié)束);如果什么都沒有,加上頭部,
* 去掉尾部。由于用了LinkedList數(shù)據(jù)結(jié)構(gòu),省去了相當多的麻煩。
標簽:
matrix
貪吃蛇
分
數(shù)據(jù)結(jié)構(gòu)
上傳時間:
2014-06-14
上傳用戶:cjf0304