/* * Robot.java * * Created on 24 febbraio 2011, 11.07 */ /** * * @author Gabriele Di Stefano */ public class Robot { /** * Genera un Robot in posizione [0,0] e direzione "NORD" */ public Robot(){ posizione = new Posizione(); direzione = new Direzione(); }; /** * Ruota di 90 gradi a destra la direzione del robot */ public void giraASinistra() { direzione.prev();} /** * Ruota di 90 gradi a sinistra la direzione del robot */ public void giraADestra() { direzione.next();} /** * Avanza la posizione del robot di una unita' nella direzione corrente */ public void avanza() { posizione.moveTo( direzione );} /** * Restituisce una copia della posizione corrente del robot * @return La posizione corrente del robot */ public Posizione getPosizione() { return new Posizione(posizione);} /** * Modifica la posizione corrente del robot. @param _posizione nuova posizione. */ public void setPosizione(Posizione _posizione) { posizione = new Posizione(_posizione.getX(),_posizione.getY());} /** * Restituisce una copia della direzione corrente del robot * @return La direzione corrente del robot */ public Direzione getDirezione() { return new Direzione(direzione);} /** * Modifica la direzione corrente del robot. @param _direzione nuova direzione del robot. */ public void setDirezione(Direzione _direzione) {direzione = new Direzione(_direzione);} private Posizione posizione; // la posizione corrente del robot private Direzione direzione; // la direzione corrente del robot };