Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
2600a40280 Adds undo feature 2026-03-26 20:42:49 -04:00
6ca7417011 Add timer to legacy version 2026-03-22 22:42:37 -04:00
0ab0abf6b2 Initial legacy implementation for python 1.x 2026-03-19 02:28:02 -04:00
2 changed files with 1178 additions and 783 deletions

63
README.md Normal file
View file

@ -0,0 +1,63 @@
# mcfreecell
`mcfreecell` on `leg-py1.5.2` is a terminal-native FreeCell build aimed at old Python and old curses environments.
This branch keeps the implementation within a Python-1.5.2-friendly subset and favors compatibility over modern terminal features.
## Features
- FreeCell rules with 8 tableau columns, 4 free cells, and 4 foundations
- keyboard-driven curses interface
- visual stack selection mode
- single-step undo for completed moves
- lightweight `?` hint system
- ASCII-only suit tags for old terminals and fonts
- compatibility fallbacks for weak or incomplete curses implementations
## Controls
- `Arrow keys` / `h j k l` - move cursor
- `v` - enter or exit tableau selection mode
- `y` - pick up selected card or stack
- `p` - drop held card or stack
- `u` - undo the last completed move
- `Enter` / `Space` - alternate pick up / drop
- `?` - show a suggested move
- `f` - quick move selected card to a free cell
- `d` - quick move selected card to foundation
- `Esc` - cancel held move
- `q` - quit
## Suits
- Debian (`Deb`)
- Red Hat (`RHt`)
- Solaris (`Sol`)
- HP-UX (`HPx`)
These are split into the two FreeCell color groups as:
- red group: Debian, Red Hat
- black-equivalent group: Solaris, HP-UX
On older terminals, the non-red group may render as blue, cyan, or plain monochrome depending on curses support.
## Running
Run with whatever Python interpreter is available on the target machine:
```sh
python linux-freecell.py
```
## Terminal Notes
Terminal and curses behavior can vary significantly on older systems.
- `xterm` generally gives the most reliable screen redraw behavior for this branch.
- Older `konsole` builds, including KDE 2.x-era versions, may show redraw artifacts or ghosting until the screen is resized.
- The game includes several repaint fallbacks for weaker curses implementations, but some VT100-style emulator quirks are still terminal-specific.
## Status
This branch is intended as a playable legacy-friendly FreeCell build for old Unix-like systems and older Python environments.

File diff suppressed because it is too large Load diff