예제 #1
0
 def doKeys(self, keys, keysLastFrame, char):
     if char.moving:  # Player's currently moving, ignore keypresses
         return
     if self.activity == None and kbInput.isMenuPressed(
             keys) and not kbInput.isMenuPressed(keysLastFrame):
         self.renderMenu = not self.renderMenu
     if (self.renderMenu):
         if kbInput.isUpPressed(
                 keys) and not kbInput.isUpPressed(keysLastFrame):
             pass  # If we have more items, this decrements the menuIndex
         elif kbInput.isDownPressed(
                 keys) and not kbInput.isDownPressed(keysLastFrame):
             pass  # If we have more items, this increments the menuIndex
         elif kbInput.isOkayPressed(
                 keys) and not kbInput.isOkayPressed(keysLastFrame):
             self.renderMenu = False
             self.manager.go_to(scene.Scenes.CODING, plyr=self.main_player)
         elif kbInput.isBackPressed(
                 keys) and not kbInput.isBackPressed(keysLastFrame):
             self.renderMenu = False
     else:
         # Use change_direction instead of just changing the
         # variable since it also changes the sprite image
         if kbInput.isUpPressed(keys):
             self.move(char, game_objects.Direction.UP)
         elif kbInput.isRightPressed(keys):
             self.move(char, game_objects.Direction.RIGHT)
         elif kbInput.isDownPressed(keys):
             self.move(char, game_objects.Direction.DOWN)
         elif kbInput.isLeftPressed(keys):
             self.move(char, game_objects.Direction.LEFT)
예제 #2
0
 def doKeys(self, keys, keysLastFrame, char):
     if char.moving: # Player's currently moving, ignore keypresses
         return
     if self.activity == None and kbInput.isMenuPressed(keys) and not kbInput.isMenuPressed(keysLastFrame):
         self.renderMenu = not self.renderMenu
     if(self.renderMenu):
         if kbInput.isUpPressed(keys) and not kbInput.isUpPressed(keysLastFrame):
             pass  # If we have more items, this decrements the menuIndex
         elif kbInput.isDownPressed(keys) and not kbInput.isDownPressed(keysLastFrame):
             pass  # If we have more items, this increments the menuIndex
         elif kbInput.isOkayPressed(keys) and not kbInput.isOkayPressed(keysLastFrame):
             self.renderMenu = False
             self.manager.go_to(scene.Scenes.CODING, plyr = self.main_player)
         elif kbInput.isBackPressed(keys) and not kbInput.isBackPressed(keysLastFrame):
             self.renderMenu = False
     else:
         # Use change_direction instead of just changing the
         # variable since it also changes the sprite image
         if kbInput.isUpPressed(keys):
             self.move(char,game_objects.Direction.UP)
         elif kbInput.isRightPressed(keys):
             self.move(char,game_objects.Direction.RIGHT)
         elif kbInput.isDownPressed(keys):
             self.move(char,game_objects.Direction.DOWN)
         elif kbInput.isLeftPressed(keys):
             self.move(char,game_objects.Direction.LEFT)
예제 #3
0
    def update(self, keys, keysLastFrame):

        currentTime = time.time()
        if currentTime >= self.nextTurnTime:
            self.nextTurn()
            self.nextTurnTime += self.gameSpeed

        keys = pygame.key.get_pressed()

        if kbInput.isUpPressed(keys):
            self.moveBotByDir(self.c1Bots[0], 0, 1)
            self.moveBotByDir(self.c2Bots[0], 0, 1)
        elif kbInput.isRightPressed(keys):
            self.moveBotByDir(self.c1Bots[0], 1, 0)
            self.moveBotByDir(self.c2Bots[0], 1, 0)
        elif kbInput.isDownPressed(keys):
            self.moveBotByDir(self.c1Bots[0], 0, -1)
            self.moveBotByDir(self.c2Bots[0], 0, -1)
        elif kbInput.isLeftPressed(keys):
            self.moveBotByDir(self.c1Bots[0], -1, 0)
            self.moveBotByDir(self.c2Bots[0], -1, 0)
예제 #4
0
 def update(self, keys, keysLastFrame):
     
     currentTime = time.time()
     if currentTime >= self.nextTurnTime:
         self.nextTurn()
         self.nextTurnTime += self.gameSpeed
     
     keys = pygame.key.get_pressed()
         
     if kbInput.isUpPressed(keys):
         self.moveBotByDir(self.c1Bots[0],0,1)
         self.moveBotByDir(self.c2Bots[0],0,1)
     elif kbInput.isRightPressed(keys):
         self.moveBotByDir(self.c1Bots[0],1,0)
         self.moveBotByDir(self.c2Bots[0],1,0)
     elif kbInput.isDownPressed(keys):
         self.moveBotByDir(self.c1Bots[0],0,-1)
         self.moveBotByDir(self.c2Bots[0],0,-1)
     elif kbInput.isLeftPressed(keys):
         self.moveBotByDir(self.c1Bots[0],-1,0)
         self.moveBotByDir(self.c2Bots[0],-1,0)
예제 #5
0
 def doKeys(self, keys, keysLastFrame):
     if(self.blockMenu): # Menu is open
     
         if(self.activity != None): # Only do if we're on a Sugar-based System
             if kbInput.isOkayPressed(keys) and not kbInput.isOkayPressed(keysLastFrame):
                 self.blockMenu = False
                 self.inputIndex = 0
             elif(isinstance(self.selBlock, game_objects.CommentBlock)):
                 if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                     self.inputIndex = max(self.inputIndex - 1, 0)
                 elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                     self.inputIndex = min(self.inputIndex + 1, len(self.selBlock.comment))
                 newCmmnt, self.inputIndex = kbInput.kbTextInput(keys, keysLastFrame, self.selBlock.comment, self.inputIndex)
                 self.selBlock.setComment(newCmmnt)
             elif(isinstance(self.selBlock, game_objects.SayBlock)):
                 if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                     self.inputIndex = max(self.inputIndex - 1, 0)
                 elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                     self.inputIndex = min(self.inputIndex + 1, len(self.selBlock.message))
                 newMsg, self.inputIndex = kbInput.kbTextInput(keys, keysLastFrame, self.selBlock.message, self.inputIndex)
                 self.selBlock.setMessage(newMsg)
             elif(isinstance(self.selBlock, game_objects.IfManaBlock)):
                 if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                     self.inputIndex = max(self.inputIndex - 1, 0)
                 elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                     self.inputIndex = min(self.inputIndex + 1, len(str(self.selBlock.mthresh)))
                 newThresh, self.inputIndex = kbInput.kbNumInput(keys, keysLastFrame, self.selBlock.mthresh, self.inputIndex)
                 self.selBlock.setThresh(newThresh)
             elif(isinstance(self.selBlock, game_objects.IfOwnHealthBlock)):
                 if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                     self.inputIndex = max(self.inputIndex - 1, 0)
                 elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                     self.inputIndex = min(self.inputIndex + 1, len(str(self.selBlock.hthresh)))
                 newThresh, self.inputIndex = kbInput.kbNumInput(keys, keysLastFrame, self.selBlock.hthresh, self.inputIndex)
                 self.selBlock.setThresh(newThresh)
             self.inputIndex = max(self.inputIndex, 0)
             
         else: # Do on a non-Sugar System
             if kbInput.isMenuPressed(keys) and not kbInput.isMenuPressed(keysLastFrame):
                 self.blockMenu = False
                 self.menuIndex = 0
             if kbInput.isDownPressed(keys, False) and not kbInput.isDownPressed(keysLastFrame, False):
                 self.inputIndex = 0
                 if(self.mode == 0):
                     self.menuIndex = min(self.menuIndex + 1, 12)
                 elif(self.mode == 1):
                     self.menuIndex = min(self.menuIndex + 1, 3)
                 elif(self.mode == 2):
                     self.menuIndex = min(self.menuIndex + 1, 6)
             if kbInput.isUpPressed(keys, False) and not kbInput.isUpPressed(keysLastFrame, False):
                 self.inputIndex = 0
                 self.menuIndex = max(self.menuIndex - 1, 0)
             if kbInput.isOkayPressed(keys) and not kbInput.isOkayPressed(keysLastFrame):
                 if(self.menuIndex < 3):
                     self.mode = self.menuIndex
                     self.blockMenu = False
                     self.menuIndex = 0
                     self.selIndex = 0
                     self.currentBlockIndex = 0
                 else:
                     if(self.mode == 0):
                         newBlock = None
                         if(self.menuIndex == 3):
                             newBlock = game_objects.CommentBlock()
                         elif(self.menuIndex == 4):
                             newBlock = game_objects.SayBlock()
                         elif(self.menuIndex == 5):
                             newBlock = game_objects.WhileBlock()
                         elif(self.menuIndex == 6):
                             newBlock = game_objects.IfManaBlock()
                         elif(self.menuIndex == 7):
                             newBlock = game_objects.IfOwnHealthBlock()
                         elif(self.menuIndex == 8):
                             newBlock = game_objects.HealBlock(20, 15)
                         elif(self.menuIndex == 9):
                             newBlock = game_objects.FireballBlock(10, 15)
                         elif(self.menuIndex == 10):
                             newBlock = game_objects.MossLeechBlock(10, 15)
                         elif(self.menuIndex == 11):
                             newBlock = game_objects.DouseBlock(10, 15)
                         elif(self.menuIndex == 12):
                             newBlock = game_objects.EndTurnBlock()
                         if(self.insert(newBlock)):
                             self.selIndex += 1
                     elif(self.mode == 2):
                         if(self.menuIndex == 6):
                             self.remove()
             if(self.mode == 1 and self.menuIndex == 3):
                 if(isinstance(self.selBlock, game_objects.CommentBlock)):
                     if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                         self.inputIndex = max(self.inputIndex - 1, 0)
                     elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                         self.inputIndex = min(self.inputIndex + 1, len(self.selBlock.comment))
                     newCmmnt, self.inputIndex = kbInput.kbTextInput(keys, keysLastFrame, self.selBlock.comment, self.inputIndex)
                     self.selBlock.setComment(newCmmnt)
                 elif(isinstance(self.selBlock, game_objects.SayBlock)):
                     if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                         self.inputIndex = max(self.inputIndex - 1, 0)
                     elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                         self.inputIndex = min(self.inputIndex + 1, len(self.selBlock.message))
                     newMsg, self.inputIndex = kbInput.kbTextInput(keys, keysLastFrame, self.selBlock.message, self.inputIndex)
                     self.selBlock.setMessage(newMsg)
                 elif(isinstance(self.selBlock, game_objects.IfManaBlock)):
                     if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                         self.inputIndex = max(self.inputIndex - 1, 0)
                     elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                         self.inputIndex = min(self.inputIndex + 1, len(str(self.selBlock.mthresh)))
                     newThresh, self.inputIndex = kbInput.kbNumInput(keys, keysLastFrame, self.selBlock.mthresh, self.inputIndex)
                     self.selBlock.setThresh(newThresh)
                 elif(isinstance(self.selBlock, game_objects.IfOwnHealthBlock)):
                     if kbInput.isLeftPressed(keys, False) and not kbInput.isLeftPressed(keysLastFrame, False):
                         self.inputIndex = max(self.inputIndex - 1, 0)
                     elif kbInput.isRightPressed(keys, False) and not kbInput.isRightPressed(keysLastFrame, False):
                         self.inputIndex = min(self.inputIndex + 1, len(str(self.selBlock.hthresh)))
                     newThresh, self.inputIndex = kbInput.kbNumInput(keys, keysLastFrame, self.selBlock.hthresh, self.inputIndex)
                     self.selBlock.setThresh(newThresh)
                 self.inputIndex = max(self.inputIndex, 0)
                 
     else: # Menu is closed
         if kbInput.isBackPressed(keys) and not kbInput.isBackPressed(keysLastFrame):
             self.manager.go_to(scene.Scenes.INTERACTIVE)
             self.selIndex = 0
         if kbInput.isDownPressed(keys) and not kbInput.isDownPressed(keysLastFrame):
             if(self.mode == 0):
                 self.selIndex = min(self.selIndex + 1, self.totalArrowCount)
             else:
                 self.selIndex = min(self.selIndex + 1, self.totalBlockCount - 1)
         if kbInput.isUpPressed(keys) and not kbInput.isUpPressed(keysLastFrame):
             self.selIndex = max(self.selIndex - 1, 0)
         if self.activity == None and kbInput.isMenuPressed(keys) and not kbInput.isMenuPressed(keysLastFrame):
             self.blockMenu = True
     keysLastFrame = keys
예제 #6
0
    def doKeys(self, keys, keysLastFrame):
        if (self.blockMenu):  # Menu is open

            if (self.activity !=
                    None):  # Only do if we're on a Sugar-based System
                if kbInput.isOkayPressed(
                        keys) and not kbInput.isOkayPressed(keysLastFrame):
                    self.blockMenu = False
                    self.inputIndex = 0
                elif (isinstance(self.selBlock, game_objects.CommentBlock)):
                    if kbInput.isLeftPressed(
                            keys, False) and not kbInput.isLeftPressed(
                                keysLastFrame, False):
                        self.inputIndex = max(self.inputIndex - 1, 0)
                    elif kbInput.isRightPressed(
                            keys, False) and not kbInput.isRightPressed(
                                keysLastFrame, False):
                        self.inputIndex = min(self.inputIndex + 1,
                                              len(self.selBlock.comment))
                    newCmmnt, self.inputIndex = kbInput.kbTextInput(
                        keys, keysLastFrame, self.selBlock.comment,
                        self.inputIndex)
                    self.selBlock.setComment(newCmmnt)
                elif (isinstance(self.selBlock, game_objects.SayBlock)):
                    if kbInput.isLeftPressed(
                            keys, False) and not kbInput.isLeftPressed(
                                keysLastFrame, False):
                        self.inputIndex = max(self.inputIndex - 1, 0)
                    elif kbInput.isRightPressed(
                            keys, False) and not kbInput.isRightPressed(
                                keysLastFrame, False):
                        self.inputIndex = min(self.inputIndex + 1,
                                              len(self.selBlock.message))
                    newMsg, self.inputIndex = kbInput.kbTextInput(
                        keys, keysLastFrame, self.selBlock.message,
                        self.inputIndex)
                    self.selBlock.setMessage(newMsg)
                elif (isinstance(self.selBlock, game_objects.IfManaBlock)):
                    if kbInput.isLeftPressed(
                            keys, False) and not kbInput.isLeftPressed(
                                keysLastFrame, False):
                        self.inputIndex = max(self.inputIndex - 1, 0)
                    elif kbInput.isRightPressed(
                            keys, False) and not kbInput.isRightPressed(
                                keysLastFrame, False):
                        self.inputIndex = min(self.inputIndex + 1,
                                              len(str(self.selBlock.mthresh)))
                    newThresh, self.inputIndex = kbInput.kbNumInput(
                        keys, keysLastFrame, self.selBlock.mthresh,
                        self.inputIndex)
                    self.selBlock.setThresh(newThresh)
                elif (isinstance(self.selBlock,
                                 game_objects.IfOwnHealthBlock)):
                    if kbInput.isLeftPressed(
                            keys, False) and not kbInput.isLeftPressed(
                                keysLastFrame, False):
                        self.inputIndex = max(self.inputIndex - 1, 0)
                    elif kbInput.isRightPressed(
                            keys, False) and not kbInput.isRightPressed(
                                keysLastFrame, False):
                        self.inputIndex = min(self.inputIndex + 1,
                                              len(str(self.selBlock.hthresh)))
                    newThresh, self.inputIndex = kbInput.kbNumInput(
                        keys, keysLastFrame, self.selBlock.hthresh,
                        self.inputIndex)
                    self.selBlock.setThresh(newThresh)
                self.inputIndex = max(self.inputIndex, 0)

            else:  # Do on a non-Sugar System
                if kbInput.isMenuPressed(
                        keys) and not kbInput.isMenuPressed(keysLastFrame):
                    self.blockMenu = False
                    self.menuIndex = 0
                if kbInput.isDownPressed(keys,
                                         False) and not kbInput.isDownPressed(
                                             keysLastFrame, False):
                    self.inputIndex = 0
                    if (self.mode == 0):
                        self.menuIndex = min(self.menuIndex + 1, 12)
                    elif (self.mode == 1):
                        self.menuIndex = min(self.menuIndex + 1, 3)
                    elif (self.mode == 2):
                        self.menuIndex = min(self.menuIndex + 1, 6)
                if kbInput.isUpPressed(keys,
                                       False) and not kbInput.isUpPressed(
                                           keysLastFrame, False):
                    self.inputIndex = 0
                    self.menuIndex = max(self.menuIndex - 1, 0)
                if kbInput.isOkayPressed(
                        keys) and not kbInput.isOkayPressed(keysLastFrame):
                    if (self.menuIndex < 3):
                        self.mode = self.menuIndex
                        self.blockMenu = False
                        self.menuIndex = 0
                        self.selIndex = 0
                        self.currentBlockIndex = 0
                    else:
                        if (self.mode == 0):
                            newBlock = None
                            if (self.menuIndex == 3):
                                newBlock = game_objects.CommentBlock()
                            elif (self.menuIndex == 4):
                                newBlock = game_objects.SayBlock()
                            elif (self.menuIndex == 5):
                                newBlock = game_objects.WhileBlock()
                            elif (self.menuIndex == 6):
                                newBlock = game_objects.IfManaBlock()
                            elif (self.menuIndex == 7):
                                newBlock = game_objects.IfOwnHealthBlock()
                            elif (self.menuIndex == 8):
                                newBlock = game_objects.HealBlock(20, 15)
                            elif (self.menuIndex == 9):
                                newBlock = game_objects.FireballBlock(10, 15)
                            elif (self.menuIndex == 10):
                                newBlock = game_objects.MossLeechBlock(10, 15)
                            elif (self.menuIndex == 11):
                                newBlock = game_objects.DouseBlock(10, 15)
                            elif (self.menuIndex == 12):
                                newBlock = game_objects.EndTurnBlock()
                            if (self.insert(newBlock)):
                                self.selIndex += 1
                        elif (self.mode == 2):
                            if (self.menuIndex == 6):
                                self.remove()
                if (self.mode == 1 and self.menuIndex == 3):
                    if (isinstance(self.selBlock, game_objects.CommentBlock)):
                        if kbInput.isLeftPressed(
                                keys, False) and not kbInput.isLeftPressed(
                                    keysLastFrame, False):
                            self.inputIndex = max(self.inputIndex - 1, 0)
                        elif kbInput.isRightPressed(
                                keys, False) and not kbInput.isRightPressed(
                                    keysLastFrame, False):
                            self.inputIndex = min(self.inputIndex + 1,
                                                  len(self.selBlock.comment))
                        newCmmnt, self.inputIndex = kbInput.kbTextInput(
                            keys, keysLastFrame, self.selBlock.comment,
                            self.inputIndex)
                        self.selBlock.setComment(newCmmnt)
                    elif (isinstance(self.selBlock, game_objects.SayBlock)):
                        if kbInput.isLeftPressed(
                                keys, False) and not kbInput.isLeftPressed(
                                    keysLastFrame, False):
                            self.inputIndex = max(self.inputIndex - 1, 0)
                        elif kbInput.isRightPressed(
                                keys, False) and not kbInput.isRightPressed(
                                    keysLastFrame, False):
                            self.inputIndex = min(self.inputIndex + 1,
                                                  len(self.selBlock.message))
                        newMsg, self.inputIndex = kbInput.kbTextInput(
                            keys, keysLastFrame, self.selBlock.message,
                            self.inputIndex)
                        self.selBlock.setMessage(newMsg)
                    elif (isinstance(self.selBlock, game_objects.IfManaBlock)):
                        if kbInput.isLeftPressed(
                                keys, False) and not kbInput.isLeftPressed(
                                    keysLastFrame, False):
                            self.inputIndex = max(self.inputIndex - 1, 0)
                        elif kbInput.isRightPressed(
                                keys, False) and not kbInput.isRightPressed(
                                    keysLastFrame, False):
                            self.inputIndex = min(
                                self.inputIndex + 1,
                                len(str(self.selBlock.mthresh)))
                        newThresh, self.inputIndex = kbInput.kbNumInput(
                            keys, keysLastFrame, self.selBlock.mthresh,
                            self.inputIndex)
                        self.selBlock.setThresh(newThresh)
                    elif (isinstance(self.selBlock,
                                     game_objects.IfOwnHealthBlock)):
                        if kbInput.isLeftPressed(
                                keys, False) and not kbInput.isLeftPressed(
                                    keysLastFrame, False):
                            self.inputIndex = max(self.inputIndex - 1, 0)
                        elif kbInput.isRightPressed(
                                keys, False) and not kbInput.isRightPressed(
                                    keysLastFrame, False):
                            self.inputIndex = min(
                                self.inputIndex + 1,
                                len(str(self.selBlock.hthresh)))
                        newThresh, self.inputIndex = kbInput.kbNumInput(
                            keys, keysLastFrame, self.selBlock.hthresh,
                            self.inputIndex)
                        self.selBlock.setThresh(newThresh)
                    self.inputIndex = max(self.inputIndex, 0)

        else:  # Menu is closed
            if kbInput.isBackPressed(
                    keys) and not kbInput.isBackPressed(keysLastFrame):
                self.manager.go_to(scene.Scenes.INTERACTIVE)
                self.selIndex = 0
            if kbInput.isDownPressed(
                    keys) and not kbInput.isDownPressed(keysLastFrame):
                if (self.mode == 0):
                    self.selIndex = min(self.selIndex + 1,
                                        self.totalArrowCount)
                else:
                    self.selIndex = min(self.selIndex + 1,
                                        self.totalBlockCount - 1)
            if kbInput.isUpPressed(
                    keys) and not kbInput.isUpPressed(keysLastFrame):
                self.selIndex = max(self.selIndex - 1, 0)
            if self.activity == None and kbInput.isMenuPressed(
                    keys) and not kbInput.isMenuPressed(keysLastFrame):
                self.blockMenu = True
        keysLastFrame = keys