- Changed the rules. Now tiles can only be placed next to existing tiles. Unless the board is empty.
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.List;
|
||||
|
||||
import model.Board;
|
||||
import model.Board.TileColor;
|
||||
import model.CellPointer;
|
||||
import model.Move;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
@@ -25,25 +26,25 @@ public class ValidMoveGenerator implements MoveGenerator {
|
||||
|
||||
List<Move> validMoves = new ArrayList<Move>();
|
||||
|
||||
for (int i = 0; i < Board.NUM_ROWS; i++) {
|
||||
for (int j = 0; j < Board.NUM_COLS; j++) {
|
||||
if (board.getTile(i, j) == TileColor.NONE) {
|
||||
for (int r = 0; r < Board.NUM_ROWS; r++) {
|
||||
for (int c = 0; c < Board.NUM_COLS; c++) {
|
||||
if (Board.isLegal(board, new CellPointer(r, c))) {
|
||||
for (TileColor color : TileColor.values()) {
|
||||
if (color == TileColor.NONE) {
|
||||
continue;
|
||||
}
|
||||
validMoves.add(new Move(color, i, j));
|
||||
validMoves.add(new Move(color, r, c));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Collections.shuffle(validMoves);
|
||||
|
||||
|
||||
if (nMoves == MoveGenerator.ALL_MOVES) {
|
||||
return validMoves;
|
||||
} else {
|
||||
return validMoves.subList(0, Math.min(validMoves.size(),nMoves));
|
||||
return validMoves.subList(0, Math.min(validMoves.size(), nMoves));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user