diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2023-05-07 11:32:10 +0300 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2023-05-07 11:32:10 +0300 |
| commit | 7f501d21772d96756a851421690db08387df3c26 (patch) | |
| tree | 39880a4410ab5defc74f0f27a8a6a9e1e5caa5fd /src/inky.py | |
| parent | 7194ca65ae23d96960fe7edb619efb100db0a49c (diff) | |
| download | Macpan-7f501d21772d96756a851421690db08387df3c26.tar.xz Macpan-7f501d21772d96756a851421690db08387df3c26.zip | |
Finished clyde algorithm and added a debug mode to run the program
Diffstat (limited to 'src/inky.py')
| -rw-r--r-- | src/inky.py | 55 |
1 files changed, 14 insertions, 41 deletions
diff --git a/src/inky.py b/src/inky.py index 2f886a6..e1c44b0 100644 --- a/src/inky.py +++ b/src/inky.py @@ -1,44 +1,17 @@ import math +from typing_extensions import override from direction import DIRECTION +from settings import settings +import pygame from ghost import Ghost + class Inky(Ghost): def __init__(self, sprite_sheet, x, y): - super().__init__(sprite_sheet, "cyan", x, y) - + super().__init__(sprite_sheet, "orange", x, y) - # def get_intermediate_tile(self, pacman): - # if pacman.direction == DIRECTION.UP: - # new_target = (pacman.x - 30 * 2, pacman.y - 30 * 4) - # if self.in_bounds(new_target): - # return new_target - # else: - # return (pacman.x, pacman.y) - # elif pacman.direction == DIRECTION.DOWN: - # new_target = (pacman.x, pacman.y + 30 * 2) - # if self.in_bounds(new_target): - # return new_target - # else: - # return (pacman.x, pacman.y) - # elif pacman.direction == DIRECTION.RIGHT: - # new_target = (pacman.x + 30 * 2, pacman.y) - # if self.in_bounds(new_target): - # return new_target - # else: - # return (pacman.x, pacman.y) - # elif pacman.direction == DIRECTION.LEFT: - # new_target = (pacman.x - 30 * 2, pacman.y) - # if self.in_bounds(new_target): - # return new_target - # else: - # return (pacman.x, pacman.y) - # - # def get_vector_blinky_it(self, blinky, pacman): - # it = self.get_intermediate_tile(pacman) - # return (it[0] - blinky.x, it[1], blinky.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] # @@ -55,19 +28,19 @@ class Inky(Ghost): # if self.last_move == 3: # forbidden = 1 # - # new_target = self.get_intermediate_tile(target) - # pygame.draw.circle(screen, self.color, (new_target[0], new_target[1]), 15) - # + # new_target = self.get_target(target, blinky) + # + # if settings.debug: + # pygame.draw.line(screen, self.color, (new_target), + # (blinky.x, blinky.y), 1) + # # 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]) # # min_idx = ret.index(min(ret)) # return min_idx - # - # - # - # |
