Matrice

class labpyproject.apps.labpyrinthe.bus.model.core_matrix.Matrice(cachelevel=0, invariantcache=None)[source]

Bases : object

Modélise une couche d’un niveau de jeu

Constructeur

Paramètres
  • cachelevel – niveau de cache

  • invariantcache – cache invariant (coords)

cachelevel à valeur dans :

  1. rien (défaut)

  2. liste et set complet de cases

  3. plus cache de lignes, colonnes et submatrices (subshapes) et des

    coords associées

  4. plus cache invariant (conservation des coords du cache de niveau 2)

Attributes Summary

parent_matrice

éventuelle matrice parente

Methods Summary

clear()

Efface toutes les cases de la matrice

compute_dimensions()

Calcul des dimensions

copy()

Retourne une copie

delete_case(case)

Supprime une case

gen_losange_coords(xc, yc, dim)

Génère les coordonnées des cases d’une matrice de forme losange, centrée en (xc, yc) et de dimension (impaire) dim.

gen_rectangle_coords(x, y, w, h)

Génère les coordonnées des cases de la matrice de point haut gauche (x, y) et de dimensions w * h

gen_subshape_coords(xc, yc)

Retourne les coords d’une sous matrice 5*5 centrée en xc, yc, tronquée symétriquement à 17 cases

get_case(x, y)

Getter de case

get_case_by_type(typecase)

retourne la liste des cases de type typecase

get_cases_adjacentes(x, y)

Retourne le dict {« top »:, « bottom »:, « left »:, « right »:}

get_cases_impacted_around(case, danger_impact)

Retourne le set des cases entourant case, impactées par un danger de puissance danger_impact

get_center()

Retourne les coords (x, y) du point équivalent au centre

get_column(j)

Retourne la liste des cases de la colonne j

get_coords_set()

Retourne le set de coords des cases de la matrice

get_diagonale_len()

Retourne la dimension de sa diagonale

get_dimensions()

Retourne w, h

get_inner_dict()

Retourne le dict d’enregistrement des cases

get_invariant_cache()

Retourne les données de cache invariantes fondées sur des listes de coordonnées

get_lefttop_point()

Retourne le point haut gauche

get_line(i)

Retourne la liste des cases de la ligne i

get_list_cases()

Retourne la liste de toutes les cases

get_losange_coords(xc, yc, dim)

Retourne les coordonnées des cases d’une matrice de forme losange, centrée en (xc, yc) et de dimension (impaire) dim.

get_rectangle_coords(x, y, w, h)

Retourne les coordonnées des cases de la matrice de point haut gauche (x, y) et de dimensions w * h.

get_segment(case1, case2)

Si case1 et case 2 sont sur la même ligne ou la même colonne, retourne la liste des cases constituant le segment (triée par coord croissante), ou None.

get_set_cases()

Retourne le set de toutes les cases

get_signature()

Retourne une chaine constituée des cuid de ses cases

get_sublosange(xc, yc, dim)

Retourne une sous matrice tronquée en forme de losange, centrée en xc, yc et de dimension impaire dim.

get_submatrice(x, y, w, h[, strictmode, …])

Retourne une sous matrice

get_subshape(x, y[, shapefactor])

Retourne une sous matrice tronquée de forme non rectangulaire.

get_subshape_coords(xc, yc[, shapefactor])

Retourne les coords d’une sous matrice 5*5 centrée en xc, yc, tronquée symétriquement à 17 cases.

get_theoric_coords_set()

Retourne le set de toutes les coordonnées possibles de la matrice.

move_case(case, nextx, nexty)

Déplace la case aux coordonnées nextx, nexty

set_case(case[, x, y])

Setter de case

set_matrice_cache(cachelevel[, invariantcache])

Activation différée du cache interne avec cachelevel :

Attributes Documentation

parent_matrice

éventuelle matrice parente

Methods Documentation

clear()[source]

Efface toutes les cases de la matrice

compute_dimensions()[source]

Calcul des dimensions

copy()[source]

Retourne une copie

delete_case(case)[source]

Supprime une case

gen_losange_coords(xc, yc, dim)[source]

Génère les coordonnées des cases d’une matrice de forme losange, centrée en (xc, yc) et de dimension (impaire) dim. Rq : la parité n’est pas vérifiée au niveau du générateur.

gen_rectangle_coords(x, y, w, h)[source]

Génère les coordonnées des cases de la matrice de point haut gauche (x, y) et de dimensions w * h

gen_subshape_coords(xc, yc)[source]

Retourne les coords d’une sous matrice 5*5 centrée en xc, yc, tronquée symétriquement à 17 cases

get_case(x, y)[source]

Getter de case

get_case_by_type(typecase)[source]

retourne la liste des cases de type typecase

get_cases_adjacentes(x, y)[source]

Retourne le dict {« top »:, « bottom »:, « left »:, « right »:}

get_cases_impacted_around(case, danger_impact)[source]

Retourne le set des cases entourant case, impactées par un danger de puissance danger_impact

get_center()[source]

Retourne les coords (x, y) du point équivalent au centre

get_column(j)[source]

Retourne la liste des cases de la colonne j

get_coords_set()[source]

Retourne le set de coords des cases de la matrice

get_diagonale_len()[source]

Retourne la dimension de sa diagonale

get_dimensions()[source]

Retourne w, h

get_inner_dict()[source]

Retourne le dict d’enregistrement des cases

get_invariant_cache()[source]

Retourne les données de cache invariantes fondées sur des listes de coordonnées

get_lefttop_point()[source]

Retourne le point haut gauche

get_line(i)[source]

Retourne la liste des cases de la ligne i

get_list_cases()[source]

Retourne la liste de toutes les cases

get_losange_coords(xc, yc, dim)[source]

Retourne les coordonnées des cases d’une matrice de forme losange, centrée en (xc, yc) et de dimension (impaire) dim. Rq : set complet, non réduit aux coords théoriques ou existantes

get_rectangle_coords(x, y, w, h)[source]

Retourne les coordonnées des cases de la matrice de point haut gauche (x, y) et de dimensions w * h. Rq : set complet, non réduit aux coords théoriques ou existantes

get_segment(case1, case2)[source]

Si case1 et case 2 sont sur la même ligne ou la même colonne, retourne la liste des cases constituant le segment (triée par coord croissante), ou None.

get_set_cases()[source]

Retourne le set de toutes les cases

get_signature()[source]

Retourne une chaine constituée des cuid de ses cases

get_sublosange(xc, yc, dim)[source]

Retourne une sous matrice tronquée en forme de losange, centrée en xc, yc et de dimension impaire dim.

get_submatrice(x, y, w, h, strictmode=True, autocache=True)[source]

Retourne une sous matrice

  • si strictmode : retourne la sous matrice d’origine x, y et de dims w, h ou None si les paramètres sont incohérents avec la géométrie de la matrice

  • sinon : retourne une sous matrice éventuellement tronquée

get_subshape(x, y, shapefactor=17)[source]

Retourne une sous matrice tronquée de forme non rectangulaire.

  • x, y : centre de la forme

  • shapefactor : nombre de cases de la forme (17 : carré crénelé)

Application : zones d’impacts

get_subshape_coords(xc, yc, shapefactor=17)[source]

Retourne les coords d’une sous matrice 5*5 centrée en xc, yc, tronquée symétriquement à 17 cases. Rq : set complet, non réduit aux coords théoriques ou existantes

get_theoric_coords_set()[source]

Retourne le set de toutes les coordonnées possibles de la matrice. Rq : get_coords_set renvoit uniquement les coords utilisées

move_case(case, nextx, nexty)[source]

Déplace la case aux coordonnées nextx, nexty

set_case(case, x=- 1, y=- 1)[source]

Setter de case

set_matrice_cache(cachelevel, invariantcache=None)[source]

Activation différée du cache interne avec cachelevel :

  1. (rien),

  2. (liste/set des cases, set de leurs coords),

  3. (plus lignes, colonnes, sous matrices)

  4. (plus cache invariant)