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("無効な入力です。もう一度入力してください。")
class HumanCUIAgent(hanabiapp.game.agent.agent.Agent):
 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): プレイヤーの番号
need_hle_convert
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: ユーザーが選択したアクション