Ciao devo realizzare una classe robot le cui istanze siano robot caratterizzati dall'essere accesi o spenti, da una coppia di interi che specifica le coordinate della loro posizione sul piano cartesiano e da un char che indica la direzione di marcia (N, E, S, W).
La mia implementazione è:
Il mio problema è nel metodo avanti(int coordinata1) il testo mi mostra un esempio in cui ogni volta che l'utente inserisce una coordinata prima si modifica la x e poi la y.es:codice:class Robot{ int x; int y; String punto; boolean acsp; //punti east,west,south String punti[]={"E","W","S"}; Robot(int x,int y){ this.x=x; this.y=y; acsp=true; punto="N"; } Robot(){ this(0,0); } public boolean accendi(){ return acsp=true; } public boolean spegni(){ return acsp=false; } public void avanti(int coordinata1){ if(accendi()){ y=coordinata1; } } /**aDestra fa ruotare eventualmente il robot di 90 gradi in senso orario, modificando la direzione di marcia*/ public String aDestra(){ int count=0; if(acsp){ punto=punti[count]; count++; } return punto; } public String toString(){ String s=" "; if(acsp){ s+="robot acceso in ("+x +","+y+")"+aDestra(); }else s+="il robor è spento"; return s; } }
On --> robot acceso in (0,0) verso N
A 10 --> robot acceso in (0,10) verso N
D --> robot acceso in (0,10) verso E
A 5 --> robot acceso in (5,10) verso E
Come faccio a dire al mio programma di modicare prima una coordinata e poi l'altra?Secondo voi per implementare il metodo aDestra() e quindi per far ruotare il robot(cioè cambiare da E,ad S),ogni volta che l'utente insersce D,dovrei usare un metodo ricorsivo,oppure uso un controllo da main?
![]()

Secondo voi per implementare il metodo aDestra() e quindi per far ruotare il robot(cioè cambiare da E,ad S),ogni volta che l'utente insersce D,dovrei usare un metodo ricorsivo,oppure uso un controllo da main?
Rispondi quotando