Как сделать код RandomBug
Понятия не имею, как исправить этот код. Нужно сделать бегуна и основной класс. Программа должна быть в состоянии случайным образом генерировать повороты ошибки.
Это то, что у меня есть для моего класса RandomBug до сих пор:
import info.gridworld.actor.Bug;
import java.awt.Color;
public class RandomBug extends Bug
{
public RandomBug()
{
setColor(Color.YELLOW);
}
public RandomBug(Color bugColor)
{
setColor(bugColor);
}
public void turn(int angle)
{
turn(); turn(); turn(); turn();
}
public void turnAround() {
turn();
}
public int turnAngle() {
int angle = 45 * (int) (Math.random() * 8);
int x = angle;
return x;
}
public void act()
{
if (canMove())
move();
else
turnAround();
}
}
И это мой RandomBugRunner.java:
import java.awt.Color;
import info.gridworld.actor.ActorWorld;
import info.gridworld.actor.Bug;
import info.gridworld.actor.Rock;
import info.gridworld.grid.Location;
public class RandomBugRunner
{
public static void main(String[] args)
{
ActorWorld world = new ActorWorld();
RandomBug bug1 = new RandomBug();
bug1.setColor(Color.blue);
world.add(bug1);
bug1.act();
bug1.turn(bug1.turnAngle());
bug1.turnAround();
world.show();
}
}
1 ответ
Глядя на ваш act
функция, это вызывает turnAround
который тогда просто вызывает turn
, никогда не вызывая turnAngle() вообще. К тому же, turn(int angle)
кажется, полностью игнорирует угол. Поскольку это явно домашнее задание, я не хочу просто дать вам ответ, но я надеюсь, что это поставит вас на правильный путь:)