ItalianoEnglish

Ultimo aggiornamento: 06/05/2001

Programmazione

Tutti i programmi che trovate in questa pagina sono distribuiti con la licenza GNU GPL.
Clicca sul nome del programma per scaricare uno zip contente il sorgente, altri eventuali file necessari per l'esecuzione e l'eseguibile già compilato, clicca sull'immagine per vedere lo screenshot a dimensioni originali.

Provaxx.c

Questa è una serie di piccoli programmi in c, con parti in assembler, che ho fatto per provare vari effetti "demo". Il codice è molto ottimizzato e senza commenti, però i programmi sono semplici e non è difficile capire la logica che ci sta dietro. Sono stati fatti su un 486DX 33, per DOS, ma non hanno problemi a girare su un Pentium in una finestra di terminale di Windows 95/98.
Se vuoi scaricare tutta la serie provaxx clicca qui.

prova01 prova01 screenshot Effetto di deformazione "subacquea", in realtà volevo realizzare un effetto "bandiera che sventola", ma è uscito questo... Comunque non è male...
prova02 prova02 screenshot La famosa scritta che ruota attorno ad un tubo che c'è in molti mini-demo, mi sembrava una cosa complicata da fare, ma invece, una volta capito il trucco, è stato semplice, l'algoritmo è molto simile al precedente.
prova03 prova03 screenshot Una variazione del programma di prima, ho cercato di dare un effetto profondità, purtroppo ho dovuto farlo in bianco e nero perché i 256 colori disponibili non sono stati sufficienti per aggiungere le sfumature ad un'immagine colorata.
prova04 prova04 screenshot Ecco un altro effetto molto famoso: il fuoco. L'algoritmo è piuttosto banale ma può essere facilmente modificato per creare variazioni nella geometria delle fiamme. Il difficile è stato ottimizzarlo per farlo girare ad una velocità accettabile, in quanto richiede molti calcoli.
prova05 prova05 screenshot Ho tentato di fare un effetto plasma organizzando i pixel dello schermo in modo strano e facendo poi ruotare la palette, ma il risultato non è stato dei migliori...
prova06 prova06 screenshot E dopo il 2D sono passato al 3D! Questa è una delle cose più semplici che si possano realizzare: punti che si muovono in uno spazio tridimensionale, ho aggiunto anche un effetto lontananza variando il colore dei punti.
prova07 prova07 screenshot Questo non è proprio un effetto da demo, ma mi occorreva per sviluppare il programma seguente. In pratica disegna sullo schermo quello che Fractint chiama un frattale al plasma, oppure quello che Photoshop chiama nuvole, la differenza è che le immagini generate dal mio programma sono affiancabili.
prova08 prova08 screenshot Tubo infuocato che ruota (visto dall'interno). Un bell'effetto che sembra molto complesso da realizzare, ma in realtà con un trucchetto si ottiene un codice semplice e molto veloce.
prova09 prova09 screenshot Rotozoom deformato, qui non ci sono trucchi, il programma è molto complicato sotto l'aspetto matematico, ed è anche piuttosto lento. Ci sono volute un paio di pagine di conti prima di riuscire a tirare fuori le operazioni ottimizzate, anche se il risultato finale non mi soddisfa ancora, ci sono dei problemi quando l'immagine si avvicina troppo.
prova10 prova10 screenshot Esempio più evoluto di effetto 3D: un poligono con ombreggiatura flat, il motore 3D non è completo, manca l'ordinamento delle facce sull'asse Z (Z-buffer) e il clipping ai bordi dello schermo.
prova11 prova11 screenshot Come prima, ma ora le ombreggiature sono goraud, cioè sfumate, manca ancora lo Z-buffer e il clipping.

C

Vari programmi in C, o almeno quelli che sono riuscito a recuperare... molti sono interrotti a metà, altri sono andati persi.

Fun2 fun2 screenshot Un semplice programma che plotta funzioni, è veloce e abbastanza facile da usare. La parte di codice interessante è quella che si occupa di interpretare la formula scritta dall'utente.
Astro astro screenshot Un gioco (non terminato) fatto utilizzando la libreria SVGACC, che permette la gestione degli sprite, si tratta di una battaglia tra due astronavine, guidate dai 2 giocatori. Per compilare i sorgenti occorre procurarsi la libreria, per giocarci basta l'eseguibile incluso nel pacchetto.
Plat no screenshot Questo doveva essere un videogioco, ma lo sviluppo è stato interrotto a metà, in pratica tutto quello che si può fare è guidare una specie di macchinina in giro per lo schermo. Il motore grafico (scrolling in hardware e gestione sprite) è in assembler, mentre il resto è in c.

Header file

Alcuni header file (.h), stranamente questi sono commentati e comprensibili.

Mouse Permette di gestire il mouse con il DOS, sia in modalità testo che grafica, sono presenti tutte le funzioni offerte dal BIOS.
Flat2 Funzioni per disegnare un poligono flat in un buffer, con clipping. Praticamente sono 342 righe di programma che non fanno altro che disegnare un triangolo :-)

Assembler

Un vero linguaggio di programmazione, ancora oggi provo un po' di nostalgia, specialmente quando sono costretto a programmare in Visual Basic... Fortunatamente c'è Linux che assieme al C e a tutti i programmi e le librerie opensource mi ha fatto ritrovare la gioia di programmare.
I programmi elencati qui sotto sono quelli che funzionano abbastanza bene anche all'interno del terminale di Windows e che non causano danni irreparabili al PC :-) Comunque, se ne avete la possibilità vi consiglio di provarli su un 486 con DOS, è tutta un'altra cosa...
Come al solito il codice non è commentato e capirci qualcosa è pressoché impossibile.

Demo no screenshot L'intenzione era quella di creare un demo vero e proprio, che però non è mai stato portato a termine, c'è solo l'introduzione, che comunque non è male. È presente l'effetto stelle (quello dello screensaver di Windows, per interderci) e un effetto di "scritte pixellate gravitazionali rimbalzanti".
Fire Fire screenshot Un mini-demo (l'eseguibile occupa solo 1.6 Kb) completo, con delle scritte e il famoso effetto fuoco.
Palette no screenshot Programma carino, di soli 116 byte, che si installa in memoria e fa variare il colore dei caratteri dello schermo mentre si può continuare a lavorare normalmente, ottimo per fare scherzi agli amici :-) Funziona anche sotto Windows, a patto che la finestra di MS-DOS sia a tutto schermo.
Plasma Plasma screenshot Prova di un semplice effetto plasma, che però è velocissimo!
Sigdemo Sigdemo screenshot Un altro mini-demo completo (questa volta di 4Kb) con un vero effetto plasma e scritta scorrevele.

Pascal

Ho programmato una sola volta in Pascal, sono stato costretto a impararlo per superare l'esame di fondamenti di informatica I.

Agenda no screenshot Gestisce un'agenda, ci sono delle feature carine, come i vincoli sugli appuntamenti.

7colors

7colors ha una pagina tutta sua, clicca qui!


Torna alla pagina principale Scrivimi