Assets pour Tricheur #48

Merged
tipragot merged 2 commits from assets-tricheur into tricheur 2023-10-30 15:40:44 +00:00
3 changed files with 11 additions and 4 deletions
Showing only changes of commit 67492fbabe - Show all commits

View file

@ -5,11 +5,15 @@ Definit un plugin qui crée un texte avec les touches frappées
from engine import Keyboard, Scene, Sound, Text, World from engine import Keyboard, Scene, Sound, Text, World
class Typing(str): class Typing:
""" """
Marque une entité comme un texte qui s'ecrit en fonction du clavier Marque une entité comme un texte qui s'ecrit en fonction du clavier
""" """
def __init__(self, accepted_chars: str, max_chars: int = 10) -> None:
self.accepted_chars = accepted_chars
self.max_chars = max_chars
def __update(world: World): def __update(world: World):
""" """
@ -24,7 +28,10 @@ def __update(world: World):
text = text[:-1] text = text[:-1]
if key.startswith("["): # pavé numerique if key.startswith("["): # pavé numerique
key = key[1] key = key[1]
if key in entity[Typing]: if (
key in entity[Typing].accepted_chars
and len(text) < entity[Typing].max_chars
):
world.create_entity(Sound("click")) world.create_entity(Sound("click"))
text += key text += key
entity[Text] = Text(text) entity[Text] = Text(text)

View file

@ -83,7 +83,7 @@ def __initialize_world(world: World):
Position(Display.WIDTH / 2, 750), Position(Display.WIDTH / 2, 750),
Order(2), Order(2),
Centered(), Centered(),
typing.Typing("1234567890"), typing.Typing("1234567890", 2),
Text(""), Text(""),
COLOR_TEXT, COLOR_TEXT,
TextSize(150), TextSize(150),

View file

@ -84,7 +84,7 @@ def __initialize_world(world: World):
Position(Display.WIDTH / 2, 750), Position(Display.WIDTH / 2, 750),
Order(2), Order(2),
Centered(), Centered(),
typing.Typing("1234567890"), typing.Typing("1234567890", 2),
Text(""), Text(""),
COLOR_TEXT, COLOR_TEXT,
TextSize(150), TextSize(150),