[Python] Gestione del tempo.

Gabriele Battaglia iz4apu a libero.it
Gio 19 Dic 2013 15:41:29 CET


Ciao a tutti, ben riletti dopo molto tempo e auguri di buone feste a voi e 
famiglie.

Questione semplice, progetto semplice, domande semplici e, please, risposte 
semplici. Immaginate di dover rispondere ad un bambino di 12 anni, nemmeno 
particolarmente sveglio, :) cosė sono io, almeno per quanto concerne Python.

Progetto, sviluppare una piccola applicazione console, sotto Windows, con 
Python 2.7, che faccia da orologio per giocare a scacchi.

La faccenda č presto detta: 2 timer partono da un tempo definibile dall'utente 
e scendono verso lo zero. Questi due clock si esprimono in ore, minuti, 
secondi. La pressione di un tasto ferma quello in moto e avvia l'altro, e 
viceversa. Ad ogni switch degli orologi, quello messo in moto riceve anche un 
incremento bonus di tempo, definibile dall'utente prima della partita.
Alla pressione di un tasto entrambi gli orologi devono essere fermati e il 
conteggio deve poter essere sia interrotto che ripreso. All'arrivo a 0 ore, 0 
minuti e 0 secondi di uno dei due orologi, l'evento viene segnalato decretando 
la sconfitta del giocatore che aveva quell'orologio.

Prima domanda: come fareste voi, a fare aggiornare le variabili degli orologi?
In alcuni linguaggi, ricordo che si legava un evento allo scorrere del tempo, 
tipo On Time Goto e poi non ci si pensava pių, allo scadere dell'intervallo 
specificato, il codice veniva eseguito.
Qui dovrei controllare time.clock() e, se superiore di un tot a quella letta 
la volta precedente, chiamo il metodo delloggetto orologio che ne aggiorna le 
variabili, giusto?

Domanda 2: secondo voi, conviene realizzarlo ad oggetti, anche come palestra, 
o meglio farlo come una procedura?

Terza domanda, dovendo stampare i valori dei clocks nella console, come faccio 
a scriverli sempre sulla stessa riga evitando cosė di riempire la console con 
due colonne di cifre che scorrono verso l'alto?

Grazie.
GB. 



Maggiori informazioni sulla lista Python