CERCA
28-11-2021 17:38

Esercizi settimana 10

da consegnare entro: 12/12/2021

 

 

ESERCIZIO 1

Si scriva un programma C, adeguatamente commentato, per la generazione di partite del "Gioco dell'oca" (Snakes & Ladders nella versione inglese). Il gioco consistente nel far competere più giocatori al raggiungimento della casella finale, avanzando di volta in volta tra caselle diverse tramite il tiro di un dado a 6 facce.

Il programma non deve limitarsi a generare sempre lo stesso percorso (combinazione di caselle), ma a ogni run deve corrisponderne uno diverso (simulando un tabellone di gioco differente ad ogni partita, ad esempio variando la posizione delle caselle, la lunghezza delle scale, le domande del quiz, etc).

Il programma deve implementare le seguenti caselle:

  • Le scale, che permettono di 'saltare' di X caselle in avanti, dove X è scelto dal programma; l'avanzamento non è automatico, ma il giocatore deve rispondere correttamente a una domanda per poter utilizzare la scala;
  • Gli scivoli, che permettono di indietreggiare di Y caselle, dove Y è scelto dal programma
  • Salta il prossimo turno

Il gioco deve poter gestire al massimo 5 giocatori, identificati da colori e numeri identificativi diversi.

Si utilizzino le strutture per rappresentare giocatori e caselle.

Si utilizzi una coda per gestire il turno dei giocatori.

Si visualizzi il tabellone di gioco, con la posizione dei vari giocatori.

Si utilizzino due file per la gestione del quiz delle scale: un file con le domande (una per riga) e un file con le rispettive risposte; domande e risposte sono identificate dal loro numero di riga. Ad es.

FileDomande.txt

Qual è la risposta alla domanda fondamentale sulla vita, l'universo e tutto quanto?

In che anno Cristoforo Colombo ha scoperto l'America?

Film di Christopher Nolan del 2020

FileRisposte.txt

42

1492

Tenet

Siete liberi di implementare ulteriori caselle a vostro piacimento, purché adeguatamente commentate.

 

 

ESERCIZIO 2

Predisporre una libreria di gestione del tipo di dato astratto LISTA, implementato sia tramite allocazione indicizzata (vettore statico e vettore dinamico) sia tramite strutture collegate. Le funzioni che dovranno essere implementate sono: inserisci in testa, inserisci in coda, inserisci dopo un certo elemento, cancella dalla testa, cancella dalla coda, cancella la prima occorrenza dell’elemento. Il programma deve visualizzare lo stato della lista ad inizio esecuzione (vuota) e dopo ogni operazione scelta dall'utente.


 

 

PROCEDI CON LA CONSEGNA DEGLI ESERCIZI