Una Lista doppiamente puntata è un insieme dinamico in cui ogni elemento ha uno o più campi contenenti informazioni e due riferimenti, uno all’elemento successivo (next) della lista ed uno all’elemento precedente (prev) della lista.
Si implementi in linguaggio C un menù di scelta multipla per la simulazione di un gioco, simile ad una battagli navale e di seguito descritto, su una scacchiera di 6 x 6 celle di interi. Pertanto:
Si implementi una funzione che permetta la creazione di una scacchiera 6 x 6 utilizzando una struttura lista a puntatori, tramite il comando struct.
Dunque ogni cella può avere quattro successori: su, giù, dx e sx, che simulano lo spostamento nelle quattro direzioni.
Si implementi una funzione che permette di riempire tutte le celle della scacchiera (per semplicità anche manualmente) nel seguente modo:
Si implementi inoltre una funzione che permetta di visualizzare a video la scacchiera 6 x 6 costruita con la precedente funzione
Si implementi una funzione che inserendo da tastiera i valori 8 (per su), 2 (per giù) 4 (per sinistra) e 6 (per destra), simuli il relativo movimento da una cella ad un’altra sulla scacchiera
Infine, utilizzando una variabile (contatore) punteggio, con una funzione in linguaggio C si simuli il gioco che deve procedere come segue. Il giocatore partendo dal centro della scacchiera può muovere per 10 volte e:
Negli altri casi, il valore della variabile punteggio rimane invariato e il gioco riparte dalla cella di arrivo.
Il risultato finale del gioco sarà:
Il giocatore vince se punteggio è maggiore o uguale a 5.
L’esercizio completo va consegnato via mail al tutor entro 3 giorni lavorativi
1. Introduzione al Corso - Il Linguaggio C (I parte)
2. Linguaggio C – Seconda Parte
3. Ordinamento, Ricorsione e Code di Priorità
4. Esercitazione su Ricorsione e Code di Priorità
5. Stack e Code
6. Esercitazione di Laboratorio su Stack e Code
7. Implementazioni di Liste puntate
8. Esercitazione di laboratorio su Liste Puntate Semplici
9. Implementazioni di Liste Doppiamente Puntate e Circolari
10. Esercitazione di laboratorio su Liste Doppiamente puntate
12. Esercitazione di laboratorio su Alberi Binari di Ricerca
13. Alberi Binari di Ricerca. Cancellazione di un nodo
14. Esercizio di Laboratorio. Gioco su alberi
15. Grafi: Implementazione ed operazioni di base
16. Esercitazione di laboratorio: Implementazione operazioni di bas...
17. Grafi: Inserimento e Cancellazione di un nodo. Visite in ampiez...
18. Esercitazione di laboratorio: Problema del venditore Prima part...
19. Componenti fortemente connesse e alberi minimi di copertura
20. Esercitazione di laboratorio: Problema del venditore Seconda pa...