various fixes. added version#s and added a playable browser build of the solitaire game (including deploy to filebrowser script)
This commit is contained in:
+10
-1
@@ -330,7 +330,16 @@ export function allReachable(
|
||||
* stubs above and below so this is satisfiable from the opening Stage.
|
||||
*/
|
||||
export function canPlaceAt(area: OfficeArea, coord: GridCoord, card: TrackCard): boolean {
|
||||
if (cardAt(area, coord)) return false;
|
||||
const existing = cardAt(area, coord);
|
||||
// A Limits sign on the Running Track is the GROWTH POINT, not an obstacle. Extending means laying
|
||||
// the card where the sign stands and moving the sign outward (§2.1, Gap 4a) — the physical act at
|
||||
// the table. Treating the sign as occupied forced players to build PAST it, stranding the sign
|
||||
// mid-track with everything beyond it nominally outside their own Limits.
|
||||
const isMovableSign =
|
||||
existing?.geometry.kind === 'limits' &&
|
||||
coord.row === area.runningRow &&
|
||||
existing.standing.length === 0;
|
||||
if (existing && !isMovableSign) return false;
|
||||
|
||||
const ports: Port[] = ['n', 's', 'e', 'w'];
|
||||
for (const p of ports) {
|
||||
|
||||
Reference in New Issue
Block a user