对于我的家庭作业,我应该接受3个输入,x
,y
和m
。 x
和y
是数组monsters
的维度,m
的类型为Monster
。我应该接受输入,只要Monster
是默认Monster
(即名称为""
,级别为-1
),我在monsters[y][x]
分配值。
在后面的方法中,我将打印数组的信息,以便当它出现在屏幕上时,它将显示名称的首字母及其级别。如果数组是2x2
并且所有怪物具有相同的名称和级别,它将看起来像这样:
V(5) V(5)
V(5) V(5)
到目前为止我的代码如下:
public void updateMonster(int x, int y, Monster m){
String name = m.getName();
int lvl = m.getLevel();
if(y <= gridWidth || x <= gridHeight){
if (name == "" && lvl == -1){
monsters[y][x] = m;
}
}
}
显然,我不能只声明monsters[y][x] = m;
,因为m
不是整数,我不能为数组赋一个非整数值。
我如何获取名称和级别并将其专门分配到monsters[y][x]
的位置?
我想到可能通过将它们乘以monsters[1][0] = 1 * 0
的值来对值进行变化,然后当我打印数组时,它只会调用乘法数字,但这不会起作用,因为重复。
这是整个类,包括变量声明。
public class Dungeon {
private int[][] monsters;
int gridWidth;
int gridHeight;
public Dungeon(int width, int height){
monsters = new int[width][height];
gridWidth = width;
gridHeight = height;
}
public void updateMonster(int x, int y, Monster m){
String name = m.getName();
int lvl = m.getLevel();
if(y <= gridWidth || x <= gridHeight){
if (name == "" && lvl == -1){
monsters[y][x] = m;
}
}
}
public void swap(int x1, int y1, int x2, int y2){
}
public void shuffle(){
}
public void shift(char command){
}
public String printInfo(){
return null;
}
}