LabHelper

class labpyproject.apps.labpyrinthe.bus.model.core_matrix.LabHelper[source]

Bases : object

Helper statique

Attributes Summary

ACTION_CREATE_DOOR

identifie la commande créer une porte

ACTION_CREATE_WALL

identifie la commande créer un mur

ACTION_GRENADE

identifie la commande lancer de grenade

ACTION_HELP

identifie la commande globale aide

ACTION_KILL

identifie la commande tuer

ACTION_MENU

identifie la commande globale menu

ACTION_MINE

identifie la commande poser une mine

ACTION_MOVE

identifie la commande se déplacer

ACTION_QUIT

identifie la commande globale quitter

ACTION_RESET_QUEUE

identifie la commande globale effacer les commandes (non implémenté)

ACTION_START

identifie la commande globale commencer

ANIMATION_EXPLOSION_FACES

liste des caractères d’affichage d’explosion

ANIMATION_FACE_DURATION

durée d’un changement d’apparence (secondes)

ANIMATION_MOVE_DURATION

durée d’un déplacement d’une case (secondes)

ANIMATION_RESOLUTION

résolution d’animation

ANIMATION_RESOLUTION_CASE

gui console mouvement case à case obligatoire

ANIMATION_RESOLUTION_PIXEL

gui graphique mouvement en pixel possible

ANIMATION_SCENARIO

scénarios d’animations

AXIS_X

axe x

AXIS_Y

axe y

BONUS_DENSITE

densité de bonus (par défaut)

BOTTOM

identifie la direction bas

CASE_ANIMATION

identifie une case animation

CASE_BONUS

identifie une case bonus

CASE_DANGER

identifie une case danger

CASE_DEBUG

identifie une case de debug

CASE_GRENADE

identifie une case grenade

CASE_MUR

identifie une case mur

CASE_MUR_PERIMETRE

identifie une case mur de périmètre

CASE_PORTE

identifie une case porte

CASE_ROBOT

identifie une case robot

CASE_SORTIE

identifie une case sortie

CASE_TARGET

identifie une case cible

CASE_VIDE

identifie une case vide

CHAR_BOTTOM

caractère de commande bas

CHAR_GRENADE

caractère de commande lancer de grenade

CHAR_HELP

caractère de commande aide

CHAR_KILL

caractère de commande tuer un voisin

CHAR_LEFT

caractère de commande gauche

CHAR_MENU

caractère de commande menu

CHAR_MINE

caractère de commande poser une mine

CHAR_MUR

caractère de commande construire mur

CHAR_PORTE

caractère de commande construire porte

CHAR_QUIT

caractère de commande quitter

CHAR_REPR_BONUS

caractère d’affichage bonus

CHAR_REPR_DANGER

caractère d’affichage mine

CHAR_REPR_EXPLOSION

caractère d’affichage explosion

CHAR_REPR_EXPLOSION_1

caractère d’affichage explosion 1

CHAR_REPR_EXPLOSION_2

caractère d’affichage explosion 2

CHAR_REPR_EXPLOSION_3

caractère d’affichage explosion 3

CHAR_REPR_EXPLOSION_4

caractère d’affichage explosion 4

CHAR_REPR_EXPLOSION_5

caractère d’affichage explosion 5

CHAR_REPR_EXPLOSION_6

caractère d’affichage explosion 6

CHAR_REPR_GRENADE

caractère d’affichage grenade

CHAR_REPR_MUR

caractère d’affichage mur

CHAR_REPR_PORTE

caractère d’affichage porte

CHAR_REPR_ROBOT

caractère d’affichage robot

CHAR_REPR_SORTIE

caractère d’affichage sortie

CHAR_REPR_TARGET

caractère d’affichage cible

CHAR_REPR_VIDE

caractère d’affichage case vide

CHAR_RESET_QUEUE

caractère de commande effacer les commandes (non implémenté)

CHAR_RIGHT

caractère de commande droite

CHAR_START

caractère de commande commencer la partie

CHAR_TOP

caractère de commande haut

CHAR_TXT_BONUS

deprecated

CHAR_TXT_DANGER

deprecated

CHAR_TXT_GRENADE

deprecated

CHAR_TXT_MUR

caractère de parsing mur

CHAR_TXT_PORTE

caractère de parsing porte

CHAR_TXT_ROBOT

deprecated

CHAR_TXT_SORTIE

caractère de parsing sortie

CHAR_TXT_VIDE

caractère de parsing case vide

DANGER_DENSITE

densité de mines (par défaut)

DELTA_MAIN

clef de mesure distance à la cible principale

DENSITE_LARGEUR

largeur par défaut pour les mesures de densité

DENSITE_PROFONDEUR

hauteur par défaut pour les mesures de densités

DIR_NEG

sens -

DIR_POS

sens +

FAMILLE_BUILD_DOOR

famille de cases sur lesquelles contruire une porte

FAMILLE_BUILD_WALL

famille de cases sur lesquelles construire un mur

FAMILLE_CASES_ADVERSAIRES

famille de cases adversaires

FAMILLE_CASES_BONUS

famille de cases bonus

FAMILLE_CASES_DANGERS

famille de cases dangers

FAMILLE_CASES_LIBRES

famille de cases libres

FAMILLE_CASES_MURS

famille de cases mur

FAMILLE_CASES_NO_ACTION

famille de cases ne pouvant subir d’action

FAMILLE_CASES_NO_ANIMATION

famille de cases non animées

FAMILLE_CASES_PERIMETRE

famille de cases périmètre

FAMILLE_CASES_RISQUES

famille de cases risquées

FAMILLE_CASES_UNDELETABLE

famille de cases indestructibles

FAMILLE_DESTRUCTION

famille de cases destructibles

FAMILLE_EXPORT_DICT

famille de cases à exporter par dict

FAMILLE_GRENADE

famille de cases pouvant recevoir une grenade

FAMILLE_KILL

famille de cases pouvant être tuées

FAMILLE_MINE

famille de cases pouvant recevoir une mine

FAMILLE_MOVE

famille de cases sur lesquelles on peut bouger

FAMILLE_NO_TARGET

famille de cases non cibles

FAMILLE_TARGET

famille de cases cibles

FULL_CASETYPES

liste des types de cases supportés

GAMBLE_TEMPO

deprecated

LEFT

identifie la direction gauche

LIMITED_CASETYPES

liste réduite de types de cases pour la génération de carte texte

LINKED_CASETYPES

cases interdépendantes

LIST_DIRECTIONS

liste des ids de directions

NOMBRE_CASES_LIBRES

clef de mesure nombre de cases libres

REGEXP_FLOAT

expression régulière float

REGEXP_GAME

expression régulière d’une commande à parser

REGEXP_INT

expression régulière int

REGEXP_SEQ_DICT

expression régulière dict

REGEXP_SEQ_LIST

expression régulière liste

REGEXP_SEQ_TUPLE

expression régulière tuple

RIGHT

identifie la direction droite

STEP_CHANGE_LOGS_EXCLUDED

types de cases à exclure des changelogs d’étapes

TOP

identifie la direction haut

TYPE_CASES_ADVERSAIRES

type de la famille FAMILLE_CASES_ADVERSAIRES

TYPE_CASES_BONUS

type de la famille FAMILLE_CASES_BONUS

TYPE_CASES_DANGERS

type de la famille FAMILLE_CASES_DANGERS

TYPE_CASES_LIBRES

type de la famille FAMILLE_CASES_LIBRES

TYPE_CASES_MURS

type de la famille FAMILLE_CASES_MURS

TYPE_CASES_NO_ACTION

type de la famille FAMILLE_CASES_NO_ACTION

TYPE_CASES_PERIMETRE

type de la famille FAMILLE_CASES_PERIMETRE

TYPE_CASES_RISQUES

type de la famille FAMILLE_CASES_RISQUES

ZINDEX_CASE_LIST

répartition des types de cases par zindex

ZINDEX_COORDS_SEARCH

liste des zindexs pour la recherche de cases superposées

ZINDEX_LOGS_KEY

liste réduite de zindex pour la génération de clefs de cohérence

Methods Summary

get_repr_for_role(role)

Retourne le caractère d’affichage associé à un rôle

get_role_of_char(c)

Retourne le rôle (mur, porte, sortie, vide, robot…) associé à un caractère d’une carte textuelle

get_txt_for_role(role)

Retourne le caractère de parsing associé à un rôle

set_graphic_chars(**params)

Modifie les caractères d’affichages des cartes

set_navigation_chars(**params)

Modifie les caractères de navigation par défaut

set_parsing_chars(**params)

Modifie les caractères à identifier lors du parsing des cartes txt

Attributes Documentation

ACTION_CREATE_DOOR = 'ACTION_CREATE_DOOR'

identifie la commande créer une porte

ACTION_CREATE_WALL = 'ACTION_CREATE_WALL'

identifie la commande créer un mur

ACTION_GRENADE = 'ACTION_GRENADE'

identifie la commande lancer de grenade

ACTION_HELP = 'ACTION_HELP'

identifie la commande globale aide

ACTION_KILL = 'ACTION_KILL'

identifie la commande tuer

ACTION_MENU = 'ACTION_MENU'

identifie la commande globale menu

ACTION_MINE = 'ACTION_MINE'

identifie la commande poser une mine

ACTION_MOVE = 'ACTION_MOVE'

identifie la commande se déplacer

ACTION_QUIT = 'ACTION_QUIT'

identifie la commande globale quitter

ACTION_RESET_QUEUE = 'ACTION_RESET_QUEUE'

identifie la commande globale effacer les commandes (non implémenté)

ACTION_START = 'ACTION_START'

identifie la commande globale commencer

ANIMATION_EXPLOSION_FACES = ['X', 'x', '#', '*', '.', ' ']

liste des caractères d’affichage d’explosion

ANIMATION_FACE_DURATION = 0.16666666666666666

durée d’un changement d’apparence (secondes)

ANIMATION_MOVE_DURATION = 0.25

durée d’un déplacement d’une case (secondes)

ANIMATION_RESOLUTION = 'ANIMATION_RESOLUTION_CASE'

résolution d’animation

ANIMATION_RESOLUTION_CASE = 'ANIMATION_RESOLUTION_CASE'

gui console mouvement case à case obligatoire

ANIMATION_RESOLUTION_PIXEL = 'ANIMATION_RESOLUTION_PIXEL'

gui graphique mouvement en pixel possible

ANIMATION_SCENARIO = {'EXPLOSION': 'EXPLOSION'}

scénarios d’animations

AXIS_X = 'x'

axe x

AXIS_Y = 'y'

axe y

BONUS_DENSITE = 0.04

densité de bonus (par défaut)

BOTTOM = 'bottom'

identifie la direction bas

CASE_ANIMATION = 'animation'

identifie une case animation

CASE_BONUS = 'bonus'

identifie une case bonus

CASE_DANGER = 'danger'

identifie une case danger

CASE_DEBUG = 'debug'

identifie une case de debug

CASE_GRENADE = 'grenade'

identifie une case grenade

CASE_MUR = 'mur'

identifie une case mur

CASE_MUR_PERIMETRE = 'mur_perimetre'

identifie une case mur de périmètre

CASE_PORTE = 'porte'

identifie une case porte

CASE_ROBOT = 'robot'

identifie une case robot

CASE_SORTIE = 'sortie'

identifie une case sortie

CASE_TARGET = 'target'

identifie une case cible

CASE_VIDE = 'vide'

identifie une case vide

CHAR_BOTTOM = 's'

caractère de commande bas

CHAR_GRENADE = 'g'

caractère de commande lancer de grenade

CHAR_HELP = 'h'

caractère de commande aide

CHAR_KILL = 'k'

caractère de commande tuer un voisin

CHAR_LEFT = 'o'

caractère de commande gauche

CHAR_MENU = 'a'

caractère de commande menu

CHAR_MINE = 'b'

caractère de commande poser une mine

CHAR_MUR = 'm'

caractère de commande construire mur

CHAR_PORTE = 'p'

caractère de commande construire porte

CHAR_QUIT = 'q'

caractère de commande quitter

CHAR_REPR_BONUS = '+'

caractère d’affichage bonus

CHAR_REPR_DANGER = '-'

caractère d’affichage mine

CHAR_REPR_EXPLOSION = 'x'

caractère d’affichage explosion

CHAR_REPR_EXPLOSION_1 = 'X'

caractère d’affichage explosion 1

CHAR_REPR_EXPLOSION_2 = 'x'

caractère d’affichage explosion 2

CHAR_REPR_EXPLOSION_3 = '#'

caractère d’affichage explosion 3

CHAR_REPR_EXPLOSION_4 = '*'

caractère d’affichage explosion 4

CHAR_REPR_EXPLOSION_5 = '.'

caractère d’affichage explosion 5

CHAR_REPR_EXPLOSION_6 = ' '

caractère d’affichage explosion 6

CHAR_REPR_GRENADE = '*'

caractère d’affichage grenade

CHAR_REPR_MUR = '█'

caractère d’affichage mur

CHAR_REPR_PORTE = '▒'

caractère d’affichage porte

CHAR_REPR_ROBOT = 'R'

caractère d’affichage robot

CHAR_REPR_SORTIE = 'S'

caractère d’affichage sortie

CHAR_REPR_TARGET = '$'

caractère d’affichage cible

CHAR_REPR_VIDE = ' '

caractère d’affichage case vide

CHAR_RESET_QUEUE = 'r'

caractère de commande effacer les commandes (non implémenté)

CHAR_RIGHT = 'e'

caractère de commande droite

CHAR_START = 'c'

caractère de commande commencer la partie

CHAR_TOP = 'n'

caractère de commande haut

CHAR_TXT_BONUS = 'b'

deprecated

CHAR_TXT_DANGER = 'd'

deprecated

CHAR_TXT_GRENADE = 'g'

deprecated

CHAR_TXT_MUR = 'o'

caractère de parsing mur

CHAR_TXT_PORTE = '.'

caractère de parsing porte

CHAR_TXT_ROBOT = 'x'

deprecated

CHAR_TXT_SORTIE = 'u'

caractère de parsing sortie

CHAR_TXT_VIDE = ' '

caractère de parsing case vide

DANGER_DENSITE = 0.08

densité de mines (par défaut)

DELTA_MAIN = 'DELTA_MAIN'

clef de mesure distance à la cible principale

DENSITE_LARGEUR = 5

largeur par défaut pour les mesures de densité

DENSITE_PROFONDEUR = 8

hauteur par défaut pour les mesures de densités

DIR_NEG = -1

sens -

DIR_POS = 1

sens +

FAMILLE_BUILD_DOOR = ['mur']

famille de cases sur lesquelles contruire une porte

FAMILLE_BUILD_WALL = ['vide', 'porte']

famille de cases sur lesquelles construire un mur

FAMILLE_CASES_ADVERSAIRES = ['robot']

famille de cases adversaires

FAMILLE_CASES_BONUS = ['bonus']

famille de cases bonus

FAMILLE_CASES_DANGERS = ['danger']

famille de cases dangers

FAMILLE_CASES_LIBRES = ['vide', 'porte', 'sortie', 'bonus']

famille de cases libres

FAMILLE_CASES_MURS = ['mur']

famille de cases mur

FAMILLE_CASES_NO_ACTION = ['mur_perimetre']

famille de cases ne pouvant subir d’action

FAMILLE_CASES_NO_ANIMATION = ['mur_perimetre', 'sortie']

famille de cases non animées

FAMILLE_CASES_PERIMETRE = ['mur_perimetre', 'sortie']

famille de cases périmètre

FAMILLE_CASES_RISQUES = ['danger', 'robot']

famille de cases risquées

FAMILLE_CASES_UNDELETABLE = ['vide', 'mur_perimetre', 'sortie', 'robot']

famille de cases indestructibles

FAMILLE_DESTRUCTION = ['mur', 'robot', 'danger', 'bonus']

famille de cases destructibles

FAMILLE_EXPORT_DICT = ['robot', 'bonus', 'danger', 'grenade']

famille de cases à exporter par dict

FAMILLE_GRENADE = ['robot', 'vide', 'porte', 'mur', 'danger', 'bonus']

famille de cases pouvant recevoir une grenade

FAMILLE_KILL = ['robot']

famille de cases pouvant être tuées

FAMILLE_MINE = ['vide', 'porte']

famille de cases pouvant recevoir une mine

FAMILLE_MOVE = ['vide', 'porte', 'sortie', 'bonus', 'danger']

famille de cases sur lesquelles on peut bouger

FAMILLE_NO_TARGET = ['mur_perimetre']

famille de cases non cibles

FAMILLE_TARGET = ['vide', 'porte', 'sortie', 'bonus', 'mur']

famille de cases cibles

FULL_CASETYPES = ['vide', 'mur', 'mur_perimetre', 'porte', 'sortie', 'robot', 'bonus', 'danger', 'grenade', 'animation', 'target', 'debug']

liste des types de cases supportés

GAMBLE_TEMPO = 0.08333333333333333

deprecated

LEFT = 'left'

identifie la direction gauche

LIMITED_CASETYPES = ['mur_perimetre', 'mur', 'vide', 'porte', 'sortie']

liste réduite de types de cases pour la génération de carte texte

LINKED_CASETYPES = ['mur_perimetre', 'mur', 'vide', 'porte', 'sortie']

cases interdépendantes

LIST_DIRECTIONS = ['left', 'right', 'top', 'bottom']

liste des ids de directions

NOMBRE_CASES_LIBRES = 'NOMBRE_CASES_LIBRES'

clef de mesure nombre de cases libres

REGEXP_FLOAT = re.compile('[0-9]{1}\\.[0-9]*')

expression régulière float

REGEXP_GAME = re.compile('gamecmd=[A-Za-z0-9_]+&?')

expression régulière d’une commande à parser

REGEXP_INT = re.compile('0{1}|^[1-9]{1}[0-9]*')

expression régulière int

REGEXP_SEQ_DICT = re.compile('\\{[A-Za-z0-9_\\.,:\\+\\-#]*\\}')

expression régulière dict

REGEXP_SEQ_LIST = re.compile('\\[[A-Za-z0-9_\\.,\\+\\-]*\\]')

expression régulière liste

REGEXP_SEQ_TUPLE = re.compile('\\([A-Za-z0-9_\\.,\\+\\-]*\\)')

expression régulière tuple

RIGHT = 'right'

identifie la direction droite

STEP_CHANGE_LOGS_EXCLUDED = ['animation']

types de cases à exclure des changelogs d’étapes

TOP = 'top'

identifie la direction haut

TYPE_CASES_ADVERSAIRES = 'TYPE_CASES_ADVERSAIRES'

type de la famille FAMILLE_CASES_ADVERSAIRES

TYPE_CASES_BONUS = 'TYPE_CASES_BONUS'

type de la famille FAMILLE_CASES_BONUS

TYPE_CASES_DANGERS = 'TYPE_CASES_DANGERS'

type de la famille FAMILLE_CASES_DANGERS

TYPE_CASES_LIBRES = 'TYPE_CASES_LIBRES'

type de la famille FAMILLE_CASES_LIBRES

TYPE_CASES_MURS = 'TYPE_CASES_MURS'

type de la famille FAMILLE_CASES_MURS

TYPE_CASES_NO_ACTION = 'TYPE_CASES_NO_ACTION'

type de la famille FAMILLE_CASES_NO_ACTION

TYPE_CASES_PERIMETRE = 'TYPE_CASES_PERIMETRE'

type de la famille FAMILLE_CASES_PERIMETRE

TYPE_CASES_RISQUES = 'TYPE_CASES_RISQUES'

type de la famille FAMILLE_CASES_RISQUES

ZINDEX_CASE_LIST = ({'z': 0, 'typecase': 'mur_perimetre'}, {'z': 1, 'typecase': 'sortie'}, {'z': 2, 'typecase': 'vide'}, {'z': 3, 'typecase': 'porte'}, {'z': 4, 'typecase': 'mur'}, {'z': 5, 'typecase': 'danger'}, {'z': 6, 'typecase': 'bonus'}, {'z': 7, 'typecase': 'robot'}, {'z': 8, 'typecase': 'grenade'}, {'z': 9, 'typecase': 'animation'}, {'z': 10, 'typecase': 'target'}, {'z': 11, 'typecase': 'debug'})

répartition des types de cases par zindex

liste des zindexs pour la recherche de cases superposées

ZINDEX_LOGS_KEY = range(1, 8)

liste réduite de zindex pour la génération de clefs de cohérence

Methods Documentation

classmethod get_repr_for_role(role)[source]

Retourne le caractère d’affichage associé à un rôle

classmethod get_role_of_char(c)[source]

Retourne le rôle (mur, porte, sortie, vide, robot…) associé à un caractère d’une carte textuelle

classmethod get_txt_for_role(role)[source]

Retourne le caractère de parsing associé à un rôle

classmethod set_graphic_chars(**params)[source]

Modifie les caractères d’affichages des cartes

Paramètres

**params – un dict {« vide »:char, …}

classmethod set_navigation_chars(**params)[source]

Modifie les caractères de navigation par défaut

Paramètres

**params – un dict {« left »:char, …}

classmethod set_parsing_chars(**params)[source]

Modifie les caractères à identifier lors du parsing des cartes txt

Paramètres

**params – un dict {« vide »:char, …}