X PONG


Il classico pong, programmato in C durante i primi tempi dell'università. Gira sotto Linux e necessita della libreria grafica svgalib (X11). E' possibile giocare da soli contro il computer, uno contro uno oppure in modo cooperativo due contro due; l'ultima modalità prevede infatti due giocatori (due a sinistra e due a destra) rispettivamente in attacco e difesa.

Nel codice sorgente ho iniziato a sperimentare con gli effetti di fade-in e fade-out, lettura dello stato del mouse e caricamento in memoria dei file .BMP.

La schermata principale, semplice e spartana.

maintitle.bmp

Tutti gli sprites sono caricati in memoria leggendo una particolare immagine bitmap che funge da "contenitore" per le animazioni, i testi, le barre, le palline e tutti gli altri elementi grafici:

xpong_hi.bmp

Alcuni elementi non sono mai utilizzati: avevo previsto dei power-up per la barra (ad esempio, il mitra per poter sparare all'avversario) e molti altri come velocità della palla, rallentamento del tempo, vita aggiuntiva e pallina trasparente ma non sono mai stati implementati, vuoi per mancanza di tempo, vuoi perchè alla fine mi sono dedicato ad altri progetti.

Durante il gioco la barra in alto mostra le "vite" a disposizione per ogni giocatore.

Ecco uno screenshot preso durante la partita:

xpong_hi1.bmp

Un pò imbarazzante il codice sorgente :), la memoria allocata non viene mai liberata (memory leak), sono presenti magic number ovunque, alcuni valori critici sono hardcoded nel sorgente e i nomi delle variabili non sono molto significativi. In ogni caso ecco il link:

sorgenti + resource files


Torna alla home