Skip to content
Snippets Groups Projects
Commit 5342bca6 authored by Jason Aboh's avatar Jason Aboh :speech_balloon:
Browse files

Issue 1 bugfix - fixed the two known bugs; All the unit tests now pass successfully.

parent 3fc75196
No related tags found
No related merge requests found
......@@ -113,7 +113,16 @@ public class DotsAndBoxesGrid {
// 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).
return true;
// set boolean
boolean isTheBoxComplete = false;
// Check if all four lines that complete the box are drawn
if(verticals[x][y] == true && horizontals[x][y] == true &&
verticals[x+1][y] == true && horizontals[x][y+1] == true){
isTheBoxComplete = true;
}
return isTheBoxComplete;
}
/** Tries to claim a box for a player. If the box is complete, sets the ownership and returns true. */
......@@ -142,6 +151,13 @@ public class DotsAndBoxesGrid {
// FIXME: You need to throw an exception if the line was already drawn.
// Throws an 'illegalStateException' when an attempt is made to draw a
// horizontal line that's already been drawn.
if (horizontals[x][y]){
throw new IllegalStateException(
String.format("A horizontal line is already drawn at x: %d & y: %d", x,y));
}
this.horizontals[x][y] = true;
// Try to claim the north or south boxes
......@@ -173,6 +189,13 @@ public class DotsAndBoxesGrid {
// You need to throw an exception if the line was already drawn.
// Throws an 'illegalStateException' when an attempt is made to draw a
// vertical line that's already been drawn.
if (verticals[x][y]){
throw new IllegalStateException(
String.format("A vertical line is already drawn at x: %d & y: %d", x,y));
}
this.verticals[x][y] = true;
// Try to claim the north or south boxes
boolean claimE = claimBox(x, y, player);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment