[Python] Un videogioco fatto con la standard library

Balan Victor balan.victor0 a gmail.com
Sab 10 Dic 2011 11:50:36 CET


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 <dev a 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 a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20111210/2a8c0d8a/attachment.html>


Maggiori informazioni sulla lista Python