Il 10 dicembre 2011 11:34, Francesco Maida <d...@cesco.it> ha scritto: > [...] > Qui il filmato: > http://www.youtube.com/watch?v=Bj-H9uPEa5U > > Qui il codice sorgente: > http://snake-1526l.googlecode.com/files/snake2615l.tar.bz2
Grazie per il link > Mi potreste aiutare a capire come funziona per favore? >[...] > > > Secondo voi è corretta questa analisi? Mi pare di sì. > In particolare mi riesce > difficile capire esattamente cosa fa il codice fra le righe 17 e 22. Per quanto riguarda la riga 17, l'espressione: (key==KEY_RIGHT and 1 or key==KEY_LEFT and -1) restituisce 1 o -1 a seconda del tasto premuto. Si può capire tenendo conto del modo in cui funzionano le espressioni booleane in Python: restituiscono il primo oggetto che risolve l'espressione: >>> True and False False >>> True and "Pippo" 'Pippo' >>> False and True False >>> False and "Pippo" False >>> True and "" '' Tieni presente che in Python zero, la lista vuota, la stringa vuota sono considerati False tutti gli altri oggetti True. Prova tu a vedere cosa avviene con l'operazione or. Quindi l'intera riga 17: snake.insert(0,[snake[0][0]+(key==KEY_RIGHT and 1 or key==KEY_LEFT and -1), snake[0][1]+(key==KEY_DOWN and 1 or key==KEY_UP and -1)]) aggiunge come primo elemento della lista snake un elemento uguale al precedente ma con i valori incrementati o decrementati di uno in base al tasto premuto. Ciao -- Daniele www.fugamatematica.blogspot.com giusto! nel verso forse è perché non guardiamo le cose Quando non ci capiamo, _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python