Giupoz
11-12-2013, 11:47
Ragazzi dovrei fare l'algoritmo in pseudocodice di un gioco che si chiama Twixt.
Riuscireste a darmi una mano? Ho difficoltà a fare la funzione iniziale del gioco... per chi non lo conosce magari può scaricarsi anche l'applicazione per smartphone, è un gioco carino...
questo è quello che ho iniziato a fare, ma non ci sto capendo più niente...Il prof dell'università sta impazzendo, ci fa fare cose senza che ne abbiamo le basi...
______________________
Nuova Partita:*********
***********************
Input:
ctrlvittoria: variabile booleana che indica se uno dei due giocatori ha collegato i due estremi della matrice.
Output:
giocatore_vincente: struttura contenente nome del giocatore e numero di mosse del giocatore;
Algoritmo*******
- Inizializza la struttura "giocatore1", che verrà assegnata al giocatore che esegue la prima mossa. Conterrà: nome_giocatore1, numero_mosse1;
- Inizializza la struttura "giocatore2", che verrà assegnata al giocatore che esegue la seconda mossa. Conterrà: nome_giocatore2, numero_mosse2;
- Inizializza a 0 la variabile "turno": variabile di tipo intero che rappresenta il contatore dei turni;
- campocorrente: variabile di tipo matrice utilizzata per aggiornare il campo da gioco ogni volta che un giocatore effettua una mossa.
- Inizializza "i": variabile numerica di tipo intero che conterrà l’ascissa della posizione in cui il giocatore del turno corrente vuole collocare la pedina.
- Inizializza "j": variabile numerica di tipo intero che conterrà l’ordinata della posizione in cui il giocatore del turno corrente vuole collocare la pedina.
- Inizializza "s": variabile numerica di tipo intero che sarà utilizzata per scorrere le caselle in ascissa della matrice.
- Inizializza "t": variabile numerica di tipo intero che sarà utilizzata per scorrere le caselle in ordinata della matrice.
- Inizializza "numero_mosse1": variabile numerica di tipo intero che contiene il contatore del numero di mosse che il giocatore 1 effettua;
- Inizializza "numero_mosse2": variabile numerica di tipo intero che contiene il contatore del numero di mosse che il giocatore 2 effettua;
- Inizializza a 0 "fine": variabile booleana che indica se la partita è finita oppure no (0 per partita in corso, 1 per partita finita);
- Inizializza la struttura "giocatore_vincente", al quale verranno assegnati i dati del giocatore che vince (giocatore1 o giocatore2);
- "campo": array multidimensionale 23*23
Richiama la funzione "creacampo";
Mentre (fine == 0)
Esegui:
1) richiama la funzione "gioca", che riceverà in input la matrice.
2) se ctrlvittoria==0 incerementa la variabile turno di 1;
3) altrimenti se ctrlvittoria==1 assegna a "fine" il valore 1;
FINE
Se turno/2 dà resto 1, allora il giocatore vicente è il giocatore 1;
Se turno/2 dà resto 0, allora il giocatore vincente è il giocatore 2;
Stampa : “Inserire il nome del giocatore vincente: ”;
Leggi il nome del giocatore vincente
Memorizzare il nome del giocatore vincente in giocatorevincente[5];
Riuscireste a darmi una mano? Ho difficoltà a fare la funzione iniziale del gioco... per chi non lo conosce magari può scaricarsi anche l'applicazione per smartphone, è un gioco carino...
questo è quello che ho iniziato a fare, ma non ci sto capendo più niente...Il prof dell'università sta impazzendo, ci fa fare cose senza che ne abbiamo le basi...
______________________
Nuova Partita:*********
***********************
Input:
ctrlvittoria: variabile booleana che indica se uno dei due giocatori ha collegato i due estremi della matrice.
Output:
giocatore_vincente: struttura contenente nome del giocatore e numero di mosse del giocatore;
Algoritmo*******
- Inizializza la struttura "giocatore1", che verrà assegnata al giocatore che esegue la prima mossa. Conterrà: nome_giocatore1, numero_mosse1;
- Inizializza la struttura "giocatore2", che verrà assegnata al giocatore che esegue la seconda mossa. Conterrà: nome_giocatore2, numero_mosse2;
- Inizializza a 0 la variabile "turno": variabile di tipo intero che rappresenta il contatore dei turni;
- campocorrente: variabile di tipo matrice utilizzata per aggiornare il campo da gioco ogni volta che un giocatore effettua una mossa.
- Inizializza "i": variabile numerica di tipo intero che conterrà l’ascissa della posizione in cui il giocatore del turno corrente vuole collocare la pedina.
- Inizializza "j": variabile numerica di tipo intero che conterrà l’ordinata della posizione in cui il giocatore del turno corrente vuole collocare la pedina.
- Inizializza "s": variabile numerica di tipo intero che sarà utilizzata per scorrere le caselle in ascissa della matrice.
- Inizializza "t": variabile numerica di tipo intero che sarà utilizzata per scorrere le caselle in ordinata della matrice.
- Inizializza "numero_mosse1": variabile numerica di tipo intero che contiene il contatore del numero di mosse che il giocatore 1 effettua;
- Inizializza "numero_mosse2": variabile numerica di tipo intero che contiene il contatore del numero di mosse che il giocatore 2 effettua;
- Inizializza a 0 "fine": variabile booleana che indica se la partita è finita oppure no (0 per partita in corso, 1 per partita finita);
- Inizializza la struttura "giocatore_vincente", al quale verranno assegnati i dati del giocatore che vince (giocatore1 o giocatore2);
- "campo": array multidimensionale 23*23
Richiama la funzione "creacampo";
Mentre (fine == 0)
Esegui:
1) richiama la funzione "gioca", che riceverà in input la matrice.
2) se ctrlvittoria==0 incerementa la variabile turno di 1;
3) altrimenti se ctrlvittoria==1 assegna a "fine" il valore 1;
FINE
Se turno/2 dà resto 1, allora il giocatore vicente è il giocatore 1;
Se turno/2 dà resto 0, allora il giocatore vincente è il giocatore 2;
Stampa : “Inserire il nome del giocatore vincente: ”;
Leggi il nome del giocatore vincente
Memorizzare il nome del giocatore vincente in giocatorevincente[5];