@Override public int createGame(Profile userProfile, String gameName, Profile opponentProfile) { Game game = new Game(); Player player1 = new Player(); Player player2 = new Player(); userProfile.addPlayer(player1); opponentProfile.addPlayer(player2); player1.setCommandPoints(START_COMMAND_POINTS); player2.setCommandPoints(START_COMMAND_POINTS); player1.setRequestAccepted(true); player2.setRequestAccepted(false); player1.setGame(game); player2.setGame(game); Planet planetA = planetRepository.getPlanetByName("a"); Planet planetA3 = planetRepository.getPlanetByName("a3"); Ship player1StartingShip = new Ship(planetA); Ship player2StartingShip = new Ship(planetA3); player1StartingShip.setStrength(NEW_SHIP_STRENGTH); player2StartingShip.setStrength(NEW_SHIP_STRENGTH); player1StartingShip.setPlayer(player1); player2StartingShip.setPlayer(player2); Colony player1StartingColony = new Colony(planetA); Colony player2StartingColony = new Colony(planetA3); player1StartingColony.setStrength(NEW_COLONY_STRENGHT); player2StartingColony.setStrength(NEW_COLONY_STRENGHT); player1StartingColony.setPlayer(player1); player2StartingColony.setPlayer(player2); game.setName(gameName); gameRepository.createOrUpdateGame(game); return game.getGameId(); }
@Override public void moveShip(Integer shipId, String planetName) { Ship ship = shipRepository.getShipByShipId(shipId); Game game = ship.getPlayer().getGame(); Planet destinationPlanet = planetRepository.getPlanetByName(planetName); validateActionMakeSureGameIsNotFinishedYet(game); moveShipHandler.validateMove(ship, destinationPlanet); moveShipHandler.moveShip(ship, destinationPlanet); checkLost(game); gameSynchronizer.updateGame(game); }