hanabiapp.game.agent.agent
1from ..game_const import GameConst 2class Agent(): 3 """ 4 エージェントを表現する抽象クラス. 5 6 ゲームのプレイヤーとして動作するエージェントの基底クラスであり, 7 すべてのエージェントが共通して持つべきインターフェースを定義する. 8 9 Attributes: 10 game_const (GameConst): ゲームの定数 11 name (str): エージェントの名前 12 player_number (int): エージェントの番号 13 need_hle_convert (bool): HLE形式の変換が必要かどうか 14 game (Game): ゲームのインスタンス(後で設定される) 15 is_cui (bool): CUIモードかどうか 16 """ 17 18 def __init__(self, name, player_number,need_hle_convert=True): 19 """ 20 エージェントの初期化. 21 22 Args: 23 name (str): エージェントの名前 24 player_number (int): エージェントの番号 25 need_hle_convert (bool, optional): HLE形式の変換が必要かどうか(デフォルトはTrue) 26 """ 27 28 self.game_const = GameConst() 29 self.name = name 30 self.player_number = player_number 31 self.need_hle_convert = need_hle_convert 32 #self.game = None # 後からGameクラスから渡される 33 34 def set_game(self, game): 35 """ 36 エージェントにゲームインスタンスを設定する. 37 38 Args: 39 game (Game): ゲームのインスタンス 40 """ 41 self.game = game 42 self.is_cui = self.game.is_cui 43 44 def print_log(self,log): 45 """ 46 CUIモードの場合にログを出力する関数. 47 48 Args: 49 log (str): 出力するログメッセージ 50 """ 51 if self.is_cui: 52 print(log) 53 54 def act(self): 55 """HLEのobservationに基づき,エージェントのアクションを決定するメソッド 56 57 Args: 58 observation(dict): このエージェント視点で分かる観測情報 59 60 Returns: 61 TMP_ACTION(dict): エージェントのアクション 62 63 Note: 64 * observationの形式について 65 * TMP_ACTIONの形式について 66 """ 67 raise NotImplementedError("Not implemented in Abstract Base class")
class
Agent:
3class Agent(): 4 """ 5 エージェントを表現する抽象クラス. 6 7 ゲームのプレイヤーとして動作するエージェントの基底クラスであり, 8 すべてのエージェントが共通して持つべきインターフェースを定義する. 9 10 Attributes: 11 game_const (GameConst): ゲームの定数 12 name (str): エージェントの名前 13 player_number (int): エージェントの番号 14 need_hle_convert (bool): HLE形式の変換が必要かどうか 15 game (Game): ゲームのインスタンス(後で設定される) 16 is_cui (bool): CUIモードかどうか 17 """ 18 19 def __init__(self, name, player_number,need_hle_convert=True): 20 """ 21 エージェントの初期化. 22 23 Args: 24 name (str): エージェントの名前 25 player_number (int): エージェントの番号 26 need_hle_convert (bool, optional): HLE形式の変換が必要かどうか(デフォルトはTrue) 27 """ 28 29 self.game_const = GameConst() 30 self.name = name 31 self.player_number = player_number 32 self.need_hle_convert = need_hle_convert 33 #self.game = None # 後からGameクラスから渡される 34 35 def set_game(self, game): 36 """ 37 エージェントにゲームインスタンスを設定する. 38 39 Args: 40 game (Game): ゲームのインスタンス 41 """ 42 self.game = game 43 self.is_cui = self.game.is_cui 44 45 def print_log(self,log): 46 """ 47 CUIモードの場合にログを出力する関数. 48 49 Args: 50 log (str): 出力するログメッセージ 51 """ 52 if self.is_cui: 53 print(log) 54 55 def act(self): 56 """HLEのobservationに基づき,エージェントのアクションを決定するメソッド 57 58 Args: 59 observation(dict): このエージェント視点で分かる観測情報 60 61 Returns: 62 TMP_ACTION(dict): エージェントのアクション 63 64 Note: 65 * observationの形式について 66 * TMP_ACTIONの形式について 67 """ 68 raise NotImplementedError("Not implemented in Abstract Base class")
エージェントを表現する抽象クラス.
ゲームのプレイヤーとして動作するエージェントの基底クラスであり, すべてのエージェントが共通して持つべきインターフェースを定義する.
Attributes:
- game_const (GameConst): ゲームの定数
- name (str): エージェントの名前
- player_number (int): エージェントの番号
- need_hle_convert (bool): HLE形式の変換が必要かどうか
- game (Game): ゲームのインスタンス(後で設定される)
- is_cui (bool): CUIモードかどうか
Agent(name, player_number, need_hle_convert=True)
19 def __init__(self, name, player_number,need_hle_convert=True): 20 """ 21 エージェントの初期化. 22 23 Args: 24 name (str): エージェントの名前 25 player_number (int): エージェントの番号 26 need_hle_convert (bool, optional): HLE形式の変換が必要かどうか(デフォルトはTrue) 27 """ 28 29 self.game_const = GameConst() 30 self.name = name 31 self.player_number = player_number 32 self.need_hle_convert = need_hle_convert 33 #self.game = None # 後からGameクラスから渡される
エージェントの初期化.
Arguments:
- name (str): エージェントの名前
- player_number (int): エージェントの番号
- need_hle_convert (bool, optional): HLE形式の変換が必要かどうか(デフォルトはTrue)
def
set_game(self, game):
35 def set_game(self, game): 36 """ 37 エージェントにゲームインスタンスを設定する. 38 39 Args: 40 game (Game): ゲームのインスタンス 41 """ 42 self.game = game 43 self.is_cui = self.game.is_cui
エージェントにゲームインスタンスを設定する.
Arguments:
- game (Game): ゲームのインスタンス
def
print_log(self, log):
45 def print_log(self,log): 46 """ 47 CUIモードの場合にログを出力する関数. 48 49 Args: 50 log (str): 出力するログメッセージ 51 """ 52 if self.is_cui: 53 print(log)
CUIモードの場合にログを出力する関数.
Arguments:
- log (str): 出力するログメッセージ
def
act(self):
55 def act(self): 56 """HLEのobservationに基づき,エージェントのアクションを決定するメソッド 57 58 Args: 59 observation(dict): このエージェント視点で分かる観測情報 60 61 Returns: 62 TMP_ACTION(dict): エージェントのアクション 63 64 Note: 65 * observationの形式について 66 * TMP_ACTIONの形式について 67 """ 68 raise NotImplementedError("Not implemented in Abstract Base class")
HLEのobservationに基づき,エージェントのアクションを決定するメソッド
Arguments:
- observation(dict): このエージェント視点で分かる観測情報
Returns:
TMP_ACTION(dict): エージェントのアクション
Note:
- observationの形式について
- TMP_ACTIONの形式について