   alias Bs.Movement
   alias Bs.Snake
   alias Bs.World
-  alias BsWeb.GameForm
-  alias __MODULE__
 
   @max_history 20
 

    end
  end

  @spec done?(t) :: boolean
  def done?(state) do
    state.objective.(state.world)
  end

  # Type Definitions #
  ####################

  def cont!(state) do
    put_in(state.status, :cont)
  end

  def cont?(state) do
    state.status == :cont
  end

  def suspend!(state) do
    put_in(state.status, :suspend)
  end

  def suspend?(state) do
    state.status == :suspend
  end

  def halted!(state) do
    put_in(state.status, :halted)
  end

  def halted?(state) do
    state.status == :halted
  end

  def replay!(state) do
    put_in(state.status, :replay)
  end

  def replay?(state) do
    state.status == :replay
  end
