Base¶
patiencepilot.solvers.base ¶
Solver visibility and advice contracts.
SearchLimit
dataclass
¶
Optional limits for bounded solver work.
Source code in src/patiencepilot/solvers/base.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
__post_init__ ¶
__post_init__() -> None
Validate search-limit values.
Source code in src/patiencepilot/solvers/base.py
21 22 23 24 25 26 27 28 29 30 31 | |
RankedMove
dataclass
¶
One ranked solver move recommendation.
Source code in src/patiencepilot/solvers/base.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
__post_init__ ¶
__post_init__() -> None
Validate ranked-move metadata.
Source code in src/patiencepilot/solvers/base.py
45 46 47 48 49 50 51 52 | |
Advice
dataclass
¶
Solver advice containing zero or more ranked move alternatives.
Source code in src/patiencepilot/solvers/base.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | |
alternatives
property
¶
alternatives: tuple[RankedMove, ...]
Return recommendations after the best move.
__post_init__ ¶
__post_init__() -> None
Sort and validate advice metadata.
Source code in src/patiencepilot/solvers/base.py
67 68 69 70 71 72 73 74 75 76 77 78 | |
from_move
classmethod
¶
from_move(
move: Move,
*,
solver_name: str | None = None,
limit: SearchLimit | None = None,
score: float | None = None,
confidence: float | None = None,
reason: str | None = None,
) -> Advice
Return advice with a single recommended move.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
move
|
Move
|
Recommended move. |
required |
solver_name
|
str | None
|
Optional solver identifier. |
None
|
limit
|
SearchLimit | None
|
Optional search limits used for the recommendation. |
None
|
score
|
float | None
|
Optional solver-specific move score. |
None
|
confidence
|
float | None
|
Optional confidence from 0 to 1. |
None
|
reason
|
str | None
|
Optional human-readable reason. |
None
|
Source code in src/patiencepilot/solvers/base.py
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | |
AdviceProvider ¶
Bases: Protocol
Protocol for components that produce advice from player-known state.
Source code in src/patiencepilot/solvers/base.py
128 129 130 131 132 133 | |
suggest ¶
suggest(
view: PlayerView, *, limit: SearchLimit | None = None
) -> Advice
Return move advice using only the supplied player-known view.
Source code in src/patiencepilot/solvers/base.py
131 132 133 | |
Solver ¶
Bases: AdviceProvider, Protocol
Protocol for pluggable Solitaire solvers.
Source code in src/patiencepilot/solvers/base.py
136 137 138 139 | |