home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 128 42
/
q42.d81
/
t.fourcell
< prev
next >
Wrap
Text File
|
2022-08-28
|
9KB
|
212 lines
F O U R C E L L
Program and Text by Kate and Ron Slaminko
OVERVIEW
--------
FOURCELL is a logic puzzle in the form of a solitaire card game. All
the cards are dealt face up, so there is no luck involved after the initial
shuffle. It is believed (but not proven) that every game is winnable.
GETTING STARTED
---------------
(1) Enter your name at the prompt. FOURCELL keeps a file of your
statistics. The name you enter is used as part of the filename so multiple
players can have their own stats.
(2) Choose an input device: (1) for a 1351 mouse, (2) for a joystick in
port 2, or (3) for the keyboard. You move the pointer by rolling the mouse,
manipulating the joystick, or using the cursor keys, respectively. To
"click", use the left mouse button, the joystick fire button, or the RETURN
key.
The game screen is then presented. The FOURCELL screen consists of a
menu bar, four "cells" (places where you can put a card), four accumulation
piles or foundations (top right of screen), and eight tableau (columns of
cards). All are initially empty. To start a randomly selected game, click
on the "New Game" option on the menu bar. This will shuffle and deal the
cards to the eight tableaux. See "Menu Options", below, for other start
game choices.
PLAYING THE GAME
----------------
The object of the game is to move all the cards into the accumulation
cells, piling up cards of the same suit starting with the ace. You win the
game when all 52 cards are played up. You lose if you run out of legal
moves. There are three types of legal moves:
(1) Move the bottom card from any tableau into an empty cell or an empty
tableau (empty cells and tableau show up as light green).
(2) Move the bottom card from any tableau or the card from any of the
four cells onto the accumulation pile of matching suit, if the card
is one greater in rank, starting with the Ace. The accumulation piles
initially display a card back, just to show where they are. Each suit
goes in a specific place so it won't matter which accumulation pile
you click on, the card will end up in the right place.
(3) Move the bottom card from one tableau to another, if the card being
moved is one lower in rank and opposite color from the bottom card of
the target tableau. No tableau can hold more than 17 cards, however.
To make a move, position the arrow pointer over the card to be moved
and click. The pointer will change to a box. Move the pointer to the
destination and click again. A bell sounds for legal moves, a buzzer for
illegal ones. To de-select the card you're trying to move, click on it a
second time. If you double click on a card (two clicks less than 1 second
apart), it will be moved to an empty cell, if one exists.
MULTI-CARD MOVES
----------------
You can move multiple cards from one tableau to another, subject to
these limitations:
- All the cards being moved must be of a legal sequence (that is,
alternating suit and decreasing rank).
- The cards being moved must create a legal sequence when attached to the
bottom of the target tableau (or the target tableau must be empty).
- You must have enough space to move the desired number of cards. The
maximum number of cards you can move to an occupied tableau can be
calculated as (1 + number of empty cells) * (1 + number of empty
tableau), so if you have two empty cells and one empty tableau, you can
move up to 6 cards. If the move you're attempting requires more space
than is available, an error message is given. If moving to an empty
tableau, the maximum number of cards you can move is (1 + number of
empty cells) * (number of empty tableau). If the target is an empty
tableau and a multi-card move is possible, you will be given a choice
of moving only one card or as many as is possible. Remember that the
maximum number of cards in a tableau is 17.
HIDDEN CARDS
------------
Because of the way the cards are stacked, you can only completely see
the bottom cards in each tableau. If you want to temporarily see a hidden
card, click on it and it will be briefly displayed.
AUTOMATIC PLAY-UP
-----------------
After each move, any playable, unneeded cards are automatically moved
to the accumulation piles. A card is unneeded if there are no lower-rank
cards of the opposite color left in the playing area. You can toggle the
auto play-up (and auto loss check) feature by calling up the STATS page and
pressing F1. Turning auto play-up/loss check OFF will speed up game play,
since this uncompiled BASIC program requires a couple seconds to make these
checks. Super CPU users will probably want to leave this feature ON. This
setting is stored in your personal STATS file, so once you set it, it'll
remain the same each time you play, unless you change it again.
WINNING AND LOSING
------------------
You win the game if all 52 cards are played up to the accumulation
piles. You lose if no legal moves remain, and the program will recognize
this (if auto play-up/loss check is ON). It's possible to get into a
situation where legal moves remain, but none of them advance the progress
of the game (if you're just moving a red seven back and forth between two
black eights, for example). This also represents a loss, which auto loss
check won't recognize, and you'll have to manually terminate the game using
one of the options on the menu bar.
THE MENU BAR
------------
The game number you are playing is displayed on the menu bar, along
with these options:
New Game - Randomly deals out a new game. If selected when in the middle
of a game, you will be asked if you truly wish to give up, thus losing the
current game.
Select Game - Allows you to specify the number (1-32767) of the desired
game. The distribution of cards is always the same for a game of given
number. If selected when in the middle of a game, you will be asked if you
truly wish to give up, thus losing the current game.
Redeal - Redeals the current game (or the one just completed). If selected
when in the middle of a game, you will be asked if you truly wish to give
up, thus losing the current game. Other than this, a redeal does not affect
your statistics.
Statistics - Shows your statistics, not including the current game.
Statistics kept are: total number of wins and losses, winning percentage,
wins, losses, and percentages for the current session, longest winning and
losing streaks, and current streak. The statistics are kept in a disk file,
along with the number of the current (or last completed) game. Click when
done viewing the statistics.
Help Display - Brief play instructions. Click when done.
Quit - Ends FOURCELL. If selected when in the middle of a game, you will
be asked if you truly wish to give up, thus losing the current game.
STRATEGY AND HINTS
------------------
Winning at FOURCELL requires planning and patience. A common mistake is
to make a move just because it is possible, and then to realize that it
cuts off another move. Look for trouble spots like aces hidden at the tops
of columns, or cards trapped behind kings. Remember there is no wraparound,
so you can't move a king between two tableaux, unless the target column is
empty.
Use your empty cells carefully. There are only four. Try to keep them
unoccupied as much as possible. Empty tableaux are also valuable - try to
create them.
PROGRAMMER'S NOTE
-----------------
I used the wonderful CONTROL 80 program to handle most of the screen
manipulations in FOURCELL, but discovered that the SHUF command did not
produce a repeatable card shuffle, even when given identical seed values.
This left me in a bit of a quandary since I needed a repeatable shuffle so
that specific game numbers would always produce the same setup. I also
tried the RANDOM2-254 routine, but since it keys off the SID chip instead
of the RND function, it too failed to deliver a consistent card sequence.
I ended up writing my own routine in a mixture of BASIC and ML that
operates acceptably fast, but wanted LOADSTAR readers to know that neither
CO