界面呈现
组成构件:
框架
JFrame
布局
(布局可以用绝对布局,即设定布局为null,然后再对组件进行精准定位。)
this.setLocationRelativeTo(null);
//为组建添加布局时
com_pl_advanced.setBounds(550, 150, 150, 50);
//四个值分别指的位置的横坐标,纵坐标,长,宽。
按钮
JButton
画笔
Graphics(画出整个棋盘,画出棋子)
动作监听器
Actionlistener(用于捕捉到点击按钮的过程)
鼠标监听器
Mouselistener (得到点击click是的坐标来达到往目标位置下棋的目的)
组成成分
棋盘
用画笔画出,实现画出棋盘。
此时注意到棋盘(棋局)的重绘问题,即当对窗体进行拖拽、最大化最小化的过程中,会导致对窗体的一些操作消失,因此写一个函数(JFrame中的重绘方法)
public void (Graphics g){
super.paint(g); //重绘是要调要父类的方法
//重绘函数
}
棋子
用画笔画出。
注意
1、棋子黑白的交替=>通过奇偶来控制
2、棋子避免重叠下=>通过二维数组实现
数据储存
对每步棋的下棋位置的存储=>可以通过一个数组来储存。(对于重绘及后续的悔棋有作用)
棋局的输赢判断
思路:八个方向:↖↑↗→↘↓↙← 一旦有一个方向满足了五个棋子,即立刻断定输赢。