java做2048小游戏方格中随机产生一个数字并改为其背景色添加的代码
时间: 2024-09-28 17:17:44 浏览: 38
java课程设计拼图
在Java中制作2048游戏,首先你需要一个方块类(如`Square`),其中包含一个表示数字的属性和代表颜色的方法。以下是一个简单的例子,展示了如何在每个方块生成时随机产生一个1到4的数字,并根据该数字改变其背景色:
```java
import java.util.Random;
class Square {
private int number;
private final int[][] COLOUR_MAP = { // 数字对应的颜色映射
{255, 0, 0}, // 红色 (1)
{0, 255, 0}, // 绿色 (2)
{0, 0, 255}, // 蓝色 (3)
{255, 255, 0} // 黄色 (4)
};
public Square() {
Random rand = new Random();
number = rand.nextInt(4) + 1; // 随机生成1~4
setBackgroundColour(); // 设置初始颜色
}
private void setBackgroundColour() {
int r = COLOUR_MAP[number - 1][0]; // 获取对应数字的颜色
int g = COLOUR_MAP[number - 1][1];
int b = COLOUR_MAP[number - 1][2];
// 例如,如果你正在使用Swing来绘制GUI,可以这样设置背景色
setBackground(new Color(r, g, b));
}
}
// 使用示例
public class GameBoard {
private Square[] squares;
// 初始化方格数组
public void initGrid(int size) {
squares = new Square[size * size];
for (int i = 0; i < squares.length; i++) {
squares[i] = new Square();
}
}
// 在这里可以获取某个特定方块并修改其背景色
public void changeBackgroundColor(Square square, int newNumber) {
if (newNumber >= 1 && newNumber <= 4) {
square.number = newNumber;
square.setBackgroundColour(); // 更新颜色
} else {
System.out.println("Invalid number");
}
}
}
```
阅读全文