add: new tictactoe game
add: testing to tictactoe rename: tictactoe add: tictactoe steps refactor: tictactoe const names refactor: tictactoe loop add: tictactoe bad switch example (fallthrough) refactor: tictactoe loop skin remove: tictactoe changable skin refactor: tictactoe all remove: tictactoe unnecessary base dir add: tictactoe slices add: tictactoe slices remove: tictactoe fallthrough rename: tictactoe slices 10 -> 09 update: loops skin tictactoe add: tictactoe randomization add: tictactoe infinite loop and labeled break refactor: tictactoe rand and infinite loop add: tictactoe buggy winning algo add: tictactoe more tests rename: tictactoe wrongPlay to wrongMove add: tictactoe even more tests fix: tictactoe rename: tictactoe waitForInput to wait add: tictactoe os.args gameSpeed remove: tictactoe unnecessary files rename: tictactoe game messages refactor: tictactoe main loop add: types and arrays
This commit is contained in:
91
x-tba/tictactoe-experiments/06-refactor/skins.go
Normal file
91
x-tba/tictactoe-experiments/06-refactor/skins.go
Normal file
@@ -0,0 +1,91 @@
|
||||
package main
|
||||
|
||||
import "github.com/fatih/color"
|
||||
|
||||
// skin options :-)
|
||||
type skin struct {
|
||||
empty, mark1, mark2 string
|
||||
header, middle, footer, separator string
|
||||
|
||||
unicode bool
|
||||
}
|
||||
|
||||
var skins = map[string]skin{
|
||||
"colorful": colorfulSkin,
|
||||
"poseidon": poseidonSkin,
|
||||
"statues": statuesSkin,
|
||||
"aliens": aliensSkin,
|
||||
"snow": snowSkin,
|
||||
"monkeys": monkeysSkin,
|
||||
}
|
||||
|
||||
var defaultSkin = skin{
|
||||
empty: " ",
|
||||
mark1: " X ",
|
||||
mark2: " O ",
|
||||
|
||||
header: "┌───┬───┬───┐",
|
||||
middle: "├───┼───┼───┤",
|
||||
footer: "└───┴───┴───┘",
|
||||
separator: "│",
|
||||
}
|
||||
|
||||
var colorfulSkin = skin{
|
||||
empty: " ",
|
||||
mark1: color.CyanString(" X "),
|
||||
mark2: color.HiMagentaString(" O "),
|
||||
header: color.HiBlueString("┌───┬───┬───┐"),
|
||||
middle: color.HiBlueString("├───┼───┼───┤"),
|
||||
footer: color.HiBlueString("└───┴───┴───┘"),
|
||||
separator: color.BlueString("│"),
|
||||
}
|
||||
|
||||
var poseidonSkin = skin{
|
||||
empty: "❓ ",
|
||||
mark1: "🔱 ",
|
||||
mark2: "⚓️ ",
|
||||
header: "●————●————●————●",
|
||||
middle: "●————●————●————●",
|
||||
footer: "●————●————●————●",
|
||||
separator: "⎮ ",
|
||||
}
|
||||
|
||||
var statuesSkin = skin{
|
||||
empty: "❓ ",
|
||||
mark1: "🗿 ",
|
||||
mark2: "🗽 ",
|
||||
header: "┌────┬────┬────┐",
|
||||
middle: "├────┼────┼────┤",
|
||||
footer: "└────┴────┴────┘",
|
||||
separator: "│ ",
|
||||
}
|
||||
|
||||
var aliensSkin = skin{
|
||||
empty: "❓ ",
|
||||
mark1: "👽 ",
|
||||
mark2: "👾 ",
|
||||
header: "┌────┬────┬────┐",
|
||||
middle: "├────┼────┼────┤",
|
||||
footer: "└────┴────┴────┘",
|
||||
separator: "│ ",
|
||||
}
|
||||
|
||||
var snowSkin = skin{
|
||||
empty: "❓ ",
|
||||
mark1: "⛄ ️ ",
|
||||
mark2: "❄️ ",
|
||||
header: "╔════╦════╦════╗",
|
||||
middle: "╠════╬════╬════╣",
|
||||
footer: "╚════╩════╩════╝",
|
||||
separator: "║ ",
|
||||
}
|
||||
|
||||
var monkeysSkin = skin{
|
||||
empty: "🍌 ",
|
||||
mark1: "🙈 ",
|
||||
mark2: "🙉 ",
|
||||
header: "┌────┬────┬────┐",
|
||||
middle: "├────┼────┼────┤",
|
||||
footer: "└────┴────┴────┘",
|
||||
separator: "│ ",
|
||||
}
|
Reference in New Issue
Block a user