Skip to content
Snippets Groups Projects
Commit 39cb622e authored by Matthew Trippe's avatar Matthew Trippe
Browse files

Test pass now, Fixed main code

parent fbe4d889
No related branches found
No related tags found
No related merge requests found
......@@ -107,14 +107,18 @@ public class DotsAndBoxesGrid {
* @return true if all four sides have been drawn.
*/
public boolean boxComplete(int x, int y) {
// A box is complete if the north and south horizontals and the east and west verticals have all been drawn.
if (x >= width - 1 || x < 0 || y >= height - 1 || y < 0) {
return false;
}
// A box is complete if the north and south horizontals and the east and west verticals have all been drawn.
// FIXME: You'll need to fix this code (after writing a test first).
else if (this.getVertical(x,y) && this.getHorizontal(x,y) && this.getVertical(x+1,y) && this.getHorizontal(x,y+1)){
return true;
}
else {
return false;
}
}
/** Tries to claim a box for a player. If the box is complete, sets the ownership and returns true. */
private boolean claimBox(int x, int y, int p) {
......@@ -139,6 +143,9 @@ public class DotsAndBoxesGrid {
if (y >= height || y < 0) {
throw new IndexOutOfBoundsException(String.format("y was %d, which is out of range. Range is 0 to %d", y, height));
}
if (this.horizontals[x][y]) {
throw new IllegalStateException("A horizontal line already exists");
}
// FIXME: You need to throw an exception if the line was already drawn.
......@@ -170,6 +177,9 @@ public class DotsAndBoxesGrid {
if (y >= height - 1 || y < 0) {
throw new IndexOutOfBoundsException(String.format("y was %d, which is out of range. Range is 0 to %d", y, height - 1));
}
if (this.verticals[x][y]){
throw new IllegalStateException("A Vertical line already exists");
}
// You need to throw an exception if the line was already drawn.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment