这是利用JAVA的GUI技术来实现一个可视化的双人五子棋游戏
首先来谈谈GUI技术,GUI的英文全称是Graphical User Interface即图形用户界面,是一个用于实现可视化不错的接口,但是基本已经淘汰了,但是一般的大学教材任会提及,说明在某些方面具有教学作用。
首先做一个双人五子棋游戏需要什么?
- 有棋盘(开始为空)
- 落子
- 判断输赢
设计棋盘
棋盘的设计其实十分简单,就用横线和竖线交叉就可以画成一个棋盘的样子。
在画棋盘之前先要创建一个可视化窗口,在构造函数中进行可视化界面的初始化:
1 | public class QP extends JFrame{ |
可视化界面初始化之后就是画出棋盘了:
1 | class HB extends JPanel{//创建画板类 |
到此为止一个空的棋盘就已经创建好了
落子
落子也是通过画板与鼠标点击监听实现的
所以我们首先添加鼠标监听事件:
1 | class Mouse extends MouseAdapter{//鼠标监听 |
冲鼠标监听中我们需要获得的一个关键数据级鼠标在界面的点击坐标,好根据坐标来写落子的位置,以及鼠标点击是哪个键,下面列出来嗦需要的定义的一些属性。
1 | private HB hb;//画板 |
同时鼠标监听事件创好之后需要将他添加到可视化界面的空白板中,只需在可视化界面的构造函数加入即可
1 | hb=new HB();//实体化画板 |
为了保证开局画板为空,所以使用到了boolean f来判断鼠标是否点击,为了等会进行输赢判断需要用数组来进行记录棋子,所以使用到了int[16][16]array;同时还需要一个Boolean yxjs 来记录游戏是否结束,因为需要用左键点击所以参数btn只能为1,所以画棋子的代码如下:
1 | if(f==true && array[x][y]==0 &&yxjs==false)//画棋子首先要求鼠标必须点击,且记录棋子数组的地方为落子,游戏还未结束 |
判断输赢
判断方法判断棋子的四个方向(右边、下边、右下、右上)
是否有五个棋子相连,如果有就判断游戏结束,并且根据数组可以判断赢子的颜色
1 | public void pdff() { |
结束后用画板画出结束的界面:
1 | if(yxjs==true)//如果游戏结束 |
运行展示效果
最后展示完整代码
1 | package com.wuziqi.clx; |
源码文件点击下载提取码:8888
本文链接: http://xingchen-cmd.github.io/2020/10/06/java%E5%AE%9E%E6%88%98%E5%B0%8F%E9%A1%B9%E7%9B%AE/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!