貪吃蛇系列之十一——總結

        好了,在開始咱們的總結以前,咱們先來把上一個項目中的那個BUG修復了。修復的方法呢也很簡單,咱們在Snake類中添加一個方法,代碼以下:


        /**
	 * 判斷蛇是否吃到了本身的身體
	 * @return	若是蛇吃到了本身的身體則返回true,不然返回false
	 */
	public boolean isEatBody(){
		Body head = snakeBody.getFirst();
		for(int i = 1; i < snakeBody.size(); i++){
			Body body = snakeBody.get(i);
			if(head.x == body.x && head.y == body.y){
				return true;
			}
		}
		return false;
	}
        有了這個方法以後,咱們在蛇的move()方法中添加進對這個情況的判斷,以下:
//判斷蛇是否吃到了石頭或者是本身的身體
if(isEatStone() || isEatBody()){
	die();
}
        那麼至此,咱們的遊戲大致上就算完成了,最後呢,我修改了Snake.Body類中的drawMe的實現,使得咱們的Snake有了一個紅色的頭,這個呢我就不貼代碼了,你們看源代碼吧,下面仍是給一張咱們最後完成的效果圖:


        這個項目呢,第一階段呢咱們就到這裏結束了,上圖呢就是最後一個項目運行後的截圖了,呵呵,是否是頗有愛呢。
        小小的總結一下吧。貪吃蛇這個項目呢,個人用意只是幫助咱們初學Java編程的同窗熟悉一下咱們Java中的基本語法以及基本的數據結構的使用方法。那麼,若是你可以學習完這個項目,我想你會對Java中的鏈表(List),雙向有序鏈表(LinkedList)等數據結構有一個比較直觀的認識。同時,對於Java中的三種最基本的結構(順序結構、選擇結構和循環)有一個直觀的理解。同時,我也想透過這個項目告訴咱們初學Java編程的少年們,其實編程就是如此的簡單愉快,不是像你們想象的那麼難如下手的。千里之行,始於足下,我想作完這個項目,你會有這樣的感覺。
        固然,話又說回來,既然我說了這只是個人引入,那麼接下來,咱們將會討論一些更深層次的東西和更深遠的東西。所以,在下一個系列中,我會就這個項目進行更深層次的挖掘。咱們會討論一些關於項目架構和軟件設計之類的東西。我一直以爲,能寫程序和會寫程序是兩碼事,寫程序其實也能夠頗有藝術感。在接下來的時間裏,我就將和你們討論一些關於軟件和代碼之中的藝術的問題,但願你們能喜歡。
        最後,是咱們全部關於Snake項目的源代碼的合集:http://kuai.xunlei.com/d/Ae2cA9B2QhnfUAQA63b java

相關文章
相關標籤/搜索