Beispiel #1
0
 def key_commands(self):
     if PlayerInput.is_key_down(pygame.K_LEFT):
         self.set_location(self.x - self.speed, self.y)
     if PlayerInput.is_key_down(pygame.K_RIGHT):
         self.set_location(self.x + self.speed, self.y)
     if PlayerInput.is_key_pressed(pygame.K_SPACE):
         self.start_rising()
 def key_commands(self):
     if PlayerInput.is_key_down(pygame.K_LEFT):
         self.set_location(self.x - 1, self.y)
     if PlayerInput.is_key_down(pygame.K_RIGHT):
         self.set_location(self.x + 1, self.y)
     if PlayerInput.is_key_down(pygame.K_UP):
         self.set_location(self.x, self.y - 1)
     if PlayerInput.is_key_down(pygame.K_DOWN):
         self.set_location(self.x, self.y + 1)
Beispiel #3
0
 def execute_event_loop(self):
     while self.running:
         time_passed = self.clock.tick(50)
         PlayerInput.reset_key_list()
         for event in pygame.event.get():
             PlayerInput.key_input_listener(event)
             if event.type == pygame.QUIT:
                 running = False
         self.active_world.manage_actions()
         self.active_world.actor_bounds()
         self.active_world.draw_screen()
         pygame.display.update()
Beispiel #4
0
    def __init__(self, x, y, collider):

        super().__init__(x, y, 64, 64)

        self.maxJumps = 3
        self.jumps = self.maxJumps
        self.groundAccel = 4
        self.maxSpeed = 12
        self.jumpPower = 14
        self.groundDecel = 8
        self.airAccel = 2
        self.slideAccel = 1

        self.slideHeight = 48
        self.standHeight = 64

        self.jumpPressed = False
        self.leftPressed = False
        self.rightPressed = False
        self.downPressed = False
        self.upPressed = False
        self.dashPressed = False

        self.EXIT = False
        self.LEVEL = 0
        self.SKULL = False

        self.moveDirection = d.none
        self.frictionToggle = 0

        self.yVelo = 0
        self.xVelo = 0

        self.jumpY = 0
        self.jumpX = 0

        self.blocked = False
        self.grounded = False
        self.running = False
        self.direction = d.none
        self.trySliding = False
        self.sliding = False

        self.grabbing = False
        self.grabbed = False
        self.lastGrab = False
        self.grabTime = 60
        self.grabDirection = d.none

        self.maxEnergy = 120
        self.energy = 120
        self.dashing = False

        self.collider = collider

        self.loadAnimations()
        self.changeAnimation('Samurai_idle_right')

        self.controller = PlayerInput.PlayerInput()
        self.keyboard = Controller()
Beispiel #5
0
    def __init__(self):

        self.window = pygame.display.set_mode(size)
        pygame.display.set_caption('Snake')
        self.window.fill(black)
        
        self.fps_increment=80
        self.FPS=STARTING_FPS
        
        self.playerInput = PlayerInput()
        
        self.board=Board()
        
        self.head=Segment((world_size/2, world_size/2))
        self.snake=Snake(self.head)
        
        self.food=Food()
 def set_player_input(self):
     self.player_input_obj = PI.PlayerInput(self)
     return
Beispiel #7
0
class SnakeGame:
    
    def __init__(self):

        self.window = pygame.display.set_mode(size)
        pygame.display.set_caption('Snake')
        self.window.fill(black)
        
        self.fps_increment=80
        self.FPS=STARTING_FPS
        
        self.playerInput = PlayerInput()
        
        self.board=Board()
        
        self.head=Segment((world_size/2, world_size/2))
        self.snake=Snake(self.head)
        
        self.food=Food()

    def game(self):
        pygame.init()
        running=True
        while running:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running=False
                self.playerInput.takeInput(event)
            if self.food.foodExists==False:
                self.food.spawnFood(self.board.grid)
            if self.snake.foundFood(self.food.foodGridPosition)==True:
                self.food.clearFood(self.board.grid)
                self.board.updateNodes(self.snake)
                self.drawBoard() 
                self.food.foodExists=False
                self.snake.grow()
            self.snake.setDirection(self.playerInput.direction)
            self.playerInput.finaliseDirection()
            
            #self.board.resetNode(self.snake.getHead().getLastNode().getPosition())  This code doesn't work. For some reason, when food it picked up, this no longer calls the method.
            
            self.snake.moveSnake()
            if self.snake.checkCollision()==True:
                break
            self.board.updateNodes(self.snake)
            self.drawBoard()
               
            clock.tick(self.FPS)

            
            pygame.display.update()
            self.increaseFPS()
            

        pygame.quit()
        
    def drawBoard(self):
        for List in self.board.grid:
            for node in List:
                if node.getContainsFood()==True:
                    pygame.draw.rect(self.window, red, (node.getPosition()[0], node.getPosition()[1], rectangle_width, rectangle_height),0)
                elif node.getContainsSnake()==True:
                    pygame.draw.rect(self.window, white, (node.getPosition()[0], node.getPosition()[1], rectangle_width, rectangle_height),0)
                elif node.getContainsSnake()==False:
                    pygame.draw.rect(self.window, black, (node.getPosition()[0], node.getPosition()[1], rectangle_width, rectangle_height),0)

   
        
    def increaseFPS(self):
        self.fps_increment-=1
        if self.fps_increment<=0:
            if self.FPS<=fps_cap:
                self.FPS+=1
                self.fps_increment=80
                
                
    def main(self):
       self.game()