这次做五子棋开发的体会有三点:
1、任何项目开发都需要事先把握好问题的整体结构和相互联系
2、别人的东西只能对你起到引导的作用,最后还得靠自己独立思考来完成,这样才会对自己有真正的提升
3、做任何一件事情都要脚踏实地的一步一步完成而不能眼高手低
就五子棋的开发来说,整体结构可以分为几下几个部分:
1、画棋盘:需写在paint()方法中,这样窗体出现就画出棋盘(要在棋盘面板上取得画布)
2、放棋子:(1)点击鼠标集放子(在棋盘面板上添加鼠标监听器,点击鼠标就画棋子)(确定行列数与坐标之间的换算关系,设置点击的偏差范围)
(2)白黑子交错放置:需设置标志位,已确定鼠标点击序数
(3)已放子位置不可再放子(创建大小为行数*列数的二维数组已记录各个位置的放子情况,同时也保存了整个棋局棋子的要素:位置与颜 {MOD})
3、判断输赢:(将行、列、左斜、右斜胜出的情况分别写成独自的方法)
至此人人对战模式已基本完成(在菜单面板上添加操作按钮部分需要注意的主要是:局部变量与类属性的转换以扩大对象范围以及通过构造方法来将各个类联系起来)
接下来就是人机对站:人机对战主要就是解决电脑在哪放子的问题(这是问题的最终交接点,想清楚要解决的问题并将其转化为程序很重要)可将电脑判断放子位置的算法写成一个专门的类,关于电脑放子位置的算法偶自己写的也一般般,还有待改进,在这里就不说了。
总之,这个过程我觉得需要在以后的项目开发中锻炼与提升的是:(1)编写项目时先将整个结构做一个整体分析,然后再逐个击破;写程序时学着将整个问题拆分为各个独立的类,以便查错,亦可提升程序的可移植性。(2)还是要自己独立思考,别人的东西只能给你一个引导,具体的完成还得靠自己