Open Johnny850807 opened 7 years ago
其實如果是Primitive屬性要初始化的話,習慣直接在欄位上做就可以囉。
private boolean isLandmine = false; private boolean isOpen = false; private int nearbyLandmineAmount = 0;
資料結構選用
因為踩地雷一開始就會決定大小了,所以不需要使用動態新增的串列唷,比起[][], ArrayList會把程式碼複雜化。
物件資料流劃分
因為"盤面",跟 "格子",是複合關係, (也就是如果要有盤面,就要先有格子。) 這種關係下,我們並不會希望格子是從外面傳進來的, (外包製作??) 因此會習慣直接在初始化的時候,直接自己建構二維格子就好。
物件責任劃分
之所以印出盤面這個函數會看起來如此複雜 是因為 盤面 把 格子 的責任都做完了
盤面應該負責排版,而格子負責印出自己的內容, 因此─到底要印出地雷 還是 數字呢? 交給格子決定就好
其實如果是Primitive屬性要初始化的話,習慣直接在欄位上做就可以囉。
因為踩地雷一開始就會決定大小了,所以不需要使用動態新增的串列唷,比起[][], ArrayList會把程式碼複雜化。
因為"盤面",跟 "格子",是複合關係, (也就是如果要有盤面,就要先有格子。) 這種關係下,我們並不會希望格子是從外面傳進來的, (外包製作??) 因此會習慣直接在初始化的時候,直接自己建構二維格子就好。
之所以印出盤面這個函數會看起來如此複雜 是因為 盤面 把 格子 的責任都做完了
盤面應該負責排版,而格子負責印出自己的內容, 因此─到底要印出地雷 還是 數字呢? 交給格子決定就好