gpt4 book ai didi

java - 如何将 int 数字更改为等效的 asci 数字?

转载 作者:行者123 更新时间:2023-12-02 06:43:28 26 4
gpt4 key购买 nike

我正在以 5x5 的矩阵制作扫雷游戏。我对地雷进行了随机分配,并为地雷制作了传感器,我认为它工作正常。

public Minesweeper(){

matrix = new int [5][5];
int minesnumber = (int)(Math.random()*10);
for(int mines = 0 ; mines < minesnumber ; mines ++){
int i, j;//Coordinates in the array
do{
i = (int)(Math.random()*5);//random values to i and j
j = (int)(Math.random()*5);
}while(matrix[i][j] == minesnumber );
matrix[i][j] = 64;//ascii = @

for(int a = Math.max(0, i-1); a < Math.min(5,i+2); a++){// to work on the array only
for(int b = Math.max(0,j-1); b < Math.min(5,j+2); b++){
if(matrix[a][b] != 64 && matrix[a][b]<9){// not a bomb
matrix[a][b]++;}
}
}
}
}
}

我的主要功能是打印扫雷器

public static void main(String args[]){

Minesweeper matrix = new Minesweeper();


for(int i = 0 ; i<5 ; i++){
System.out.println("\n ======================================");
for(int j = 0 ; j<5 ; j++){
int [][]m = matrix.getMatrix();
System.out.print("| " + m[i][j] + " | ");
}
}
System.out.println("\n ======================================");

}

它显示了64个炸弹和炸弹传感器的数量,我想将64转换为'@',我想使用Character.toChars(64)

所以当我打印扫雷器时,我可以看到地雷探测器和@

但是我不知道在哪里使用它。或者如果有人知道更简单的方法?谢谢

最佳答案

为什么不直接将矩阵设为 char 类型的数组呢?在数学方面,它们的行为类似于整数,但会作为字符打印到屏幕上。

否则,您需要System.out.print("| "+ (char)(m[i][j]) + "| ");。您只需将整数转换为字符即可使字符串正确连接。此外,您可以将地雷分配给矩阵,如 (int)('@') 以使代码更清晰。

这两种方法都有点草率。如果我要实现扫雷,我会创建一个单独的图 block 类,其中包含一个字段,指示它是否包含炸弹,或者它距离炸弹有多远,以及它是否包含旗帜。然而,对于第一次尝试,你的方法很好。

关于java - 如何将 int 数字更改为等效的 asci 数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com