コード例 #1
0
        return self.sprite

    def getWidth(self):
        return self.width

    def getHeight(self):
        return self.height

    def getX(self):
        return self.x

    def getY(self):
        return self.y

    def getPOS(self):
        return self.pos


if __name__ == "__main__":
    from window import Window
    from pygame import init

    init()
    window = Window()
    sprite = Sprite(window)
    while True:
        window.getEvents()
        window.clearScreen()
        window.blitSprite(sprite)
        window.updateScreen()
コード例 #2
0
class Engine:
    def __init__(self):
        self.window = Window()
        self.player1 = Player1(self.window)
        self.player2 = Player2(self.window)
        self.ball = Ball(self.window)
        self.intro = Text("PONG 2.0", self.window)
        self.intro1 = Text("Player1: key a for up, key d for down.",
                           self.window)
        self.intro2 = Text("Player2: key left for up, key right for down",
                           self.window)
        self.intro3 = Text("Press Space to continue", self.window)
        self.title = Text("PONG 2.0", self.window)
        self.scorep1 = Text("Player1 Score: ", self.window)
        self.scorep2 = Text("Player2 Score: ", self.window)
        self.p1oint0 = Text("0", self.window)
        self.p1oint1 = Text("1", self.window)
        self.p1oint2 = Text("2", self.window)
        self.p1oint3 = Text("3", self.window)
        self.p1oint4 = Text("4", self.window)
        self.p1oint5 = Text("5", self.window)
        self.p1oint6 = Text("6", self.window)
        self.p1oint7 = Text("7", self.window)
        self.p1oint8 = Text("8", self.window)
        self.p1oint9 = Text("9", self.window)
        self.p1oint10 = Text("10", self.window)
        self.p1won = False

        self.p2oint0 = Text("0", self.window)
        self.p2oint1 = Text("1", self.window)
        self.p2oint2 = Text("2", self.window)
        self.p2oint3 = Text("3", self.window)
        self.p2oint4 = Text("4", self.window)
        self.p2oint5 = Text("5", self.window)
        self.p2oint6 = Text("6", self.window)
        self.p2oint7 = Text("7", self.window)
        self.p2oint8 = Text("8", self.window)
        self.p2oint9 = Text("9", self.window)
        self.p2oint10 = Text("10", self.window)
        self.p2won = False
        self.p1wont = Text("Player 1 won", self.window)
        self.p2wont = Text("Player 2 won", self.window)
        self.running = True

    def conti(self, keys):
        if keys[K_SPACE] == 1:
            self.running = True
        else:
            pass

    def run(self):
        while self.running:
            # --- INPUTS --- #
            self.window.getEvents()

            # --- PROCESSING --- #
            self.player1.conti(self.window.getKeyPressed())
            self.scorep1.setPOS(0, 30)
            self.scorep2.setPOS(600, 30)
            self.intro.setPOS(150, 100)
            self.intro1.setPOS(150, 200)
            self.intro2.setPOS(150, 230)
            self.intro3.setPOS(150, 260)

            # --- OUTPUTS --- #

            self.window.clearScreen()
            self.window.blitSprite(self.intro)
            self.window.blitSprite(self.intro1)
            self.window.blitSprite(self.intro2)
            self.window.blitSprite(self.intro3)
            self.window.updateScreen()

            while self.player1.getcon() == True:
                self.window.clearScreen()
                # --- INPUTS --- #
                self.window.getEvents()

                # --- PROCESSING --- #
                self.player1.move(self.window.getKeyPressed())
                self.player1.conti(self.window.getKeyPressed())
                self.player2.move(self.window.getKeyPressed())
                self.ball.move()
                self.ball.collision1(self.player1)
                self.ball.collision2(self.player2)
                self.scorep1.setPOS(0, 30)
                self.scorep2.setPOS(600, 30)
                # player 1 score
                if self.ball.getp1s() == 0:
                    self.p1oint0.setPOS(160, 30)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 1:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(160, 30)
                    self.p1oint2.setPOS(-1000, -100)
                    self.p1oint3.setPOS(-1000, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 2:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(160, 30)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 3:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(160, 30)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 4:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(160, 30)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 5:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(160, 30)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 6:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(160, 30)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 7:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(160, 30)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 8:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(160, 30)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 9:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(160, 30)
                    self.p1oint10.setPOS(-100, -100)
                elif self.ball.getp1s() == 10:
                    self.p1oint0.setPOS(-100, -100)
                    self.p1oint1.setPOS(-100, -100)
                    self.p1oint2.setPOS(-100, -100)
                    self.p1oint3.setPOS(-100, -100)
                    self.p1oint4.setPOS(-100, -100)
                    self.p1oint5.setPOS(-100, -100)
                    self.p1oint6.setPOS(-100, -100)
                    self.p1oint7.setPOS(-100, -100)
                    self.p1oint8.setPOS(-100, -100)
                    self.p1oint9.setPOS(-100, -100)
                    self.p1oint10.setPOS(160, 30)
                    self.p1wont.setPOS(350, 280)
                    self.p1won = True

                # player 2 score
                if self.ball.getp2s() == 0:
                    self.p2oint0.setPOS(760, 30)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 1:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(760, 30)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 2:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(760, 30)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 3:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(760, 30)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 4:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(760, 30)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 5:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(760, 30)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 6:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(760, 30)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 7:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(760, 30)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 8:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(760, 30)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 9:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(760, 30)
                    self.p2oint10.setPOS(-100, -100)
                elif self.ball.getp2s() == 10:
                    self.p2oint0.setPOS(-100, -100)
                    self.p2oint1.setPOS(-100, -100)
                    self.p2oint2.setPOS(-100, -100)
                    self.p2oint3.setPOS(-100, -100)
                    self.p2oint4.setPOS(-100, -100)
                    self.p2oint5.setPOS(-100, -100)
                    self.p2oint6.setPOS(-100, -100)
                    self.p2oint7.setPOS(-100, -100)
                    self.p2oint8.setPOS(-100, -100)
                    self.p2oint9.setPOS(-100, -100)
                    self.p2oint10.setPOS(760, 30)
                    self.p2wont.setPOS(350, 280)
                    self.p2won = True

                # --- OUTPUTS --- #
                self.window.clearScreen()
                self.window.blitSprite(self.title)
                self.window.blitSprite(self.scorep1)
                self.window.blitSprite(self.scorep2)
                self.window.blitSprite(self.player1)
                self.window.blitSprite(self.player2)
                self.window.blitSprite(self.ball)
                # player 1 score
                self.window.blitSprite(self.p1oint0)
                self.window.blitSprite(self.p1oint1)
                self.window.blitSprite(self.p1oint2)
                self.window.blitSprite(self.p1oint3)
                self.window.blitSprite(self.p1oint4)
                self.window.blitSprite(self.p1oint5)
                self.window.blitSprite(self.p1oint6)
                self.window.blitSprite(self.p1oint7)
                self.window.blitSprite(self.p1oint8)
                self.window.blitSprite(self.p1oint9)
                self.window.blitSprite(self.p1oint10)
                # player 2 score
                self.window.blitSprite(self.p2oint0)
                self.window.blitSprite(self.p2oint1)
                self.window.blitSprite(self.p2oint2)
                self.window.blitSprite(self.p2oint3)
                self.window.blitSprite(self.p2oint4)
                self.window.blitSprite(self.p2oint5)
                self.window.blitSprite(self.p2oint6)
                self.window.blitSprite(self.p2oint7)
                self.window.blitSprite(self.p2oint8)
                self.window.blitSprite(self.p2oint9)
                self.window.blitSprite(self.p2oint10)
                if self.p1won == True:
                    self.window.clearScreen()
                    self.window.blitSprite(self.p1wont)

                elif self.p2won == True:
                    self.window.clearScreen()
                    self.window.blitSprite(self.p2wont)

                self.window.updateScreen()
コード例 #3
0
            self.SCREEN = pygame.transform.flip(self.SCREEN, True, False)
            self.X_FLIP = False
        if KEY_PRESSES[pygame.K_a] == 1 and not self.X_FLIP:
            self.SCREEN = pygame.transform.flip(self.SCREEN, True, False)
            self.X_FLIP = True

    def wasdMove(self, KEYPRESSES):
        super().wasdMove(KEYPRESSES)
        self.flipImageX(KEYPRESSES)


if __name__ == "__main__":
    from window import Window
    import sys

    pygame.init()
    WINDOW = Window()
    SPRITE = ImageSprite("assets/bunny.png")
    SPRITE.setScale(2)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        KEY_PRESSED = pygame.key.get_pressed()
        SPRITE.wasdMove(KEY_PRESSED)
        WINDOW.clearScreen()
        WINDOW.getScreen().blit(SPRITE.getScreen(), SPRITE.getPOS())
        WINDOW.updateFrame()
コード例 #4
0
class Game:

    pygame.init()

    def __init__(self):
        ## Setup
        self.WINDOW = Window()
        self.WINDOW.setBackgroundImage(Image.BACKGROUND)
        self.PLAYER = ImageSprite(Image.PLAYER)
        self.PLAYER.setScale(2)
        self.PLAYER.setPOS((self.WINDOW.getVirtualWidth() - self.PLAYER.getWidth())//2, (self.WINDOW.getVirtualHeight()-self.PLAYER.getHeight())//2)
        self.SHRUBS = []
        for i in range(5):
            self.SHRUBS.append(ImageSprite(Image.SHRUB))
            self.SHRUBS[-1].setScale(5)
        self.EGGS = []
        for i in range(2):
            for egg in Image.EGGS:
                self.EGGS.append(ImageSprite(egg))
                self.EGGS[-1].setScale(3)
                self.placeItems()
        self.SCORE = 0
        self.SCORE_TEXT = Text(f"SCORE: {self.SCORE}")
        # Timer
        self.TIMER = pygame.time.Clock()
        self.TIMER_MS = 0
        self.TIME_LEFT = 15
        self.TIME_TEXT = Text(f"TIME LEFT: {self.TIME_LEFT}")
        self.TIME_TEXT.setPOS(self.WINDOW.getVirtualWidth()-self.TIME_TEXT.getWidth(), 0)
        # Start Screen
        self.START_TEXT = Text("WELCOME TO EASTER HUNT! COLLECT AS MANY EGGS YOU CAN!")
        self.START_TEXT.setScale(2)
        self.START_TEXT.setPOS(self.WINDOW.getVirtualWidth()//2 - self.START_TEXT.getWidth()//2, (self.WINDOW.getVirtualHeight()-self.START_TEXT.getHeight())//2)
        self.START = Text("PRESS s/S to start")
        self.START.setScale(2)
        self.START.setPOS(self.WINDOW.getVirtualWidth() // 2 - self.START.getWidth() // 2,
                               (self.WINDOW.getVirtualHeight() - self.START.getHeight() + 100) // 2)

        self.START_GAME = False

        # End screen
        self.END = Text("TIME HAS RUN OUT")
        self.END.setPOS(self.WINDOW.getVirtualWidth()//2 - self.END.getWidth()//2, (self.WINDOW.getVirtualHeight()-self.END.getHeight())//2)

        self.SCORE_END = Text(f"Your Score was: {self.SCORE}")
        self.SCORE_END.setPOS(self.WINDOW.getVirtualWidth()//2 - self.SCORE_END.getWidth()//2,(self.WINDOW.getVirtualHeight()- self.SCORE_END.getHeight() + self.END.getHeight() + 100)//2)



    def start(self, KEYPRESSES):
        if KEYPRESSES[pygame.K_s] == 1:
            self.START_GAME = True


    def placeItems(self):
        for shrub in self.SHRUBS:
            shrub.setPOS(randrange(self.WINDOW.getVirtualWidth()-shrub.getWidth()), randrange(self.WINDOW.getVirtualHeight()-shrub.getHeight()))
        for egg in self.EGGS:
            egg.setPOS(randrange(self.WINDOW.getVirtualWidth()-egg.getWidth()), randrange(self.WINDOW.getVirtualHeight()-egg.getHeight()))

    def getSpriteCollision(self, SPRITE1, SPRITE2):
        if pygame.Rect.colliderect(SPRITE1.getRect(), SPRITE2.getRect()):
            return True
        else:
            return False

    def checkEggPicked(self):
        PICKED = 0
        for egg in self.EGGS:
            if egg.getX() == self.WINDOW.getVirtualWidth():
                PICKED += 1
        if PICKED == len(self.EGGS):
            return True
        else:
            return False

    def checkTime(self):
        if self.TIME_LEFT == 0:
            return True
        else:
            return False

    def updateTime(self):
        self.TIMER_MS += self.TIMER.tick()
        if self.TIMER_MS > 1000 and self.TIME_LEFT > 0:
            self.TIME_LEFT -= 1
            self.TIME_TEXT.setText(f"TIME LEFT: {self.TIME_LEFT}")
            self.TIMER_MS = 0

    def run(self):
        while True:
            ## -- INPUTS
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()

            KEYS_PRESSED = pygame.key.get_pressed()
            self.WINDOW.updateFrame()
            self.WINDOW.getScreen().blit(self.START_TEXT.getScreen(), self.START_TEXT.getPOS())
            self.WINDOW.getScreen().blit(self.START.getScreen(), self.START.getPOS())
            self.start(KEYS_PRESSED)
            if self.START_GAME == True:
                ## -- PROCESSING
                KEYS_PRESS = pygame.key.get_pressed()
                self.PLAYER.wasdMoveChkBoundaries(KEYS_PRESS, self.WINDOW.getVirtualWidth(), self.WINDOW.getVirtualHeight())

                for egg in self.EGGS:
                    if self.getSpriteCollision(self.PLAYER, egg):
                        egg.setPOS(self.WINDOW.getVirtualWidth(), self.WINDOW.getVirtualHeight())
                        self.SCORE += 1
                        self.SCORE_TEXT.setText(f"SCORE: {self.SCORE}"s)

                if self.checkEggPicked():
                    self.placeItems()

                self.updateTime()





                ## -- OUTPUTS

                self.WINDOW.clearScreen()
                self.WINDOW.getScreen().blit(self.PLAYER.getScreen(), self.PLAYER.getPOS())
                for egg in self.EGGS:
                    self.WINDOW.getScreen().blit(egg.getScreen(), egg.getPOS())
                for shrub in self.SHRUBS:
                    self.WINDOW.getScreen().blit(shrub.getScreen(), shrub.getPOS())
                self.WINDOW.getScreen().blit(self.SCORE_TEXT.getScreen(), self.SCORE_TEXT.getPOS())
                self.WINDOW.getScreen().blit(self.TIME_TEXT.getScreen(), self.TIME_TEXT.getPOS())
                if self.checkTime():
                    self.WINDOW.clearScreen()
                    self.WINDOW.getScreen().blit(self.END.getScreen(), self.END.getPOS())
                    self.WINDOW.getScreen().blit(self.SCORE_END.getScreen(), self.SCORE_END.getPOS())


                self.WINDOW.updateFrame()