Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]robot con coordinate

    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 è:

    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;
    }    
    }
    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:
    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?
    Ultima modifica di el92; 23-03-2015 a 16:13

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.