私はJavaが初めてで、カレルが右折するためのメソッドを備えた新しいロボットクラスを作成しようとしています。ただし、クラス「RightTurnerRobot」を拡張して「Robot」を含めようとすると、次のエラーが発生します。
暗黙のスーパー コンストラクター Robot() は、既定のコンストラクターに対して未定義です。明示的なコンストラクターを定義する必要があります
私のコードは以下の通りです。
import kareltherobot.*;
import kareltherobot.Robot;
import java.awt.*;
public class RightTurnerRobot extends Robot implements RobotTask
{
public void TurnRight()
{
turnLeft();
turnLeft();
turnLeft();
}
static
{
World.setDelay(100);
World.setSize(10, 10);
}
public void task()
{
//World.readWorld("src", "someworldname.kwld");
UrRobot grace = new UrRobot(3, 3, East, 30);
grace.move();
grace.turnOff();
}
編集:私は問題を理解しました。UrRobot
の代わりに拡張することになっていましたRobot
。次に、次のコンストラクターを作成しました。
import kareltherobot.*; //Needed for Robots
import java.awt.*; //Needed for Color
public class RightTurnerRobot extends UrRobot
{
public RightTurnerRobot(int street, int avenue, Direction direction,
int beepers)
{
super(street, avenue, direction, beepers);
// TODO Auto-generated constructor stub
}
public void turnRight()
{
turnLeft();
turnLeft();
turnLeft();
}
}