python
mercoledì 6 aprile 2011 - 5 Commenti
Pdp 8 Emulator in python, quarta parte.

Introduzione
In questa parte analizzeremo l’istruzione più delicata presente nel pdp8, ovvero quella che carica il contenuto del codice assembly, trasformandolo in codice macchina, nel nostro calcolatore didattico. Vedremo anche alcune funzioni utili per controllare lo stato della macchina durante l’esecuzione.
Ho già apportato le modifiche suggerite nel precedente articolo, di conseguenza il codice dovrebbe essere ancora più comprensibile. Non ho convertito il core per funzionare con gli interi, ma questa scelta è prettamente personale, poiché abbiamo già visto che porterebbe un incremento di prestazioni, che comunque non è rilevante ai fini …

mercoledì 30 marzo 2011 - 22 Commenti
Pdp 8 Emulator in python, terza parte.

Introduzione
In questo articolo analizzeremo i metodi statici che sono presenti nella classe pdp8. Prima però vorrei parlare di qualcosa di più generale: se avete seguito i commenti del precedente post, potete aver notato come alcune soluzioni, se pur funzionanti, possano essere più facili o difficili, oppure meno performanti di altre.
Quando iniziate un progetto, dovete tener bene in mente dei punti fondamentali :

Fare un’attenta analisi del problema da risolvere (problem setting)

Cercare di modellizzare il problema (visualizzandolo logicamente, magari con strutture a blocchi. Questa parte dipende molto dalla natura del problema)

martedì 22 marzo 2011 - 14 Commenti
Pdp 8 Emulator in python, seconda parte.

Introduzione
Partiamo subito analizzando il cuore dell’applicazione, cioè la parte che simula il calcolatore pdp8, ma prima devo ringraziare Walter Valentini per aver trasformato in un package python il programma, cosa che non avevo il tempo di fare (questa è la cosa più bella dei progetti open source, cioè che più persone possono contribuire per migliorare l’applicazione).
Il file del quale sto parlando è pdp8.py, il cuore pulsante dell’emulatore. La classe pdp8 contenuta in questo file, rappresenta il nostro calcolatore didattico.
Codice
Analisi

Osserviamo per prima cosa come viene inizializzata la macchina. Come ho già …

martedì 15 marzo 2011 - 7 Commenti
Pdp 8 Emulator in python, prima parte.

Introduzione
Inzieremo ora a parlare di un progetto che ho portato avanti in questo periodo; come potete aver intuito dal titolo, si tratta di un emulatore del processore pdp8, naturalmente scritto in python (anche questa volta, il pitone mi è stato di grande aiuto). Il programma simula il calcolatore didattico che sto affrontando nei miei studi, quindi sarà molto semplificato sotto alcuni aspetti (per esempio non simulo l’interfaccia della tastiera e del monitor come hardware, ma solo il loro comportamento). Anche se non è un processore recente, presenta delle meccaniche …

mercoledì 9 marzo 2011 - 8 Commenti
Sviluppare un gioco in Python: isometria, Prima parte.

Nella prossima serie di articoli analizzeremo delle tematiche che completano il nostro tour nella realizzazione di un gioco in 2D (per quanto riguarda il codice vero e proprio, altri aspetti, come l’organizzazione del lavoro, saranno trattati più avanti).

lunedì 14 febbraio 2011 - 6 Commenti
Sviluppare un gioco in Python: Physics engine, seconda parte.

Introduzione
In questi due esempi che vedremo, simuleremo un campo di Air Hockey. Non ci concentreremo sul gioco in se, ma sulla simulazione fisica, quindi quello che riguarda il disco e il giocatore. Anche in questo caso il codice è relativamente semplice e basterà sottolieare alcuni punti per far capire il funzionamento globale.
I due esempi differiscono per i movimenti del giocatore. Infatti non basta spostare la mazza sul tavolo, perché altrimenti questa non imprimerebbe nessuna velocità al disco, serve quindi gestire la cosa trattando la mazza come se fosse un …

mercoledì 2 febbraio 2011 - 8 Commenti
Sviluppare un gioco in Python: Physics engine, prima parte.

Per ora abbiamo gestito collisioni semplici, utilizzando le funzioni che la libreria pygame ci dava a disposizione, ma per un gioco completo e abbastanza appagante, ci vorrebbe qualcosa di più.

lunedì 27 dicembre 2010 - 2 Commenti
Sviluppare un gioco in Python: Data Manager 2

Chiudiamo il discorso dei data manager analizzando un nuovo modulo che ci aiuterà nel gestire al meglio il nostro videogioco.

martedì 14 dicembre 2010 - 2 Commenti
Sviluppare un gioco in Python: Data Manager.

Per il momento presenterò una serie di minicapitoli per migliorare l’ultimo esempio che abbiamo visto. C’è infatti la necessita di gestire le cose con più chiarezza, per avere un ambiente un pò diverso mentre si lavora.

martedì 14 dicembre 2010 - 54 Commenti
Come iniziare un ragazzino alla programmazione?

Questa settimana mi sono trovato di fronte ad una di quelle domande che nella loro semplicità riescono a metterti in difficoltà. Un mio caro amico, avendo un fratello di 13 anni che vorrebbe in qualche modo esplorare il mondo della programmazione mi ha chiesto:
“Conosci un testo che sia adatto ad un ragazzino che vorrebbe iniziare a programmare?”
La scelta del linguaggio è ricaduta su python per diversi motivi:

Lo conosco, lo uso, quindi in caso di necessità mi sento più a mio agio a spiegare come funziona
Permette di focalizzarsi sulla programmazione senza …