43 lines
841 B
Elixir
43 lines
841 B
Elixir
defmodule ExMine do
|
|
|
|
def new_game(args = %{}) do
|
|
{:ok, game_pid} = Supervisor.start_child(ExMine.Supervisor, [args])
|
|
|
|
game_pid
|
|
end
|
|
|
|
def new_game(args) do
|
|
{:ok, new_args} = ParseString.parse(args)
|
|
|
|
new_game(new_args)
|
|
end
|
|
|
|
def get_height(game_pid) do
|
|
GenServer.call(game_pid, {:get_height})
|
|
end
|
|
|
|
def get_width(game_pid) do
|
|
GenServer.call(game_pid, {:get_width})
|
|
end
|
|
|
|
def get_board(game_pid) do
|
|
GenServer.call(game_pid, {:get_board})
|
|
end
|
|
|
|
def get_tile(game_pid, x, y) do
|
|
GenServer.call(game_pid, {:get_tile, x, y})
|
|
end
|
|
|
|
def get_state(game_pid) do
|
|
GenServer.call(game_pid, {:get_state})
|
|
end
|
|
|
|
def make_move(game_pid, x, y) do
|
|
GenServer.call(game_pid, {:make_move, x, y})
|
|
end
|
|
|
|
def toggle_flag(game_pid, x, y) do
|
|
GenServer.call(game_pid, {:toggle_flag, x, y})
|
|
end
|
|
end
|