hanabiapp.game.agent.human_cui_agent
1from .agent import Agent 2 3class HumanCUIAgent(Agent): 4 """ 5 CUI(キャラクターユーザーインターフェース)で操作する人間プレイヤーのエージェントクラス. 6 7 プレイヤーが手動でアクションを選択する仕組みを提供する. 8 """ 9 10 def __init__(self, name, player_number): 11 """ 12 HumanCUIAgent のコンストラクタ. 13 14 Args: 15 name (str): エージェントの名前 16 player_number (int): プレイヤーの番号 17 """ 18 super().__init__(name, player_number) 19 self.need_hle_convert= False 20 21 def act(self, game_ins): 22 """ 23 ユーザーに行動を選択させる関数. 24 25 Args: 26 game_ins (Game): 現在のゲームインスタンス 27 28 Returns: 29 Action: ユーザーが選択したアクション 30 """ 31 valid_actions = game_ins.valid_actions() 32 # 有効なアクションを表示 33 print("選択可能なアクション:") 34 for i, action in enumerate(valid_actions): 35 print(f"{i}: {action}") 36 37 # ユーザーにアクションを選択してもらう 38 while True: 39 try: 40 choice = int(input("行動番号を選択してください: ")) 41 if 0 <= choice < len(valid_actions): 42 return valid_actions[choice] 43 except ValueError: 44 print("無効な入力です。もう一度入力してください。")
4class HumanCUIAgent(Agent): 5 """ 6 CUI(キャラクターユーザーインターフェース)で操作する人間プレイヤーのエージェントクラス. 7 8 プレイヤーが手動でアクションを選択する仕組みを提供する. 9 """ 10 11 def __init__(self, name, player_number): 12 """ 13 HumanCUIAgent のコンストラクタ. 14 15 Args: 16 name (str): エージェントの名前 17 player_number (int): プレイヤーの番号 18 """ 19 super().__init__(name, player_number) 20 self.need_hle_convert= False 21 22 def act(self, game_ins): 23 """ 24 ユーザーに行動を選択させる関数. 25 26 Args: 27 game_ins (Game): 現在のゲームインスタンス 28 29 Returns: 30 Action: ユーザーが選択したアクション 31 """ 32 valid_actions = game_ins.valid_actions() 33 # 有効なアクションを表示 34 print("選択可能なアクション:") 35 for i, action in enumerate(valid_actions): 36 print(f"{i}: {action}") 37 38 # ユーザーにアクションを選択してもらう 39 while True: 40 try: 41 choice = int(input("行動番号を選択してください: ")) 42 if 0 <= choice < len(valid_actions): 43 return valid_actions[choice] 44 except ValueError: 45 print("無効な入力です。もう一度入力してください。")
CUI(キャラクターユーザーインターフェース)で操作する人間プレイヤーのエージェントクラス.
プレイヤーが手動でアクションを選択する仕組みを提供する.
HumanCUIAgent(name, player_number)
11 def __init__(self, name, player_number): 12 """ 13 HumanCUIAgent のコンストラクタ. 14 15 Args: 16 name (str): エージェントの名前 17 player_number (int): プレイヤーの番号 18 """ 19 super().__init__(name, player_number) 20 self.need_hle_convert= False
HumanCUIAgent のコンストラクタ.
Arguments:
- name (str): エージェントの名前
- player_number (int): プレイヤーの番号
def
act(self, game_ins):
22 def act(self, game_ins): 23 """ 24 ユーザーに行動を選択させる関数. 25 26 Args: 27 game_ins (Game): 現在のゲームインスタンス 28 29 Returns: 30 Action: ユーザーが選択したアクション 31 """ 32 valid_actions = game_ins.valid_actions() 33 # 有効なアクションを表示 34 print("選択可能なアクション:") 35 for i, action in enumerate(valid_actions): 36 print(f"{i}: {action}") 37 38 # ユーザーにアクションを選択してもらう 39 while True: 40 try: 41 choice = int(input("行動番号を選択してください: ")) 42 if 0 <= choice < len(valid_actions): 43 return valid_actions[choice] 44 except ValueError: 45 print("無効な入力です。もう一度入力してください。")
ユーザーに行動を選択させる関数.
Arguments:
- game_ins (Game): 現在のゲームインスタンス
Returns:
Action: ユーザーが選択したアクション