/ benchmark / hlt / Player.java
Player.java
 1  package hlt;
 2  
 3  import java.util.LinkedHashMap;
 4  import java.util.Map;
 5  
 6  public class Player {
 7      public final PlayerId id;
 8      public final Shipyard shipyard;
 9      public int halite;
10      public final Map<EntityId, Ship> ships = new LinkedHashMap<>();
11      public final Map<EntityId, Dropoff> dropoffs = new LinkedHashMap<>();
12  
13      private Player(final PlayerId id, final Shipyard shipyard) {
14          this.id = id;
15          this.shipyard = shipyard;
16      }
17  
18      void _update(final int numShips, final int numDropoffs, final int halite) {
19          this.halite = halite;
20  
21          ships.clear();
22          for (int i = 0; i < numShips; ++i) {
23              final Ship ship = Ship._generate(id);
24              ships.put(ship.id, ship);
25          }
26  
27          dropoffs.clear();
28          for (int i = 0; i < numDropoffs; ++i) {
29              final Dropoff dropoff = Dropoff._generate(id);
30              dropoffs.put(dropoff.id, dropoff);
31          }
32      }
33  
34      static Player _generate() {
35          final Input input = Input.readInput();
36  
37          final PlayerId playerId = new PlayerId(input.getInt());
38          final int shipyard_x = input.getInt();
39          final int shipyard_y = input.getInt();
40  
41          return new Player(playerId, new Shipyard(playerId, new Position(shipyard_x, shipyard_y)));
42      }
43  }