Versions in this module Expand all Collapse all v1 v1.9.0 Mar 22, 2026 Changes in this version + var Entry = gameentry.NewEntry(gameentry.EntrySpec{ ... }) + var ModeDefinitions = gameentry.BuildModeDefs(Modes) + var PDFPrintAdapter = printAdapter v1.8.0 Mar 8, 2026 v1.7.0 Mar 6, 2026 Changes in this version + var Definition = game.Definition type Puzzle + func (p *Puzzle) CandidateRectanglesForClue(clueID int) []Rectangle + func (p *Puzzle) ValidRectangleForClue(rect Rectangle, clueID int) bool v1.6.0 Feb 22, 2026 v1.5.0 Feb 19, 2026 v1.4.0 Feb 17, 2026 Changes in this version + var DailyModes = []list.Item + var DefaultKeyMap = KeyMap + var HelpContent string + var Modes = []list.Item + func New(mode ShikakuMode, puzzle Puzzle) game.Gamer + type Clue struct + ID int + Value int + X int + Y int + type KeyMap struct + Cancel key.Binding + Delete key.Binding + Select key.Binding + ShrinkDown key.Binding + ShrinkLeft key.Binding + ShrinkRight key.Binding + ShrinkUp key.Binding + type Model struct + func ImportModel(data []byte) (*Model, error) + func (m Model) GetDebugInfo() string + func (m Model) GetFullHelp() [][]key.Binding + func (m Model) GetSave() ([]byte, error) + func (m Model) Init() tea.Cmd + func (m Model) IsSolved() bool + func (m Model) Reset() game.Gamer + func (m Model) SetTitle(t string) game.Gamer + func (m Model) Update(msg tea.Msg) (game.Gamer, tea.Cmd) + func (m Model) View() string + type Puzzle struct + Clues []Clue + Height int + Rectangles []Rectangle + Width int + func GeneratePuzzle(width, height, maxRectSize int) (Puzzle, error) + func GeneratePuzzleSeeded(width, height, maxRectSize int, rng *rand.Rand) (Puzzle, error) + func (p *Puzzle) CellOwner(x, y int) int + func (p *Puzzle) CluesInRect(r Rectangle) []*Clue + func (p *Puzzle) FindClueAt(x, y int) *Clue + func (p *Puzzle) FindClueByID(id int) *Clue + func (p *Puzzle) FindRectangleForClue(clueID int) *Rectangle + func (p *Puzzle) IsSolved() bool + func (p *Puzzle) Overlaps(rect Rectangle, excludeClueID int) bool + func (p *Puzzle) RemoveRectangle(clueID int) + func (p *Puzzle) SetRectangle(rect Rectangle) + type Rectangle struct + ClueID int + H int + W int + X int + Y int + func (r Rectangle) Area() int + func (r Rectangle) Contains(cx, cy int) bool + type Save struct + Clues []Clue + Height int + ModeTitle string + Rectangles []Rectangle + Width int + type ShikakuMode struct + Height int + MaxRectSize int + Width int + func NewMode(title, description string, width, height, maxRectSize int) ShikakuMode + func (s ShikakuMode) Spawn() (game.Gamer, error) + func (s ShikakuMode) SpawnSeeded(rng *rand.Rand) (game.Gamer, error)