Skip to content
Snippets Groups Projects

Resolve "Fix errors in assignment"

Merged Scott Crooks requested to merge 1-fix-errors-in-assignment into main
2 files
+ 11
5
Compare changes
  • Side-by-side
  • Inline

Files

@@ -110,9 +110,13 @@ public class DotsAndBoxesGrid {
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).
return true;
// Could be shorter but this is more readable
boolean north = horizontals[x][y];
boolean south = horizontals[x][y + 1];
boolean west = verticals[x][y];
boolean east = verticals[x + 1][y];
return north && south && west && east;
}
/** Tries to claim a box for a player. If the box is complete, sets the ownership and returns true. */
@@ -139,7 +143,8 @@ public class DotsAndBoxesGrid {
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.
// You need to throw an exception if the line was already drawn.
if (horizontals[x][y]) throw new IllegalArgumentException("Line is already taken.");
this.horizontals[x][y] = true;
@@ -171,6 +176,7 @@ public class DotsAndBoxesGrid {
}
// You need to throw an exception if the line was already drawn.
if (verticals[x][y]) throw new IllegalArgumentException("Line is already taken.");
this.verticals[x][y] = true;
// Try to claim the north or south boxes
Loading