Esempio n. 1
0
 /**
  * Makes the move that is returned by getMove(). If the stonelist returned by getMove is empty as
  * much stones as possible are traded.
  *
  * @param game
  * @param stones
  */
 @Override
 public void determineMove(ClientGame game, List<Stone> stones) {
   List<Stone> stonesplaced = getMove(game.getBoard(), stones);
   if (stonesplaced.isEmpty()) {
     List<Stone> toTrade;
     if (game.getBag() < stones.size()) {
       toTrade = new ArrayList<Stone>();
       for (int i = 0; i < game.getBag(); i++) {
         toTrade.add(stones.get(i));
       }
     } else {
       toTrade = stones;
     }
     game.getClient().trade(toTrade);
     List<Stone> toRemove = new ArrayList<Stone>();
     toRemove.addAll(toTrade);
     game.getCurrentPlayer().removeStones(toRemove);
   } else {
     game.getClient().place(stonesplaced);
     List<Stone> toRemove = new ArrayList<Stone>();
     toRemove.addAll(stonesplaced);
     game.getCurrentPlayer().removeStones(toRemove);
   }
 }