From d53d2a20d7a60443fef7c91d0f6fd144e2b99a07 Mon Sep 17 00:00:00 2001 From: DannyAbdi <dannyabdi13@gmail.com> Date: Tue, 5 Mar 2024 01:36:58 +0000 Subject: [PATCH] slight changes to accomodate minmax --- playerController.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/playerController.py b/playerController.py index dfb7184..e93c6d0 100644 --- a/playerController.py +++ b/playerController.py @@ -2,6 +2,7 @@ from config import * from dfs import * from bfs import * from dijkstra import * +from game import * class PlayerController: @@ -14,6 +15,8 @@ class PlayerController: def __init__(self, player, maze): self.player = player self.maze = maze + self.player_position = (1, 1) + self.enemy_positions = self.get_enemy_positions() self.dfs_solver = DFS() self.bfs_solver = BFS() self.dijkstra_solver = None @@ -30,17 +33,31 @@ class PlayerController: if direction[pygame.K_UP]: new_y -= TILE_SIZE + new_position = (self.player_position[0] - 1, self.player_position[1]) elif direction[pygame.K_DOWN]: new_y += TILE_SIZE + new_position = (self.player_position[0] + 1, self.player_position[1]) elif direction[pygame.K_LEFT]: new_x -= TILE_SIZE + new_position = (self.player_position[0], self.player_position[1] - 1) elif direction[pygame.K_RIGHT]: new_x += TILE_SIZE + new_position = (self.player_position[0], self.player_position[1] + 1) + else: + return + + if self.is_valid_position(new_position): + self.player_position = new_position if self.check_collision(new_x, new_y): self.player.x = new_x self.player.y = new_y + def is_valid_position(self, position): + x, y = position + return 0 <= x < len(self.maze.current_level) and 0 <= y < len(self.maze.current_level[0]) and \ + self.maze.current_level[x][y] != 1 + """ Checks if the player will collide with walls at the specified position. -- GitLab