Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 1.56 KB

README.md

File metadata and controls

78 lines (55 loc) · 1.56 KB

UnblockMeSolver

A solver and problem generator for the UnblockMe puzzle game in Elixir

Quickstart

You can run this in a Docker container using the aussidavid/unblockmesovler_elixir image

docker run -it --rm aussidavid/unblockmesovler_elixir:latest

Output:

Erlang/OTP 22 [erts-10.5.5] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> UnblockMeSolver.generate()
[
  [nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil],
  ['A', 'A', nil, nil, nil],
  [nil, nil, nil, nil, nil],
  [nil, nil, nil, nil, nil]
]
iex(2)> UnblockMeSolver.generate() |> UnblockMeSolver.solve()
[{'A', :right, 1}, {'A', :right, 1}, {'A', :right, 1}]
iex(3)>

Installation

The package can be installed by adding unblock_me_solver to your list of dependencies in mix.exs:

def deps do
  [
    {:unblock_me_solver, "~> 1.0.0"}
  ]
end

Documentation

Documentation can be found at https://hexdocs.pm/unblock_me_solver.

Development

All commands are run inside Docker containers. Start the Docker containers

docker-compose up

Run commands on the app container

docker-compose run --rm app [command]

Run tests

docker-compose run --rm app mix test

Run tests and watch for file changes

docker-compose run --rm app mix test.watch

Run interactive terminal

docker-compose run --rm app iex -S mix