home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 216
/
216.d81
/
t.quibble
< prev
next >
Wrap
Text File
|
2022-08-26
|
6KB
|
230 lines
u
Q U I B B L E
Program and Text by Dave Moorman
Ready for a nice, friendly family
fight? Then boot up QUIBBLE -- a game
guaranteed to get on your nerves! It's
a two-player game, but one or both of
the players can be the computer,
playing at three different skill
levels.
QUIBBLE - THE GAME
------------------
The object of QUIBBLE is to move
your piece (an open square) to your
goal (a multi-pointed star of the same
color) before your opponent moves to
his goal. The only problem is: you can
only move in selected directions, and
those directions are chosen by your
opponent! To be fair, though, you get
to choose his.
The QUIBBLE board is an 8x8 grid
of squares, with each square
containing randomly selected ARROWS,
showing which directions are
accessible from that square. Since
there are eight possible directions
(diagonal moves are allowed) a
joystick in Port #2 is required.
You and your opponent's positions
are shown by big square cursors, white
for one player and black for the
other. When it's your move, the border
will be in your color. Your possible
moves will have green backgrounds --
the computer won't allow you to make
an illegal move. Just push the
joystick in the direction of the green
square you want to move to and press
FIRE.
IMPORTANT! The QUIBBLE board "wraps
around", so you can get to the top of
the board by moving off the bottom.
You can also get to the left by moving
off the right. Keep this in mind.
The key to QUIBBLE is that each
player's move dictates the possible
moves for the opponent. For example,
if you move onto a square with an
up-down bar only, your opponent will
only be able to move up or down. The
possible-move tiles are randomly
generated each game. You cannot move
onto the same square your opponent is
occupying, but you CAN move onto your
opponent's goal. Because the goals are
multi-pointed, this allows your
opponent to move to any of the eight
squares on his next move.
The strategy of QUIBBLE is
therefore to force your opponent to
move to a square that will help you on
your next move. But since he just
about always has a choice of squares
to move to, you can depend on him to
be ornery and try to keep you away
from your goal.
SET-UP
------
At the beginning of each game, use
the CRSR keys and RETURN to select
each player. QUIBBLE can be Human vs
Human (sharing the same joystick), or
the computer can be your nemesis! The
computer can play at three skill
levels. "Dumb Computer" does a
drunkard's walk. "Smart Computer" is
constantly striving to reach the goal.
And "Clever Computer" is mostly a
spoil-sport, choosing the move that
least helps its opponent.
You also may choose to have Random
locations for the goals and/or the
starting places for each player. Use
the CRSR keys and RETURN to choose Yes
or No to each prompt. Player 1 is
always White and always moves first.
Player 2 is Black. Sometimes, Random
set-ups result in quick wins. But
that's just another reason to QUIBBLE!
Press "R" now to play the game, or
stick around for some technical stuff.
TECHNICAL STUFF
---------------
The "intelligence" for the
computer player(s) is handled by the
lines beginning at 10000. The variable
SM(pl) holds the SMartness value (0 -
Dumb, 1 - Smart, 2 - Clever). Dumb
just chooses random directions until
one is found that is legal. Smart
tries three times to find a random
direction that is both legal and
beneficial.
The Clever Computer works harder.
An array [WT(x,y,p)] holds a weighted
board for each player. The location of
the Goal has a value of 8. Moving away
from the goal, the values decrease.
Clever Computer goes through each
possible move, finds what moves this
move allows for the opponent (VV =
PEEK(MP+VX+VY*8). Then it goes through
each of these moves, placing the
weight from WT(x,y,p) into a holding
array. After all combinations are
calculated, the move with the lowest
total weight is chosen.
Throughout QUIBBLE, the "native"
joystick numbers are used in the
variable J to show directions:
up
1
[5] [9]
right 4 * 8 left
[6] [10]
2
down
But to show possible moves, QUIBBLE
uses binary logic:
up
1
[128] [2]
right 64 * 4 left
[32] [8]
16
down
Thus, up, down and left would be:
1 + 4 + 16 = 21
The possible moves are generated
and located in ML, beginning at the
location in the variable ML.
The array DV(15) holds the
conversion table, with the joystick
number in the subscript and the binary
logic value in the variable.
I give all this to you in hopes
that someone will create a truly
challenging Computer Player.
DMM
FENDER'S POSTMUMBLE: Once again Dave
Moorman has thrown down the gauntlet
of making a computer smart as a human.
It's not easy! Your computer can solve
40-digit multiplication faster and
more accurately than you probably can,
but teaching it to play games -- even
simple ones like Tic-Tac-Toe -- can be
incredibly tough. I think Dave's
algorithms for his three levels of
"computer smartness" are a good start
for making QUIBBLE "intelligent", but
I have a feeling that most of you will
be able to beat the computer before
long -- at any level.
If you come up with any strategies for
winning that you can describe in
words, then that's the first step. I
have a feeling that what you'll come
up with is something like "IF you do
this, THEN the computer will do this,
and THEN you..." Guess what? That's
BASICally what the programmer will
have to do, too, only in code.
I like these little games that Dave
and other programmers come up with.
They're not chess, but they're just as
interesting. It took many geniuses
many years to come up with algorithms
for playing chess well -- and still
the computer can't beat the Grand
Masters -- but Dave has started us on
a path that maybe some clever
LOADSTARite will travel, and
eventually QUIBBLE will be able to
beat all but the Bobby Fischers out
there.
I'm not that clever LOADSTARite. The
GERRYMANDER and CHUCKALUCK contests
have demonstrated quite well that the
true game experts are out in LOADSTAR
land and not at the Tower.
FT