项目名称:五子棋游戏
项目介绍:
项目详细设计:
1、创建棋盘大小(可任意),并且要保存棋盘上各个点的位置;
2、创建棋子类及其属性和方法;在资源视图中导入围棋的黑棋图片、白旗图片,使下子时调用此图片,使游戏更加直观有趣。同时在窗口视图中添加显示透明色图片函数,是棋子图片更加逼真有趣。
3 人机对战:采用的算法是空棋位打分法,即采用遍历棋盘中所有未落子的点然后计算出得分最高的点落子。
4、人人对战:从盘键分别获取两个用户的输入,根据用户的身份及输入的位置,调用棋子类的相应方法,完成棋子的走动;
5、输赢的判断:将判断方向分为四个方向,即:水平向右,竖直向下,斜向右下,斜向左下。我用一个二维数组 来存放数据表达棋盘交点处的状态,是否有棋子,是什么棋子。将数组全部初始化为0,而鼠标点击棋盘后会将对应交点数组里的数改变。以改变为1表示放置的是 黑子,以改变为-1表示放置的是白子。然后在水平向右,竖直向下,斜向右下这三个方向从左上方的第一个棋子开始一层层做循环来判断是否连成五子。而斜向左 下这个方向从右上第一个棋子一层层做循环来判断。
6、悔棋:此功能是体现一种人性化,在菜单栏里添加悔棋按钮,当某一方玩家觉得此步走错了,按下悔棋按钮,调用悔棋函数,棋盘上就会自动消除玩家刚下的一步棋,实行悔棋功能。
7、重新开始
在菜单栏里添加重新开始按钮,当按下重新开始按钮时,调用重新开始函数,对棋盘进行清盘处理,然后游戏重新开始。
8、回放功能
为了进一步观察自己的得失和对手的技术,在菜单栏里添加回放功能按钮,当按下回放功能按钮时,调用回放功能函数,对棋盘进行清盘处理,然后实行回放功能。