From 4214c5819c1b3fe7b19974f5e3c1422bbac7bc44 Mon Sep 17 00:00:00 2001 From: papush! Date: Mon, 9 Dec 2019 13:21:33 +0100 Subject: [PATCH] les pouVOAR!!1 --- res/lvl0.png | Bin 16012 -> 20050 bytes res/pacman_1.png | Bin 9817 -> 711 bytes res/pacman_2.png | Bin 739 -> 712 bytes scenes/game_objects/ghost.py | 2 +- scenes/game_objects/level.py | 7 +++- scenes/game_objects/pacdot.py | 24 ++++++++++++-- scenes/game_objects/pacman.py | 60 ++++++++++++++++++++++++++-------- 7 files changed, 76 insertions(+), 17 deletions(-) diff --git a/res/lvl0.png b/res/lvl0.png index aa7e2ea9236bd80d6c4f19cf9e5a23d5f75d7998..3798fd38cc3bdd30809175a714a1a3387db219e9 100644 GIT binary patch literal 20050 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 lDY|@Do`Y%Q~loCIGv$M0NlG delta 15910 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
    SB6d~PD7;o6?R3b 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 IM6N<$g3thhr2qf` diff --git a/res/pacman_1.png b/res/pacman_1.png index 1357dcb2ec5feccc9f8707e46d5e6edcae56069c..600ca39b15563016d7f87cfb0d306aa4cd9833c1 100644 GIT binary patch delta 239 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 diff --git a/scenes/game_objects/ghost.py b/scenes/game_objects/ghost.py index 63116c2..ce93f55 100644 --- a/scenes/game_objects/ghost.py +++ b/scenes/game_objects/ghost.py @@ -38,7 +38,7 @@ class Ghost(Entity): self.direction = Direction(randint(1, 4)) def on_col(self, c): - if isinstance(c.parent, PacDot): + if not c.solid: return if c.parent.name == 'pacman': diff --git a/scenes/game_objects/level.py b/scenes/game_objects/level.py index 2bda6bd..a2f0e0e 100644 --- a/scenes/game_objects/level.py +++ b/scenes/game_objects/level.py @@ -9,7 +9,7 @@ from engine.components.collide_rect import CollideRect from engine.components.sprite import Sprite from .common import S -from .pacdot import PacDot +from .pacdot import PacDot, EnsmallmentDot class Level(Entity): @@ -36,4 +36,9 @@ class Level(Entity): pc.y = y * S self.scene.add(pc) PacDot.tot += 1 + elif col == (193, 193, 193): + pc = EnsmallmentDot() + pc.x = x * S + pc.y = y * S + self.scene.add(pc) self.add(Sprite(self.surf, 0)) diff --git a/scenes/game_objects/pacdot.py b/scenes/game_objects/pacdot.py index 174179a..4bec626 100644 --- a/scenes/game_objects/pacdot.py +++ b/scenes/game_objects/pacdot.py @@ -5,13 +5,12 @@ from engine.components.collide_rect import CollideRect from engine.components.sprite import Sprite from .common import S -from .pacman import PacMan class PacDot(Entity): tot = 0 s = Surface((S, S)) - draw.circle(s, (255, 255, 0), (S//2, S//2), S//4) + draw.circle(s, (255, 255, 0), (S//2, S//2), 2) def __init__(self): super().__init__(self.__repr__()) @@ -32,3 +31,24 @@ class PacDot(Entity): exit(0) if c.parent.name == 'pacman': self.unregister() + + +class EnsmallmentDot(Entity): + s = Surface((S, S)) + draw.circle(s, (255, 0, 255), (S//2, S//2), 4) + + def __init__(self): + super().__init__(self.__repr__()) + self.add(CollideRect(Rect(0, 0, S, S), + static=True, solid=False, cb=self.cb)) + self.add(Sprite(EnsmallmentDot.s, 1)) + self.dead = False + + def cb(self, c): + if c.parent.name != 'pacman': + return + if self.dead: + return + self.dead = True + if c.parent.name == 'pacman': + self.unregister() diff --git a/scenes/game_objects/pacman.py b/scenes/game_objects/pacman.py index 7285708..bc7dc3a 100644 --- a/scenes/game_objects/pacman.py +++ b/scenes/game_objects/pacman.py @@ -8,24 +8,24 @@ from engine.components.collide_rect import CollideRect from engine.components.sprite import Sprite from .common import S +from .pacdot import EnsmallmentDot class PacMan(Entity): - SIZE = 1 SPEED = 2 def __init__(self, x, y): super().__init__('pacman') - - # surf = Surface((S//PacMan.SIZE, S//PacMan.SIZE)).convert() - # surf.fill((0, 0, 0)) - # draw.circle(surf, - # (255, 255, 0), - # (S//(2*PacMan.SIZE), S//(2*PacMan.SIZE)), - # S//(2*PacMan.SIZE)) surf_1 = image.load(res('pacman_1.png')).convert() surf_2 = image.load(res('pacman_2.png')).convert() + self.smol_surf = Surface((S//2, S//2)).convert() + self.smol_surf.fill((0, 0, 0)) + draw.circle(self.smol_surf, + (255, 255, 0), + (S//4, S//4), + S//4) + self.surf = [[transform.rotate(surf_1, 90), transform.rotate(surf_1, -90), transform.flip(surf_1, True, False), @@ -39,18 +39,49 @@ class PacMan(Entity): self.sprite = self.add(Sprite(self.surf[self.cur_anim][0], 2)) - self.phys = self.add( - CollideRect(Rect(self.x, self.y, - self.sprite.width, self.sprite.width), - static=False)) + self.smol_rect = Rect(self.x, self.y, + self.sprite.width//2, self.sprite.width//2) + self.rect = Rect(self.x, self.y, + self.sprite.width, self.sprite.width) + self.phys = CollideRect(self.rect, + static=False, + cb=self.cb) + + self.add(self.phys) + self.script = PacMan.update self.x = x self.y = y + self.smol = False + self.smol_since = None + + def cb(self, c): + if not isinstance(c.parent, EnsmallmentDot): + return + if not self.smol: + self.x += S//4 + self.y += S//4 + PacMan.SPEED *= 2 + self.smol_rect.x = self.x + self.smol_rect.y = self.y + self.phys.rect = self.smol_rect + self.smol = True + self.smol_since = Game.cur_tick def update(self): p = self.phys s = self.sprite + # Expiration du pouvoir + if self.smol and Game.cur_tick - self.smol_since > 60*2: + self.x -= self.x % S + self.y -= self.y % S + self.rect.x = self.x + self.rect.y = self.y + self.phys.rect = self.rect + self.smol = False + PacMan.SPEED = PacMan.SPEED//2 + # Avance l’animation if Game.cur_tick % 5 == 0: self.cur_anim += 1 @@ -66,8 +97,11 @@ class PacMan(Entity): elif p.vx > 0: s.surf = self.surf[self.cur_anim][3] + if self.smol: + s.surf = self.smol_surf + inputs = key.get_pressed() - if PacMan.SIZE > 1: + if self.smol: p.vx = 0 p.vy = 0 if inputs[K_UP]: