public class Robot
extends java.lang.Object
Robot
è un automa virtuale
che si muove in un Labirinto
.
Il labirinto è una griglia di celle quadrate,
con un unico ingresso e una unica uscita.
Il robot ha la capacità di muoversi da una cella a
una cella adiacente (nella direzione corrente del robot)
e di cambiare direzione, girando a destra o a sinistra.
Il labirinto contiene ovviamente dei muri che impediscono
alcuni dei movimenti al robot: il robot non può avanzare
se si trova di fronte a un muro.
Il robot può essere comandato inviandogli messaggi,
oppure in modo interattivo.Labirinto
Constructor and Description |
---|
Robot(Labirinto l)
Crea un Robot nel Labirinto l.
|
Robot(Labirinto l,
boolean interattivo)
Crea un Robot nel Labirinto l,
che può essere comandato in modo interattivo.
|
Modifier and Type | Method and Description |
---|---|
void |
avanza()
Fa avanzare il robot, muovendolo nella cella adiacente
nella sua direzione corrente.
|
boolean |
dentro()
Verifica se il robot è all'interno del labirinto.
|
boolean |
fronteAlMuro()
Verifica se il robot, nella posizione corrente,
si trova di fronte a un muro del labirinto.
|
void |
giraDestra()
Fa girare il robot a destra (senza avanzare).
|
void |
giraSinistra()
Fa girare il robot a sinistra (senza avanzare).
|
public Robot(Labirinto l, boolean interattivo) throws RobotException
true.
Inizialmente il robot si trova nella cella d'ingresso del labirinto l,
e guarda nella direzione d'ingresso del labirinto.
l
- Il Labirinto in cui deve essere creato il robot.interattivo
- Se il robot deve essere interattivo.RobotException
- Labirinto nullo o non vuoto.public Robot(Labirinto l) throws RobotException
l
- Il Labirinto in cui deve essere creato il robot.RobotException
- Labirinto nullo o non vuoto.public void giraDestra()
public void giraSinistra()
public void avanza() throws RobotException
RobotException
- Mossa non consentita.public boolean dentro()
public boolean fronteAlMuro()