Package es.mahulo.battleship.model

Examples of es.mahulo.battleship.model.Game


    logger.debug("user found: " + user);
   
    List<Game> games = new ArrayList<Game>();

    for (Player player :user.getPlayers() ) {
      Game game = player.getGame();
      if (game.getStatus()!=GameStatus.Wind1 ||
          game.getStatus()!=GameStatus.Wind2 ||
          game.getStatus()!=GameStatus.Draw ) {
        games.add(game);
      }
    }
   
View Full Code Here


   
    User user = userDao.findByName(userId);
   
    logger.debug("user found: " + user);

    Game game = new Game();

    GameConfig gameConfig = gameConfigDao.find(1L); //TODO DEFINE A TABLE DEFAULT CONFIGURATION
   
    List<Player> players = new ArrayList<Player>();
   
    Player player = new Player();
    player.setUser(user);
    player.setShips(new ArrayList<Ship>());
    player.setShots(new ArrayList<Shot>());
    player.setGame(game);
   
    players.add(player);

    game.setGameConfig(gameConfig);
    game.setStatus(GameStatus.StartUp);
    game.setPlayers(players);
   
    gameDao.create(game);
   
    logger.debug("game save: " + game);
   
View Full Code Here

 
  @Override
  @Transactional
  public Game joinPlayer(Long gameId, String userIdthrows Exception {
   
    Game game = gameDao.find(gameId);
   
    if (game.getStatus() == GameStatus.StartUp) {
      User user = userDao.findByName(userId);
     
      Player player = new Player();
      player.setUser(user);
      player.setShips(new ArrayList<Ship>());
      player.setShots(new ArrayList<Shot>());
      player.setGame(game);

      List<Player> players = game.getPlayers();
      players.add(player);
     
      game.setStatus(GameStatus.Configuring);
     
      gameDao.update(game);
     
      return game;
    } else {
View Full Code Here

  @Override
  @Transactional(rollbackFor=Exception.class)
  public void addShip(Long gameId, String userId, List<Ship> ships) throws Exception {
    logger.info("Add Ship " + userId + " "  + ships);
   
    Game game = gameDao.find(gameId);
   
    Player player = foundPlayer(game.getPlayers(),userId);
   
    logger.info("Player found " + player);
   
    if game.getStatus() == GameStatus.Configuring )  {
     
      if (configService.isComplete(game.getGameConfig(),player) ) {
        logger.info("Configuration complete, not possible to add more ships.");
       
        throw new Exception("Configuration complete, not possible to add more ships.");
      }

     
      for (Ship ship : ships) {
        configService.isValid (game, player,ship);
        player.getShips().add(ship);
        ship.setPlayer(player);
        for (Cell cell : ship.getCells()) {
          cell.setHit(false);
          cell.setShip(ship);
        }
      }
     
      if (!configService.isComplete(game.getGameConfig(),player) ) {
        logger.info("Ship configuration incorrect.");
       
        throw new Exception("Ship configuration incorrect.");
      }
     
      playerDao.create(player);
     
      List<Player> players = game.getPlayers();
      if (players.size() == 2) {
        if (configService.isComplete(game.getGameConfig(),players.get(0)) &&
            configService.isComplete(game.getGameConfig(),players.get(1))) {
          game.setStatus(GameStatus.Round1);
        }
      }
         
    } else {
      logger.info("Wrong State");
View Full Code Here

  @Override
  public Boolean shot(Long gameId, String userId, Shot shot) throws Exception {
    logger.info("shot " + userId + " " + shot);
   
    Game game = gameDao.find(gameId);
    logger.debug("game " + game);
 
    Player player = foundPlayer(game.getPlayers(),userId);
    logger.debug("found " + player);
   
   
    Boolean isHit = false;   
    switch (game.getStatus()) {
      case Round1:
        logger.debug("Round 1 ");
       
        if (game.getPlayers().get(1) != null &&
            game.getPlayers().get(1).equals(player)) {
           
          isHit = shot(game.getPlayers().get(1),shot);
         
          logger.debug("isHit "+ isHit);
         
          if (isAllShipDestroyed(game.getPlayers().get(1)) ) { 
            game.setStatus(GameStatus.Wind1);
           
            logger.debug("All Ship Destroyed ");
           
          } else
            game.setStatus(GameStatus.Round2);
         
        } else {
          throw new Exception("Wrong state");
        }
        break;
      case Round2:
        logger.debug("Round 2 ");
       
        if (game.getPlayers().get(0) != null &&
          game.getPlayers().get(0).equals(player)) {
       
          isHit = shot(game.getPlayers().get(0),shot);
         
          logger.debug("isHit "+ isHit);
         
          if (isAllShipDestroyed(game.getPlayers().get(0)) ) { 
            game.setStatus(GameStatus.Wind2);
           
            logger.debug("All Ship Destroyed ");
           
          } else
            game.setStatus(GameStatus.Round1);
        } else
          throw new Exception("Wrong state")
        break;
      case Wind1:
        logger.debug("Wind 1 ");
       
        if (game.getPlayers().get(0) != null &&
            game.getPlayers().get(0).equals(player)) {
         
          isHit = shot(game.getPlayers().get(0),shot);
         
          logger.debug("isHit "+ isHit);
         
          if (isAllShipDestroyed(game.getPlayers().get(0)) )  {
            game.setStatus(GameStatus.Draw);
           
            logger.debug("All Ship Destroyed ");
          } else {
            game.setStatus(GameStatus.Wind1);
          }
         
        } else
          throw new Exception("Wrong state")
        break;
View Full Code Here

    gameConfig.setId(1L);
    gameConfig.setDimensionX(10);
    gameConfig.setDimensionY(10);
    gameConfig.setShipConfigs(shipConfigs);
   
    game = new Game();
    game.setId(1L);
    game.setStatus(GameStatus.Configuring);
    game.setGameConfig(gameConfig);
   
   
View Full Code Here

    Player player = new Player();
    player.setShips(playerShips);
    players.add(player);

   
    Game game = new Game();
    game.setStatus(GameStatus.Configuring);
    game.setGameConfig(gameConfig);
    game.setPlayers(players);
   
    Ship ship = buildShip(shipConfigs.get(0), cellShip1);
    
   
    configService.isValid(game, player,ship);
View Full Code Here


  }
 
  @Test public void startUpTest() throws Exception {
    Game game = gameServer.startUp("manuel");

    Assert.assertNotNull(game);
    Assert.assertEquals(10,game.getGameConfig().getDimensionX());
    Assert.assertEquals(10,game.getGameConfig().getDimensionY());
    Assert.assertEquals(5,game.getGameConfig().getShipConfigs().size());
    Assert.assertEquals(GameStatus.StartUp,game.getStatus());
    Assert.assertEquals(1,game.getPlayers().size());
    Assert.assertEquals("manuel",game.getPlayers().get(0).getUser().getName());
  }
View Full Code Here

    Assert.assertEquals("manuel",game.getPlayers().get(0).getUser().getName());
  }
 
 
  @Test public void joinPlayerTest() throws Exception {
    Game game = gameServer.startUp("manuel");
    game = gameServer.joinPlayer(game.getId(), "maeve");
   
    Assert.assertEquals(GameStatus.Configuring,game.getStatus());
    Assert.assertEquals(2,game.getPlayers().size());
    Assert.assertEquals("manuel",game.getPlayers().get(0).getUser().getName());
    Assert.assertEquals("maeve",game.getPlayers().get(1).getUser().getName());
  }
View Full Code Here

    Assert.assertEquals("maeve",game.getPlayers().get(1).getUser().getName());
  }
 
 
  @Test public void addShipTest() throws Exception {
    Game game = gameServer.startUp("manuel");
    game = gameServer.joinPlayer(game.getId(), "maeve");

   
    gameServer.addShip(1L,"manuel", ships1);
   
  }
View Full Code Here

TOP

Related Classes of es.mahulo.battleship.model.Game

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.