LinkedList的使用——控制檯輸出貪喫蛇遊戲

首先寫一個節點類Node(),定義貪喫蛇的所有行走路線路過的點。
定義橫豎座標 ( i , j ), 生產get() 和 set() 方法,定義一個空的構造方法和一個帶參構造方法,重寫haseCode( ) 和 equals ( ) 方法,以確保兩次輸入相同的座標是同一個。
這裏寫圖片描述

然後寫Wrom ( )類:
這裏寫圖片描述
用LinkedList<>數組來保存Node對象,形成鏈式結構,寫一個Wrom構造函數,利用五個node來初始化貪喫蛇的“身體”,contains ( )方法是判斷蛇身節點的座標,step ()方法是用來移動,利用LinkedList對頭尾的操作來使蛇身移動,去掉最後一個節點增加一個新的頭節點來移動。
下面來定義貪喫蛇遊戲的遊戲面板WromPanel類,對遊戲界面進行輸出:
這裏寫圖片描述
輸出一個長度爲10高度爲32的矩形,if(wrom.contains(i,j))邏輯判斷蛇身的座標位置,在蛇身的位置打印 * ,其他位置輸出空格。
最後進行遊戲測試:
這裏寫圖片描述
獲得WromPanel( )類 和 Wrom( )類,進行邏輯判斷,根據輸入的字符控制蛇身移動的方向。

總結:一共四個類:節點類Node( ),蛇身類 Wrom( ),面板類 WromPanel( ),測試類 WromTest( )
遊戲設計之初就要抽象出各個類及其作用,首先抽象出面板類,對遊戲的可視化,然後抽象出蛇身類,分成邏輯層和控制層兩個部分,邏輯層進行判斷控制層進行根據操作變化,然後可以抽象出節點類,蛇身上的每一個位置都是一個節點類,利用LinkedList<>將節點進行存儲、操作。
本遊戲是對LinkedList數組進行操作的實例,其優勢在於對數組收尾的操作簡易方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章