tvl-depot/assessments/dotted-squares
William Carroll 0c71fc9d1d Drop support for dir-locals.nix, <nixpkgs>, etc.
In the spirit of Marie Kondo, I'm tidying up!

TL;DR:
- Prefer .envrc `use_nix` and delete all dir-locals.nix files
- Remove ~all references to <nixpkgs>, <unstable>, <depot> and prefer
  referencing each with briefcase.third_party.{pkgs,unstable,depot}
- Delete nixBufferFromShell function since I was only using that in
  dir-locals.nix files
2020-08-20 11:26:32 +01:00
..
.envrc Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +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.