注意:这个问题可能看起来有点像我几周前发布的另一个问题。那时我没有将按钮添加为数组,这就是这一次让我更加困难的原因。
我正在玩国际象棋游戏,我已经能够自己建立一个 64 个方格的棋盘。然而,对于我来说,将颜色添加到正方形似乎有点太复杂了。
我的代码如下所示:
国际象棋.java
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Chess implements config {
public static void main(String[] args) {
int[] squareArray;
squareArray = new int[65];
int i = 1;
JFrame frame = new JFrame("Chessboard");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(ROWS, COLS, 2, 2));
for (i = 1; i < 65; i++) {
squareArray[i] = i;
frame.add(new JButton("" + squareArray[i]));
}
frame.setSize(800, 800);
frame.setVisible(true);
}
}
片断.java
import java.awt.Color;
import javax.swing.JFrame;
public class Piece extends JFrame implements config {
public Piece (int n) {
setBackground(calcColor(n));
}
public void Pieces() {
new Pieces();
//This class contains nothing at the moment.
}
Color calcColor(int n) {
boolean everysecondSquare = (n % 2 == 0);
boolean everysecondRow = ((n / ROWS) % 2 == 0);
return (everysecondSquare != everysecondRow ? P1Color : P2Color);
}
}
配置.java
import java.awt.Color;
public interface config {
public int ROWS = 8;
public int COLS = 8;
Color P1Color = (new Color(245,222,179));
Color P2Color = (new Color(244,164,96));
}
我很清楚这可能是非常糟糕的编码,因为我对 Java 很陌生。如果有人能帮我解决这里的颜色问题,我会非常高兴和感激,因为我已经被困了好几天了,没有进一步了解。我不希望有人为我完成代码,而只是在到达那里的路上帮助我。:)