From b4eab7c444881d961582b1951dd37ead92ea9716 Mon Sep 17 00:00:00 2001 From: HS-157 Date: Sun, 25 Feb 2024 05:09:36 +0100 Subject: [PATCH] =?UTF-8?q?Avancement=20de=20la=20sc=C3=A9ance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tablette_arcarde.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/tablette_arcarde.py b/tablette_arcarde.py index 37a8180..80dad1c 100644 --- a/tablette_arcarde.py +++ b/tablette_arcarde.py @@ -58,12 +58,18 @@ Y_MAT_POS = TOP_Y class Token(arcade.Sprite): """Token sprite""" - sprite = {} + sprite = { + "FORDWARD": "up", + "RIGHT": "r", + "LEFT": "l", + "PAUSE": "pause_square", + "FUNCTION": "hamburger", + } def __init__(self, token_type, scale=1): """Token constructor""" # Type of token - self.type = None + self.type = token_type # Get sprite for type of token self.image_file_name = ( ":resources:onscreen_controls/shaded_dark/%s.png" @@ -179,7 +185,21 @@ class Cubito(arcade.Window): if self.held_token is None: return - # Release hold token + # Release holdosert mat from held token + mat, distance = arcade.get_closest_sprite(self.held_token, self.mat_list) + reset_position = True + + # Check collision between held token et the closert mat + if arcade.check_for_collision(self.held_token, mat): + # Set held token position on mat + self.held_token.position = mat.center_x, mat.center_y + + reset_position = False + + # If no collision between held token et the closert mat, reset held token position + if reset_position: + self.held_token.position = self.held_token_original_position + self.held_token = None def on_mouse_motion(self, x, y, dx, dy):