Skip to content

Commit

Permalink
lancemissile: disable urwid display
Browse files Browse the repository at this point in the history
use instead the console input/output interface.
very useful for debugging, the libusb interface.

Signed-off-by: Zakaria ElQotbi <zakaria@elqotbi.com>
  • Loading branch information
Zakaria ElQotbi committed Jan 21, 2012
1 parent 0529ab5 commit 4ce9a55
Showing 1 changed file with 62 additions and 1 deletion.
63 changes: 62 additions & 1 deletion missile.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,67 @@ def open(self):
self.handle.setAltInterface(self.intf)
return self.handle

class MissileNoDisplay:
def run(self):
usbdevice = UsbDevice()
MissileDevice = usbdevice.probe()
md = []
for missiles in range(3):
try:
md.append(MissileDevice(usbdevice))
except NoMissilesError, e:
break
if missiles==0:
raise NoMissilesError
while 1:
keys = None
while not keys:
keys = raw_input("Enter something: ")
for k in keys:
if k == 'window resize':
size = self.ui.get_cols_rows()
elif k in ('w', 'up'):
for m in md:
m.move(MissileDevice.UP)
elif k in ('x', 'down'):
for m in md:
m.move(MissileDevice.DOWN)
elif k in ('a', 'left'):
for m in md:
m.move(MissileDevice.LEFT)
elif k in ('d', 'right'):
for m in md:
m.move(MissileDevice.RIGHT)
elif k in ('f', 'space'):
for m in md:
m.move(MissileDevice.FIRE)
elif k in ('s'):
for m in md:
m.move(MissileDevice.STOP)
elif k in ('q'):
for m in md:
m.move(MissileDevice.LEFTUP)
elif k in ('e'):
for m in md:
m.move(MissileDevice.RIGHTUP)
elif k in ('z'):
for m in md:
m.move(MissileDevice.LEFTDOWN)
elif k in ('c'):
for m in md:
m.move(MissileDevice.RIGHTDOWN)
elif k in ('r'):
for n in range(3):
for m in md:
m.move(MissileDevice.FIRE)
sleep(0.5)
elif k in ('v'):
for m in md:
if random.random() > 0.8:
m.move(MissileDevice.FIRE)
elif k in ('esc'):
return

class MissileDisplay:
palette = [ ('body', 'black', 'dark cyan', 'standout'),
('footer','light gray', 'dark blue'),
Expand Down Expand Up @@ -405,7 +466,7 @@ def main(argv):
return
else:
try:
MissileDisplay().main()
MissileNoDisplay().run()
except NoMissilesError, e:
print "No WMDs found."
return
Expand Down

0 comments on commit 4ce9a55

Please sign in to comment.