私が書いているゲームのタイマーにアクションリスナーをリンクしようとしています。タイマーが作動するたびに、2D配列のモンスターは1つの隣接するタイルにランダムに移動します。アレイは完全にモンスターでいっぱいではありません。モンスターがいない場合、私の配列はnullになります。
これが私がこれまでに持っているものです:
private class MonsterListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < Level.SIZE; i++) {
for (int j = 0; j < Level.SIZE; j++) {
if (monsters[i][j] != null) {
monsters[i][j].update();
}
}
}
updateState();
}
}
そして私のモンスタークラスの中で:
public void update() {
rand1 = new Random();
rand2 = new Random();
drow = rand1.nextInt(3); //random int 0,1,2
dcol = rand2.nextInt(3); //random int 0,1,2
drow -= 1; //random int -1,0,1
dcol -= 1; //random int -1,0,1
row += drow;
col += dcol;
}
タイマーを作成するとき、これを行います
public final int DELAY = 1000;
Timer myTimer = new Timer(DELAY, new MonsterListener());
ただし、次のようなエラーが発生し続けます
cannot find symbol
symbol : constructor Timer(int,Game.MonsterListener)
location: class java.util.Timer
myTimer = new Timer(DELAY, listener);
^