Packages
islands_text_client
0.1.52
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.57
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.43
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.99
0.1.98
0.1.97
0.1.96
0.1.95
0.1.94
0.1.93
0.1.91
0.1.90
0.1.89
0.1.88
0.1.87
0.1.86
0.1.85
0.1.84
0.1.83
0.1.82
0.1.81
0.1.80
0.1.79
0.1.78
0.1.77
0.1.76
0.1.75
0.1.74
0.1.73
0.1.72
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Text client for the Game of Islands.
Current section
Files
Jump to
Current section
Files
lib/islands/text_client/summary/format.ex
defmodule Islands.TextClient.Summary.Format do
@moduledoc false
alias IO.ANSI.Plus, as: ANSI
alias Islands.Engine.Island
@spec color_for(Island.type() | atom) :: ANSI.ansidata()
def color_for(:atoll), do: format(:sandy_brown, "<a>")
def color_for(:dot), do: format(:teak, "<d>")
def color_for(:l_shape), do: format(:tenne, "<l>")
def color_for(:s_shape), do: format(:khaki, "<s>")
def color_for(:square), do: format(:chocolate, "<q>")
def color_for(:atoll_hit), do: format(:islamic_green, ">a<")
def color_for(:dot_hit), do: format(:spring_green, ">d<")
def color_for(:l_shape_hit), do: format(:dark_green, ">l<")
def color_for(:s_shape_hit), do: format(:pale_green, ">s<")
def color_for(:square_hit), do: format(:lawn_green, ">q<")
def color_for(:hit), do: format(:islamic_green, ">h<")
def color_for(:miss), do: format(:mortar, "<m>")
def color_for(:board_miss), do: format(:mortar, "<m>")
def color_for(nil), do: format(:dodger_blue, "<o>")
## Private functions
@spec format(atom, String.t()) :: ANSI.ansidata()
defp format(attr, value),
do: ANSI.format([attr, :"#{attr}_background", value], true)
end