annotate light8/ExternalInput.py @ 62:2f2eb802e93d

stage shows levels now. aims have blue halo for easy recognition. stage shows levels now. aims have blue halo for easy recognition. old dummy config stored
author dmcc
date Tue, 09 Jul 2002 08:35:27 +0000
parents 45b12307c695
children 0969d8a6729d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 import thread, SocketServer, socket
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 currentlevels = [0,0,0,0]
45b12307c695 Initial revision
drewp
parents:
diff changeset
5
45b12307c695 Initial revision
drewp
parents:
diff changeset
6
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 class NetSliderHandler(SocketServer.StreamRequestHandler):
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 def handle(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 data = self.rfile.readline(1000)
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 currentlevels[:] = [round(self.bounds(float(x)/255),3) for x in list(data.split())]
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 def bounds(self,x):
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 # the last .1 both ways shall not do anything
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 x=x*1.1-.05
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 x=min(1,max(0,x))
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 return x
45b12307c695 Initial revision
drewp
parents:
diff changeset
16
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 def start_server(levelstorage=0):
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 server = SocketServer.TCPServer(
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 ('', socket.getservbyname('rlslider', 'tcp')),
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 NetSliderHandler)
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 server.serve_forever()
45b12307c695 Initial revision
drewp
parents:
diff changeset
22
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 class ExternalSliders:
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 def __init__(self, level_storage=[]):
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 self.level_storage = level_storage
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 self.spawn_server()
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 def test(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 'Store fake inputs to test operations'
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 def spawn_server(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 # thread.start_new_thread(start_server, (self.update))
45b12307c695 Initial revision
drewp
parents:
diff changeset
33 def update(self, *args):
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 self.level_storage[:] = args
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 def get_levels(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 return currentlevels
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 # import math, time
45b12307c695 Initial revision
drewp
parents:
diff changeset
38 # return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus
45b12307c695 Initial revision
drewp
parents:
diff changeset
39
45b12307c695 Initial revision
drewp
parents:
diff changeset
40 # return self.level_storage