X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=b623be635fd0be336e59bef51d931ef740c27a41;hp=c82dda8bc48798baf8a0f9923e7ceacf6f6dcf84;hb=80bad34b7547af4a4bb0b3d26c3c8e3357c55728;hpb=ce75000d4e6f38c8143c1eb0cafe2756d903c6ed diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index c82dda8..b623be6 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -15,7 +15,7 @@ from VendingMachine import VendingMachine, VendingException from MessageKeeper import MessageKeeper from HorizScroll import HorizScroll from random import random, seed -from Idler import TrainIdler,GrayIdler,StringIdler +from Idler import TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler import socket from posix import geteuid @@ -189,10 +189,13 @@ idler = None def setup_idlers(v): global idlers, idler idlers = [ - StringIdler(v), + StringIdler(v, text="Kill 'em all", repeat=False), StringIdler(v, text=CREDITS), StringIdler(v, text=str(math.pi) + " "), StringIdler(v, text=str(math.e) + " "), + FortuneIdler(v), + ClockIdler(v), + StringIdler(v), GrayIdler(v), TrainIdler(v), GrayIdler(v,one="*",zero="-"), @@ -202,15 +205,31 @@ def setup_idlers(v): GrayIdler(v,one="/",zero="\\",reorder=1), GrayIdler(v,one="X",zero="O",reorder=1), ] + disabled = [ + ] idler = choose_idler() def choose_idler(): global idler - idler = idlers[int(random()*len(idlers))] + iiindex = 0 + + if idler: + iiindex = idlers.index(idler) + + iilen = len(idlers) + + move = int(random()*len(idlers)) + 1 + + while move >= 0: + idler = idlers[( (iiindex + 1) % iilen)] + move = move - idler.affinity() + idler.reset() def idle_step(): global idler + if idler.finished(): + choose_idler() idler.next() def run_forever(rfh, wfh, options, cf):