Bandiera inglese Bandiera italiana

Pascal

Questa pagina contiene alcuni files sorgenti e i relativi programmi eseguibili (per sistemi Windows 32-bit) realizzati in Pascal tra il 1992 e il 1998. Essendo passati parecchi anni non sempre i files sorgenti possono essere compilati sulle piattaforme moderne senza alcuna modifica. Spesso è necessario aggiustare qualcosa qua e là, come ad esempio cambiare la definizione delle variabili. Occorre inoltre tener conto dell'ambiente di compilazione, poiché in genere i compilatori usano librerie diverse.

Ad esempio, compilando un programma grafico con Free Pascal occorre operare una scelta: o si usano le librerie standard graph e crt, con lo svantaggio che i tasti vanno premuti tenendo il focus sulla finestra d'esecuzione principale anziché quella grafica, oppure si usa la combinazione ibrida graph e wincrt, con lo svantaggio di non poter usare le funzioni ClrScr, gotoxy e di non poter accedere normalmente allo standard input nella finestra d'esecuzione principale del programma. In tal caso occorre inventarsi un modo di leggere l'input da tastiera, come ad esempio nel programma integra.

Per questo motivo i sorgenti Pascal di questa pagina sono divisi in due categorie: i programmi aggiornati, verificati e compilati (su Windows) sono elencati nella categoria eseguibili (sorgenti ed eseguibili), mentre i programmi ancora da verificare, controllare e aggiustare sono elencati nella categoria sorgenti (solamente sorgenti).
Per alcuni suggerimenti su come risolvere i casi ricorrenti di conversione dal Pascal anni '90 al Pascal moderno vedere la sezione suggerimenti.

Voci correlate: videogiochi

Eseguibili

Chiave (password) Richiesta e controllo di una password hard-coded (in questo esempio: pippo)
Stars (640x480) Cielo stellato in rotazione lenta con meteore casuali (risoluzione 640x480)
Stars (1024x768) Cielo stellato in rotazione lenta con meteore casuali (risoluzione 1024x768)
Screensaver Semplice screensaver con paesaggio notturno e fulmini casuali
Crono Cronometro con memorizzazione tempi intermedi
Spada Programma di allenamento per scherma medievale con parate tradizionali
Bourbon Gestionale per gioco di ricerca delle coppie al Bourbon Street (1997)
Fitting Interpolazione lineare, esponenziale ed iperbolica di una serie di punti
Tastiera Semplicissimo programma per mostare le funzionalità della unit keyboard
Integra Integratore per dati raccolti in laboratorio da un campionatore digitale
Pixel Confronto tra due algortimi grafici per gestire un pixel in movimento
Combattimento AD&D Simulatore di combattimento per Advanced Dungeons & Dragons
Schroedinger Risoluzione dell'equazione di Schroedinger per quattro tipi di potenziale
Spettro (per DOS) Manipolazione, analisi e fit di un qualsiasi campione di dati su due colonne
Probabilità Calcolo euristico dei fattori di probabilità per giochi di vario tipo
Tankzone Prototipo di motore grafico per emulare il celebre Tank Zone degli anni '80
Caccia Simulatore della caccia dei Vampiri WhiteWolf - The Masquerade
Rotore Prototipo di motore grafico per visualizzazione 3D di semplici oggetti
Matrix Motore di calcolo per la geometria lineare (matrici e vettori in R5)
Dumper Semplice editor per modificare o clonare programmi eseguibili
Calendar Agenda per gestione compleanni, progetti, festività e lista delle cose da fare
Stati (DOS) Sistema totocalcio euristico con stampa delle schedine (versione per DOS)
Stati (WIN) Sistema totocalcio euristico con stampa delle schedine (versione per Windows)

Sorgenti

Spettro (per WIN32) Manipolazione, analisi e fit di un qualsiasi campione di dati su due colonne
Cursor Programma di studio dell'interpretazione psicologica della casualità
Voyagers Gestionale per gioco Live Action ambientazione Star Trek
Darwin Emulazione di crescita e selezione genetica all'interno di una popolazione virtuale
ZY Correlazione non lineare tra cause ed effetti (algoritmo sconosciuto e quindi inutile al momento)

Suggerimenti

  • Exit code 201: provare a sostituire le variabili word con variabili longint, oppure controllare che gli indici degli array siano all'interno del range previsto nella definizione dell'array
  • Graphic error: controllare che la funzione ImageSize ritorni un valore positivo
  • InitGraph(gd,gm,' '): chiamarla una volta sola e mai durante un ciclo (altrimenti apre ogni volta una nuova finestra). Non usare questa funzione per pulire lo schermo, ma usare ClearViewPort o ClearDevice.
  • Graphic key events: usare wincrt anziché crt per usare le funzioni keypressed e readkey in modalità grafica
  • Debugger: per conoscere la riga esatta in cui viene generato un errore a runtime selezionare Generate also backtrace line information dal menù Options - Debugger del compilatore