Ругается на метод move(). Не могу понять что ему не нравится...
package com.javarush.task.task25.task2515;
import java.util.Random;
public class Ufo extends BaseObject {
//картинка корабля для отрисовки
private static int[][] matrix = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{1, 0, 1, 0, 1},
{1, 1, 1, 1, 1},
};
public Ufo(double x, double y) {
super(x, y, 3);
}
@Override
public void draw(Canvas canvas) {
canvas.drawMatrix(x - radius + 1, y - radius + 1, matrix, 'U');
}
@Override
public void move() {
double dx = Math.random() * 2 - 1; //-1..1
double dy = Math.random() * 2 - 1; //-1..1
x = x + dx;
y = y + dy;
if (y <= Space.game.getHeight()/2)
y=y-dy;
checkBorders(radius, Space.game.getWidth() - radius + 1, radius, Space.game.getHeight() + 1);
if (new Random().nextInt(10) == 1)
fire();
}
public void fire() {
Space.game.getBombs().add(new Bomb(x, y-3));
}
}package com.javarush.task.task25.task2515;
import java.util.Random;
public class Ufo extends BaseObject {
//картинка корабля для отрисовки
private static int[][] matrix = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{1, 0, 1, 0, 1},
{1, 1, 1, 1, 1},
};
public Ufo(double x, double y) {
super(x, y, 3);
}
@Override
public void draw(Canvas canvas) {
canvas.drawMatrix(x - radius + 1, y - radius + 1, matrix, 'U');
}
@Override
public void move() {
double dx = Math.random() * 2 - 1; //-1..1
double dy = Math.random() * 2 - 1; //-1..1
x = x + dx;
y = y + dy;
if (y <= Space.game.getHeight()/2)
y=y-dy;
checkBorders(radius, Space.game.getWidth() - radius + 1, radius, Space.game.getHeight() + 1);
if (new Random().nextInt(10) == 1)
fire();
}
public void fire() {
Space.game.getBombs().add(new Bomb(x, y-3));
}
}