예제 #1
0
class Game:
    def __init__(self):
        pygame.init()
        #Initialisation de la fenêtre
        self.screen_size = (1500, 1000)
        self.screen = pygame.display.set_mode(self.screen_size)
        pygame.display.set_caption("Jeu de test")

        self.is_running = True

        self.background_color = pygame.Color("white")
        self.player = Player()

    def Start(self):
        while self.is_running:
            self.screen.fill(self.background_color)
            self.screen.blit(self.player.GetImage(), self.player.GetRect())
            pygame.display.update()

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.Stop()
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_RIGHT:
                        self.player.Move(Player.DIR_EAST)
                    elif event.key == pygame.K_LEFT:
                        self.player.Move(Player.DIR_WEST)
                    elif event.key == pygame.K_UP:
                        self.player.Move(Player.DIR_NORTH)
                    elif event.key == pygame.K_DOWN:
                        self.player.Move(Player.DIR_SOUTH)

        pygame.quit()

    def Stop(self):
        self.is_running = False
예제 #2
0
def main():

    pygame.init()

    logo = pygame.image.load(os.path.join("img", "logo.png"))
    pygame.display.set_icon(logo)
    pygame.display.set_caption("Mary's World")

    width = 800
    height = 600

    screen = pygame.display.set_mode((width, height))

    game_is_running = True

    player = Player()
    blocks = []

    for i in range(16):
        blk = Block()
        blk.pos.x = i * 50
        blk.pos.y = height
        blocks.append(blk)

    while game_is_running:
        player.Update()
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    player.vel.x = -0.2
                    player.SetState(PlayerState.MOVE)
                elif event.key == pygame.K_RIGHT:
                    player.vel.x = 0.2
                    player.SetState(PlayerState.MOVE)
                elif event.key == pygame.K_UP:
                    player.Jump()
                elif event.key == pygame.K_DOWN:
                    player.SetState(PlayerState.FALL)

            if event.type == pygame.KEYUP:
                if event.key == pygame.K_LEFT:
                    player.vel.x = 0
                    player.SetState(PlayerState.IDLE)
                elif event.key == pygame.K_RIGHT:
                    player.vel.x = 0
                    player.SetState(PlayerState.IDLE)
            if event.type == pygame.QUIT:
                game_is_running = False
        screen.fill((0, 0, 0))
        player_sprite = pygame.transform.scale(player.GetSurface(), (100, 100))
        screen.blit(player_sprite, (player.pos.x, player.pos.y))
        fall = True
        for blk in blocks:
            screen.blit(blk.GetSurface(), (blk.pos.x, blk.pos.y))
            if blk.GetRect().colliderect(player.GetRect()):
                fall = False

        if fall:
            player.SetState(PlayerState.FALL)
        elif player.state == PlayerState.FALL:
            player.vel.y = 0
            player.SetState(PlayerState.IDLE)

        pygame.display.update()