五子棋总结

                              五子棋总结

 

之前做的五子棋中,棋盘是画的二维表格,棋子是用fillOval画的填充圆。现在是在原来的基础上,稍微做了下修改。不过,功能还是很弱,还需继续完善!

现在就先做个小总结

简单功能的介绍:

1.可以分为  人人对战和人机对弈;

2.当觉得自己下的位置不是很理想时,可以悔棋,直到棋盘上没有棋子为止。

3.基于上面的悔棋,当下的棋子有很多时,这时若觉得整局已经不想下下去了的时候,就可以重来一局。

4.在下棋的过程中,如果因为其他的事,需要暂停时,我们就可以将它先保存起来,下次再打开继续未完的棋局。

 

棋局的初始界面:

 

 

 

当某方赢了,棋局结束的界面:

 

 

 

 

 

遇到的问题:

1.      之前未加图片时,在整个过程中,对于人人还好点,来了个人机就搞的我很凄惨,主要是纠结机器下棋位置的算法。首先要提供当前棋局的局势,也就是告诉机器现在哪些位置上可以下棋,当然这样还不够,还需让机器做出判断,哪个位置是比较理想的。这里,老师建议我们使用权值,其实我也不是很懂。所以,我的算法也很纠结,也就是说,这个机器人的智商还不高。还需继续努力完善。

 

2.      保存的过程就用到了文件流了,需将内存上的数据保存到硬盘上去。这里主要搞清楚保存的数据什么,要保证怎么才能将棋局重现。我在打开的时候就犯了严重的错误,保存好了硬是打不开。后来经老师提醒,才知道是 将保存的数据读取了,但是没有利用,也就是我读取了但又把它丢了,在后面重现的过程中没有使用那些保存起来的数据。

 

 

3.      悔棋的过程,其实就是要找到最后下棋的位置。因为我是用队列来存放已下 的棋子,所以我们只要找到最后入队列的棋子,将它从队列中移除就基本差不多了。这里稍微区分一下人人 和人机,因为人机中,每次悔棋是同时悔两个的。

 

4.      最让我伤的是添加图片了,因为确实是自己完全不知道用,也不知道该怎么用才好。添加棋盘的图片还好点,一到,添加棋子的图片我就懵了,因为根本就不知道怎么将棋盘和棋子对上号来。后来实在不行,直接将它们的大小来计算,一步步的调试。。。。。

 

哎。。。。求那位高手指点指点啊!!!