Tutti i progetti scolastici

Cheese Chase

Sei il proprietario di un food truck abusivo e devi vendere più panini possibile senza farti arrestare: quando arriva la polizia compare una barra veloce a caricamento e devi chiudere la serranda prima che si riempia, altrimenti hai perso.

Contesto
Gioco dell'anno, terzo superiore
Stack
C# · Windows Forms
Squadra
In coppia con il mio compagno di classe Lorenzo
Stato
Consegnato
Una partita di Cheese Chase vista da dentro il food truck: un cliente al bancone con il panino richiesto nella vignetta, le vaschette di pomodoro, insalata, formaggio e carne, tre hamburger sulla piastra e in alto nome, denaro guadagnato e vite.
Una partita in corso: il cliente con il suo ordine, il panino sul bancone e la carne sulla piastra

Descrizione del progetto

Cheese Chase è il gioco dell'anno fatto in terzo superiore, in coppia con il mio compagno di classe Lorenzo: codice e grafiche sono di tutti e due.

Prima di iniziare si inseriscono il nome e la difficoltà. La difficoltà sceglie se avrai 1, 2 o 3 vite, cioè difficile, media o facile.

Menu iniziale di Cheese Chase: sullo sfondo un food truck giallo, in alto il campo del nome, la scelta della difficoltà e il bottone Inizia partita, sotto il foglio con le regole del gioco.
Il menu iniziale: nome, difficoltà e il foglio delle regole

Come si gioca

L'obiettivo principale è fare più soldi possibile senza far arrabbiare i clienti e senza farsi beccare dalla polizia, perché va chiusa la serranda in tempo, e ovviamente senza rimanere a zero vite.

Le dinamiche di gioco

  • Preparare un panino: si clicca sul cesto del pane e poi sugli ingredienti richiesti. La carne va prima cotta sulla piastra, che ha tre posti e ci mette cinque secondi.
  • Chiuderlo: si clicca sulla parte superiore del panino aperto. Servono almeno carne e formaggio, altrimenti il panino non si chiude.
  • Consegnarlo: si clicca sul panino chiuso. Se è quello della vignetta il cliente paga 10 euro, se è sbagliato si perde una vita.
  • Buttarlo: un panino sbagliato si butta cliccando sul cestino.
  • I clienti non aspettano per sempre: prima si arrabbiano, poi se ne vanno, e anche questo costa una vita.
  • La polizia: ogni tanto arriva la macchina, scende il poliziotto e parte la barra. La serranda si chiude con il bottone rosso sulla parete: se il poliziotto arriva al bancone con la serranda aperta la partita finisce, qualunque sia il numero di vite rimaste.

A fine partita compare uno scontrino con i secondi giocati e i guadagni totali.

Il poliziotto in piedi accanto alla macchina della polizia davanti al bancone, con una barra rossa in basso a sinistra.
Il poliziotto è sceso dalla macchina: la barra rossa è il tempo che resta per chiudere la serranda
Schermata finale a forma di scontrino: titolo Cheese Chase, crediti di codice e grafiche, 30 secondi giocati, 20 euro di guadagni totali e la scritta Game Over, con accanto un cliente furioso.
Lo scontrino di fine partita, con secondi giocati, guadagni e crediti

Tech stack

LinguaggioC#
InterfacciaWindows Forms su .NET Framework 4.6.1
StrumentiVisual Studio

Implementazione del codice

StrutturaTre form: menu iniziale, partita e schermata finale. Nome e vite passano dal menu alla partita, secondi e guadagni dalla partita allo scontrino
Tempo di giocoDue Timer: uno scandisce i secondi e decide l'arrivo di clienti e polizia, l'altro muove la macchina e fa scorrere la barra
Cotturaasync e await Task.Delay: la carne cuoce senza bloccare l'interfaccia, e intanto i clienti continuano ad arrivare
StatoUn enum per gli stati del cliente e due array di bool, uno per il panino richiesto e uno per quello in preparazione: la consegna li confronta ingrediente per ingrediente
GraficaImmagini caricate come risorse del progetto: ogni combinazione di ingredienti ha il suo disegno del panino