Exemple #1
0
 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)
Exemple #4
0
 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)