84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
今天做过一个猜数字的游戏,很快做完了,布局简单,逻辑也并不是很复杂。 但是要着手做一个象棋游戏,就不太清楚该从何下手。 先不谈人工智能方面,首先从布局上来看,就觉得挺复杂的。然后将象棋的这些规则融入进去,比如哪些能够走动,哪些不能走动,也觉得挺复杂的。
想请教一下高手们如果让你们从0开始写一个android版本的象棋,你需要走哪些步骤?
闭关修行中......
首先要把握一個原則,圖形介面跟邏輯要分開。圖形介面沒什麼好說的,說說邏輯部分。給棋子寫類,抽象化每種棋子的特徵,如名稱,顏色,步法,位置等等。還要定義一個描述棋盤狀態的文件格式,用於存儲,讀寫和傳輸,這個也可以直接找標準文件格式,例如sgf。還要寫一個該文件格式的解析器。你把這些基礎性的東西都寫好了再考慮下一步。 圖形介面也說一下吧。不要追求一步到位把整個棋盤都實現。要分層次來,先寫一個可以顯示圖片可以放縱的控件,再給它擴展出縱橫線路,再擴展可以擺放在交叉點的棋子,等等,分步分層實現,加載棋盤畫面則依靠解析器從檔案載入。圖形介面只負責顯示,不要承擔任何邏輯功能。
寫軟體最重要的就是要有層次感,不能急躁,要一層一層往上寫。
對棋子棋譜抽象建模最難
實作圖形介面相對簡單
首先要把握一個原則,圖形介面跟邏輯要分開。圖形介面沒什麼好說的,說說邏輯部分。給棋子寫類,抽象化每種棋子的特徵,如名稱,顏色,步法,位置等等。還要定義一個描述棋盤狀態的文件格式,用於存儲,讀寫和傳輸,這個也可以直接找標準文件格式,例如sgf。還要寫一個該文件格式的解析器。你把這些基礎性的東西都寫好了再考慮下一步。
圖形介面也說一下吧。不要追求一步到位把整個棋盤都實現。要分層次來,先寫一個可以顯示圖片可以放縱的控件,再給它擴展出縱橫線路,再擴展可以擺放在交叉點的棋子,等等,分步分層實現,加載棋盤畫面則依靠解析器從檔案載入。圖形介面只負責顯示,不要承擔任何邏輯功能。
寫軟體最重要的就是要有層次感,不能急躁,要一層一層往上寫。
對棋子棋譜抽象建模最難
實作圖形介面相對簡單