import java.awt.*;import javax.swing.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Wuziqi extends JFrame implements MouseListener {
private static final long serialVersionUID = 1L;
//定义棋盘的大小
private int size = 15;
//定义棋盘的格子数量
private int count = 15;
//定义棋盘的宽度和高度
private int width = 30;
//定义棋盘的横纵坐标
private int startX, startY;
//定义棋盘的二维数组
private int[][] qipan;
//定义当前是否为黑子
private boolean isBlack = true;
//定义游戏是否结束
private boolean isFinish = false;
public Wuziqi() {
init();
this.setTitle("五子棋");
this.setSize(size * width + 50, size * width + 70);
this.setLocation(100, 100);
this.setResizable(false);
this.setVisible(true);
this.addMouseListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init() {
qipan = new int[count][count];
for (int i = 0; i < count; i++) {
for (int j = 0; j < count; j++) {
qipan[i][j] = 0;
}
}
startX = 30;
startY = 30;
}
public void paint(Graphics g) {
super.paint(g);
//画棋盘
for (int i = 0; i < count; i++) {
g.drawLine(startX, startY + i * width, startX + size * width, startY + i * width);
g.drawLine(startX + i * width, startY, startX + i * width, startY + size * width);
}
//画棋子
for (int i = 0; i < count; i++) {
for (int j = 0; j < count; j++) {
if (qipan[i][j] == 1) {
int tempX = startX + j * width - width / 2;
int tempY = startY + i * width - width / 2;
g.fillOval(tempX, tempY, width, width);
} else if (qipan[i][j] == 2) {
int tempX = startX + j * width - width / 2;
int tempY = startY + i * width - width / 2;
g.setColor(Color.RED);
g.fillOval(tempX, tempY, width, width);
}
}
}
}
//判断输赢
public void judgeWin(int x, int y) {
int color = qipan[x][y];
//横向判断
int count = 1;
//判断左边
for (int i = x - 1; i >= 0; i--) {
if (qipan[i][y] == color) {
count++;
} else {
break;
}
}
//判断右边
for (int i = x + 1; i < size; i++) {
if (qipan[i][y] == color) {
count++;
} else {
break;
}
}
if (count >= 5) {
isFinish = true;
String colorName = color == 1 ? "黑棋" : "
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(46条)