From 309939e69ae4b21c0efacf2177db6a811c475b7c Mon Sep 17 00:00:00 2001 From: Yannis300307 Date: Sun, 31 Dec 2023 14:12:58 +0100 Subject: [PATCH] =?UTF-8?q?Optimisation=20de=20la=20r=C3=A9cup=C3=A9ration?= =?UTF-8?q?=20des=20tiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/map_manager.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/engine/map_manager.py b/src/engine/map_manager.py index aac80bb..885f1fb 100644 --- a/src/engine/map_manager.py +++ b/src/engine/map_manager.py @@ -28,18 +28,13 @@ class MapManager: # On calcule les coordonnées du chunk coordinates = (x//self.chunk_width, y//self.chunk_height) - # On transforme les coordonnées globales en coordonnées dans le chunk - x %= 16 - y %= 16 + # On vérifie que le chunk existe + if coordinates in layer: + chunk = layer[coordinates] - if coordinates not in layer: - return 0 + # On transforme les coordonnées globales en coordonnées dans le chunk, + # On calcule l'index et on renvoie la tile + return chunk[x % 16 + y % 16 * self.chunk_width] - chunk = layer[coordinates] - - # On vérifie que la tile demandée existe sinon on répond "vide" - if x >= self.chunk_width or x < 0 or y >= self.chunk_height or y < 0: - return 0 - - # On calcule l'index et on renvoie la tile - return chunk[x+y*self.chunk_width] + # Si on ne trouve pas le chunk, on renvoit "vide" + return 0