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
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.
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.
Tech stack
| Linguaggio | C# |
|---|---|
| Interfaccia | Windows Forms su .NET Framework 4.6.1 |
| Strumenti | Visual Studio |
Implementazione del codice
| Struttura | Tre form: menu iniziale, partita e schermata finale. Nome e vite passano dal menu alla partita, secondi e guadagni dalla partita allo scontrino |
|---|---|
| Tempo di gioco | Due Timer: uno scandisce i secondi e decide l'arrivo di clienti e polizia, l'altro muove la macchina e fa scorrere la barra |
| Cottura | async e await Task.Delay: la carne cuoce senza bloccare l'interfaccia, e intanto i clienti continuano ad arrivare |
| Stato | Un 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 |
| Grafica | Immagini caricate come risorse del progetto: ogni combinazione di ingredienti ha il suo disegno del panino |