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 :
rien (défaut)
liste et set complet de cases
- plus cache de lignes, colonnes et submatrices (subshapes) et des
coords associées
plus cache invariant (conservation des coords du cache de niveau 2)
Attributes Summary
éventuelle matrice parente
Methods Summary
clear
()Efface toutes les cases de la matrice
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
Retourne les coords (x, y) du point équivalent au centre
get_column
(j)Retourne la liste des cases de la colonne j
Retourne le set de coords des cases de la matrice
Retourne la dimension de sa diagonale
Retourne w, h
Retourne le dict d’enregistrement des cases
Retourne les données de cache invariantes fondées sur des listes de coordonnées
Retourne le point haut gauche
get_line
(i)Retourne la liste des cases de la ligne i
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.
Retourne le set de toutes les cases
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.
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
-
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_cases_impacted_around
(case, danger_impact)[source]¶ Retourne le set des cases entourant case, impactées par un danger de puissance danger_impact
-
get_invariant_cache
()[source]¶ Retourne les données de cache invariantes fondées sur des listes de coordonnées
-
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_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