Quindi sto facendo un bot per le scommesse IRC. Fondamentalmente il gioco / bot ha tre stati di chat di assunzione.
Stato 1: scommesse Se qualcuno dice "! Scommetti i soldi del team", analizzalo e registralo.
Stato 2: Combattimento Non prendere niente, non più! Scommessa, ecc. Basta guardare.
Stato 3: Waiting / Bank Non prendere scommesse. Prendi "! Bank" e stampa il conteggio dei soldi degli utenti.
In questo momento per ciascuno dei miei parser di messaggi per i bot ho un grosso grasso IF.
if (global_state == BETTING):
blah blah bah
E sto iniziando a dover far fare il mio bot quando lo stato cambia . Così ora sto iniziando a fare questo (che mi fa soffrire un po 'l'anima ogni volta che lo leggo)
if (global_state == BETTING && past_state == WAITING):
do blah stuff like reset the bet money
Come alcuni di voi avranno notato che sto usando Python, ma sicuramente questo problema non è solo per Python. Cosa dovrei fare invece?