Immer an der Wand 'lang

zurück

Niki hat einen schweren Kopf und muss an die frische Luft. Er markiert sein Heim - indem er ein Werkzeug ablegt - und läuft dann einmal am Rand seiner Welt entlang, bis er zu Hause ankommt. (Die Welt ist von einer unsichtbaren Mauer umgeben.)

Zur Lösung dieser Aufgabe konstruieren wir ein verbessertes Robotermodell (Klasse Roboter2), das zusätzlich über die Methoden "vorZurWand" und "rechts" verfügt. Unter Benutzung dieser Klasse sieht das Programm "meinProgramm.java" nun so aus:


import niki.Welt;
import niki.Niki;

public class meinProgramm{
    public static void main(String[] args){
        Welt meineWelt = new Welt("unbekannte.welt");
        Roboter2 meinRoboter = new Roboter2(meineWelt);
	meinRoboter.gib();
	meinRoboter.vor();
	while (meinRoboter.feldLeer()){
		meinRoboter.vorZurWand();
		meinRoboter.rechts();
	}
    }
}

In einer zweiten Quelltextdatei (Roboter2.java) wird der verbesserte Roboter programmiert, der den Primitivroboter Niki beerbt.


import niki.Welt;
import niki.Niki;

public class Roboter2 extends Niki{
	public Roboter2(Welt welt){
		super(welt);
	}
	public void vorZurWand(){
		while (vorneFrei()) vor();
	}
	public void rechts(){
		links();
		links();
		links();
	}
}


zurück

Version 0.9, 27.04.2004
Dr. Bernd Kokavecz