public Object result(Object s, Action a) { if (a is QueenAction) { QueenAction qa = (QueenAction)a; NQueensBoard board = (NQueensBoard)s; NQueensBoard newBoard = new NQueensBoard(board.getSize()); newBoard.setBoard(board.getQueenPositions()); if (qa.getName() == QueenAction.PLACE_QUEEN) { newBoard.AddQueenAt(qa.getLocation()); } else if (qa.getName() == QueenAction.REMOVE_QUEEN) { newBoard.removeQueenFrom(qa.getLocation()); } else if (qa.getName() == QueenAction.MOVE_QUEEN) { newBoard.moveQueenTo(qa.getLocation()); } s = newBoard; } // if action is not understood or is a NoOp // the result will be the current state. return(s); }
// END - Interface GoalTest // public NQueensBoard getBoardForIndividual(String individual) { int boardSize = individual.length(); NQueensBoard board = new NQueensBoard(boardSize); for (int i = 0; i < boardSize; i++) { int pos = Character .digit(individual.charAt(i), individual.length()); board.AddQueenAt(new XYLocation(i, pos)); } return(board); }
// END - Interface GoalTest // public NQueensBoard getBoardForIndividual(String individual) { int boardSize = individual.length(); NQueensBoard board = new NQueensBoard(boardSize); for (int i = 0; i < boardSize; i++) { int pos = Character .digit(individual.charAt(i), individual.length()); board.AddQueenAt(new XYLocation(i, pos)); } return board; }
public Object result(Object s, Action a) { if (a is QueenAction) { QueenAction qa = (QueenAction)a; NQueensBoard board = (NQueensBoard)s; NQueensBoard newBoard = new NQueensBoard(board.getSize()); newBoard.setBoard(board.getQueenPositions()); if (qa.getName() == QueenAction.PLACE_QUEEN) newBoard.AddQueenAt(qa.getLocation()); else if (qa.getName() == QueenAction.REMOVE_QUEEN) newBoard.removeQueenFrom(qa.getLocation()); else if (qa.getName() == QueenAction.MOVE_QUEEN) newBoard.moveQueenTo(qa.getLocation()); s = newBoard; } // if action is not understood or is a NoOp // the result will be the current state. return s; }