貪吃蛇所有版本 Java編寫貪吃蛇游戲的大體思路是什么?
Java編寫貪吃蛇游戲的大體思路是什么?對于代碼和jar包,我有一個大概的想法:首先,我需要在畫布上畫一個塊,就是蛇頭,但是蛇會長大,所以我需要用一個東西來存儲蛇,可以用array,ArrayList
Java編寫貪吃蛇游戲的大體思路是什么?
對于代碼和jar包,我有一個大概的想法:首先,我需要在畫布上畫一個塊,就是蛇頭,但是蛇會長大,所以我需要用一個東西來存儲蛇,可以用array,ArrayList,LinkedList等等(我更喜歡LinkedList)。雖然我們說的是蛇,但它實際上是一個塊的X和Y坐標(biāo),蛇畫出來之后,蛇就可以移動了。這需要一個線程和move()方法使其連續(xù)移動。蛇移動但沒有方向。在這個時候,我們需要一個方法,使它有方向。但我們應(yīng)該注意相反的方向。我們不能改變方向(也就是說,我們不能使用它,如果我們按下了)。蛇有方向,可以移動,但當(dāng)它到達(dá)邊緣,它不能使它出界和結(jié)束游戲,下一步是有食物。食物容易做。用一個隨機數(shù)來處理它。注意食物不能放在界外。當(dāng)有食物時,蛇會吃掉它。這時,有必要用一種方法來吃食物。吃完后,讓蛇長出一塊,食物就會重新出現(xiàn)。蛇會長大的,但是它能碰到自己的身體我們要做一個方法讓它相遇并結(jié)束游戲,所以做了最初步的想法。
接下來,有一些細(xì)節(jié)。
java編程貪吃蛇游戲的原理和用到了哪些內(nèi)容知識,能講解一下嗎?
將蛇身體的每個塊視為一個對象(對象存儲塊的坐標(biāo)和相關(guān)信息),作為節(jié)點存儲在線性列表中,然后設(shè)置一個變量來標(biāo)記蛇的方向(可以通過按鍵進(jìn)行更改)。大多數(shù)人將每個節(jié)點與所指向的下一個節(jié)點相等,讓頭部節(jié)點改變位置,實現(xiàn)轉(zhuǎn)彎和移動。該算法的復(fù)雜度太高(O(n))。實際上,只需要兩個步驟就可以插入頭節(jié)點和刪除尾節(jié)點。新插入的頭部節(jié)點的位置根據(jù)蛇的當(dāng)前方向確定。
java實現(xiàn)貪吃蛇游戲答辯會問什么問題???
蛇主要是控制一條小蛇移動,吃后游戲繼續(xù)生長。
防御會議一般會問,如何實現(xiàn)蛇的移動,如果變長,如何隨機出現(xiàn)物品等。