code: def testVsBot(self):
      bot_first = True
      for _ in range(NUM_MATCHES):
          with host_remote_agent.VsBot() as game:
              game.create_game(
                  map_name="Simple64",
                  bot_difficulty=sc_pb.VeryHard,
                  bot_first=bot_first,
              )
              controller = remote_controller.RemoteController(
                  host=game.host, port=game.host_port
              )
  
              join = sc_pb.RequestJoinGame(
                  options=sc_pb.InterfaceOptions(raw=True)
              )
              join.race = sc_common.Random
              controller.join_game(join)
              for _ in range(STEPS):
                  controller.step()
                  response_observation = controller.observe()
                  if response_observation.player_result:
                      break
  
              controller.leave()
              controller.close()
              bot_first = not bot_first
  
file_path: pysc2/pysc2/tests/host_remote_agent_test.py
imports: from absl.testing import absltest
  from pysc2.env import host_remote_agent
  from pysc2.lib import remote_controller
  from pysc2.lib import run_parallel
  from pysc2.tests import utils
  from s2clientprotocol import common_pb2
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 1 for calling the TestHostRemoteAgent obj's underlying member method code with example usage: obj.testVsBot() without return types