def addKeyFunc(self, key, func, speed=1, hold=True): if not isinstance(key, list): key = [key] for k in key: self._keyfuncs[k] = d({ "func": func, "speed": speed, "hold": hold, "last": False, "inter": False })
def getKeys(self): result = {} for m in self._map: key = m val = m if isinstance(m, list): val = m[0] key = m[1] if isinstance(val, str): val = ord(val[0]) result[key] = abs(win32api.GetAsyncKeyState(val)) > 1 return d(result)
def getKeys(self): packet = SerialGamePad._generateHeader(CMDTYPE.GET_BTNS, 0) self._com.write(packet) resp = self._com.read(1) if len(resp) == 0: SerialGamePad._comError() elif ord(resp) != RETURN_CODES.SUCCESS: SerialGamePad._printError(ord(resp)) resp = self._com.read(2) if len(resp) != 2: SerialGamePad._comError() bits = ord(resp[0]) + (ord(resp[1]) << 8) index = 0 result = {} for m in self._map: result[m] = (bits & (1<<index) > 0) index += 1 return d(result)
def __init__(self, led, gamepad, players, onDie=None, onEnd=None, start=0, end=-1): super(JumpGame, self).__init__(led, start, end, gamepad) self.onDie = onDie self.onEnd = onEnd self.ball = dict( position=0, direction=random.choice([1, -1]), speed=0, speed_to_reach=0, speed_animation=None, ) self.action_delay = 20 self.players = [] random.shuffle(players) for i, player in enumerate(players): self.players.append( d( position=(self._led.numLEDs / len(players)) * i + (self._led.numLEDs / len(players)) / 2, jumping=0, color1=player.get('color', (255, 0, 0)), color2=complement(*player.get('color', (255, 0, 0))), blocking=0, token=player['token'], diying=0, dead=False, )) self.addKeyFunc(player['token'], lambda i=i: self.jump(player_idx=i))
def getKeys(self): bits = 0 try: packet = SerialGamePad._generateHeader(CMDTYPE.GET_BTNS, 0) self._com.write(packet) resp = self._com.read(1) if len(resp) == 0: SerialGamePad._comError() elif ord(resp) != RETURN_CODES.SUCCESS: SerialGamePad._printError(ord(resp)) resp = self._com.read(2) if len(resp) != 2: SerialGamePad._comError() bits = ord(resp[0]) + (ord(resp[1]) << 8) except IOError: log.error("IO Error Communicatng With Game Pad!") index = 0 result = {} for m in self._map: result[m] = bits & (1 << index) > 0 index += 1 return d(result)