Documentation
¶
Overview ¶
Package nonogram implements the grid-based picture logic puzzle.
Index ¶
- Variables
- func New(mode NonogramMode, hints Hints) (game.Gamer, error)
- type Hints
- type KeyMap
- type Model
- 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) SetTitle(t string) game.Gamer
- func (m Model) Update(msg tea.Msg) (game.Gamer, tea.Cmd)
- func (m Model) View() string
- type NonogramMode
- type Save
- type TomographyDefinition
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultKeyMap = KeyMap{ CursorKeyMap: game.DefaultCursorKeyMap, FillTile: key.NewBinding( key.WithKeys("z"), key.WithHelp("z", "Fill"), ), MarkTile: key.NewBinding( key.WithKeys("x"), key.WithHelp("x", "Mark"), ), ClearTile: key.NewBinding( key.WithKeys("backspace"), key.WithHelp("⌫", "Clear"), ), }
View Source
var Modes = []list.Item{ NewMode("Easy 5x5", "5x5 grid, ~65% filled. Dense, constraining hints.", 5, 5, 0.65), NewMode("Medium 5x5", "5x5 grid, ~50% filled. Balanced challenge.", 5, 5, 0.50), NewMode("Hard 5x5", "5x5 grid, ~35% filled. Sparse, ambiguous hints.", 5, 5, 0.35), NewMode("Easy 10x10", "10x10 grid, ~65% filled. Dense, constraining hints.", 10, 10, 0.65), NewMode("Medium 10x10", "10x10 grid, ~50% filled. Balanced challenge.", 10, 10, 0.50), NewMode("Hard 10x10", "10x10 grid, ~35% filled. Sparse, ambiguous hints.", 10, 10, 0.35), NewMode("Easy 15x15", "15x15 grid, ~65% filled. Dense, constraining hints.", 15, 15, 0.65), NewMode("Medium 15x15", "15x15 grid, ~50% filled. Balanced challenge.", 15, 15, 0.50), NewMode("Hard 15x15", "15x15 grid, ~35% filled. Sparse, ambiguous hints.", 15, 15, 0.35), NewMode("Easy 20x20", "20x20 grid, ~65% filled. Dense, constraining hints.", 20, 20, 0.65), NewMode("Medium 20x20", "20x20 grid, ~50% filled. Balanced challenge.", 20, 20, 0.50), NewMode("Hard 20x20", "20x20 grid, ~35% filled. Sparse, ambiguous hints.", 20, 20, 0.35), }
Functions ¶
Types ¶
type Hints ¶
type Hints struct {
// contains filtered or unexported fields
}
func GenerateRandomTomography ¶
func GenerateRandomTomography(mode NonogramMode) Hints
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
func ImportModel ¶
func (Model) GetDebugInfo ¶
func (Model) GetFullHelp ¶
type NonogramMode ¶
type NonogramMode struct {
game.BaseMode
Width, Height int
Density float64 // target fill percentage, 0.0–1.0
}
type Save ¶
type Save struct {
State string `json:"state"`
Width int `json:"width"`
Height int `json:"height"`
RowHints TomographyDefinition `json:"row-hints"`
ColHints TomographyDefinition `json:"col-hints"`
}
type TomographyDefinition ¶
type TomographyDefinition [][]int
func (TomographyDefinition) RequiredLen ¶
func (t TomographyDefinition) RequiredLen() int
func (TomographyDefinition) String ¶
func (t TomographyDefinition) String() string
Click to show internal directories.
Click to hide internal directories.
