CaseRobot

class labpyproject.apps.labpyrinthe.bus.model.core_matrix.CaseRobot(robotdict)[source]

Bases : labpyproject.apps.labpyrinthe.bus.model.core_matrix.Case

Particularise une case de type robot

Constructeur de la case robot

Attributes Summary

ALL_BEHAVIORS

types exhaustifs

BEHAVIOR_BUILDER

marque un joueur de type maçon

BEHAVIOR_HUMAN

marque un joueur de type humain

BEHAVIOR_HUNTER

marque un joueur de type chasseur

BEHAVIOR_RANDOM

marque un joueur de type random

BEHAVIOR_SAPPER

marque un joueur de type mineur

BEHAVIOR_TOURIST

marque un joueur de type touriste

BEHAVIOR_WINNER

marque un joueur de type winner

FAMILLE_BEHAVIOR

types des joueurs automatiques

FEATURES

liste des caractéristiques comportementales

FEATURE_THRESHOLDS

seuils par capacités

MAX_PASSED_CASES

nombre de cases passées mémorisées

MAX_SEQ_COUNT

nombre de séquences de coups mémorisées

STRAT_BONUS_ALL

stratégie n’importe quel bonus

STRAT_BONUS_TARGET

stratégie bonus cohérents avec la cible

THRES_HIGH

seuil générique haut

THRES_MID

seuil générique moyen

VITESSE_INITIALE

vitesse initiale du joueur »

char_repr_BEHAVIOR_BUILDER

caractère d’affichage d’un maçon

char_repr_BEHAVIOR_HUMAN

caractère d’affichage d’un humain

char_repr_BEHAVIOR_HUNTER

caractère d’affichage d’un chasseur

char_repr_BEHAVIOR_RANDOM

caractère d’affichage d’un random

char_repr_BEHAVIOR_SAPPER

caractère d’affichage d’un mineur

char_repr_BEHAVIOR_TOURIST

caractère d’affichage d’un touriste

char_repr_BEHAVIOR_WINNER

caractère d’affichage d’un winner

current_vitesse

vitesse apparente du robot

game_phasis

phase de jeu actuelle

need_bonus

devrait prendre un bonus?

order

ordre du joueur associé

totalgamblecount

nombre de coups consécutifs à jouer

Methods Summary

compute_danger_factor_dict()

Calcule le facteur de danger associé à chaque espèce en fonction des caractéristiques comportementales du robot.

compute_loop_factor(listcoords)

Retourne un entier caractérisant le risque de bouclage associé à la liste de coordonnées.

configure_behavior(robot)

Méthode statique particularisant le comportement d’un robot V1 : gère le caractère de représentation texte

create_gamble_coords_entry()

Crée une entrée dans pour la série de coups à venir

get_action_list()

Retourne la liste des actions passées

get_apparent_danger_factor_for_bot(bot[, …])

Retourne le facteur de danger apparent associé au bot.

get_bots_killed()

Retourne la liste des bots éliminés

get_char_repr(behavior)

Retourne le char de représentation en fonction du comportement

get_current_gdSet()

Retourne le gdSet courant

get_danger_factor_for_bot(bot[, behavior])

Retourne le facteur de danger associé au bot

get_danger_radius()

Retourne le rayon d’action offensif du robot Estimation large pour 5, 13 et 17, exacte pour 1, 9 et 25 (grenade)

get_default_dict()

Méthode statique retournant le dict par défaut attendu par le constructeur

get_feature_threshold(feature, level)

Retourne une valeur entre 0 et 1 pour une feature (efficacite, …) et un level parmi « middle » ou « high »

get_feature_threshold_dict()

Retourne le dict de seuils par caractéristiques.

get_features_radar_datas()

Retourne un dict permettant de tracer le graphe radar des caractéristiques du robot.

get_killed_counts()

Retourne le tupple total tués, innocents tués

get_last_action()

Retourne la dernière action ou None

get_main_target()

Retourne la cible principale

get_main_target_params()

Retourne les paramètres optionnels de la cible principale

get_prev_coords()

Retourne les coordonnées de l’avant dernière case par laquelle le robot est passé

get_prev_temptarget_datas(x, y, direct[, …])

Retourne le nombre d’occurences et le dernier score enregistré pour une cible de caractéristiques x, y, direct choisie aux coordonnées actuelles du robot (si xrobot et yrobot sont indéterminés).

get_properties_dict([full])

Retourne ses paramètres sous forme de dict

get_puissance_list(weapon)

Retourne la liste de puissances activées pour l’arme weapon (mine, grenade)

get_temp_target()

Retourne la cible actuelle

get_work_ratio()

Retourne le ratio travail/mouvement sous forme de fraction Application sapper et builder

init_feature_thresholds()

Initialise les seuils associés aux caractéristiques des robots.

is_a_murderer()

Le robot a t’il tué des innocents?

register_action(action, gambleid)

Enregistre la dernière action effectuée

register_bonus(name, value)

Enregistre un bonus

register_bots_killed(botlist)

Enregistre les bots éliminés

register_case(case, gambleid)

Enregistre la dernière case atteinte

register_current_gdSet(gdSet)

Enregistre le gdSet courant

register_death()

Enregistre son décès

set_main_target(targetobj[, params])

Définit la cible principale

set_temp_target(targetobj)

Définit la nouvelle cible

update_dyn_props(robotdict)

Mise à jour des propriétés dynamiques à partir d’un dict

Attributes Documentation

ALL_BEHAVIORS = ['BEHAVIOR_WINNER', 'BEHAVIOR_RANDOM', 'BEHAVIOR_HUNTER', 'BEHAVIOR_TOURIST', 'BEHAVIOR_BUILDER', 'BEHAVIOR_SAPPER', 'BEHAVIOR_HUMAN']

types exhaustifs

BEHAVIOR_BUILDER = 'BEHAVIOR_BUILDER'

marque un joueur de type maçon

BEHAVIOR_HUMAN = 'BEHAVIOR_HUMAN'

marque un joueur de type humain

BEHAVIOR_HUNTER = 'BEHAVIOR_HUNTER'

marque un joueur de type chasseur

BEHAVIOR_RANDOM = 'BEHAVIOR_RANDOM'

marque un joueur de type random

BEHAVIOR_SAPPER = 'BEHAVIOR_SAPPER'

marque un joueur de type mineur

BEHAVIOR_TOURIST = 'BEHAVIOR_TOURIST'

marque un joueur de type touriste

BEHAVIOR_WINNER = 'BEHAVIOR_WINNER'

marque un joueur de type winner

FAMILLE_BEHAVIOR = ['BEHAVIOR_WINNER', 'BEHAVIOR_RANDOM', 'BEHAVIOR_HUNTER', 'BEHAVIOR_TOURIST', 'BEHAVIOR_BUILDER', 'BEHAVIOR_SAPPER']

types des joueurs automatiques

FEATURES = ['intelligence', 'ambition', 'instinct_survie', 'curiosite', 'aggressivite', 'efficacite']

liste des caractéristiques comportementales

FEATURE_THRESHOLDS = None

seuils par capacités

MAX_PASSED_CASES = 10

nombre de cases passées mémorisées

MAX_SEQ_COUNT = 4

nombre de séquences de coups mémorisées

STRAT_BONUS_ALL = 'bonus_all'

stratégie n’importe quel bonus

STRAT_BONUS_TARGET = 'bonus_target'

stratégie bonus cohérents avec la cible

THRES_HIGH = 0.7

seuil générique haut

THRES_MID = 0.5

seuil générique moyen

VITESSE_INITIALE = 1

vitesse initiale du joueur »

char_repr_BEHAVIOR_BUILDER = 'B'

caractère d’affichage d’un maçon

char_repr_BEHAVIOR_HUMAN = 'A'

caractère d’affichage d’un humain

char_repr_BEHAVIOR_HUNTER = 'H'

caractère d’affichage d’un chasseur

char_repr_BEHAVIOR_RANDOM = 'R'

caractère d’affichage d’un random

char_repr_BEHAVIOR_SAPPER = 'S'

caractère d’affichage d’un mineur

char_repr_BEHAVIOR_TOURIST = 'T'

caractère d’affichage d’un touriste

char_repr_BEHAVIOR_WINNER = 'W'

caractère d’affichage d’un winner

current_vitesse

vitesse apparente du robot

game_phasis

phase de jeu actuelle

need_bonus

devrait prendre un bonus?

order

ordre du joueur associé

totalgamblecount

nombre de coups consécutifs à jouer

Methods Documentation

compute_danger_factor_dict()[source]

Calcule le facteur de danger associé à chaque espèce en fonction des caractéristiques comportementales du robot.

  • 0 : robot inoffensif

  • 1 : robot capable de se défendre

  • 2 : joueur humain au comportement inconnu encore (supposé capable de se défendre)

  • 3 : robot pouvant attaquer par opportunité

  • 4 : robot attaquant à coup sûr

Rq : la gestion par dict permet de différencier les facteurs de dangers en fonction des espèces (spécisme). En V1 on standardise.

compute_loop_factor(listcoords)[source]

Retourne un entier caractérisant le risque de bouclage associé à la liste de coordonnées. listcoords : liste de tuples (x, y)

classmethod configure_behavior(robot)[source]

Méthode statique particularisant le comportement d’un robot V1 : gère le caractère de représentation texte

create_gamble_coords_entry()[source]

Crée une entrée dans pour la série de coups à venir

get_action_list()[source]

Retourne la liste des actions passées

get_apparent_danger_factor_for_bot(bot, behavior=None)[source]

Retourne le facteur de danger apparent associé au bot. Utilité : permettre d’afficher la zone de danger des HUNTERS en toute circonstance.

get_bots_killed()[source]

Retourne la liste des bots éliminés

classmethod get_char_repr(behavior)[source]

Retourne le char de représentation en fonction du comportement

get_current_gdSet()[source]

Retourne le gdSet courant

get_danger_factor_for_bot(bot, behavior=None)[source]

Retourne le facteur de danger associé au bot

get_danger_radius()[source]

Retourne le rayon d’action offensif du robot Estimation large pour 5, 13 et 17, exacte pour 1, 9 et 25 (grenade)

classmethod get_default_dict()[source]

Méthode statique retournant le dict par défaut attendu par le constructeur

classmethod get_feature_threshold(feature, level)[source]

Retourne une valeur entre 0 et 1 pour une feature (efficacite, …) et un level parmi « middle » ou « high »

classmethod get_feature_threshold_dict()[source]

Retourne le dict de seuils par caractéristiques.

get_features_radar_datas()[source]

Retourne un dict permettant de tracer le graphe radar des caractéristiques du robot.

get_killed_counts()[source]

Retourne le tupple total tués, innocents tués

get_last_action()[source]

Retourne la dernière action ou None

get_main_target()[source]

Retourne la cible principale

get_main_target_params()[source]

Retourne les paramètres optionnels de la cible principale

get_prev_coords()[source]

Retourne les coordonnées de l’avant dernière case par laquelle le robot est passé

get_prev_temptarget_datas(x, y, direct, xrobot=None, yrobot=None)[source]

Retourne le nombre d’occurences et le dernier score enregistré pour une cible de caractéristiques x, y, direct choisie aux coordonnées actuelles du robot (si xrobot et yrobot sont indéterminés). Par défaut retourne {« count »:0, « score »:None, « gambleid »:None}

get_properties_dict(full=True)[source]

Retourne ses paramètres sous forme de dict

get_puissance_list(weapon)[source]

Retourne la liste de puissances activées pour l’arme weapon (mine, grenade)

get_temp_target()[source]

Retourne la cible actuelle

get_work_ratio()[source]

Retourne le ratio travail/mouvement sous forme de fraction Application sapper et builder

classmethod init_feature_thresholds()[source]

Initialise les seuils associés aux caractéristiques des robots. Rq : le dict permet de personnaliser les seuils pour chaque carcatéristique. En V1 on standardise.

is_a_murderer()[source]

Le robot a t’il tué des innocents?

register_action(action, gambleid)[source]

Enregistre la dernière action effectuée

register_bonus(name, value)[source]

Enregistre un bonus

register_bots_killed(botlist)[source]

Enregistre les bots éliminés

register_case(case, gambleid)[source]

Enregistre la dernière case atteinte

register_current_gdSet(gdSet)[source]

Enregistre le gdSet courant

register_death()[source]

Enregistre son décès

set_main_target(targetobj, params=None)[source]

Définit la cible principale

set_temp_target(targetobj)[source]

Définit la nouvelle cible

update_dyn_props(robotdict)[source]

Mise à jour des propriétés dynamiques à partir d’un dict