clone

fifteen puzzle games for the terminal, with daily puzzles, weekly ladders and xp, built on bubble tea

Manual Stylin cause a bot cant do fine details.

Dami committed 7fe1b23
commit
7fe1b232f9e5a615460ef9890cbf869625b5c4c1
parent
0cf81ebf347c300547857429c8d8208086ecfa10
author
Dami <dami.etoile@gmail.com>
15 files changed, +101 -74
Mgame/style.go2+-
Mhashiwokakero/style.go34+++++++++++++++---------------
Mlightsout/style.go6++++--
Mmodel.go4++--
Msudoku/style.go18++++++++++------
Mtakuzu/style.go18+++++++++-------
Mvhs/config.tape9++++++--
Mvhs/hashiwokakero.gifbin
Mvhs/hashiwokakero.tape12++++++----
Mvhs/lightsout.tape12++++++----
Mvhs/menu.tape12++++++----
Mvhs/nonogram.tape12++++++----
Mvhs/sudoku.tape12++++++----
Mvhs/takuzu.tape12++++++----
Mvhs/wordsearch.tape12++++++----
M game/style.go +1 -1
M hashiwokakero/style.go +17 -17
@@ -11,23 +11,23 @@ const cellWidth = 3
1111 1212 // Color palette — warm earth-tone theme (ANSI 256, adaptive for light/dark terminals)1313 var (14- colorIslandFg = lipgloss.AdaptiveColor{Light: "236", Dark: "187"}15- colorIslandBg = lipgloss.AdaptiveColor{Light: "187", Dark: "58"}16- colorSatisfiedFg = lipgloss.AdaptiveColor{Light: "22", Dark: "149"}17- colorSatisfiedBg = lipgloss.AdaptiveColor{Light: "194", Dark: "236"}18- colorOverFg = lipgloss.AdaptiveColor{Light: "160", Dark: "167"}19- colorOverBg = lipgloss.AdaptiveColor{Light: "224", Dark: "52"}20- colorCursorFg = lipgloss.AdaptiveColor{Light: "255", Dark: "235"}21- colorCursorBg = lipgloss.AdaptiveColor{Light: "130", Dark: "173"}22- colorSelectedFg = lipgloss.AdaptiveColor{Light: "255", Dark: "235"}23- colorSelectedBg = lipgloss.AdaptiveColor{Light: "172", Dark: "179"}24- colorAdjacentBg = lipgloss.AdaptiveColor{Light: "223", Dark: "58"}25- colorBridge = lipgloss.AdaptiveColor{Light: "137", Dark: "137"}26- colorBridgeSolved = lipgloss.AdaptiveColor{Light: "22", Dark: "149"}27- colorEmptyDot = lipgloss.AdaptiveColor{Light: "252", Dark: "239"}28- colorEmptySolved = lipgloss.AdaptiveColor{Light: "151", Dark: "107"}29- colorInfoSatisfied = lipgloss.AdaptiveColor{Light: "22", Dark: "149"}30- colorInfoText = lipgloss.AdaptiveColor{Light: "137", Dark: "137"}14+ colorIslandFg = lipgloss.AdaptiveColor{Dark: "236", Light: "187"}15+ colorIslandBg = lipgloss.AdaptiveColor{Dark: "187", Light: "58"}16+ colorSatisfiedFg = lipgloss.AdaptiveColor{Dark: "22", Light: "149"}17+ colorSatisfiedBg = lipgloss.AdaptiveColor{Dark: "194", Light: "236"}18+ colorOverFg = lipgloss.AdaptiveColor{Dark: "160", Light: "167"}19+ colorOverBg = lipgloss.AdaptiveColor{Dark: "224", Light: "52"}20+ colorCursorFg = lipgloss.AdaptiveColor{Dark: "255", Light: "235"}21+ colorCursorBg = lipgloss.AdaptiveColor{Dark: "130", Light: "173"}22+ colorSelectedFg = lipgloss.AdaptiveColor{Dark: "255", Light: "235"}23+ colorSelectedBg = lipgloss.AdaptiveColor{Dark: "172", Light: "179"}24+ colorAdjacentBg = lipgloss.AdaptiveColor{Dark: "223", Light: "58"}25+ colorBridge = lipgloss.AdaptiveColor{Dark: "137", Light: "137"}26+ colorBridgeSolved = lipgloss.AdaptiveColor{Dark: "22", Light: "149"}27+ colorEmptyDot = lipgloss.AdaptiveColor{Dark: "252", Light: "239"}28+ colorEmptySolved = lipgloss.AdaptiveColor{Dark: "151", Light: "107"}29+ colorInfoSatisfied = lipgloss.AdaptiveColor{Dark: "22", Light: "149"}30+ colorInfoText = lipgloss.AdaptiveColor{Dark: "137", Light: "137"}3131 )3232 3333 var (
M lightsout/style.go +4 -2
M model.go +2 -2
M sudoku/style.go +11 -7
@@ -8,18 +8,20 @@ import (
88 )99 1010 var (11+ backgroundColor = lipgloss.AdaptiveColor{Light: "254", Dark: "235"}12+1113 emptyCellStyle = lipgloss.NewStyle().1214 Foreground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"}).13- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})15+ Background(backgroundColor)1416 1517 providedCellStyle = lipgloss.NewStyle().1618 Bold(true).1719 Foreground(lipgloss.AdaptiveColor{Light: "130", Dark: "179"}).18- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})20+ Background(backgroundColor)1921 2022 userCellStyle = lipgloss.NewStyle().2123 Foreground(lipgloss.AdaptiveColor{Light: "236", Dark: "187"}).22- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})24+ Background(backgroundColor)2325 2426 cursorCellStyle = lipgloss.NewStyle().2527 Bold(true).
@@ -36,11 +38,13 @@ var (
3638 3739 gridBorderStyle = lipgloss.NewStyle().3840 Border(lipgloss.RoundedBorder()).39- BorderForeground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"})41+ BorderForeground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"}).42+ BorderBackground(backgroundColor)4043 4144 gridBorderSolvedStyle = lipgloss.NewStyle().4245 Border(lipgloss.RoundedBorder()).43- BorderForeground(lipgloss.AdaptiveColor{Light: "22", Dark: "149"})46+ BorderForeground(lipgloss.AdaptiveColor{Light: "22", Dark: "149"}).47+ BorderBackground(backgroundColor)4448 4549 statusBarStyle = lipgloss.NewStyle().4650 Foreground(lipgloss.AdaptiveColor{Light: "137", Dark: "137"}).
@@ -63,7 +67,7 @@ func renderGrid(m Model, solved bool, conflicts [gridSize][gridSize]bool) string
6367 6468 // Insert vertical box separator after columns 3 and 66569 if x == 2 || x == 5 {66- sep := lipgloss.NewStyle().Foreground(boxBorderFG).Render("│")70+ sep := lipgloss.NewStyle().Foreground(boxBorderFG).Background(backgroundColor).Render("│")6771 cells = append(cells, sep)6872 }6973 }
@@ -80,7 +84,7 @@ func renderGrid(m Model, solved bool, conflicts [gridSize][gridSize]bool) string
8084 sepParts = append(sepParts, "┼")8185 }8286 }83- sep := lipgloss.NewStyle().Foreground(boxBorderFG).Render(strings.Join(sepParts, ""))87+ sep := lipgloss.NewStyle().Foreground(boxBorderFG).Background(backgroundColor).Render(strings.Join(sepParts, ""))8488 rows = append(rows, sep)8589 }8690 }
M takuzu/style.go +10 -8
@@ -6,19 +6,19 @@ import (
66 )77 88 var (9- baseStyle = lipgloss.NewStyle()10-11- zeroStyle = baseStyle.9+ baseStyle = lipgloss.NewStyle()10+ backgroundColor = lipgloss.AdaptiveColor{Light: "254", Dark: "235"}11+ zeroStyle = baseStyle.1212 Foreground(lipgloss.AdaptiveColor{Light: "130", Dark: "222"}).13- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})13+ Background(backgroundColor)1414 1515 oneStyle = baseStyle.1616 Foreground(lipgloss.AdaptiveColor{Light: "68", Dark: "111"}).17- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})17+ Background(backgroundColor)1818 1919 emptyStyle = baseStyle.2020 Foreground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"}).21- Background(lipgloss.AdaptiveColor{Light: "254", Dark: "235"})21+ Background(backgroundColor)2222 2323 cursorStyle = baseStyle.2424 Bold(true).
@@ -30,11 +30,13 @@ var (
3030 3131 gridBorderStyle = lipgloss.NewStyle().3232 Border(lipgloss.RoundedBorder()).33- BorderForeground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"})33+ BorderForeground(lipgloss.AdaptiveColor{Light: "250", Dark: "240"}).34+ BorderBackground(backgroundColor)3435 3536 gridBorderSolvedStyle = lipgloss.NewStyle().3637 Border(lipgloss.RoundedBorder()).37- BorderForeground(lipgloss.AdaptiveColor{Light: "22", Dark: "149"})38+ BorderForeground(lipgloss.AdaptiveColor{Light: "22", Dark: "149"}).39+ BorderBackground(backgroundColor)3840 3941 statusBarStyle = lipgloss.NewStyle().4042 Foreground(lipgloss.AdaptiveColor{Light: "244", Dark: "244"}).
M vhs/config.tape +7 -2
M vhs/hashiwokakero.gif +0 -0

Binary file.

M vhs/hashiwokakero.tape +7 -5
M vhs/lightsout.tape +7 -5
M vhs/menu.tape +7 -5
M vhs/nonogram.tape +7 -5
M vhs/sudoku.tape +7 -5
M vhs/takuzu.tape +7 -5
M vhs/wordsearch.tape +7 -5