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