2014年4月15日星期二java學習歷程俄羅斯方塊tetris的實現思考

   

   昨日聽視頻知道軟件編寫需要通過MVC設計模式來實現的,分別是V(View)視圖用戶界面、C(Ctroller)控制器、M(Model)模型三層架構,tetris如何實現?作爲菜鳥中的菜鳥,很難理解,所以這個問題還是登些日子思考,現在把一些基本的問題屢一屢。


   限於知識沉澱問題,目前無法做到思考全局,僅僅從已有的東西上思考一下,7個類型得格子I、J、L、Z、S、O、T7個格子的下落、左移、右移動作實現,這就要分別建立7個類,考慮到7個類中有公共重複部分,爲減少代碼的重用性,不僅僅是要在7個類上面建立一個父類的問題,而是一個父類無法完全解決7個類的問題,因爲7個類裏只能說都是有4個格子組成而已,具體操作各有不同。

   1、建立一個格子類,僅僅是一個座標的類,由這個格子類創建的4個對象組成一個數組,這個數組便是一個我們所需要下落的格子,由於7個格子各不同其格子的座標組成肯定不相同;

   2、這樣就要考慮一個問題該建立一個父類?還是建立一個抽象類?或者接口呢?通過什麼方式來完成7個格子的實現呢?思考一下:

       ①建一個父類,這個父類很顯然只能定義一個4個元素的數組,也只能定義一個輸出格子座標的方法,比如格子的下落、左移、右移等方法無法實現,只能通過子類自己定義自己實現,略感不對;

       ②建一個抽象類作爲7個子類的父類,那麼使用abstract來修飾抽象類,然後在類中定義成員變量時定義一個數組,構造方法中定義出數組需要4個元素;而後通過abstract來修飾方法定義抽象方法,後由子類來重寫方法完成一個完整的方法;

       ③建立接口,接口中只能有常量和抽象類,所以在這兒稍感不對,故而暫時放棄思考。

   總結:我認爲可以建立一個抽象類,用7個子類來繼承,並完成格子適用的方法。

   3、從7個格子已經思考了一些,現在想想可以使用JFrame類來建立一個窗口,根據需要的情況選擇窗口大小,至於窗口內的規劃需要用到IPanel,由於還沒學到,現在變放棄思考;

   4、記錄分數?

   5、消行?

   6、本地數據記錄?本地分數排行

   7、遠程數據存儲記錄排行?

   8、遊戲進程隨得分越多格子下落越快?

   9、其他各種功能


   忽然間發現自己很菜,

   要學會思考啊!

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