From 7f501d21772d96756a851421690db08387df3c26 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Sun, 7 May 2023 11:32:10 +0300 Subject: Finished clyde algorithm and added a debug mode to run the program --- src/pinky.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/pinky.py') diff --git a/src/pinky.py b/src/pinky.py index 42b5d91..191ff61 100644 --- a/src/pinky.py +++ b/src/pinky.py @@ -1,13 +1,14 @@ import pygame from typing_extensions import override from direction import DIRECTION +from settings import settings import math from ghost import Ghost + class Pinky(Ghost): def __init__(self, sprite_sheet, x, y): - super().__init__(sprite_sheet,"pink", x, y) - + super().__init__(sprite_sheet, "pink", x, y) def get_four_tiles_ahead_of_pacman(self, pacman): if pacman.direction == DIRECTION.UP: @@ -36,7 +37,7 @@ class Pinky(Ghost): return (pacman.x, pacman.y) @override - def get_next_move(self, target, maze, screen): + def get_next_move(self, target, maze, screen, blinky): dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] @@ -54,20 +55,20 @@ class Pinky(Ghost): forbidden = 1 new_target = self.get_four_tiles_ahead_of_pacman(target) - pygame.draw.circle(screen, self.color, (new_target[0], new_target[1]), 15) - + if settings.debug: + pygame.draw.circle(screen, self.color, + (new_target[0], new_target[1]), 15) + for i in range(len(dx)): if i != forbidden: nx = self.x + dx[i] * self.speed ny = self.y + dy[i] * self.speed if self.check_collision(nx, ny, 30, 30, maze): - ret[i] = self.heuristic((nx, ny), new_target[0], new_target[1]) + ret[i] = self.heuristic( + (nx, ny), new_target[0], new_target[1]) + if settings.debug: + pygame.draw.line(screen, self.color, (new_target), + (self.x, self.y), 1) min_idx = ret.index(min(ret)) return min_idx - - - - - - -- cgit v1.2.3