Compare commits
No commits in common. "2600a4028078e9b23c97e8958fe560479c31a64a" and "313e29f0536ea96bc1a583dd009a11ad7858b088" have entirely different histories.
2600a40280
...
313e29f053
2 changed files with 785 additions and 1180 deletions
63
README.md
63
README.md
|
|
@ -1,63 +0,0 @@
|
|||
# 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.
|
||||
1792
linux-freecell.py
1792
linux-freecell.py
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue