84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
今天做过一个猜数字的游戏,很快做完了,布局简单,逻辑也并不是很复杂。但是要着手做一个象棋游戏,就不太清楚该从何下手。先不谈人工智能方面,首先从布局上来看,就觉得挺复杂的。然后将象棋的这些规则融入进去,比如哪些能够走动,哪些不能走动,也觉得挺复杂的。
想请教一下高手们如果让你们从0开始写一个android版本的象棋,你需要走哪些步骤?
闭关修行中......
首先要把握一个原则,图形界面跟逻辑要分开。图形界面没什么好说的,说说逻辑部分。给棋子写类,抽象出每种棋子的特征,如名称,颜色,步法,位置等等。还要定义一个描述棋盘状态的文件格式,用于存储,读写和传输,这个也可以直接找标准文件格式,比如sgf。还要写一个该文件格式的解析器。你把这些基础性的东西都写好了再考虑下一步。图形界面也说一下吧。不要追求一步到位把整个棋盘都实现。要分层次来,先写一个可以显示图片可以放缩的控件,再给它扩展出纵横线路,再扩展可以摆放在交叉点的棋子,等等,分步分层实现,加载棋盘画面则依靠解析器从文件加载。图形界面只负责显示,不要承担任何逻辑功能。
写软件最重要的就是要有层次感,不能急躁,要一层一层往上写。
对棋子棋谱抽象建模最难
实现图形界面相对简单
首先要把握一个原则,图形界面跟逻辑要分开。图形界面没什么好说的,说说逻辑部分。给棋子写类,抽象出每种棋子的特征,如名称,颜色,步法,位置等等。还要定义一个描述棋盘状态的文件格式,用于存储,读写和传输,这个也可以直接找标准文件格式,比如sgf。还要写一个该文件格式的解析器。你把这些基础性的东西都写好了再考虑下一步。
图形界面也说一下吧。不要追求一步到位把整个棋盘都实现。要分层次来,先写一个可以显示图片可以放缩的控件,再给它扩展出纵横线路,再扩展可以摆放在交叉点的棋子,等等,分步分层实现,加载棋盘画面则依靠解析器从文件加载。图形界面只负责显示,不要承担任何逻辑功能。
写软件最重要的就是要有层次感,不能急躁,要一层一层往上写。
对棋子棋谱抽象建模最难
实现图形界面相对简单