ZoneCarteBase¶
-
class
labpyproject.apps.labpyrinthe.gui.skinBase.zone_carte_base.
ZoneCarteBase
(Mngr, skin, ItemObjectClass, **kwargs)[source]¶ Bases :
labpyproject.apps.labpyrinthe.gui.skinBase.interfaces.AbstractZoneCarte
Zone carte (labyrinthe), équivalent graphique du LabLevel.
Constructeur
- Paramètres
ItemObjectClass – implémentation dédiée de ItemObjectBase
kwargs – logperf (bool: indique si l’on mesure les perfs d’affichage), max_casesize (int: par défaut 40)
Attributes Summary
couche de base des cases
types des cases de la couche de base
couche dédiée aux zones d’action des robots
couche de formes vectorielles
couche de formes vectorielles
couche de formes vectorielles
Methods Summary
active_single_layer
(layername, z)Post initialisation d’une couche :
Ré-initialisations avant re-publication suite à un resize.
Efface l’ensemble des couches
clear_layer
(name)Efface une couche virtuelle
compute_caze_size
(cw, ch)Retourne la taille des cases si le canvas mesure cw*ch
compute_delta_coords
(cw, ch)Calcul les décallages dx, dy à appliquer aux cases pour les centrer si le canvas mesure cw*ch
convert_case_coords
(x, y)Conversion des coords x, y en coords réelles
delete_case
(case)Suppression d’une case
draw_bg
()Crée le rectangle de fond en mode optimisé.
Dessinne les éventueles formes de highlight des bots
Dessine un masque ne laissant apparaitre que le labyrinthe (clipping manuel).
Dessine les formes vectorielles
Retourne la liste de tous les items associés à des cases
get_bot_highlight_datas
(robotlist, gambleinfos)Retourne les données de highlight du joueur actif
Retourne les dimensions de l’objet graphique implémentant ZoneCarteBase
get_item_for_case
(case)Retourne l’item associé à la case
get_items_for_layer
(layername)Retourne tous les items d’une couche virtuelle
get_layername_for_case
(case)Retourne le nom de la couche associée à la case
get_real_coords_for_case
(case)Retourne les coords converties associées à la case.
get_zindex_for_case
(case)Retourne le zindex associé à une case
get_zindex_for_layername
(layername)Retourne le zindex associé à une couche
Masquage de l’écran d’accueil
highlight_player
(robotlist, gambleinfos)Identification du prochain joueur
init_carte_dimensions
(w, h)Initialise les dimensions de la carte au premier affichage
Références rapides type de case / layername et zindex
init_layersdict
([firstinit])Ré initialise le dict d’association cases / items
move_case
(case, x, y)Déplace la case aux coordonnées x, y
Appelée lorsque self.casesize et self.carte_repere ont été recalculés
Traitements spécifiques en fin de publication.
on_carte_repere_changed
(listitems)Appelée lorsque le repère de positionnement a été modifié.
on_carte_updated
(dictargs, has_anim)Traitements spécifiques en fin de publication.
on_case_size_changed
(listitems)Appelée lorsque la taille des cases a été modifiée.
publish_carte
(dictargs)Affichage de la carte : publication complète
Ré initialise l’objet
register_GUI
(guiMngr)Enregistre la ref à la GUI
resize_items
(listitems)Appelle la méthode de resize des items si nécessaire.
set_case
(case)Crée ou modifie un item pour afficher la case
set_item_position
(itemobj)Repositionne un item
show_bot_dead
(robot)Appelée pour lors de l’élimination de robot.
Affichage d’un écran d’attente
Met à jour le rectangle de fond permettant de simuler le quadrillage
update_carte
(dictargs)Mise à jour de la carte à partir des change logs d’étape.
update_carte_geometry
(w, h)Méthode de resize de la carte.
Mise à jour des formes de highlight
update_item_view
(itemobj)Mise à jour du contenu graphique associé à l’item
Redimensionnement du masque ou du clipping
Mise à jour des formes
Attributes Documentation
-
BASE_CASE_LAYER
= 'BASE_CASE_LAYER'¶ couche de base des cases
-
BASE_LAYER_TYPECASES
= None¶ types des cases de la couche de base
-
IMAGE_ZONE_ROBOT
= 'IMAGE_ZONE_ROBOT'¶ couche dédiée aux zones d’action des robots
-
SHAPE_BG
= 'SHAPE_BG'¶ couche de formes vectorielles
-
SHAPE_HIGHLIGHT_ROBOT
= 'SHAPE_HIGHLIGHT_ROBOT'¶ couche de formes vectorielles
-
SHAPE_MASK
= 'SHAPE_MASK'¶ couche de formes vectorielles
Methods Documentation
-
active_single_layer
(layername, z)[source]¶ Post initialisation d’une couche :
pour activer la couche de façon permanente (pygame)
pour insérer un marqueur de gestion des zindexs (tkinter)
-
compute_delta_coords
(cw, ch)[source]¶ Calcul les décallages dx, dy à appliquer aux cases pour les centrer si le canvas mesure cw*ch
-
draw_bg
()[source]¶ Crée le rectangle de fond en mode optimisé. Couche : layer = self.layersdict[ZoneCarteBase.SHAPE_BG]
-
draw_mask
()[source]¶ Dessine un masque ne laissant apparaitre que le labyrinthe (clipping manuel). Couche : layer = self.layersdict[ZoneCarteBase.SHAPE_MASK]
-
get_bot_highlight_datas
(robotlist, gambleinfos)[source]¶ Retourne les données de highlight du joueur actif
-
get_canvas_dimensions
()[source]¶ Retourne les dimensions de l’objet graphique implémentant ZoneCarteBase
-
on_carte_geometry_updated
()[source]¶ Appelée lorsque self.casesize et self.carte_repere ont été recalculés
-
on_carte_repere_changed
(listitems)[source]¶ Appelée lorsque le repère de positionnement a été modifié.
-
on_carte_updated
(dictargs, has_anim)[source]¶ Traitements spécifiques en fin de publication.
- Paramètres
dictargs – dict généré par GameManager.update_carte
has_anim – bool indiquant si il y a animation
-
publish_carte
(dictargs)[source]¶ Affichage de la carte : publication complète
- Paramètres
dictargs – dict généré par GameManager.publish_carte
-
update_carte
(dictargs)[source]¶ Mise à jour de la carte à partir des change logs d’étape.
- Paramètres
dictargs – dict généré par GameManager.update_carte