2016 Update

This commit is contained in:
Tina Müller 2016-12-05 22:15:40 +01:00
parent 948b86eafa
commit dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions

View file

@ -15,19 +15,19 @@ defmodule Cuboid do
area = Enum.reduce(0..nz-1, area, fn i,acc -> draw_line(acc, y, x, @z*i, :/) end)
area = Enum.reduce(0..nx, area, fn i,acc -> draw_line(acc, y, @x*i, z, :/) end)
Enum.each(y+z..0, fn j ->
IO.puts Enum.map(0..x+y, fn i -> Dict.get(area, {i,j}, " ") end) |> Enum.join
IO.puts Enum.map_join(0..x+y, fn i -> Map.get(area, {i,j}, " ") end)
end)
end
defp draw_line(area, n, sx, sy, c) do
{dx, dy} = Dict.get(@dir, c)
{dx, dy} = Map.get(@dir, c)
draw_line(area, n, sx, sy, c, dx, dy)
end
defp draw_line(area, n, _, _, _, _, _) when n<0, do: area
defp draw_line(area, n, i, j, c, dx, dy) do
area2 = Dict.update(area, {i,j}, c, fn _ -> :+ end)
draw_line(area2, n-1, i+dx, j+dy, c, dx, dy)
Map.update(area, {i,j}, c, fn _ -> :+ end)
|> draw_line(n-1, i+dx, j+dy, c, dx, dy)
end
end