x-tetris

X-Tetris

License Issues Forks Stars Size Lines

Partecipanti

Numero del gruppo: 007

Link relazione in Documenti Google

Repository Github

Doxygen Github Pages

Utilizzo

Step 1: Compilazione

Per compilare il gioco X-Tetris è sufficiente digitare, tramite il terminale, nella directory principale make.

Step 2: Esecuzione

Per eseguire il programma basterà digitare nel terminale ./tetris.

Introduzione

Il progetto X-Tetris si presenta come una versione rivisitata del classico gioco Tetris. Il gioco prevede tre modalità diverse: giocatore singolo, multigiocatore e giocatore contro computer; ciascuna con tre diversi livelli di difficoltà: semplice, medio e difficile. Ciò che differenzia le tre tipologie di difficoltà è la velocità con cui il tetramino cade.

Durante la fase di sviluppo, non sono state utilizzate librerie esterne avanzate (grafica, algoritmi particolari ecc); tutto il codice è stato interamente scritto dai membri del gruppo.

Altra funzionalità particolare aggiunta è il salvataggio dei punteggi degli utenti. Infatti, al termine di ogni partita il punteggio ottenuto dal giocatore verrà salvato in un file csv, permettendo così la visualizzazione dello storico di tutte le partite, con relativi nickname, punteggi, modalità di gioco e la data della partita.

I comandi utilizzati per muovere il tetramino sono quelli normalmente utilizzati nei videogiochi classici: “ ” per ruotare il tetramino, “a” per muovere il tetramino verso sinistra, “s” verso il basso e “d” verso destra. Nella modalità multiplayer (1vs1) il giocatore con il campo da gioco posizionato a destra dovrà utilizzare le frecce direzionali per muovere il tetramino. Queste utilizzano la stessa logica dei tasti precedentemente analizzati.

Strumenti e software utilizzati

Gli strumenti e software utilizzati, utili allo sviluppo del videogioco X-tetris, sono stati:

  1. GitHub: servizio di hosting che implementa il controllo di versione dei file caricati. Altri strumenti forniti da GitHub e che sono stati utilizzati sono le Actions e i Projects. Le prime per verificare la correttezza del codice e il secondo per gestire il lavoro.

  2. Visual Studio: editor di testo utilizzato per la stesura del codice. Per compilare il programma è stato realizzato un file “MakeFile” configurato per generare l’eseguibile (“tetris”).

  3. Paint JS: nonostante la banalità di questo strumento è tornato utile come lavagna/foglio per elaborare e accordarsi sulle strategie di gioco e di programmazione.

  4. Docker: A causa dell’utilizzo di diversi sistemi operativi, e dei vari problemi di compatibilità per le diverse librerie utilizzate, è stato deciso di utilizzare Docker e di generare un ambiente virtualizzato che permettesse, indipendentemente dal sistema operativo, di avviare il gioco con le stesse configurazioni utilizzate in fase di sviluppo.

Problematiche riscontrate