class_docstr: Controller.`
  Keep Track of each ship and shipyard
class_docstr_tok: ["Controller.","`","Keep","Track","of","each","ship","and","shipyard"]
docstr: Obtain the id of ships which aren't controlled by rules
          
code: def get_ship_id(self):
      """Obtain the id of ships which aren't controlled by rules"""
      ready_ship_id = []
  
      for ship_id, ship_state in self.ship_states.items():
          if not ship_state["rule"]:
              ready_ship_id.append(ship_id)
  
      return ready_ship_id
  
imports: import base64
  import pickle
  import random
  import numpy
  from zerosum_env.envs.halite.helpers import *
  from zerosum_env import make, evaluate
  from collections import deque
  import parl
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.distribution import Categorical
label_desc: Use image node_id 5 for calling the Controller obj's underlying member method code with example usage: obj.get_ship_id() and returns: ready_ship_id