看到好多后台留言问背景图片的问题,在这里统一补充一下:所有的图片都是读取的本地图片文件,图片文件可以去网上下载,有一大堆(记得调好长宽),代码中的路径只是当时我的电脑的图片路径,你们运行的时候记得修改。
另外还有好多朋友说为什么报错等等,我希望你们在问这种问题的时候最好把在哪报的错,报的什么错给贴出来呀,直接就回复说程序有问题我也不可能知道你的问题出在哪。。。,搞得我也很懵。 2019.11.09
本程序适用于java初学者巩固类与对象、事件响应、awt包中各种工具的相关概念以及对逻辑能力的锻炼
需要注意的有:
①要加入java界面的重绘(基本原则)
②由于玩家需要通过鼠标点击,计算机响应出棋子的位置,但却不能保证每次点击都正中棋盘点位,所以要有一定的误差范围
③要保存更新棋盘上的棋子信息,因为棋盘格数是固定的故本例中采取最简单的数组
直接上代码:
分为三个类,同一包下,相信大家都能明白
package Study0326;
public interface WZQConfig {
/*
* 起始位置X
*/
public static final int START_X = 60;
/*
* 起始位置Y
*/
public static final int START_Y = 60;
/*
* 五子棋盘线条数
*/
public static final int H_LINE = 15;
/*
* 五子棋盘竖线条数
*/
public static final int V_LINE = 15;
/*
* 五子棋盘格子大小
*/
public static final int SIZE = 60;
/*
* 储存棋子的x位置信息
*/
public static final int[][] bx = new int[17][17];
}
package Study0326;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;
public class LoginListener implements MouseListener, WZQConfig, ActionListener {
private int x, y;// 鼠标点击的位置
private int x1, y1, xx, yy;// 鼠标点击附近格子交点的坐标
private Graphics g;
private int a = 0, i = 0, j = 0, count1 = 0;// count统计当前下的棋子数
private String Str;// 定义全局变量获取按钮上的字符串
private JButton jbu1, jbu2;
private int GetX[] = new int[256];
private int GetY[] = new int[256];
WZQFrame ui;
public void setG(Graphics g)