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