welcome: please sign in

Cerca

Link Dipartimentali

Link Esterni

Programmazione ad Oggetti: Progetti realizzati dagli studenti

A.A. 2012/2013

Informazioni sui progetti

I progetti in questa sezione sono stati sviluppati da studenti del corso per il puro piacere di programmare (senza alcun premio sulla valutazione finale).

I sorgenti di ogni progetto sono raccolti in archivi zip scaricabili da questa pagina. Una volta scaricato e decompresso un archivio zip, dalla directory principale del progetto eseguire

$ make run

per compilare ed eseguire il progetto.

Nota: la compilazione richiede la libreria Allegro 4 (maggiori informazioni per distribuzioni Debian-like qui).

Tutti i progetti sono rilasciati liberamente secondo i termini della licenza GPL.

Allegro Bobble - by Alessandro Francesco De Rosis

Allegro Bobble è un'implementazione del classico gioco Puzzle Bobble che utilizza la libreria Allegro 4 e l'Allegro Wrapper.

Download: AllegroBobble.zip

Screenshots

attachment:AllegroBobble1.png attachment:AllegroBobble2.png attachment:AllegroBobble3.png

Allegro Tetris - by Marco Forte

Allegro Tetris è un'implementazione del classico gioco del Tetris che utilizza la libreria Allegro 4 e l'Allegro Wrapper.

Download: AllegroTetris.zip

Screenshots

attachment:AllegroTetris1.png attachment:AllegroTetris2.png attachment:AllegroTetris3.png

Pezzonoid - by Fabio Pezzo

Pezzonoid è un'implementazione del classico gioco Arkanoid che utilizza la libreria Allegro 4 e l'Allegro Wrapper.

Download: Pezzonoid.zip

Screenshots

attachment:Pezzonoid1.png attachment:Pezzonoid2.png attachment:Pezzonoid3.png

A.A. 2010/2011

Informazioni sui progetti

I progetti in questa sezione sono stati sviluppati da studenti del corso per il puro piacere di programmare (senza alcun premio sulla valutazione finale).

I sorgenti di ogni progetto sono raccolti in archivi zip scaricabili da questa pagina. Ogni archivio contiene un file README con una breve spiegazione del progetto e del suo uso. Una volta scaricato e decompresso un archivio zip, dalla directory principale del progetto eseguire

$ make run

per compilare ed eseguire il progetto.

Nota: la compilazione richiede la libreria Ncurses (pacchetto libncurses5-dev delle distribuzioni Debian-like).

Tutti i progetti sono rilasciati liberamente secondo i termini della licenza GPL.

Ascii Space Invaders - by Bernardo Cuteri

Ascii Space Invaders è un gioco ispirato al classico Space Invaders. Nel gioco si controlla una navicella spaziale con la quale bisogna distruggere gli invasori alieni. Il gioco è strutturato in cinque livelli di difficoltà crescente e prevede diversi potenziamenti per l'astronave.

Fare riferimento al file README.TXT contenuto nel pacchetto per maggiori informazioni su come compilare ed eseguire il gioco.

Download: SpaceInvaders.zip

Screenshots

attachment:SpaceInvaders1.png attachment:SpaceInvaders2.png attachment:SpaceInvaders3.png

Bombertux (Memory Maze Quest) - by Andrea Tucci

Bombertux è un gioco basato sulla serie "Bomberman" creata dalla Software House Hudson Soft. In Bombertux dovremo vestire i panni di un robot, Tux, e superare i livelli pieni di mostri, fino ad arrivare al Boss finale Malloc, capo dell'armata nemica. I livelli sono composti da labirinti, dove sono presenti mostri di diverso tipo. Il nostro scopo è quello di eliminare tutti i mostri ottenendo più punti possibili e nel contempo prendere i vari Power-Up presenti nei livelli, come ad esempio il potenziamento per poter lasciare due bombe anziché una o il potentissimo Bomb Blaster, un raggio di energia che spazzerà via tutti gli ostacoli. Nei livelli sono presenti blocchi che si possono distruggere e non; è importante saperli usare a proprio vantaggio! Immergiti nel mondo di Bombertux e scopri il finale...

Download: Bombertux.zip

Screenshots

attachment:Bombertux1.png attachment:Bombertux2.png attachment:Bombertux3.png

gSudoku - by Giuseppe Cosentino Borgese

gSudoku è un'implementazione del gioco di logica Sudoku. Il gioco consiste nell'assegnare una cifra compresa fra 1 e 9 ad ogni cella di una matrice 9x9. La matrice è inoltre suddivisa in 9 sottomatrici 3x3. Un assegnamento di cifre è soddisfacente se ogni cifra compare esattamente una volta in ogni riga, colonna e sottomatrice 3x3.

gSudoku offre all'utente di cimentarsi con il gioco del Sudoku, consentendo la risoluzione automatica (totale o parziale) e la verifica di correttezza della soluzione proposta.

Download: gSudoku.zip

Screenshots

attachment:gSudoku1.png attachment:gSudoku2.png attachment:gSudoku3.png

nTetris - by Danilo Ruffolo

nTetris è un'implementazione del classico gioco del Tetris che utilizza le librerie nCurses.

Il gioco segue fedelmente le regole del gioco del Tetris originale. Pezzi ("tetramini") di 7 forme diverse cadono dall'alto con velocità crescente all'aumentare del livello, e devono essere incastrati a formare linee orizzontali complete che saranno eliminate dallo schermo. Per il movimento dei pezzi si utilizzano le frecce direzionali, FRECCIA SU per ruotare il pezzo, INVIO o SPAZIO per aprire il menu e mettere il gioco in pausa.

Download: nTetris.zip

Screenshots

attachment:nTetris1.png attachment:nTetris2.png attachment:nTetris3.png

QiXD - by Serafino D'Angelillo

QiXD è un gioco arcade creato sulla base del gioco Qix della Taito risalente al 1981. Nel gioco dobbiamo muovere una forbice (rappresentata dal cursore) per ritagliare parti del rettangolo di gioco. Ogni ritaglio divide il rettangolo di gioco in due aree, la più grande delle quali viene riempita. Lo scopo del gioco è riempire almeno il 75% del rettangolo di gioco. Ci si può muovere lungo il bordo del rettangolo di gioco e in tutti i ritagli completati. Se si inizia a ritagliare una parte del rettangolo di gioco, non è possibile ritornare sulla propria scia.

Il gioco prevede nemici di due tipi: strisciatori e dominator. Gli strisciatori (rappresentati da asterischi gialli) si muovono lungo il bordo del rettangolo di gioco. I dominator (rappresentati da chiocciole di diversi colori) si muovono all'interno del rettangolo di gioco. Se un nemico (strisciatore o dominator) entra a contatto con le forbici, il giocatore perde una vita. Il giocatore perderà una vita anche nel caso in cui un nemico entri a contatto con la scia delle forbici, nel caso in cui il ritaglio non sia stato completato. Se un dominator viene rinchiuso in un ritaglio, inizierà a mangiare il blocco in cui è stato rinchiuso.

Download: QiXD.zip

Screenshots

attachment:QiXD1.png attachment:QiXD2.png attachment:QiXD3.png

Snake 1.00 - by Salvatore Trento

SNAKE 1.00 è un'implementazione in Ncurses del classico gioco Snake.

Il giocatore controlla un serpente tramite le frecce direzionali. L'obiettivo del gioco è totalizzare il maggior numero di punti mangiando la frutta che compare nel campo di gioco. Il gioco termina nel caso in cui un serpente impatti sul bordo (nel caso in cui sia solido), sull'altro serpente o su se stesso.

Download: Snake1.00.zip

Screenshots

attachment:Snake1.001.png attachment:Snake1.002.png attachment:Snake1.003.png

Snake v1.0 - by Danilo Gemoli

Snake v1.0 è un'implementazione in Ncurses del classico gioco Snake. E` possibile giocare in uno o due giocatori. Ogni giocatore controlla un serpente (verde per il primo giocatore, giallo per il secondo). L'obiettivo del gioco è totalizzare il maggior numero di punti mangiando la frutta che compare nel campo di gioco. Ci sono due tipi di frutta:

* mele, rappresentate da una 'm' rossa;

* kiwi, rappresentati da una 'k' viola.

Mangiare una mela fa guadagnare 5 punti e allunga il serpente di una unità. Mangiare un kiwi, invece, fa guadagnare 10 punti e allunga il serpente di tre unità. Il gioco termina nel caso in cui un serpente impatti sul bordo (nel caso in cui sia solido), sull'altro serpente o su se stesso.

All'avvio del gioco è possibile cambiare alcune impostazioni tramite il menù OPZIONI. In particolare, è possibile variare:

* la velocità di gioco;

* il tipo di bordo, non solido di default; nel caso in cui non sia solido, un sepente può raggiungere il lato opposto del quadrante di gioco attraversando il bordo;

* la diversificazione del cibo, attiva di default; nel caso in cui venga disabilitata, tutti i frutti che compariranno nel campo di gioco saranno mele.

Download: Snake_v1.0.zip

Screenshots

attachment:Snake_v1.01.png attachment:Snake_v1.02.png attachment:Snake_v1.03.png