大学以来第一个工程实践项目---五子棋,现在大一,不知道以后还有没有,基本要求是人人对战,但是,还是想试一试人机对战,所以一开始就将人机对战的功能预算在里面了。到现在五子棋能实现人人对战和人机对战,由于没有限定语言,所以就使用Java了,大一寒假的时候用C语言写过一个小游戏,真心不会再用C些游戏了。。所以也就毫无顾忌的选择了Java,虽然是一个很小的工程实践项目,但是,我还是按照自己的想法来进行了开发流程。以下便是我整理的一些开发记录。
首先设定的是项目需求,一个界面,可以人人对战,人机对战,保存棋局,设定先手等等,然后选择的开发流程是增量开发,首先开发出人人对战,其次是保存棋局,然后是人机对战,当然后面还有什么悔棋啊,选择难度啊,网络对战啊,由于考试月,所以也就只是开发了前面三个。一开始我设定了三个基本对象,画棋盘对象----负责初始化棋盘,画棋子等,玩家----负责改变棋盘状态,整个棋盘是一个数组,也就是说,回通过鼠标适当的点击来改变这个数组,最后一个是判决者----通过棋盘状态判断输赢,也即是说,首先会有一些初始化动作,然后是玩家改变棋盘状态,然后发消息给画棋盘对象,让它画出棋盘,最后画好了后由画棋盘对象发消息给判决者让它判断,但是后来我发现这样不太方便,于是我就将画棋盘和改变棋盘状态并为一个对象,也就是说玩家负责改变棋盘状态和画出棋盘,然后让判决者判断。后来由于需要,继续开发了保存棋盘类,播放音乐类,选择落子类,当然还有一个main类