五子棋开发(一)---------P2P对战
? ? ? 专门学习java已经有一个月了,舍友说:“对女生来说,学技术是条不归路啊!”做画图板时不这么觉得,但做五子棋时就感受深刻了,不是因为难学,是因为坎坷,很容易放弃……尤其是在做P2C(人机对战)的时候,纠结于算法好久,单单是用最笨的权值法,我就在分类、赋值的时候,从不同的角度考虑了各种方法。之前写了一个版本,我称之为智商为负。后来,考虑了很久,这样的赋值方法很欠缺考虑,以后P2C完成时的总结时会,共享给大家见笑见笑。总之,P2C的算法,我还没有纠结出来,所以,先对P2P对战总结一下。
? ? ? 五子棋的开发,之前自己在做,基本实现了可以相互交换放棋子,和判断输赢。但代码结构十分的混乱,排错也比较困难,需要重头梳理一遍思路。龙哥后来给我们梳理了一下各个类之间的关系,令我茅塞顿开啊。原来,每一个项目的不能着急开始,都需要整体的规划。
? ? ? 混乱版的就不拿出来献丑了,就总结一下整理后的版本。
? ? ? 一、面板的制作。
? ? ? 用三块面板将窗体分为控制区、游戏区、菜单栏。
代码如下:
? ? ?1、面板类
?
??
?
?
? ? ? ?二、监听
? ? 监听时相应的,分为三个部分,和三块面板对应。如上图示。
但是游戏面板的监听却放在了窗体类里了。
?
?
??
?
?
?
?
?
我的收获:
1、果然,好的框架结构,会为后面的开发提供莫大的方便。
2、要充分理解各个类之间的结构,这样可以避免混乱和代码的重复。
3、学会利用接口,和很有实际意义的Config类。
4、数据结构这门课真是大有用处啊!好的结构不仅可以省下不少代码,还可以提高运行效率。
5、罗马不是一天建成的。浮躁是我的弊病,只有一步一步的走才能爬上山,不要期望自己可以瞬间漂移到山顶,这只会是神话。空想主义者并不会比实干家过的好多少!