Domanda

Si consideri un gioco simile a pac-mac che vogliamo rappresentare con un grafico FSA. Abbiamo un labirinto (tabella) e ci sono frutti di bosco in esso in posizioni casuali. L'obiettivo è quello di mangiare tutti i frutti di bosco nel labirinto. I comandi si devono prendere in considerazione per il controllo sono i seguenti:
GoAhead, SINISTRA, DESTRA, CHECKBERRY (che controlla se v'è una bacca di fronte pac man), mangiare e OFF-MAZE.
Abbiamo bisogno di un massimo di 10 tappe ... E tenere a mente che non possiamo avere più di un gap di fila. Grazie

Modifica alt text http://img338.imageshack.us/img338/2479/graphp.jpg

ok allora. Ho creato il grafico, ma non riesco a trovare un modo a superare le lacune. Ad esempio: il labirinto dopo un certo fila di bacche ad un tratto c'è un divario davanti e prossimo bacca è proprio lungo la fessura. Quindi io non sono sicuro di come il mio grafico sarà simile come anche se girare a sinistra oa destra il comando checkberry non tornerò valore TRUE. Quindi ci deve essere un modo per il pac man per passare alla piazza divario senza mangiare, ma come sarà decidere se passare a quello di fronte o ad altri?

È stato utile?

Soluzione

Se stai progettando un stato diagramma , cercare di prima capire che tipo di States macchina a stati avrà, invece di numerazione gli Stati.

Ecco un semplice esempio, il vostro "pac man" deve essere a piedi, il controllo e mangiare. Quindi ci sono tre stati IS_WALKING, IS_CHECKING e IS_EATING. Lo schema per attraversare dritto in avanti e mangiare potrebbe essere qualcosa di simile alla figura sottostante. Non sono sicuro di che tipo di notazione dei diagrammi che si sta utilizzando anche se spero che sarà chiaro alcune cose per voi.

                     GO_AHEAD
       +------------------------------------+
       |                                    |
       v                                    |
+----------------+      false            +------------+
| IS_CHECKING    |---------------------->| IS_WALKING |
+----------------+                       +------------+
| E: CHECK_BERRY |                          ^
+----------------+                          |
       |                                    |
       | true                               |
       v                                    |
 +-----------+               EAT            |
 | IS_EATING |------------------------------+
 +-----------+

Le transizioni sono più naturali e più facile da capire una volta che hai i nomi appropriati per gli stati. Esempio di un buon nome per lo stato è uno che enuncia chiaramente quello che la macchina dello Stato sta facendo in un momento particolare.

Altri suggerimenti

Se siete alla ricerca di aiuto da StackOverflow su questo tipo di domanda; dovrete, ovviamente, guardare a ciò che si sta facendo. La tua domanda ha bisogno di essere più specifico. Stai avendo un problema con uno specifico problema di codifica, o non sapete da dove cominciare? E 'questo vuole essere un excersise banale o un progetto in piena regola?

Prova a fare una mappa mentale di ciò che si vuole fare e vedere dove si può andare da lì con le competenze che hanno attualmente. Tornare una volta che si esegue in un problema reale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top