Merge pull request 'Le max de char dans le typing' (#47) from max-char-typing into main

Reviewed-on: #47
This commit is contained in:
Tipragot 2023-10-30 15:14:08 +00:00 committed by Gitea
commit d2c6ec0840
No known key found for this signature in database
3 changed files with 11 additions and 4 deletions

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
class Typing(str):
class Typing:
"""
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):
"""
@ -24,7 +28,10 @@ def __update(world: World):
text = text[:-1]
if key.startswith("["): # pavé numerique
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"))
text += key
entity[Text] = Text(text)

View file

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

View file

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