Answers
首先要把握一个原则,图形界面跟逻辑要分开。图形界面没什么好说的,说说逻辑部分。给棋子写类,抽象出每种棋子的特征,如名称,颜色,步法,位置等等。还要定义一个描述棋盘状态的文件格式,用于存储,读写和传输,这个也可以直接找标准文件格式,比如sgf。还要写一个该文件格式的解析器。你把这些基础性的东西都写好了再考虑下一步。
图形界面也说一下吧。不要追求一步到位把整个棋盘都实现。要分层次来,先写一个可以显示图片可以放缩的控件,再给它扩展出纵横线路,再扩展可以摆放在交叉点的棋子,等等,分步分层实现,加载棋盘画面则依靠解析器从文件加载。图形界面只负责显示,不要承担任何逻辑功能。
写软件最重要的就是要有层次感,不能急躁,要一层一层往上写。
夏洛特.德诺阿
answered 10 years, 10 months ago