Skip to content
Snippets Groups Projects
Commit 2397619d authored by Brendan Raines's avatar Brendan Raines
Browse files

Issue 1 bugs fixed in code. Tests passed.

parent b03e4d81
No related branches found
No related tags found
No related merge requests found
...@@ -113,7 +113,7 @@ public class DotsAndBoxesGrid { ...@@ -113,7 +113,7 @@ public class DotsAndBoxesGrid {
// A box is complete if the north and south horizontals and the east and west verticals have all been drawn. // 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). // FIXME: You'll need to fix this code (after writing a test first).
return true; return this.horizontals[x][y] && this.horizontals[x + 1][y] && this.verticals[x][y] && this.verticals[x][y + 1];
} }
/** Tries to claim a box for a player. If the box is complete, sets the ownership and returns true. */ /** Tries to claim a box for a player. If the box is complete, sets the ownership and returns true. */
...@@ -140,7 +140,10 @@ public class DotsAndBoxesGrid { ...@@ -140,7 +140,10 @@ public class DotsAndBoxesGrid {
throw new IndexOutOfBoundsException(String.format("y was %d, which is out of range. Range is 0 to %d", y, height)); throw new IndexOutOfBoundsException(String.format("y was %d, which is out of range. Range is 0 to %d", y, height));
} }
// FIXME: You need to throw an exception if the line was already drawn. if(this.horizontals[x][y])
{
throw new IllegalArgumentException(String.format("Line already drawn at %d, %d", x, y));
}
this.horizontals[x][y] = true; this.horizontals[x][y] = true;
...@@ -172,7 +175,10 @@ public class DotsAndBoxesGrid { ...@@ -172,7 +175,10 @@ public class DotsAndBoxesGrid {
} }
// You need to throw an exception if the line was already drawn. // You need to throw an exception if the line was already drawn.
if(this.verticals[x][y])
{
throw new IllegalArgumentException(String.format("Line already drawn at %d, %d", x, y));
}
this.verticals[x][y] = true; this.verticals[x][y] = true;
// Try to claim the north or south boxes // Try to claim the north or south boxes
boolean claimE = claimBox(x, y, player); boolean claimE = claimBox(x, y, player);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment