tvl-depot/assessments/dotted-squares
William Carroll 59f7481411 Revise previous opinions about absolute paths GT <bracket-notation>
Unforeseen problem: `buildkite-agent` runs its builds in a separate directory,
so if I want the `nix-build` command to build the newly checked out code, I need
to set <briefcase> to the CWD.
2020-08-20 11:26:31 +01:00
..
.envrc Create an assessment directory 2020-08-20 11:26:31 +01:00
.ghci Set -Wall and cleanup warnings 2020-08-20 11:26:31 +01:00
colliding-moves.txt Create an assessment directory 2020-08-20 11:26:31 +01:00
game.txt Create an assessment directory 2020-08-20 11:26:31 +01:00
input-a.txt Create an assessment directory 2020-08-20 11:26:31 +01:00
Main.hs Set -Wall and cleanup warnings 2020-08-20 11:26:31 +01:00
README.md Create an assessment directory 2020-08-20 11:26:31 +01:00
shell.nix Revise previous opinions about absolute paths GT <bracket-notation> 2020-08-20 11:26:31 +01:00
Spec.hs Create an assessment directory 2020-08-20 11:26:31 +01:00
too-few-moves.txt Create an assessment directory 2020-08-20 11:26:31 +01:00
too-many-moves.txt Create an assessment directory 2020-08-20 11:26:31 +01:00

Dotted Squares

This is my second attempt at solving this problem. I had an hour to solve it the first time, and I unfortunately came up short although I made good progress.

The problem asks to read input from a text file that looks like this:

1     -- board width
1     -- board height
4     -- number of lines of "moves" (below)
0 0 R -- create a unit vector (0,0) facing right
0 0 U -- create a unit vector (0,0) facing up
0 1 L -- create a unit vector (0,1) facing left
1 1 D -- create a unit vector (1,1) facing down

After parsing and validating the input, score the outcome a game where players one and two alternatively take turns drawing lines on a board. Anytime one of the players draws a line that creates a square from existing lines, they get a point.