From 744ceb02f7a8ff3939e00d89b4e8e14133967088 Mon Sep 17 00:00:00 2001 From: Woody Folsom Date: Sun, 29 Apr 2012 13:40:27 -0400 Subject: [PATCH] Fixed index out of bounds. Implemented CellPointer equals, hashcode. --- src/model/CellPointer.java | 25 +++++++++++++++++++ .../generator/AlphaBetaMoveGenerator.java | 8 ++++++ 2 files changed, 33 insertions(+) diff --git a/src/model/CellPointer.java b/src/model/CellPointer.java index d397109..935b712 100644 --- a/src/model/CellPointer.java +++ b/src/model/CellPointer.java @@ -15,4 +15,29 @@ public class CellPointer { public String toString() { return "(" + r + "," + c +")"; } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + c; + result = prime * result + r; + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CellPointer other = (CellPointer) obj; + if (c != other.c) + return false; + if (r != other.r) + return false; + return true; + } } \ No newline at end of file diff --git a/src/model/comPlayer/generator/AlphaBetaMoveGenerator.java b/src/model/comPlayer/generator/AlphaBetaMoveGenerator.java index 76aeb36..9774317 100644 --- a/src/model/comPlayer/generator/AlphaBetaMoveGenerator.java +++ b/src/model/comPlayer/generator/AlphaBetaMoveGenerator.java @@ -57,6 +57,10 @@ public class AlphaBetaMoveGenerator implements MoveGenerator { SearchResult bestResult = new SearchResult(Move.NONE,Integer.MIN_VALUE); + if (validMoves.size() == 0) { + return bestResult; + } + for (Move nextMove : validMoves) { Board nextBoard = new Board(board); @@ -91,6 +95,10 @@ public class AlphaBetaMoveGenerator implements MoveGenerator { SearchResult bestResult = new SearchResult(Move.NONE,Integer.MAX_VALUE); + if (validMoves.size() == 0) { + return bestResult; + } + for (Move nextMove : validMoves) { Board nextBoard = new Board(board);