Interfaccia Comandi



La classe Comando

L'interfaccia comandi del progetto si basa su di una classe Comando.java che memorizza un comando (si veda anche la documentazione della classe) e fornisce il metodo che esegue il comando richiamando l'opportuno metodo di Partita. Questa classe, basandosi su Partita è astratta, dato che per iniziare una nuova partita chiama il metodo astratto nuovaPartita (o la versione che riceve il numero di mossa e la lista delle posizioni dei pezzi come argomenti). Questi pezzi possono essere concretamente implementati solo una volta specificata la classe che implementa l'interface Partita.

La classe ComandoScacchi

La classe ComandoScacchi.java è la classe concreta che implementa Comando per il caso di PartitaScacchi (si veda anche la documentazione della classe). I due metodi astratti sono semplicemente implementati da una chiamata al corrispondente costruttore di PartitaScacchi.

La classe InterfacciaComandi

La classe InterfacciaComandi.java è la classe che implementa la lettura dei comandi da uno stream di input e la loro esecuzione (si veda anche la documentazione della classe). Il costruttore di questa classe crea una nuova interfaccia associato ad un input stream di caratteri (una sottoclasse di Reader). In particolare, il costruttore senza argomenti associa l'interfaccia allo standard input.

Il metodo nextComando legge un comando seguito da ';' dallo stream di input, lo esegue e lascia il risultato dell'esecuzione in alcuni campi privati della classe accessibili mediante i metodi:

  • cmd() che ritorna la stringa del comando letto

  • out() che ritorna, sotto forma di stringa, l'output del comando eseguito (in caso di esecuzione senza problemi del comando)

  • errore() che segnala se il comando ha portato ad un errore (sintattico o di esecuzione)

  • msg() la stringa con il messaggio di errore nel caso in cui il comando abbia causato un errore

Questa classe, basandosi sulla classe astratta Comando è a sua volta astratta. Infatti il metodo nuovoComando per la creazione di un comando ` astratto.

La classe InterfacciaComandiScacchi

La classe InterfacciaComandiScacchi.java è una sottoclasse concreta di InterfacciaComandi per la lettura di comandi per PartitaScacchi (si veda anche la documentazione della classe). Il metodo nuovoComando è impementato per mezzo di una chiamata al costruttore di ComandoScacchi.


This topic: PO > WebHome > Progetto > InterfacciaComandi
Topic revision: r3 - 2004-12-20 - StefanoGuerrini
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback