2)Non esiste un port per Windows del modulo curses; per questa piattaforma, si provi il modulo Console, scritto da Fredrik Lundh e disponibile presso il sito http://effbot.org/efflib/console, che dà un risultato testuale indirizzabile col cursore e un pieno supporto per le istruzioni di mouse e tastiera.(fonte : http://www.python.it/doc/howto/Curses/curses-it/curses-it.html)
Il giorno 10 dicembre 2011 11:34, Francesco Maida <d...@cesco.it> ha scritto: > Salve, mentre cercavo cose da studiare su Python in rete mi sono > imbattuto in un videogioco scritto in Python attraverso l'ausilio > della libreria "curses" che dovrebbe far parte della standard library. > > Personalmente sono rimasto veramente impressionato, con appena 26 > righe di codice (15 nella versione compressa) ha scritto il classico > videogioco "snake" con il serpente che vaga per un labirinto mangiando > e finisce per allungarsi ad ogni oggetto che mangia, chi ha avuto un > vecchio home computer negli anni settanta/ottanta oppure un telefonino > Nokia sa di cosa sto parlando :-) > > Qui il filmato: > http://www.youtube.com/watch?v=Bj-H9uPEa5U > > Qui il codice sorgente: > http://snake-1526l.googlecode.com/files/snake2615l.tar.bz2 > > > Mi potreste aiutare a capire come funziona per favore? > > > 1) Curses. Per fare un'analogia con qualcosa a me più familiare, mi > sembra di aver capito che questa "curses" fra le altre cose funziona > come il vecchio comando LOCATE del Basic: il terminale viene diviso > per caratteri in una griglia, e poi uno indica una coordinata X e una > Y dello schermo ed il carattere da stamparci sopra. Quello che una > volta si faceva con un LOCATE 5, 4 : PRINT "CIAO" con questa libreria > si fa con un Curses.addstr(5, 4, 'CIAO'). E' corretto ? > > 2) Se non ho capito male curses funziona solo da terminale. Questo > significa che il codice funzionerebbe solo da Unix / Linux e Mac OS X > ? Niente Windows? > > 3) Per come l'ho interpretato io leggendolo il programma farebbe questo: > > [Finchè l'utente non preme il tasto ESC per terminare la partita...] > ...[Scrive il punteggio sullo schermo] > ...[Attende un certo numero di millisecondi] > ...[Controlla se è stato premuto un tasto] > ...[Modifica l'array di tuple che contiene le posizioni di ogni > segmento del serpente] > ...[Il serpente si è spostato sopra un carattere "O" ?] > ......[Si: allunga di una unità l'array che rappresenta il serpente] > ......[No: Si è spostato su di un carattere di spazio?] > .........[Si: elimina la "coda" del serpente, ovvero l'ultimo elemento > dell'array] > .........[No: vuol dire che ha cozzato contro un muro o contro se > stesso: GAME OVER!] > ...[Ridisegna la "testa" del serpente, utilizzando le coordinate X e Y > indicate nella tupla che rappresenta il primo elemento dell'array] > > Secondo voi è corretta questa analisi? In particolare mi riesce > difficile capire esattamente cosa fa il codice fra le righe 17 e 22. > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python