PEOPLE
Full text of "More basic computer games"
See other formats
84 Challenging New Games To Play On Your
Personal Computer. All in BASIC and complete with
program listing and sample run.
Edited by David H. Ahl
GAM 1=5
Edited by David H. AM
Program Conversion by Steve North
Illustrations by George Beker
Introduction by Chris Cerf
Workman Publishing
New York
Copyright © 1979 by Creative Computing
All rights reserved. No portion of this book may be
reproduced — mechanically, electronically or by any
other means, including photocopying — without written
permission of the publisher. Published simultaneously
in Canada by Saunders of Toronto.
Trade edition published in cooperation with Creative Computing.
Library of Congress Cataloging in Publication Data
Main entry under title:
More Basic Computer Games.
1. Games — Data processing. 2. Microcomputers —
Programming. I. Ahl, David H. II. North, Steve.
GV1469.2.M67 794 80-57619
ISBN 0-89480-137-6
Cover Design: Paul Hanson
Illustrations: George Beker
Workman Publishing Company
1 West 39 Street
New York, New York 10018
Manufactured in the United States of America
First Printing June 1980
10 9 8 7 6 5
Game enthusiasts will also want to subscribe to Creative Computing
magazine, the #1 applications and software magazine. Sub-
scriptions in the USA cost $20 for 12 issues; foreign surface $29,
and foreign air $50. Sample copy $2.50 anywhere. Write to:
Creative Computing
PO Box 789-M
Morristown, New Jersey 07960
To people everywhere who look back and wonder how
they ever got along without a personal computer. . .
ABOUT THE EDITOR
David Ahl has a BEE from Cornell University, MBA from Carnegie-
Mellon University and has done further work in educational psychology at
the University of Pittsburgh.
Two years in the Army Security Agency were followed by four years with
Management Science Associates working on computer models and
analysis of new consumer products. He continued work in computer
analysis (of vocational education graduates) with Educational Systems
Research Institute.
He joined Digital Equipment Corporation in early 1970. As Education
Product Line Manager he formulated the concept of an educational
computer system consisting of hardware, software, and courseware (Edu-
System) and helped guide DEC into a leading position in the education
market.
Mr. Ahl joined AT&T in 1974 as Education Marketing Manager and was
later promoted to Manager of Marketing Communications where he was re-
sponsible for the development of sales promotional strategies and
materials for the Bell System. Concurrent with this move, he started
Creative Computing as a hobby in late 1974.
As Creative Computing grew, Mr. Ahl left AT&T in 1978 to devote full
time to it. Creative Computing magazine today is number 1 in software and
applications for small computers and a leader in publishing books, cassette
and disk software, and related materials.
Mr. Ahl is the author of 6 books and over 70 articles on the use of
computers. He is a frequent lecturer and workshop leader at colleges and
professional conferences. He is a member of ACM, AEDS, AERA, COSMEP
and NCTM.
ACKNOWLEDGEMENTS
So many people had a hand in bringing this book to fruition, it's difficult
to know where to start with acknowledgements. Clearly the 70 some odd
game authors deserve a great deal of credit. Taking each game in its own
peculiar dialect of Basic and converting it to a "standard" Microsoft Basic
was a huge task ably managed by Steve North. Thanks to the team of pro-
grammers involved in the conversion effort: Steven Neitz, Bruce Schaeffer,
and Jeff Yuan.
RESTRICTIONS
The programs in this book belong to Creative Computing. They are not in
the public domain. Much as we like to be nice guys, we can not allow these
programs to be distributed by non-profit user's groups, or sold in machine-
readable format by other parties. You can do whatever you want with the
games, but only for your own personal use.
Some games are available on tape cassette and floppy disk for various
computers from Creative Computing Software. If they are not available from
your dealer, send a large self-addressed stamped envelope for a catalog to
Creative Computing Software, P.O. Box789-M, Morristown, NJ 07960.
Contents
Introduction
VIII
The Basic Language
X
Artillery-3
Dr.Z
55
Obstacle
117
Baccarat
Eliza
56
Octrix
119
Bible Quiz
Father
59
Pasart
122
Big 6
7
Flip
61
Pasart 2
125
Binary
Four In A Row
63
Pinball
128
Blackbox
10
Geowar
64
Rabbit Chase
132
Bobstones
12
Grand Prix
66
Roadrace
133
Bocce
14
Guess-It
69
Rotate
135
Bogall
16
ICBM
72
Safe
137
Bombrun
18
Inkblot
73
Scales
139
Bridge-It
21
Joust
75
Schmoo
141
Camel
24
Jumping Balls
77
Seabattle
143
Chase
26
Keno
78
Seawar
150
Chuck-A-Luck
29
LGame
80
Shoot
153
Close Encounters
30
Life Expectancy
84
Smash
156
Column
32
Lissajous
88
Strike 9
158
Concentration
34
Magic Square
90
Tennis
160
Condot
36
Man-Eating Rabbit
92
Tickertape
162
Convoy
38
Maneuvers
94
TV Plot
163
Corral
40
Mastermind®
96
Twonky
164
Countdown
42
Masterbagels
98
Two-to-Ten
167
Cup
43
Matpuzzle
99
UFO
168
Dealer X 5
44
Maze
101
Under & Over
170
Deepspace
46
Millionaire
104
Van Gam
172
Defuse
48
Minotaur
107
Warflsh
174
Dodgem
49
Motorcycle Jump
111
Word Search Puzzle
176
Doors
52
Nomad
112
Wumpusl
178
Drag
53
Not One
115
Wumpus2
181
Introduction
For most of my adult life I've pursued what some
might consider a hopelessly disorganized diversity of
projects. I've developed books, records, games and toys
— and an occasional script or song — for the Children's
Television Workshop (producers of Sesame Street and
The Electric Company), and , on the side, I've written and
edited satiric pieces for the National Lampoon and other
publications. People often ask me if I think it's
"sensible" to spread myself over so many media. "My
activities really are all related," I answer, somewhat
defensively. "At least somewhat..."
The truth is that it's the very variety of my work that's
kept me interested and challenged. And, not coinci-
dentally, I'm convinced that it's the unlikely mixture of
media and people — of humor with curriculum content,
of children's games with rock'n'roll music, of animation
with phonics lessons; of child psychologists with
puppeteers — that has made Sesame Street so vital, so
exciting, and so successful.
One world that always did seem irrelevant to my
pursuits, however, was computing. Oh sure, computers
might store information, or generate lists of words
recognizable to five-year-olds, or index research
results, or handle accounts, or, of course, invade my
privacy. In short, they might be a useful tool for
someone else (probably someone pretty different from
me). But computers as a creative medium— much less a
medium I could actually feel comfortable with? Never!
Then, one day a few summers back, my wife,
Genevieve— then an engineering student at Columbia-
showed me a book called Basic Computer Games, by
David Ahl. To my amazement, it had funny pictures in it.
It was full of games — many of them delightfully silly.
And — wonder of wonders! — at least some of it
(sample runs of the games, for example) was not hope-
lessly beyond my comprehension.
I was intrigued, and when, months later, I visited the
Boston Children's Museum and actually got to play with
a computer, I was hooked. The terminals at the museum
played many of the games in David Ahl's book. What's
more, they actually called me by name, and made
humorous comments about my playing skill. After
several hours of trying to land a capsule on the moon
(only to be told that I'd created several hundred new
craters, and that Neil Armstrong "did it right the first
time"), I had to be dragged away from the keyboard — it
was past closing time, the museum personnel insisted.
From that day on, the development of computer
games — to entertain and to educate — has been a high
priority activity for us at CTW. (As I write this, we're de-
signing a prototype computer game center to open, near
Philadelphia, in 1980 — a project in which David Ahl has
taken a pioneering role). For the computer combines the
possibility of fun, education, challenge, personaliza-
tion, humor and — most important — interaction, in a
way that no other medium can. Computers are infinitely
patient, not minding (unless they're programmed to
mind) if you take all day to respond to a question or
move a game "piece". If there's something you don't
understand, you don't have to be embarrassed to ask a
VIII
computer for help. A computer can adjust the difficulty
level of a game or activity to suit your ability — some
programs even learn how to beat you as you continue to
play against them. Armed with the proper software, a
computer can play a song (or allow you to play one),
paint a picture, write a poem or tell a story. Or it can
plunge you into a whole new world, so you can learn by
doing (or just escape, fora few moments, into a delight-
ful fantasy).
The games in this, David Ahl's second collection,
demonstrate many of these attributes. Try Camel, for
example, in which you're left alone in the Gobi Desert
with one quart of water and a bunch of Wild Berbers hot
on your trail. (You'll learn something about resource
management even if you don't escape to use your new
knowledge.) Or type Concentration into the computer,
and let your children perfect their matching and memory
skills without showing you up. Become a starship
captain and practice navigating a three-dimensional
universe, in Maneuvers. Turn on Father so your kids can
argue with the computer — instead of you — if they
want to stay out late on Saturday night. Or — the ulti-
mate trip — play Millionaire and start your whole life
over again (complete with such decisions as what job to
apply for, what investments to make, and what to do
when an airplane crashes into your magnificent new
home)!
The main point of all this is that whatever else
computers are meant to be, they can be turned into
magical multi-media machines that put you squarely in
the center of the action. And, as Dave Ahl has continu-
ally demonstrated, they're an awful lot of fun. Turn the
page and see.
Christopher Cerf
IX
f he Basic Language
Capsule Description of Microsoft BASIC
Statement or
Function
DATA
DEF FNF(X)
DIM
END
FOR... TO..
GOTO
GOSUB
IF... GOTO
IF... THEN
INPUT
LET
NEXT
ON... GOTO
ON... GOSUB
PRINT
READ
REM
RESTORE
RETURN
STOP
ABS(X)
ASC(X$)
ATN(X)
GHR$(X)
COS(X)
EXP(X)
INT(X)
LEFT$(X$,Y)
LEN(X$)
LOG(X)
.STEP
Notes
String data is not always quoted.
Some BASICS require quote
marks.
If your BASIC does not have DEF,
simply use the complete function
itself wherever FNF(X) appears.
Dimensions numeric or string
array. String scalars aren't
dimensioned. Subscripts begin at
zero.
May be followed by any executable
statement.
Optional prompt string may be
printed before doing INPUT.
LET keyword is optional.
Computed GOTO.
Computed GOSUB.
Absolute value.
Returns ASCII value of leftmost
character. ASC("A") is 65,
ASC("B") is 66, etc.
Arctangent of value in radians.
Converts ASCII value to character
string, opposite of ASC function.
CHR$(65) is "A", CHR$(66) is "B",
etc. CHR$(7) is a bell ring.
CHR$(8) is a backspace.
Cosine of angle in radians.
Value of e to the X power.
Greatest integer less than X.
Returns Y leftmost characters of
X$.
Length of X$.
Logarithm of X to the base e.
MID$(X$,Y,Z) Returns substring of X$, starting at
position Y, Z characters long.
RND(1 ) Random numberfunction. Returns
values between and 1.
RIGHT$(X$,Y) Returns Y rightmost characters of
X$.
SGN(X) Sign function. Returns -1 if X<0,
if X=0, 1 if X>0.
SIN(X) Sine of angle in radians.
SQR(X) Square root.
STR$(X) Converts X to string of decimal
digits. For example, STR$(8.45) is
"8.45", exactly as it would be
printed.
TAB(X) Spaces over to position X on the
printer.
TAN(X) Tangent of angle in radians.
VAL(X$) Converts a string of digits into a
number. Opposite of STR$.
Conversions to Other BASICs and Debugging Hints
All the programs in this book have been converted and
tested in Microsoft BASIC. We have not used any extended
or machine-dependeht features, so they will work in
almost any machine with Microsoft BASIC (TRS-80 Level
II, Commodore PET, Apple II with Applesoft BASIC, OSI
Challenger, Exidy Sorcerer, or CP/M disk operating
system). However, we ran the programs on a Teletype
KSR-43 terminal, so several of the games are designed to
run with a 72 character terminal width, and two of the
games (PATTERNS and PINBALL) use the backspace
function to print overstrikes. Both of these programs can
be modified, if need be, to bypass the use of this function.
However, if your computer has a screen then you may have
to adapt the programs to a narrower terminal width
(especially on the PET which is only 40 characters wide).
Of course, you can also use your screen display for special
animated graphics if you're clever.
If It Doesn't Work
Although your first reaction may be to curse your
computer and start yelling, "There should be a law against
people who sell books full of programs that don't work!"
we have found that almost all errors are simply typing
mistakes, or not knowing about some peculiarity of your
particular machine. So if a program doesn't work, we
strongly suggest checking your program line-by-line
against the one in this book. If you keep getting some kind
of very obvious error which is plainly not in our program
RUN, please bear in mind that we don't do nasty things like
faking program runs, and that the programs really do
work. Real bugs tend to be rather subtle.
Creative Computing is concerned with maintaining and
improving the quality of its software, so we are interested
in hearing about genuine errors in the games. We will
consider bug reports if the following rules are adhered to:
1) The program must be in Microsoft BASIC. We don't
want to have anything to do with converted programs.
2) The problem must be described in writing and, if
available, hard copy of the program LIST and RUN
should be included.
3) Include an SASE if you want a reply.
These restrictions may seem severe, but please under-
stand that there are tens of thousands of copies of this book
wandering around, and we'd have no time for anything
else if everyone who hit a snag called us for a half-hour
debugging session on the phone, only to find he didn't
really know how his RND function worked after all. (It's
strange, but there are certain programs in the first volume,
BASIC Computer Games, which definitely do work, but
which people seem to have incredible difficulty with. You
can't imagine how many times I've picked up the phone
and heard, "I have your BASIC Computer Games book,
and I have a problem with this BANNER program on
page...")
General Hints
There are four primary areas of difficulty in transporting
a program from Microsoft BASIC to some other.
1. Multiple Statements. In Microsoft BASIC, multiple
statements separated by a colon (:) are allowed. Some
BASICs use a backslash. Some don't have multiple
statements. Another difficulty arises in the handling of
IF. . .THENs in multiple statement lines. In Microsoft
BASIC, when an IF condition is false, control passes to the
next line, not the next statement. In other words, if the IF
condition is false, the entire remainder of the line is
skipped over. Here's an example of converting multiple
statements:
Before
10 DIM Q(10): INPUT K: LET Z=1
20 FOR 1=1 TO K: PRINT: NEXT I
30 IF K=3 THEN PRINT "This or That": GOSUB 900:
GOTO 500
40 REM More Stuff...
After
10 DIM Q(10)
12 INPUT K
14 LET Z=1
20 FOR 1=1 TO K
22 PRINT
24 NEXT I
30 IF K<> 3 THEN 40
32 PRINT "This or That"
34 GOSUB 900
36 GOTO 500
40 REM More Stuff...
2. FOR Loops. In Microsoft BASIC, a FOR loop is always
executed at least once. The test to decide if the loop is to
be terminated is done when the corresponding NEXT
statement is encountered. In general this is undesirable
and you may notice that in some programs a patch was
made to compensate for this quirk. The real problem of
compatibility between BASICs is in how BASIC knows
which loops to keep track of, and which ones to forget. In
Microsoft BASIC, a FOR loop is considered to be done
when it finishes normally (falls out of the NEXT state-
ment), if it is restarted, or if it nested within a loop that is
restarted. Some BASICs frown sternly on the practice of
jumping out of a loop, which can be real trouble. (This
happens in North Star BASIC, Polymorphic BASIC, and
Processor Tech Extended BASIC.) If this difficulty occurs,
then convert the FOR loops back to IF. . .THEN structures.
For instance:
10 INPUT I, J
10 INPUT l,J 20K=I
20 FOR K=l TO J 30 PRINT "Some stuff"
30 PRINT "Some stuff" 40 K=K+1
40 NEXT K 45 IF K < = J THEN 30
50 END 50 END
The NEXT verb by itself (without an argument), always
refers to the most recent FOR statement. Generally we've
avoided this feature.
3. Arrays. Some programs use zero as an array subscript.
Your BASIC may not like this. If your arrays start at one,
and the program tries to use zero, then just add one to all
the array subscripts. (Within the context of a particular
program, there are often niftier ways of getting around this
problem, but unless you can tell what's going on inside the
program, this is the most painless way.)
4. Character Strings. There are two different methods of
taking a substring from a longer string. In Hewlett-
Packard style BASIC, substrings are in the form X$(I,J)
which takes characters from position I through J out of X$,
and X$(l) which takes everything from position I and to the
right. Microsoft BASIC, styled after DEC, uses LEFT$,
RIGHT$, and MID$. Here's how to convert.
LEFT$(X$,I) X$(1,l)
RIGHT$(X$,I) X$(LEN(X$)-I+1)
MID$(A$,I,J) X$(l,l+J-1)
Another potential problem exists with strings. Some of
the programs use string arrays, but some BASICs just
don't have string arrays. If you see a character string in a
DIM statement, then it's a string array, not a scalar. If your
BASIC doesn't have string arrays, then you're probably out
of luck, unless the array is rather small and you can pack
the whole string array into a scalar. For instance, let's say
we have array A$(0-3).
A$(0)="HORSE"
A$(1)="DOG"
A$(2)="FISH"
A$(3)="CAT"
If we decide in advance that no word will have more than
five characters, then we can stuff this whole thing into one
string, A$.
A$="HORSEDOG FISH CAT "
Notice that each word takes up five positions, even if the
extra ones must be made up with blanks. Thus our old
A$(0) is now in positions 1-5, A$(1) in positions 6-10, etc.
We can generalize that A$(n) is translated into positions
5*n+1 through 5*n+5. Obviously, the ability to use this
method to substitute for string arrays depends on how big
you can make the one big string scalar to take its place.
XI
The Games [Sir 9
Artillery 1
In this game, two or three humans
may play. Each one of them has an
artillery piece and is firing at an
opponent. The first person to destroy
his opponent wins that round of the
game. The parameters for distances
and muzzle velocities of the artillery
pieces are set at the beginning of the
game. The shots are fired by giving a
firing angle expressed in degrees from
the horizontal.
In a three player game, you may elect
which player you are firing at; hence
player one and three could both be firing
at player two. Once one of the players is
eliminated, it becomes a two player game
and the remaining two players fire at each
other.
Personally, I would prefer to think of
this game as lobbing mudpies or
snowballs or custard cream pies or
something non-destructive. However,
it was originally written as shoot-'em-
up game so that's how it appears here.
This game was originally written by
Mike Forman and further revised by
N.E. Lyon and Brian West. It first
appeared in Creative Computing,
Jan/Feb 1976.
ROUND 1
PLAYER 1 SHOOTING ATT 3
FIR IKS ANGLE? 48
YOU UNDERSHOT BY 543.777 FEET.
PLAYER 2 SHOOTING ATT 3
FIRING ANGLET 7?
YOU UNDERSHOT BY 361.253 FEET.
PLAYER 3 SHOOTING ATT t
FIRING ANGLET 80.9
YOU UNDERSHOT BY 872.841 FEET.
ROUND 2
RUN
ARTILLERY 3
CREATIVE CONPUTINS
HORRISTOUN, NEU JERSEY
UELCONE TO 'UAR3'. TUO OR THREE HUMANS SAY PLAY I
DO YOU UISN SONE ASSISTANCET YES
THIS IS A UAR SANE. TUO OR THREE PLAYERS ARE GIVEN
(THEORETICAL) CANNONS WITH UHICH THEY ATTEHPT TO SHOOT EACH
OTHER. THE PARAMETERS FOR DISTANCES AND NUZZLE VELOCITIES ARE
SET AT THE BEGINNING OF THE GAME. THE SHOTS ARE FIRED BY
DIVING A FIRING ANGLE, EXPRESSED IN DEGREES FROH HORIZONTAL
THE COMPUTER UILL KEEP TRACK OF THE GAME AND REPORT ALL
MOVES. A 'HIT' IS SCORED BY FIRING A SHOT UITHIN 3X OF THE
TOTAL DISTANCE FIRED OVER. 600D LUCK
NO. OF PLAYERST 3
DISTANCE (FT.) 1 TO 2 T 1000
DISTANCE (FT.) 2 TO 3 T 2000
DISTANCE (FT.) 3 TO 1 T 2S00
PLAYER 1 SHOOTING ATT 2
FIRING ANGLET 70
YOU OVERSHOT BY 808.207 FEET.
PLAYER 2 SHOOTING ATT 3
FIRING ANGLET 84
YOU UNDERSHOT BY 1204.37 FEET.
PLAYER 3 SHOOTING ATT 1
FIRING ANGLET 73
YOU OVERSHOT BY 294.324 FEET.
ROUND 3
PLAYER 1 SHOOTING AT? 2
FIRING ANGLE? 40
YOU OVERSHOT BY 1435.18 FEET.
PLAYER 2 SHOOTING ATT 3
FIRING AN6LE? 70
YOU OVERSHOT BY 460.307 FEET.
PLAYER 3 SHOOTING AT? 1
FIRING AN6LE? 74
YOU UNDERSHOT BY 153.303 FEET.
HUZZLE VELOCITY (FT. /SEC.) OF 1 T 300
MUZZLE VELOCITY (FT. /SEC.) OF 2 T 350
MUZZLE VELOCITY (FT. /SEC.) OF 3 T 400
ROUND 4
PLAYER 1 SHOOTING ATT 2
FIRIN8 ANGLET 74
YOU OVERSHOT BY 4»0.O28 FEET.
PLAYER 2 SHOOTING ATT 3
FIRING ANGLET 73
YOU OVERSHOT BY 140.44 FEET.
PLAYER 3 SHOOTING ATT 1
FIRING ANGLET 72
YOU OVERSHOT BY 438.912 FEET.
ROUND 5
PLAYER 1 SHOOTING AT? 2
FIRING ANGLE? 76.5
YOU OVERSHOT BY 276.044 FEET.
PLAYER 2 SHO0TIN6 AT? 3
FIRING AN6LE? 73
A HIT - 3 IS DEFUNCT.
ROUND 4
PLAYER 1 SHO0TIN6 AT? 2
FIRIN6 AN6LE? 78
YOU OVERSHOT BY 143.826 FEET.
PLAYER 2 SH00TIN6 AT? 1
FIRING AN6LE? 78
YOU OVERSHOT BY 557.7? FEET.
ROUND 7
PLAYER 1 SHOOTING AT? 2
FIRING AN6LE? 79.4
A HIT - 2 IS DEFUNCT.
6AHE OVER, t UINS.
OK
LIST
8 PRINT TAB ( 22 ) ; "ART ILLERY 3"
9 PRINT TAB (20) ["CREATIVE COMPUTING"
10 PRINT TAB<18);"H0RRIST0UN, NEU JERSEY"
11 PRINT:PRINT:PRINT
20 T=0
60 DIN V<3),X(3>,P<3),R<3,3)
70 NAT V=ZER
80 MAT X=ZER
90 NAT P-ZER
100 HAT R-ZER
110 DATA 1,2,2,3,3,1,1,3,3,2,2,1,2,3,3,1,1,2,0
120 PRINT "UELCONE TO 'UAR3'. TWO OR THREE HUMANS MAY PLAY!"
130 PRINT "DO YOU UISH SOME ASSISTANCE";
140 INPUT At
1S0 IF A*»»YES" THEN 1310
1*0 PRINT
V$ PRINT "NO. OF PLAYERS";
180 INPUT N
190 IF N=2 THEN 240
200 IF N=3 THEN 270
210 PRINT "ERROR— TUO OR THREE PLAYERS ! "
220 PRINT
230 GOTO 160
240 N1=1
250 PRINT ""
260 GOTO 290
270 N1=N
280 PRINT "-"
290 FOR J=1 TO N1
300 READ A,B
310 PRINT "DISTANCE (FT.) ";A;» TO ";B;
320 INPUT R(A,B>
330 R(B,A)=R(A,B)
340 NEXT J
350 PRINT ""
360 RESTORE
370 IF N=2 THEN 460
380 FOR J=1 TO N
390 READ A,B,C,D,E,F
400 IF R(A,BXR(C,DHR(E,F) THEN 440
410 PRINT "ERROR-ILLEGAL TRIANGLE. RE-ENTER RANGES."
420 RESTORE
430 GOTO 290
440 NEXT J
450 PRINT
460 FOR J=1 TO N
470 PRINT "MUZZLE VELOCITY (FT./SEC.) OF ";j;
480 INPUT V(J)
490 NEXT J
500 PRINT ""
510 FOR J=1 TO N
520 X(J)»V<J>'2/32
530 NEXT J
540 FOR A=1 TO N
550 FOR B*1 TO N
560 IF X(A»R(A,B> THEN 610
570 PRINT "ERROR~";A; h CANNOT REACH ";B
580 PRINT "UHAT IS THE HUZZLE VELOCITY OF ";A;
590 INPUT V(A)
600 GOTO 510
610 NEXT B
620 NEXT A
630 NUN
640 PRINT
650 PRINT ""
640 PRINT "ROUND ";T+1
670 PRINT
480 FOR M=1 TO N
690 IF N=3 THEN 750
700 C=1
710 IF MO 1 THEN 730
720 C=2
730 PRINT "PLAYER ";M;" SHOOTING AT ";C
740 GOTO 890 ,
750 IF P(M>=12 THEN 1280
740 PRINT "PLAYER ";H;"SH0OTINB AT";
770 INPUT C
780 ON C 8OT0 830,830,830
810 PRINT "ERR0R4-PLAYERS DESIGNATED 1,2,3."
820 SOTO 740
830 IF CO N THEN 840
840 PRINT "ERROR — CANNOT SHOOT SELF."
850 GOTO 740
840 IF P(C> O 12 THEN 890
870 PRINT "ERROR— *;C;" IS DEFUNCT"
880 60T0 740
890 PRINT "FIRING ANGLE";
900 INPUT A3
910 IF A3<0 THEN 940
920 IF A3>180 THEN 940
930 80T0 970
940 PRINT "ERROR— FIRED INTO 6R0UND. ";N;" NOU DEFUNCT."
950 P(H)=12
940 GOTO 740
970 IF A3<?0 THEN 1000
980 PRINT "ERROR— FIRED URONG HAY, LOSE SHOT."
990 60T0 740
1000 Z=SIN(A3*3.4?044E-02)*V(M>-2/32
1010 X°(R(H,C)/1000*RND(1))-<R(M,C)/1000*RND(1))
1020 D=X+Z
1030 D1=R(M,C)*.05
1040 IF D<D1 THEN 1080
1050 IF ADS(D-R(H,C)KD1 THEN 1110
1040 IF D<R(H,C) THEN 1140
1070 IF D>R(H,C> THEN 1140
1080 PRINT " TOO CLOSE- "JM;" IS DEFUNCT."
1090 P(N)=12
1100 GOTO 1180
1110 PRINT " A HIT - ";C;" IS DEFUNCT. "
1120 P(C>-12
1130 GOTO 1180
1140 PRINT " YOU UNDERSHOT BY ";ABS(D-R(M,C) >;" FEET."
1150 60T0 1270
1140 PRINT " YOU OVERSHOT BY »;ABS(D-R<M,C));" FEET."
1170 GOTO 1270
1180 N1=N1-1
1190 IF N1>1 THEN 1270
1200 FOR N1=1 TO N
1210 IF P(H1>=12 THEN 1250
1220 PRINT
1230 PRINT "GAME OVER. ";M1;" UINS."
1240 SOTO 1430
1250 NEXT HI
1240 STOP
1270 PRINT ""
1280 NEXT N
1290 T=T*1
1300 60T0 650
1310 PRINT
1320 PRINT "THIS IS A UAR 6AHE. TUO OR THREE PLAYERS ARE GIVEN"
1330 PRINT "(THEORETICAL) CANNONS UITH UHICH THEY ATTEHPT TO SHOOT EACH"
1340 PRINT "OTHER. THE PARAMETERS FOR DISTANCES AND HUZZLE VELOCITIES AR
E"
1350 PRINT "SET AT THE DE6INNIN6 OF THE 6AHE. THE SHOTS ARE FIRED BY"
1360 PRINT "6IVIN6 A FIRING ANGLE, EXPRESSED IN DEGREES FROM HORIZONTAL"
1370 PRINT
1380 PRINT "THE COMPUTER MILL KEEP TRACK OF THE GAHE AND REPORT ALL"
1390 PRINT "MOVES. A 'HIT' IS SCORED BY FIRIN6 A SHBT UITHIN 5Z OF THE"
1400 PRINT "TOTAL DISTANCE FIRED OVER. GOOD LUCK"
1410 PRINT ""
1420 80T0 160
1430 END
OK
Baccarat
Games of the baccarat and chemin
de fer family originated in the baccarat
that became popular in the French
casinos in the 1830's. In the present
century they have travelled from Eu-
rope to the United States, back to
Europe, and to casinos throughout the
world. This process has resulted in
wide variations in playing rules and
what is called "baccarat" in one casino
may more nearly resemble the "chemin
de fer" of another.
The computer game here is more
nearly chemin defer than it is baccarat.
The rules, briefly, are as follows: Eight
packs of cards are shuffled together
and placed in a "shoe" from which the
cards can be slid out one by one.
Following this, the players make their
bets. Any player may make any bet up
to the amount of the bank. The player at
the banker's right has the first choice to
bet. Any part of the bank he does not
take may be bet by the next player on
his right, and so on in order until the
entire bank is covered or until everyone
has bet who wishes to. Any player may
take the entire bank by saying, "Ban-
co," but when two or more players wish
to banco, the one nearest the banker's
right has the privilege.
After the bets are placed, the banker
deals two hands of two cards each,
dealing one card at a time. The hand he
deals first represents all the players
betting against him; the other hand is
the banker's. The player who has made
the largest bet against the banker plays
the opposition hand.
The object of the game is to hold two
or three cards which count nine (9), or
as nearly nine as possible. The values
of the cards are: face cards and tens,
zero; aces, one each; any other card, its
number. Units of ten points are dis-
regarded, so that nine plus seven count
as six, not sixteen.
A player whose card is nine or eight
in his first two cards shows his hand
immediately. He has a natural and his
hand wins (but a natural nine beats a
natural eight). Naturals of the same
number tie, and there is a new deal.
When the result is not decided by a
natural, the banker must give a card to
his opponent on request; or the oppo-
nent may stand. The opponent must
stand on six or seven, must draw to a
zero, one, two, three, or four, but has
the option on five. The additional card,
if given, is face up.
Then the banker decides whether to
stand or take a card.
IF BANKER GIVES
Face card or ten
Nine
Eight
Seven or six
Five or four
Three or two
Ace
Opponent stands
BANKER STANDS ON BANKER DRAWS TO
4, 5, 6, 7
4, 5, 6, 7 (or 3)
3, 4, 5, 6, 7
7
6,7
5, 6,7
4, 5, 6, 7
6, 7
3, 2, 1,0
2, 1,0 (or 3)
2, 1,
6, 5, 4, 3, 2, 1,0
5, 4, 3, 2, 1,
4, 3, 2, 1,
3, 2, 1,
5, 4, 3, 2, 1,0
Neither player may have more than
one additional card, giving him three
cards at the most. When each player
has exercised his option, the cards are
shown. If the totals are the same, the
bets are off and may be withdrawn and
new bets are placed exactly as before
for another deal. If the opponent has a
higher number than the banker's, each
player collects such portion of the bank
as he has covered.
In the game of chemin defer, the role
of banker rotates among the players
after each hand; in baccarat, it does
not.
RUN
BACCARAT
BACRAT
CREATIVE COMPUTING
NORRISTOUN, HEU JERSEY
CHEMIN DE FER
DO YOU NEED INSTRUCTIONS? YES
BACCARAT IS A VERY POPULAR GAME IN LAS
VEGAS. THE PLAYER AND BANKER EACH RECEIVE
TWO CARDS FROM A 'SHOE' CONTAINING S BECKS
OF CARDS. ALL CARD COMBINATIONS TOTALING
TEN ARE NOT COUNTEB. THE ONE THAT ENDS UP
CLOSER TO NINE WINS. THE STAKES ARE HIOH,
ALL OF THE PLAYERS START UITH TEN THOUSAND
DOLLARS. YOU CAN BET ON THE DEALER OR THE
PLAYER. A THIRD CARD IS GIVEN ONLY UNDER
CERTAIN CONDITIONS, AS YOU UILL SEE. LET
US BEGIN. GOOD LUCKI
HOU MANY PLAYERS? 1
UNAT IS THE NAME OF PLAYER t ? STEVE
STEVE HAS 4 10000 . BETT 500
(I) BANKER OR (2) PLAYER? 1
BANKER PLAYER
FOUR OF SPABES FOUR OF SPADES
EIGHT OF HEARTS NINE OF DIAMONDS
PLAYER MUST DRAU.
ACE OF SPADES
PLAYER CANNOT DRAU.
PLAYERS TOTAL: 4
BANKER HUST DRAU.
FIVE OF DIAMONDS
BANKERS TOTAL: 7
BANKER UINSIt
SIEVE UINS i 500 , FOR A TOTAL OF » 10300
NEU DANE
STEVE HAS * 10300 . BET? 1000
(1) BANKER OR (2) PLAYER? 2
BANKER PLAYER
FOUR OF CLUBS FOUR OF DIAMONDS
KING OF HEARTS SEVEN OF SPADES
PLAYER NUST DRAW.
TUO OF HEARTS
PLAYER CANNOT DRAU.
PLAYERS TOTAL: 3
BANKER NUST DRAU.
KING OF DIAMONDS
BANKERS TOTAL: 4
BANKER UINS! !
STEVE LOSES $1000, FOR A TOTAL OF » 9500 .
NEU SANE
STEVE HAS » 9500 . BET? 9400
(1) BANKER OR (2) PLAYER? 2
BANKER PLAYER
TUO OF CLUBS JACK OF CLUBS
JACK OF DIANONDS FIVE OF CLUBS
PLAYER NUST DRAU.
JACK OF HEARTS
PLAYER CANNOT DRAU.
PLAYERS TOTAL: S
BANKER NUST DRAU.
THREE OF DIAMONDS
BANKERS TOTAL: S
IT'S A TIE. THE HAND IS PLAYED OVER.
STEVE HAS « ?500 . BET? 9400
(1) BANKER OR (2) PLAYER? 2
10 PRINT TAB(24)f"BACRAT"
20 PRINT TAB(20) ("CREATIVE COMPUTING"
30 PRINT TAB( 18) ;"NORRISTOUN, NEU JERSEY":PRINT:PRINT:PRINT
40 PRINT"BACCARAT - CHENIN DE FER"
SO PRINT
60 PR1NT"D0 YOU NEED INSTRUCTIONS" ;
70 INPUT Q»
80 IF 0*<>"YES" THEN 210
90 PRINT" BACCARAT IS A VERY POPULAR GAHE IN LAS"
100 PRINT "VEGAS . THE PLAYER AND BANKER EACH RECEIVE"
110 PRINT'TUO CARDS FROM A 'SHOE' CONTAINING 8 DECKS"
120 PRINT'OF CARDS. ALL CARD COMBINATIONS TOTALING"
130 PRINT'TEN ARE NOT COUNTED. THE ONE THAT ENDS UP"
140 PRINT'CLOSER TO NINE UINS. THE STAKES ARE HIGH,"
150 PRINT'ALL OF THE PLAYERS START UITH TEN THOUSAND"
140 PRINT"DOLLARS. YOU CAN BET ON THE DEALER OR THE"
170 PRINT"PLAYER. A THIRD CARD IS GIVEN ONLY UNDER"
180 PRINT'CERTAIN CONDITIONS, AS YOU UILL SEE. LET"
190 PRINT'US BEGIN. 800D LUCK!"
200 PRINT
210 DIH N<20),F1(20),F(20),B$(13),V<13),Gf(20)
220 BIN Z<9, 10), 0(4,13)
240 FOR X=3 TO 6
250 FOR Y»1 TO 10
240 READ Z(X,Y>
270 NEXT Y,X
280 FOR 81=1 TO 10:READ U(S1):NEXT
283 FOR St=1 TO 4: READ A$(S1):NEXT
285 FOR S1=1 TO 1 3 : READ BS(S1):NEXT
287 FOR SI =1 TO 13: READ V(S1):NEXT
290 PRINT
300 PRINT"HOU MANY PLAYERS";
310 INPUT PI
320 FOR J=1 TO PI
330 PRINT'UHAT IS THE NAME OF PLAYER"J;
340 INPUT G»(J>
350 H(J)>10000
360 NEXT J
370 FOR S1-1 TO 4
373 FOR S2«1 TO 13
375 fl(S1,S2)=0
377 NEXT S2
379 NEXT 81
380 FOR J=1 TO 6
390 C=INT(1+RND<1)*4)
400 D«INT(HRND(1)*13)
410 0(C,D)=0(C,D)t1
420 IF 0<C,D»=32 THEN 390
430 B(J)=V(D)
440 C*(J)=B»(D)+" OF «+A$(C)
450 NEXT J
440 U1=2
470 FOR J«1 TO PI
480 IF HUK1 THEN 380
490 PRINT 6»<J>" HAS *"M(J>". BET";
300 INPUT Ft J)
310 IF F(J)>H(J) THEN 490
520 IF F(JK>INT(F(J)) THEN 490
530 IF F(J)<1 THEN 490
540 PRINT"(1) BANKER OR (2) PLAYER";
550 INPUT FKJ)
540 IF FHJ»=1000 THEN 490
570 IF (F1(J)-1)»(F1(J)-2)<>0 THEN 540
580 NEXT J
590 J=0
600 Tt=B(1)+B(2)
610 T2=B(3)+B(4)
620 PRINT
630 PRINT"BANKER"TAB<20 ) "PLAYER"
640 PRINT C»(3)TAB(20)C*(1)
650 PRINT C*(4)TAB(20)C*(2)
640 IF TK10 THEN 680
670 T1=T1-10
680 IF T2<10 THEN 700
690 T2=T2-10
700 IF U(T1+1)=0 THEN 770
710 PRINT'PLAYER NUST DRAU."
720 PRINT C»(5)
730 TUT1*B<5>
740 IF TK10 THEN 770
750 T1=T1-10
760 GOTO 790
770 PRINT"PLAYER CANNOT DRAU."
780 J=11
790 PRINT'PLAYERS TOTAL :"T1
800 PRINT
810 IF T2<3 THEN 870
820 IF T2>4 THEN 930
830 IF J<>11 THEN 860
840 IF T2=6 THEN 930
850 GOTO 870
840 IF Z(T2,B(5)+1)=0 THEN 930
870 PRINT"BANKER NUST DRAU."
880 PRINT C»(4)
890 T2»T2+B(4)
900 IF T2<10 THEN 920
910 T2=T2-10
920 GOTO 940
930 PRINT"BANKER CANNOT DRAU."
940 PRINT " BANKERS T0TAL:"T2
950 PRINT
940 IF T20T1 THEN 990
970 PRINT'IT'S A TIE. THE HAND IS PLAYED OVER."
980 GOTO 380
990 IF T2<T1 THEN 1030
1000 «1=1
1010 PRINT"BANKER UINS! !"
1020 GOTO 1040
1030 PRINT"PLAYER UINS!!"
1040 FOR J«1 TO PI
1050 IF H(JK=0 THEN 1130
1040 PRINT 6»<J>" ";
1070 IF F1(J)=U1 THEN 1110
1080 N(J)=N(J)-F(J)
1090 PRINT"LOSES »"F(J)», FOR A TOTAL OF «"HU>"."
1100 60T0 1130
1110 H(J)=H<J)+F<J>
1120 PRINT"UINS *"F(J>", FOR A TOTAL OF »"M(J)"."
1130 NEXT J
1140 FOR J=1 TO PI
1150 IF H(J)<>0 THEN 1190
1160 NEXT J
1170 PRINT"THANK YOU FOR YOUR MONEY, AND "J
1180 GOTO 1320
1190 PRINT
1200 PRINT NEU GAME "
1210 PRINT
1220 FOR X»1 TO 4
1230 FOR Y=1 TO 13
1240 IF fl(X,Y)<>8 THEN 380
1250 NEXT Y,X
1260 GOTO 370
1270 DATA 1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,1,1,1,0,0
1280 DATA 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0
1290 DATA 1,1, 1,1, 1,1, 0,0, 0,0, SPADES, HEARTS, DIANONDS
1300 DATA CLUBS, ACE, TUO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT
1310 DATA NINE, TEN, JACK, QUEEN, KING, 1 ,2,3,4,5,6,7,8,9,0,0,0,0
1320 PRINT"THANK YOU FOR PLAYING."
1330 END
Bible Ouiz
BIBLE QUIZ is a program which
administers up to 25 questions about
the Bible to the user. If the answer given
to a question is correct, the program
proceeds to the next question. If an
incorrect answer is given, the program
gives the correct answer. I n either case,
the biblical reference is given.
Note that Statements 124 to 296
could serve as the basis for any type of
CAI dialogue with instructions
preceeding Statement 124 and the
questions and answers in the data
statements.
This program was written by Steve
Wentworth of Muskingum College. It
originally appeared in Creative Com-
puting, Mar/Apr 1977.
BIBLE QUIZ
CREATIVE C0NPUTIN6
HORRISTOUN, NEU JERSEY
THIS 8AHE IS A QUIZ UHICH TESTS
YOUR XN0ULE06E OF BIBLICAL EVENTS, PLACES,
AND PERSONS.
I UILL ASK YOU A QUESTION AND THEN UAIT
FOR YOUR ANSUER. IF YOUR ANSUER IS CORRECT
I UILL PROCEED TO THE NEXT QUESTION. IF YOUR
ANSUER IS INCORRECT I UILL GIVE YOU THE
CORRECT ANSUER AND THEN PROCEED TO THE
NEXT QUESTION.
ALL ANSWERS ARE ONE UORD.
ALL ANSWERS HUST BE CORRECTLY SPELLED.
THERE IS A TOTAL OF 25 QUESTIONS.
HOU MANY QUESTIONS DO YOU UISH TO TRY? 7
QUESTION I 1
WHAT S0N6-C0HP0SER IS CREDITED UITH 1003 SONGS? SOL0H0N
CORRECT ANSUER— VERY 600D! 1 KIN6S 4:32
OUESTION I 2
UNAT BLIND NAN KILLED THREE THOUSAND AT A RELIGOUS FEAST? SANSON
CORRECT ANSUER--VERY 600D! JUD6ES 16:23-30
QUESTION I 3
UNO KILLED HIS BROTHER FOR HUMBLING HIS SISTER? ABSALOM
CORRECT ANSWER—VERY 600D! 2 SAN. 13
QUESTION I 4
UHAT BOY HAD A VARIE6ATED COAT? JOSEPH
CORRECT* ANSWER — VERY 600D! GEN. 37:3
QUESTION I S
WHO CLIMBED A TREE TO SEE JESUS? ZACCHAEUS
CORRECT ANSUER— VERY GOOD! LUKE 1?:4
QUESTION I 4
UNO SET FIRE TO THREE HUNDRED FOXES TAILS? SANSON
CORRECT ANSWER— VERY GOOD! 1 JUDGES 15:4,3
QUESTION i 7
UHAT CITY IS CALLED THE CITY OF PALM TREES? BABEL
INCORRECT ANSUER
THE CORRECT ANSUER IS JERICHO. DUET. 34:3
OUT OF 7 QUESTIONS YOU ANSWERED 6 CORRECTLY.
YOUR PERCENTAGE FOR CORRECT ANSWERS IS 84 I
5 PRINT TAB(24);"BIBLE QUIZ"
4 PRINT TAB(20) {"CREATIVE COMPUTING"
7 PRINT TAB(18);"N0RRIST0WN, NEW JERSEY"
? PRINT:PRINT:PRINT
10 PRINT "THIS 6AHE IS A QUIZ WHICH TESTS "
20 PRINT "YOUR KNOWLEDGE OF BIBLICAL EVENTS, PLACES, »
30 PRINT "AND PERSONS.*
40 PRINT
50 PRINT "I WILL ASK YOU A QUESTION AND THEN UAIT "
40 PRINT "FOR YOUR ANSUER. IF YOUR ANSUER IS CORRECT "
70 PRINT "I WILL PROCEED TO THE NEXT QUESTION. IF YOUR *
80 PRINT "ANSWER IS" INCORRECT I UILL 6IVE YOU THE "
?0 PRINT "CORRECT ANSWER AND THEN PROCEED TO THE "
100 PRINT "NEXT QUESTION."
110 PRINT
118 PRINT "ALL ANSWERS ARE ONE WORD."
11? PRINT "ALL ANSWERS HUST BE CORRECTLY SPELLED."
120 PRINT "THERE IS A TOTAL OF 25 QUESTIONS."
122 PRINT "HOW HANY QUESTIONS DO YOU WISH TO TRY";
124 INPUT N
130 PRINT
135 DIH SI2S)
140 C=0
142 N1»0
145 RESTORE
150 IF C=N THEN 2?0
160 C»C*1
162 PRINT
170 PRINT "QUESTION l";C
180 PRINT
183 X=INT(RND(1)*25+1)
184 IF S(X>*1 THEN 183
185 SfXt'1
186 FOR 0*1 TO X:READ Q»,A»,V»:NEXT Q
210 PRINT 0»;
220 INPUT R«
230 IF R»«A$ THEN 270
240 PRINT "INCORRECT ANSUER"
250 PRINT "THE CORRECT ANSWER IS ";A*;". »;V«
260 60T0 145
270 PRINT "CORRECT ANSWER— VERY GOOD! ";V*
272 N1=NH1
280 GOTO 145
290 PRINT
2?2 PRINT "OUT OF ";N;" QUESTIONS YOU ANSWERED";N1;" CORRECTLY."
2?4 P»INT((N1/N)*100*.5)
2?4 PRINT "YOUR PERCENTAGE FOR CORRECT ANSWERS IS";P;T'
301 DATA "WHO SET FIRE TO THREE HUNDRED FOXES TAILS", "SAHSON"
302 DATA "1 JUDGES 15:4,5"
303 DATA "UHAT HEBREW SERVED A QUICK LUNCH UNDER A TREE*
304 DATA "ABRAHAM", " 6EN. 18:6-8"
305 DATA "UHAT HUNGRY MAN CURSED A FRUITLESS FIG TREE", "JESUS"
306 DATA " NARK 11:12-14"
307 DATA "WHO KILLED HIS BROTHER FOR HUHBLIN6 HIS SISTER"
308 DATA *ADSAL0H","2 SAM. 13"
30? DATA "UHO HAD THREE HUNDRED CONCUBINES", "SOLOMON", "1 KINGS 11:1-3"
310 DATA "UHAT DOT HAD A VARIEGATED COAT", "JOSEPH"," GEN. 37:3"
311 DATA "WHO HAD A SEAMLESS COAT", "JESUS"," JOHN 1?:23"
312 DATA "WHO TOOK OFF HIS SHOE TO BIND A CONTRACT" , "BOAZ" , "RUTH 4:7-?"
313 DATA "WHO SLEPT ON AN IRON BEDSTEAD OVER THIRTEEN FEET LONG"
314 DATA "06"," DUET. 3:11"
315 DATA "WHO UAS THE FIRST CITY-BUILDER", "CAIN"," GEN. 4:17"
316 DATA "UHAT PHYSICIAN WAS AN AUTHOR", "LUKE"," COL. 4:14"
317 DATA "UHAT SONG-COMPOSER IS CREDITED WITH 1005 SONGS", "SOLOMON"
318 DATA "1 KIN6S 4:32"
31? DATA "WHO WAS THE FIRST PERSON KILLED", "ABEL"," GEN. 4:8"
320 DATA "UHO UAS BURIED IN A CAVE UITH HIS UIFE", "ABRAHAM"
321 BATA " GEN. 25:9-10"
322 DATA "WHO ACCIDENTLY HANGED HIMSELF IN A TREE", "ABSALOM"
323 DATA "2 SAM. 18:?"
324 DATA "WHAT DLIND MAN KILLED THREE THOUSAND AT A RELIGOUS FEAST"
325 DATA "SAMSON"," JUDGES 16:23-30"
326 DATA "WHAT WAS THE NAME OF THE FIRST CITY EVER BUILT"
327 BATA "ENOCH"," GEN. 4:17"
328 DATA "WHO WAS A MIGHTY HUNTER" , "NIMROD" , " GEN. 10:9-12"
32? DATA "WHO DROVE FURIOUSLY", "JEHU", "2 KINGS ?:20"
330 DATA "WHO WAS THE FIRST CHRISTIAN HARTYR", "STEPHEN"," ACTS 7"
331 DATA "WHO FELL ASLEEP DURIN6 A LONG SERMON", "EUTYCHUS"
332 DATA " ACTS 20:?"
333 DATA "UHAT CITY IS CALLED THE CITY OF PALM TREES", "JERICHO"
334 DATA " DUET. 34:3"
335 DATA "UHO CLIMBED A TREE TO SEE JESUS" , "ZACCHAEUS" , " LUKE 1?:4"
336 DATA "UHO KILLED GOLIATH", "DAVID", "1 SAM. 17:4?"
337 DATA "UHO UAS CAST INTO A DEN OF LIONS", "DANIEL"," DAN. 4:16"
400 END
Big 6
Big 6 is strictly an American inven-
tion from the casinos of Nevada. There
is a very large wheel mounted vertical-
ly, generally four feet or more in
diameter, that has the numbers one
through six in a random arrangement
around its periphery. Players place
their bets on a roulette type of table in
front of the wheel. The wheel is then
spun and three numbers are declared
the winners. These are the three
numbers that appear at the top of the
wheel. Most novice players looking at
the wheel think that since there are
three winners they have a very good
chance of winning a large sum of
money. Betting limits are generally up
to $500 and, as many players discover
very quickly, the odds are very heavily
in favor of the house.
If you feel that you must play Big 6,
try it by computer first and then figure
out how much you can afford to lose
when you go to play it in Las Vegas or
Atlantic City. The computer is a much
better sport when you lose than the
casino managers will be at either of
those resort cities.
Big 6 was written by Steve Heywood
and Dave Alvey.
3166
CREATIVE C0HPUTIN8
HORRISTOUN, NEU JERSEY
THIS PR06RAN IS A DICE UHEEL GAME IN UHICH
YOU CAN BET ON ANY NUMBER BETWEEN ONE AND SIX
AND UP TO THREE NUMBERS.
THE HOUSE LIMIT IS FROM II TO 1300! !
TO END THIS PR08RAM TYPE THE UORD 'STOP'.
GOOD LUCK I
HOU MANY NUMBERS BO YOU WANT TO BET ON? 1
UHAT NUMBER? 4
UABERT 10
THE LUCKY NUMBERS AREi 3 3 4
YOU LOSE ON: 4
YOU'RE BEHIND $-10
HOU MANY NUMBERS DO YOU UANT TO BET ON? 2
UHAT TUO NUMBERS? 2,4
UABER ON BOTH? 3,10
THE LUCKY NUMBERS ARE: 1 3 4
YOU LOSE ON: 2
YOU LOSE ON: 4
YOU'RE BEHIHD 1-23
HOW MANY NUMBERS BO YOU UANT TO BET ON? 3
UHAT THREE NUMBERS? 1,3,3
UABER ON EACH OF THE THREE? 3,3,3
THE LUCKY NUMBERS ARE: 1 4 6
YOU UIN 1 TINES ON: 1
YOU LOSE ON: 3
YOU LOSE ON: 3
YOU'RE BEHIND »-30
HOU MANY NUMBERS DO YOU UAHT TO BET ON? 2
UHAT TUO NUNBERS? 1,3
UA6ER ON BOTH? 10,10
THE LUCKY NUMBERS ARE: 1 4 4
YOU UIN 1 TINES ON: 1
YOU LOSE ON: 3
YOU'RE BEHIND 1-30
HOU MANY NUMBERS DO YOU UANT TO BET ON? 1
UHAT NUNBER? 4
UABER? 100
THE LUCKY NUNBERS ARE: 4 3 4
YOU UIN I TINES ON: 4
YOU'RE AHEAD I 70
HOU HANY NUMBERS DO YOU UANT TO BET ON? 2
UHAT TUO NUMBERS? 2,4
UABER ON BOTH? 23,23
THE LUCKY NUMBERS ARE: 4 4 4
YOU LOSE ON: 2
YOU UIN 1 TINES ON: 4
YOU'RE AHEAO » 70
HOU MANY NUNBERS BO TOU UANT TO BET ON? 3
UHAT THREE NUNBERS? 1,2,3
UABER ON EACH OF THE THREE? 10,10,20
THE LUCKY NUNBERS ARE: 3 4 4
YOU LOSE ON: 1
YOU LOSE ON I 2
YOU UIN 1 TIMES ON: 3
YOU'RE AHEAD I 70
HOU MANY NUMBERS DO YOU UANT TO BET ON? 1
UHAT NUMBER? 4
UABER? 300
THE LUCKY NUMBERS ARE: 1 4 3
YOU UIN 1 TINES ON: 4
YOU'RE AHEAB i 370
HOU MANY NUNBERS DO YOU UANT TO BET ON? STOP
SO YOU UANT TO CASH IN YOUR CHIPS, I SEE! I!
YOU UON EXACTLY ♦ 370 ! ! NOT BAD ! ! !
Ok
7
LIST
1 PRINT TAB(27);"BIG4"
2 PRIM TA8<20);"CR£ATIVE COMPUTING"
3 PRINT TAB<18);"H0RRISTOMN, NEU JERSEY"
4 PRINT:PRIMT:PRIHT
10 PRINT " THIS PROGRAM IS A DICE WHEEL GAME IN UHICH"
20 PRINT "YOU CAN BET ON ANY NUHBER BETWEEN ONE AND SIX"
30 PRINT "AND UP TO THREE NUMBERS."
40 PRINT " THE HOUSE LIMIT IS FROM »1 TO $500!!"
50 PRINT "TO END THIS PROGRAM TYPE THE UORD 'STOP'."
60 PRINT "GOOD LUCK!"
65 PRINTtPRINT
67 DIM S(3)
70 GOTO 90
80 PRINT "YOU CANNOT BET ON LESS THAN ONE OR MORE THAN THREE NUMBERS."
90 PRINT "HOU MANY NUMBERS DO YOU WANT TO DET ON";
100 INPUT N»:IF N»="STOP" THEN 3340
110 N°VAL(N$>
120 IF N=2 THEN 370
130 IF N=3 THEN 600
140 IF N>3 OR N<1 THEN 80
190 PRINT "UHAT NUMBER";
200 INPUT V
210 IF V<=4 OR V>«1 THEN 260
240 PRINT "YOU CAN ONLY BET ON AN INTEGER FROH ONE TO SIX."
2S0 GOTO 190
260 PRINT "UA6ER";
270 INPUT F
280 IF F<-500 OR F >=1 THEN 330
310 PRINT "THE HOUSE LIMIT IS FROM *1 TO 1500."
320 GOTO 260
330 60SUB 1870
340 S2=V:S3=F:G0SUB 2060
360 SOTO 3260
370 PRINT "UHAT TUO NUMBERS";
380 INPUT V,P
390 IF V<«6 OR M>=1 OR P<=4 OR P>«1 THEN 440
440 PRINT "YOU CAN ONLY BET ON AN INTEGER FROM ONE TO SIX."
4S0 GOTO 370
440 PRINT "UA6ER ON BOTH";
470 INPUT F,I
480 IF F<=500 OR F>=1 OR I<=500 OR I>=1 THEN 550
530 PRINT "THE HOUSE LIMIT IS FROH $1 TO »500."
540 GOTO 440
550 GOSUB 1870
560 S2=V:S3=F:60SUB 2040
570 S2=P:S3=I:G0SUB 2040
590 GOTO 3240
600 PRINT "UHAT THREE NUMBERS";
610 INPUT V,P,S
620 IF V<=6 OR V>=1 OR P<=4 OR P>=1 OR S<=6 OR S>=1 THEN 710
690 PRINT "YOU CAN ONLY BET ON AN INTEGER FROM ONE TO SIX."
700 SOTO 600
710 PRINT "UA6ER ON EACH OF THE THREE";
720 INPUT F,I,J
730 IF F<»500 OR F>=1 OR I<=500 OR I>»1 OR J<»500 OR J>=1 THEN 820
800 PRINT "THE HOUSE LIMIT IS FROM »1 TO $500."
810 GOTO 710
820 60SUB 1870
830 S2=V:S3«F:60SUB 2060
840 S2=P:S3=I:G0SUB 2060
850 S2=S:S3=J:G0SUB 2060
870 GOTO 3260
1870 X=-1
1880 A=INT(4*RND< 1>+1 > :B=INT(6*RND< 1 1+1 ) :C*INT<4»RND(1 )+1 )
1890 S(1)=A:S(2)=B:S(3)=C
1900 FOR Y=1 TO 2
1910 FOR X=1 TO 3-Y
1920 IF S(XX=S(Xt1) THEN 1940
1930 TE=S(X):S(X)«S(X+1):S(X+1)=TE
1940 NEXT X:NEXT Y
1950 PRINT "THE LUCKY NUMBERS ARE: »S(1 ) ;S(2);S<3)
1960 RETURN
2060 C1 =0
2070 IF S2=A THEN C1=C1*1
2080 IF S2=B THEN C1=C1+1
2090 IF S2=C THEN C1=C1+1
2100 IF C1>0 THEN 2130
2110 S3=S3*(-1)
2120 PRINT "YOU LOSE ON: ";S2:6OT0 2150
2130 S3=S3*C1
2140 PRINT "YOU UIN ";C1J" TIMES 0N:"S2
2150 U=U+S3
2140 RETURN
3240 IF U-0 THEN PRINT "YOU'RE EVEN! ! ":PRINT:80T0 90
3270 IF U>0 THEN PRINT "YOU'RE AHEAD »";U:PRINT:G0T0 90
3280 IF U<0 THEN PRINT "YOU'RE BEHIND »";U:PRINT:6OT0 90
3350 REN
3360 PRINT:PRINT:PRINT "SO YOU UANT TO CASH IN YOUR CHIPS, I SEE!!!"
3370 IF U>0 THEN 3410
33B0 PRINT "YOU DIDN'T UIN ANY MONEY, BUT I'M UILLING TO CALL IT EVEN!!"
3390 60T0 3440
3410 PRINT "YOU HON EXACTLY »";U;"H NOT BAD !!!"
3440 END
Ok
8
Binary
This game tests your skills in binary-
to-decimal and decimal-to-binary con-
version. You are given twenty conver-
sion trials. Numbers are chosen
randomly and your score is printed at
the end. The answer to any conversion
you miss is displayed; if the next
conversion is presented, you may
assume you got the previous one
correct.
There are several possible
modifications for this program such as
timing the response, allowing the user
to specify the number range, checking
for duplicate numbers, or extending it
to other bases.
This program was written by Ted
Park of Pacific Union College. It
originally appeared in Creative Com-
puting, Mar/Apr 1975.
RUN
BINARY
CREATIVE COMPUTING HORRISTOUN NEU JERSEY
BINARY:11000
DECIHAL:?
24
BINARY: 1 0001
DECIHAL:?
17
BINARY : 01 1 1
DECIMAL:?
1 1
BINARY:00110
4
DECIHAL:?
10
BINARY:10100
20
DECIHAL:?
12
BINARY:01100
DECIMAL:?
12
BINARY: 1 0001
17
DECIHAL:?
14
BINARY:01010
DECIHAL:?
10
BINARY:000t1
DECIHAL:?
BINARY : 10110
22
DECIMAL:?
21
DECIHAL:
BINARY:
111
DECIHAL:
15
BINARY:
1111
DECIHAL:
BINARY:
DECIHAL:
18
BINARY:
10010
DECIHAL:
01001
BINARY:
01000
DECIHAL:
11
BINARY:
1011
DECIHAL:
15
BINARY:
1111
DECIHAL:
12
BINARY:
1100
DECIHAL:
25
BINARY:
11001
DECIHAL:
00110
4
BINARY:
? 1
01
YOUR SCORE: 70 X
UK
LIST
10 PRINT TAB(30);"BINARY"
20 PRINT TAB(15);"CREATIVE COMPUTING HORRISTOUN NEU JERSEY"
110 B»="01"
120 T0=20
130 PRINT
140 PRINT
150 FOR 1=1 TO 10
U0 G0SUB 540
170 PRINT "BINARY:";
ISO FOR J=1 TO 5
190 PRINT HID*(B*,B(J)+1,1>;
200 NEXT J
210 PRINT " DECIMAL:";
220 INPUT A
230 IF A=D THEN 240
240 PRINT D
250 T0=T0-1
240 PRINT
270 NEXT I
280 PRINT
290 PRINT
300 FOR 1=1 TO 10
310 G0SUB 540
320 PRINT "DECIHAL: ";D;
330 PRINT " BINARY: ";
340 I*="00000"
350 INPUT IS
340 IF LEN(I*» 10 THEN 420
370 I»*"00000" + U
375 I»=KI6HT»(I$,5;
380 FOR J=l TO 5
390 IF HID»<B«,B(J) + 1,1K>MID*(I»,J,1) THEN 420
400 NEXT J
410 60T0 430
420 PRINT " ";
430 FOR J=l TO 5
440 PRINT HID»(B*,B(J)+1,1);
450 NEXT J
440 PRINT
470 T0=T0-1
480 PRINT
490 NEXT I
500 PRINT
510 PRINT
520 PRINT "YOUR SC0RE:";irr(T0/.2+.5>; n :"
530 PRINT
540 PRINT
550 END
540 D=0
570 FOR J=1 TO 5
580 B(J)=INT(RND<1>+.5>
590 D=D*2+B( J)
400 NEXT J
410 RETURN
420 END
OK
Blackbox
81
3o
79
28
V.
26
I
24
2. .
1%
3
Z2
21
4
5
20
•
19
18
to
«2
M
14
»5
Description: Black Box is a computerized version of the
game that appeared in the August 1977 issue of Games
and Puzzles. The Black Box is an 8-by-8 square in which
several atoms are hidden. The object of the game is to
discover the positions of the atoms by projecting rays at
them from the sides of the box and noticing how these rays
are deflected, reflected, or absorbed. Rays enter the box
across one of the four edges and travel horizontally or
vertically. The entry points are numbered from 1 to 32,
counterclockwise, starting at the top of the left edge.
To play the game, you first specify how many atoms to
place in the Black Box. Then you type in the point at which
you send the ray into the box, and you are told whether the
ray was absorbed or where it emerged. Type a zero to end
the game and print the board. The path of the ray is
governed by the following rules:
(1) Rays that strike an atom directly are absorbed.
(2) Rays that come within one square of an atom in a
diagonal direction (so that they would pass next to the
atom if they continued) are deflected by 90 degrees.
(3) Rays aimed between two atoms one square apart are
reflected.
(4) Rays that enter on either side of an atom ontheedge
of the box are reflected.
(5) Rays otherwise travel in straight lines.
The game is pretty interesting with four or five atoms,
but can get out of hand with too many more. Occasionally,
an atom can be masked by others. This doesn't occur
often, but sometimes the position is truly ambiguous
(more often, there is only one place the atom can be). For
competitive play, score one point for reflections and
absorptions, two for rays which emerge from the box, and
five points for each atom guessed incorrectly.
This program and description were written by Jeff
Kenton. A previous version appeared in Creative Com-
puting, May/Jun 1978.
10
RUN
BLACKBOX
CREATIVE COMPUTING
HORRISTOUM, NEU JERSEY
NO. OF ATOMS? 4
RAY? 1
ABSORBED
RAY? 2
ABSORBED
RAY? 3
TO 22
RAY? 31
REFLECTED
RAY? 4
TO 32
RAY? 28
TO 13
RAY? 26
ABSORBED
RAY? 7
ABSORBED
RAY? 8
TO 15
RAY?
NOU TELL HE, UHERE DO YOU THINK THE ATOMS ARE?
(IN ROU, COLUMN FORMAT PLEASE.)
ATOM It 1 ? 4,3
ATOM » 2 i. 1,1
ATOM # 3 ? 2,7
ATOH II 4 ? 7,8
. , *
YOU GUESSED 1 OUT OF 4 ATOMS CORRECTLY! !
YOUR SCORE FOR THIS ROUND HAS 28 POINTS.
CARE TO TRY AGAIN? YES
NO. OF ATOMS? 4
RAY? 4
TO 13
RAY? 25
ABSORBED
RAY? 23
TO 24
RAY? 1?
TO 6
RAY? 24
TO 23
RAY? 17
ABSORBED
RAY? 31
TO 1
RAY? 3
TO 18
RAY?
NOU TELL ME, UHERE DO YOU THINK THE ATOMS ARE?
(IN ROU, COLUMN FORMAT PLEASE.)
ATOM
II
ATOM
II
ATOM
ATOH
«
4
LIST
100 PRINT TAB(25);"BLACKB0X"
110 PRINT TAB(20);"CREATIVE COMPUTING"
120 PRINT TAB(18);"M0RRIST0UN, NEU JERSEY"
130 PRINT:PRINT:PRINT
140 DEF FNR<Z)=INT(8*RND(1>+1>
150 PRINT "NO. OF ATOMS";: INPUT N
160 FOR J=0 TO ?: FOR 1=0 TO ?: B(I,J)=0: NEXT I,J
170 FOR 1=1 TO N
180 X=FNR(1): Y=FNR( 1 ) : IF B(X,Y)<>0 THEN 180
190 B(X,Y)=1: NEXT I
200 S=0:C=0
210 PRINT "RAY";: INPUT R: IF R<1 THEN 480
220 ON (R-D/8+1 GOTO 240,250,240,270
230 PRINT "ERROR": GOTO 210
240 X=0: Y=R: U=1: V=Os GOTO 280
250 X=R-8: Y=9: U=0: V=-1: GOTO 280
240 X=9: Y=25-R: U=-1: V=0: GOTO 280
270 X=33-R: Y=0: U=0: V=1
280 X1=X+U: Y1=Y+V
290 IF U=0 THEN X2=X1-1: X3=X1+1: Y2=Y1 : Y3=Y1: GOTO 310
300 Y2=Y1-1: Y3=Y1+1: X2=X1: X3=X1
310 ON 8*B(X1,Y1)+B(X2,Y2)+2*B(X3,Y3)+1 GOTO 330,340,350,340
320 PRINT "ABS0RBED":S=S+1: GOTO 210
330 X=X1: Y=Y1: GOTO 380
340 Z=1: GOTO 340
350 Z=-1
340 IF U=0 THEN U=Z: V=0: GOTO 380
370 U=0: V=Z
380 ON (X+15>/8 GOTO 420,400,430
390 STOP
400 ON (Y+15)/8 GOTO 440,280,450
410 STOP
420 Z=Y: GOTO 440
430 Z=25-Y: GOTO 440
440 Z=33-X: GOTO 440
450 Z=8+X
440 IF Z=R THEN PRINT "REFLECTED":S=S+1 : GOTO 210
470 PRINT "T0";Z:S=S+2: GOTO 210
480 PRINT "NOU TELL ME, UHERE DO YOU THINK THE ATOMS ARE?"
490 PRINT "(IN ROU, COLUMN FORNAT PLEASE. )"
500 FOR Q=1 TO N
510 PRINT "ATOM It ";Q;
520 INPUT I, J
530 IF B(J,IXM THEN S=S+5:OOT0 340
532 8(J,I)=2
535 C=C+1
540 NEXT
550 PRINT: FOR J=1 TO 8: FOR 1=1 TO 8
540 IF B(I,J)=0 THEN PRINT " .";: GOTO 580
570 PRINT " *";
580 NEXT I: PRINT: NEXT J: PRINT:
590 PRINT "YOU GUESSED ";C;" OUT OF ";N;" ATOMS CORRECTLY ! ! "
400 PRINT "YOUR SCORE FOR THIS ROUND UAS ";S;" POINTS."
410 INPUT "CARE TO TRY AGAIN";A$
420 IF LEFT*(AJ,1)="Y" THEN PRINT:GOTO 150
Ok
YOU GUESSED 2 OUT OF 4 ATOMS CORRECTLY! !
YOUR SCORE FOR THIS ROUND UAS 24 POINTS.
CARE TO TRY AGAIN? NO
Qk
11
Bobstones
The idea for this number game was
derived from a contest called
"Bobstones" described in the novel
Watership Down. The object of
Bobstones is to guess three things
about the roll of a pair of dice.
1. If the sum of the dice
is odd or even 1 point
2. The sum of the dice 2 points
3. The number on each
of the two dice 3 points
The winner is the first player to score
eleven points. If a tie results, the winner
is the first player to break the tie.
In this computer version of the game,
you are playing against the computer.
However, the computer makes its
guess before the dice are "rolled."
Hence, it has no real advantage over its
human opponent.
This game was written by Dohn
Addleman. It originally appeared in
Creative Computing Mar/Apr 1976.
RUN
BOBSTONES
CREATIVE C0HPUTIN6
MJRRISTOUN, NEU JERSEY
HT TURN.
«»* ON TNIS ROLL OF THE DICE, THE TUO NUMBERS ARE 3 AND 3
*«* THE SUH IS i .
MY 6UESS IS THAT THE SUN IS EVEN.
AK I RI6HT OR URONG? RIGHT
NY 6UESS OF THE SUH IS 12
All I RI6HT OR UR0N6? UQRONG
/// TYPE THE WORD 'RIGHT' OR THE UORD 'UR0N6' .
All I RIGHT OR UR0N6T UR0N6
THE SCORE IS HE 4 - YOU .
YOUR TURN.
IS THE SUN ODD OR EVEN? EVEN
YOU ARE CORRECT.
NOV, 6UESS THE SUNT 12
SORRY, THE SUN IS 10 .
HT TURN.
*»» ON THIS ROLL OF THE DICE, THE TUO NUMBERS ARE 2 AND 4
*»» THE SUH IS t .
HT GUESS IS THAT THE SUN IS ODD.
All I RI6HT OR URONG? URONG
THE SCORE IS NE 4 - YOU 1 .
YOUR TURN.
IS THE SUN ODD OR EVEN? ODD
YOU ARE CORRECT.
NOB, GUESS THE SUH? 3
SORRY, THE SUH IS 9 .
HT TURN.
♦»• ON THIS ROLL OF THE DICE, THE TUO NUHBERS ARE 1 AND 2
♦•» THE SUH IS 3 .
HT GUESS IS THAT THE SUH IS ODD.
All I RIGHT OR URONG? RIGHT
HT GUESS OF THE SUN IS »
All I RI6HT OR URONG? URONG
THE SCORE IS HE 5 - YOU 2 .
YOUR TURN.
IS THE SUH ODD OR EVEN? ODD
SORRY, THE SUH IS & .
THIS IS A NUHBER GANE CALLED BOBSTONES. THE OBJECT OF
BOBSTONES IS TO GUESS THREE THINGS ABOUT THE ROLL OF A PAIR
OF DICE. ON EACH TURN, THE CONPUTER SIHULATES THE ROLL OF
THE DICE. THEH, YOU OR THE COHPUTER (YOUR OPPONENT) GUESS
SCORE
1. IF THE SUN OF THE DICE IS ODD OR EVEH 1 POIHT
2. THE SUH OF THE DICE 2 POINTS
3. THE NUNDER ON EACH OF THE TUO DICE 3 POINTS
THE UINNER IS THE FIRST PLAYER TO SCORE 11 POINTS. IF A
TIE RESULTS, THE UINNER IS THE FIRST PLAYER TO BREAK THE TIE.
600D LUCK !
YOU FIRST OR HE? HE
YOUR TURK.
IS THE SUN ODD OR EVEN? ODD
SORRY, THE SUH IS 4 .
MY TURN.
*»» ON THIS ROLL OF THE DICE, THE TUO NUHBERS ARE 4 AND 4 .
*»• THE SUH IS G .
MY GUESS IS THAT THE SUH IS EVEN.
AN I RIGHT OR UR0N6? RIGHT
MY GUESS OF THE SUM IS 8
AH I RIGHT OR URONG? RIGHT
MY 6UESS IS THAT THE HUHBERS ARE 3 AND 5 .
AH I RIGHT OR MR0N6? URONG
THE SCORE IS HE 3 - YOU .
YOUR TURN.
IS THE SUN ODD OR EVEN? ODD
SORRY, THE SUN IS 8 .
MY TURN.
**♦ ON THIS ROLL OF THE DICE, THE TUO NUMBERS ARE 6 AND 2 .
*»« THE SUH IS 8 .
HY GUESS IS THAT THE SUH IS ODD.
All I RIGHT OR URONG? URONG
THE SCORE IS HE 3 - YOU 2 .
YOUR TURN.
IS THE SUH ODD OR EVEH? EVEN
YOU ARE CORRECT.
NOU, GUESS THE SUH? i
SORRY, THE SUH IS 4 .
MY TURN.
*«« ON THIS ROLL OF THE DICE, THE TUO NUHBERS ARE 3 AND 4 .
*«« THE SUH IS 7 .
MY GUESS IS THAT THE SUN IS ODD.
AN I RIGHT OR URONG? RIGHT
HY GUESS OF THE SUH IS 11
AN I RIGHT OR UROHG? UR0N6
THE SCORE IS HE 6 - YOU 3 .
LIST
10 PRINT TAB (24); "BOBSTONES"
20 PRINT TAS(20);*CREATIVE COMPUTING"
30 PRINT TAB(18);*H0RRIST0UN, NEU JERSEY"
130 PRINT:PRINT:PRIHT
140 PRINT " THIS IS A NUMBER GAME CALLED BOBSTONES. THE OBJECT OF"
ISO PRINT "BOBSTONES IS TO GUESS THREE THINGS ABOUT THE ROLL OF A PAIR"
140 PRINT "OF DICE. ON EACH TURK, THE COHPUTER SIHULATES THE ROLL OF"
170 PRIMT "THE DICE. THEN, YOU OR THE CONPUTER (YOUR OPPONENT) GUESS"
180 PRINT
1»0 PRINT " SCORE"
200 PRINT " 1. IF THE SUN OF THE DICE IS ODD OR EVEN 1 POINT"
12
210 PRINT 11 2. THE SUN OF THE DICE 7 PATMT3"
1140
LET A(1)=A(1)+3
220 PRINT M 3. THE NUMBER ON EACH OF THE TUO DICE 3 POINTS"
1150
GOTO 450
230 PRINT
1160
LET J2=0
94ft PPTUT " TUT UTUMCP TC TUT CTDCT PI AVCD Tfl crnDF 11 DfllUTC TC AM
<£*v mini int WiffntK la Int UKal rLftitK lu aLUnt 11 rOlNIS. IF fl
1170
PRINT
^50 PRINT N TTF RF*!IIJ TR THF UTNNFP T*» THF FTPQT PI AY CP TP. RPFAU THF TTF
itjv mini i it ntautia, int Ninntn ia int rinai rLnicn tu Bntnix int lit*
1180
PRINT "HY TURN."
1 190
PRINT "*«* ON THIS ROLL OF THE DICE, THE TUO
NUHBERS ";
*?a a prtnt " nnnn 1 IIPK 1 M
iov mini quuu lulu :
1195
PRINT "ARE ";Di;" AND ";D2;".°
770 BFF FHTlf VlsTNTf A*PNnf 1 ) + 1 )
1200
PRINT "*** THE SUH IS ";S;"."
280 DIH A(2)
1210
LET A1=INT<2*RND<1 )+1)
?90 LFT A( 1 )=0
1220
IF Z2=0 THEN 1240
300 LET A(2)=0
1230
LET Z2=0
310 LET Z1=-1
1240
IF A1=1 THEN 1270
320 LET Z2=-1
1250
PRINT "HY GUESS IS THAT THE SUN IS ODD."
330 LET Z3=-1
1260
S0T0 1280
340 LET Z4=-1
1270
PRINT "HY GUESS IS THAT THE SUH IS EVEN."
"550 1 FT 7S=- 1
1280
PRINT "AN I RIGHT OR UR0N6";
340 LET J1 =0
1290
INPUT Df
370 PRINT
1300
IF DI~"RIGHT" THEN 1340
380 PRINT
1310
IF D»="UR0NG" THEN 450
390 PRINT "YOU FIRST OR HF" "
•j i v r n ait ■ i uu r x i\w i ui\ tic ■
1320
PRINT "/// TYPE THE UORD 'RIGHT' OR THE UORD
'UR0NG'."
400 INPUT Z»
IVV A IV ■ U ■ 4P
1330
60T0 1280
410 IF Zft="Y0U" THFN 4S0
1340
LET A(2)°A(2)t1
420 IF Z*="MF" THFN 4S0
1350
IF Al-t THEN 1410
430 "/// TYPE THE U0RD 'YOU' OR THE UDRD 'ME' "
tit lift i wuuv < uu un, i ni» wunv nt •
1360
LET B1 = INT(5*RND(1 )+1 )
440 GOTO 390
liW UU 1 U •J I V
1370
IF Z3=0 THEN 1390
450 LFT D1=FND(71 )
1380
LET Z3=0
4A0 IF 71=0 THFN 4P.0
low *r ti v i nLn iov
1390
LET B2=81+B1+1
470 LET 71=0
1400
60T0 1430
480 LFT D2=FNDt"0)
1MV bbl Vfe TRV^V/
1410
LET B1=FHD(0)
490 LET S=D1+D2
1420
LET B2=B1+B1
S00 IF J1 =0 THEN <S50
1430
PRINT "HY GUESS OF THE SUH IS ";B2
310 IF Z$<>"HE" THEN 380
1440
PRINT "AH I RIGHT OR UR0N6";
320 IF J2O0 THEN 11 AO
1450
INPUT D$
530 PRINT
1460
IF D»="RIGHT" THEN 1500
540 PRINT "THE SCORE IS HE";A(2);" - Y0U";A( 1 );"."
1 470
IF D*="UR0NG" THEN 450
5S0 IF A<1)>=11 THEN 1900
1 480
PRINT "/// TYPE THE UORD 'RIGHT' OR THE UORD
1 III Hr b wMWV IV1UII 1 yj 1 v Mil* m\Jt\U
'UR0NG'."
560 IF A(2)>-11 THEN 1900
1490
GOTO 1440
570 60TO 470
1500
LET A(2)=A(2)*2
580 IF Z$O"Y0U° THEN 2020
1510
IF B2<>2 THEN 1550
590 IF J2<>1 THEN 670
1520
LET CI =1
600 PRINT
1530
LET C2=1
610 PRINT "THF SCORE IS YOU" ' At 1 i •" - HP"'60) "
1540
60T0 1810
A20 IF A M)>s11 THFN 1900
1550
IF B2<>3 THEN 1590
630 IF A(2)>=1l THFN 1900
1560
LET CI =1
650 LET J1 =-1
WW V bb * J 1 1
1570
LET C2=2
660 IF ZS="YDU" THFN 11 AO
uw * f i uu i rtwn ' iov
1580
GOTO 1810
670 PRINT
1590
IF B2<>11 THEN 1630
680 PRINT "YOUR TURN "
1600
LET C1=5
690 LET J2=l
1410
LET C2=6
700 LET R=S-(INT(S/2)«2)
1420
GOTO 1810
710 PRINT "IS THE SUH ODD OR EVEN"'
1430
IF B2012 THEN 1670
720 INPUT A$
1440
LET C1=6
730 IF A*="0DB" THEN 770
1450
LET C2=4
740 IF A$-"EVEN" THEN 800
1440
60T0 1810
750 PRINT "/// TYPE THE U0RD 'ODD' OR THE UORD 'EUEN' "
1470
IF B2>7 THEN 1740
740 GOTO 710
1480
LET Kt -B2-1
770 IF R=1 THEN 820
1490
LET C1=INT(K1*RND(1 )+1 )
780 PRINT "SORRY, THE SUN IS";S;"."
1700
IF Z4-0 THEN 1720
790 GOTO 450
/ i v uu i u ^wv
1710
LET Z4=0
800 IF R=0 THEN 820
1720
LET C2=B2-C1
810 GOTO 780
UIV UU 1 U I wv
1730
60T0 1810
820 PRINT "Yflll O.RF mPPFTT "
a tu mini i uu tint LUnntL 1 ■
1740
LET K1=B2-6
RIO IFT A M 1 -fl f 1 1 + 1
1750
LET K3=K1-1
840 PRINT H NOU RIIFS*? THF SIIH 1 **
1760
LET K2=?-K1
850 INPUT 61
w w v ini w i ui
1770
LET C1=(INT(K2*RND(1 )+1 )+K3)
840 IF GK2 THEN 890
uuv 1 1 ui \£ t nLii u7 v
1780
IF Z5=0 THEN 1800
870 IF 61>12 THEN 890
1790
LET Z5=0
880 GOTO 910
UUV UUI U 71V
1800
LET C2=B2-C1
890 PRINT **/// THF CltM MIICT RF RFTUFFM *i AMIt 10
ojv mini /// int aun nua I cc Del wttn J. nnit i L •
1810
PRINT "HY GUESS IS THAT THE NUHBERS ARE ";C1
;" AND ";C2
900 GOTO 840
1820
PRINT "AN I RIGHT OR UR0NG";
910 IF 61=S THEN 940
1830
INPUT Dt
920 PRINT "SORRY, THE SUH IS M ;S;"."
1840
IF D$-"RI6HT" THEN 1880
930 GOTO 450
1850
IF D$="UR0NG" THEN 450
940 PRINT "YOU ARE CORRECT."
1860
PRINT "/// TYPE THE UORD 'RIGHT' OR THE UORD
'UR0N6'."
950 LET A(1 )~A(1 )+2
1870
SOTO 1820
9A0 PRINT "LIHAT ARF THF TUD NHHRFPS UMTTU PROMim) ■••can n«
70v mint mnn I wit Int IWU nunDtna WfllLn rnUUULtU ,3, y
1880
LET A(2)=A(2)+3
970 INPUT Nt ,N2
1890
GOTO 450
980 IF NK1 THEN 1030
1900
IF A(1)OA(2) THEN 1930
990 IF N2<1 THFN 10^0
* *v at nt v i i run ivju
1910
IF J2O0 THEN 1160
1000 IF N1>6 THEN 1030
1920
GOTO 670
1010 IF N2>£ THFN 1010
1930
IF All )>A(2) THEN 2030
1020 fiOTfl 1010
1 VtV UU 1 U 1 VwU
1940
PRINT
1030 PRTNT "//J THF NHNRFR3 MIIQT RF RPTUPPU 1 Ann A ■<
i vj u mini /// int nunDtna nua I ot Dtiuttn I Hnu o.
1950
PRINT "I UIN! ANOTHER GAME";
1040 ROTd 9AO
1960
INPUT C$
10S0 IF N1=ni THFM 1090
ivju ir ni ~u i t nLn i V7u
1970
IF C»="YES" THEN 290
10A0 IF N2=D1 THFN 1110
i vow ir nt vi intn i i iv
1980
IF C»="N0" THEN 2010
1070 PRINT "SORRY THF NIJHRFft?. ARF" ' R1 " " AHTt" ' W> * " 11
1990
PRINT "/// TYPE THE UORD 'YES' OR THE UORD 'NO'."
1080 60T0 450
2000
60T0 1960
1090 IF N2=I1? THFN 1110
2010
PRINT "SEE YOU LATER."
1100 SOTO 1070
2020
END
1110 IF N1=D2 THEN 1130
2030
PRINT
1120 SOTO 1070
2040
PRINT "YOU UIN! ANOTHER DANE";
1130 PRINT "YOU ARE CORRECT."
2050
60T0 1960
13
Becce
This program simulates the Italian
game of Bocce also called "lawn
bowls" or just "bowls."
The instructions starting at the line
1770 explain the game.
This is the four-ball version (Q=5).
Allowing more balls in the game
(raising Q) will increase central
processing time since the chances of
collision will rise and the resulting
position of each ball has to be recom-
puted. However, the delay is short and
we routinely play six to eight balls.
Increasing Q beyond 9 will require
redimensioning the arrays at line 1030.
When there is collision, the bell will
sound (line 1500).
It is important to remember that the
object is to get close to the jack and not
to hit it. Upon collision, the jack will
move off more quickly than a ball
because it is smaller and lighter. A
careless shot can turn a good game
into a disaster.
It requires some imagination to play
the game well. It goes best if you
imagine that you are standing at
coordinates 0,0 and are looking out
along the X-axis.
This game and the description above
were written by Victor Bendall of
Eastern Kentucky University. It
originally appeared in Creative Com-
puting, Jul/Aug 1977.
RUN
BOCCE
CREATIVE C0HPUTING
HORRISTOUN NEU JERSEY
THIS SAME SIMULATES THE SAME OF LAUN B0ULS
DO YOU NEED INSTRUCTIONS? ENTER YES OR NOT YES
IN THIS SANE YOU ROLL 4 BALLS SUCCESSIVELY AT A TARGET
BALL (CALLED A JACK). THE OBJECT IS TO GET THE BALLS AS CLOSE
TO THE JACK AS POSSIBLE. THE BALLS ARE It CM IN DIAMETER AND
ARE UEI6HTED SO THAT THEY ROLL IN A CURVE. YOU MILL HAVE TO
ROLL THEM AT AN ANGLE TO THE LINE FROM YOU AT COORDINATES 0,0
TO THE JACK AT COORDINATES X,Y. A POSITIVE ANGLE UILL HAKE
THE BALL CURVE CLOCKUISE. A NE6ITIVE ANGLE UILL HAKE IT CURVE
ANTI-CLOCKUISE. THE JACK IS A 4 CM UIDE AND UILL ROLL
STRAIGHT IF YOU HIT IT. BALLS HIT BY YOUR THROUN BALL HAY
CURVE IN EITHER DIRECTION.
HINT. TRY AN INITIAL VELOCMTY OF 500 AND AN AN6LE OF 10
THE JACK IS LOCATED AT 2171 77
BALL 1
VELOCITY? SOO
ANGLE? 10
JACK AT COORDINATES 2171 77
BALL 1 AT COORDINATES 2434.43 -494.239 IT IS 622.137 FROM THE JACK
YECH! OVER 20 FEET AUAY!
LONG AND TO THE RIGHT
BALL 2
VELOCITY? 4S0
ANGLE? 9
JACK AT COORDINATES 2171 77
BALL 1 AT COORDINATES 2434.43 -494.23? IT IS 622.137 FROM THE JACK
BALL 2 AT COORDINATES 2243.71 -455.535 IT IS 530.476 FROM THE JACK
YECH I OVER 17 FEET AUAY!
LONG AND TO THE RIGHT
BALL 3
VELOCITY? 400
AN6LE? 3
JACK AT COORDINATES 2171 77
BALL I AT COORDINATES 2434.43 -494.23? IT IS 622.137 FROM THE JACK
BALL 2 AT COORDINATES 2243.71 -455.535 IT IS 530.474 FROM THE JACK
BALL 3 AT COORDIHATES 3504.13 -710.248 IT IS 1542.?5 FROM THE JACK
YECH! OVER SO FEET AUAY!
L0H6 AND TO THE RIGHT
BALL 4
VELOCITY? 300
ANGLE? 5
JACK AT COORDINATES 2171 77
BALL 1 AT COORDINATES 2434.43 -474.239
BALL 2 AT COORDINATES 2243.71 -455.535
BALL 3 AT COORDINATES 3504.13 -710.248
BALL 4 AT COORDINATES 874.228 -178.163
YECH! OVER 43 FEET AUAY!
SHORT AND TO THE RIGHT
IT IS 622.137 FROM THE JACK
IT IS 530.476 FROM THE JACK
IT IS 1542.95 FROM THE JACK
IT IS 1312.47 FROM THE JACK
THE TOTAL DISTANCE OF ALL BALLS FROM THE JACK IS 4008.23 CH
DON'T PLAY THIS 6AHE FOR HONEY! !
CARE TO TRY AGAIN? ENTER YES OR NO? NO
Ok
14
LIST
10 PRINT TAB<25);"B0CC£"
20 PRINT TAB<19);"CREATIVE COMPUTING"
30 PRINT TABU7);"M0RRIST0UN NEU JERSEY"
40 PRINT:PRINT:PRINT
10OO 0=5
1010 PRINT "THIS GAHE SIMULATES THE GAME OF LAWN BOULS"
1020 INPUT "DO YOU NEED INSTRUCTIONS? ENTER YES OR NO";Z$
1030 DIM B(9),B1<9),D<9>,V<9>,X(9>,Y<9>
1040 PRINT: IF Z»="YES" THEN 60SUB 1770
1045 P1=3. 14159
1050 S1=0:S2=0:A=-49.3
1070 Xd)=INT(2000+700*RNDd)): Yd >=INT(200-400*RND<1 ) )
1080 PRINT "THE JACK IS LOCATED AT ";XC1)JY<1>
1090 FOR P=2 TO
1100 J=P:60SUB 1570
1110 NEXT P
1120 FOR J=2 TO
1130 DI-DHD(J)
1140 NEXT J
1150 PRINT: PRINT "THE TOTAL DISTANCE OF ALL BALLS FROM THE JACK IS ";
1155 PRINT D1* u CH "
1160 IF D1 < 0*2 THEN PRINT "MA6NIFICENT B0ULIN6! UHAT AN EYE!!"
1H5 IF B1 < 0"2 THEN 1230
1170 IF DK2*0*2 THEN PRINT"EXCELLENT BUT COULD BE BETTER:":G0TO 1230
1180 IF D1 < 3*0"2 THEN PRINT "GOOD BUT NEEDS SONE INPROVENENT":GOT01230
1190 IF D1 < 6*0-2 THEN PRINT "FAIR - YOU NEED MORE PRACTICE":G0T0 1230
1200 IF D1 < 10*0*2 THEN PRINT "POOR - TRY TO BE MORE CONSISTANT":GOTO 1230
1210 IF D1 < 20*0*2 THEN PRINT "YOUR GAME NEEDS LOTS OF UORK":GOTO 1230
1220 PRINT "DON'T PLAY THIS GAHE FOR MONEY!!"
1230 FOR J=1 TO
1232 B(J)=O:BHJ)=O:D(J)=0
1240 V(J)=0:X(J)=0:Y(J>=0
1250 NEXT J
1260 PRINT:INPUT "CARE TO TRY AGAIN? ENTER YES OR NO";Y*
1270 PRINT: IF Y$="YES" THEN 1050
1280 GOTO 1890
1290 K1=-20
1295 IF J=1 THEN K1 =0
1300 A1=A*C0S(B<J)>+K1*COSUP1/2>tB<J>>
1305 A2=A*SIN(B(J))+K1*SIN((P1/2>+B(J>)
1310 S3=V<J)*COS<B<J))*.05+1.25E-03*A1
1315 S4=V< J)*SIN(B( J) )*.05+1 .25E-03*A2
1320 B(J>=ATN((V(J)*SIN(B(J))*A2*.05)/(V(J)*COS(B(J))+A1*.O5))
1330 IF BKJX THEN S4=-S4
1340 S5=S1+S3: S6=S2+S4
1350 IF J=1 THEN 1370
1360 IF ABS(S5-Xd>><7 AND ABS(S4-Y(1 ) )<7 THEN K=1:G0SUB 1550
1370 FOR K=2 TO
1380 IF K=J OR X(K)-0 THEN 1400
1390 IF ABS(S5-X(K))< 10 AND ABS<S6-Y(K))< 10 THEN GOSUB 1500
HOO NEXT K
1410 IF V{JXAB5(A*.05) THEN 1440
1420 V(J)=V<J)+(A*.05):S1=S5:S2=S6:G0TQ 1290
1430 GOTO 1290
1440 X(J)=X(J)+S5: Y(J)=Y(J)+S6iS1=0:S2=0:S5=0:S6=0
1450 FOR L=1 TO
1460 IF V(L)>ABS(A*.05) THEN J-L:GOTO 1290
1470 B<L>=0:V(L)=0
1480 NEXT L
1490 GOTO 1630
1500 B(K)=ATN((Y(K)-S2)/(X(K)-S1)): PRINT CHR*<7>;
1510 IF J=1 THEN V(J)=V(J>/5
1520
1530
1540
1550
1560
1570
1580
1590
1600
1610
1620
1630
1640
1650
1655
1660
1670
1675
1680
1690
1700
1710
1720
1730
1735
1740
1745
1750
1755
1760
1765
1770
1775
1780
1790
1800
1810
1820
1830
1840
1850
1860
1870
1880
1890
Ok
IT IS ";B(N>;
";:60TO 1740
iiGOTO 1740
V(J>=ABS<V<J)*SIN<8(J)-B<K>)>:V<K)*ABS<V<J>*C0S<B<J>-B<K)>>
B<J)=(<P1/2)tB<K>>: SS-S1 : S6=S2
IF K=1 THEN V<K)«5*V(K>
IF J=1 THEN V(J)=5*V(J>
RETURN
PRINT "BALL "J(J-D
INPUT "VEL0C1TY";V<J):V<J)=ABS<V<J>)
IF VI J) > 1000 THEN PRINT "VELOCITY TOO HIGH":GOTO 1580
INPUT "ANGLE";B1 (J)
IF ABS(B1(J>)> 89 THEN PRINT "ANGLE TO BIG":GOTO 1290
PRINT : B(J)-ABS(B(J)*P1/180):GOTO 1290
PRINT "JACK AT COORDINATES ";X(1);Y(D
FOR M=2 TO P
D=(S0R((Y(1)-Y(M))"2t(X(1)-X(N))-2))-7
D(H)-D
IF < THEN D<H>=0
PRINT"BALL ";<M-D;" AT COORDINATES ";X(M);Y(H);"
PRINT "FROM THE JACK"
NEXT M
PRINT
IF DIP) < 10 THEN PRINT TABUS) "'EXCELLENT SHOT!
IF D(P) < 20 THEN PRINT TAB (15); "GOOD SH00TIN6! "
IF D(PK 30 THEN PRINT TAB(15);"NICE TRY !";:GOTO 1740
IF D(P)>500 THEN PRINT TAB(5);"YECH! OVER ";lNT(D(P>/30.48);
IF D(P) > 500 THEN PRINT "FEET AUAY ! "
IF X(P)>X(1) THEN PRINT "LONG AND ";
IF X(P)< X(1) THEN PRINT "SHORT AND "J
IF Y(P)>Y(1) THEN PRINT "TO THE LEFT "
IF Y(P) < Yd) THEN PRINT "TO THE RIGHT"
PRINT
RETURN
PRINT "IN THIS GAME YOU ROLL ";Q-1;"BALLS SUCCESSIVELY AT A TARS";
ET"
BALL (CALLED A JACK). THE OBJECT IS TO GET THE BALLS AS CLOSE
PRINT "TO THE JACK AS POSSIBLE. THE BALLS ARE 10 CM IN DIAMETER AND
PRINT "ARE UEIGHTED SO THAT THEY ROLL IN A CURVE. YOU UILL HAVE TO"
PRINT "ROLL THEN AT AN ANGLE TO THE LINE FROM YOU AT COORDINATES 0,0
PRINT "TO THE JACK AT COORDINATES X,Y. A POSITIVE ANGLE UILL MAKE"
PRINT "THE BALL CURVE CLOCKUISE. A NESITIVE ANGLE UILL HAKE IT CURVE
PRINT "ANTI-CLOCKUISE. THE JACK IS A 4 CM UIDE AND UILL ROLL"
PRINT "STRAI6HT IF YOU HIT IT. DALLS HIT BY YOUR THROUN BALL HAY"
PRINT "CURVE IN EITHER DIRECTION."
PR INT : PR INT "HINT. TRY AN INITIAL VELOCNTY OF 500 AND AN ANGLE OF 10
PRINT:PRINT:RETURN
END
PRINT
PRINT
15
Boga ll
A Boga is a bogus animal or mythical
beast in the Hurkle family. Like a
Hurkle, the Boga hides on a grid with
dimensions up to 20 by 20. It sends out
clues that tell you which direction to
move from where you are to where it is.
However, one major difference
between a Boga and a Hurkle is the
Boga is also seeking you out at the
same time you are looking for it. You
don't have to tell it which directions to
go after each of its guesses to get
closer to you. It apparently has a very
good nose and can tell on its own.
However, it plays fairly and gives you
the first guess, and then it takes its
guess. Guesses continue alternately
until one or the other, human or boga,
find the opposing player. At the begin-
ning of the game, you may pri nt out the
grid if you wish to make your guessing
job slightly easier. Remember, direc-
tions in this game correspond to the
diagram; that is, north is up and east is
to the right.
This game was created by David
Strickler.
W E
111111
7
8
*
*
*
*
?.
•
*
•
*
«
*
*
>
*
*
>
*
t
:0
«
; i
t
*
>
1?
<
t
«
13
*
*
14
*
*
15
>
*
*
CHOOSE YOUR POSITION? -1.U
CHOOSE YOUR POSITION? 4,7
THE BOGA PICKS HIS POSITION!
GUESS « 1 ? 7,7
YOU GUESSED 7 , 7
HE'S MORE TO THE SOUTHWEST
THE BOGA GUESSES 7 , 7
GUESS • 2 ? 12,4
YOU GUESSED 12 , 4
HE'S HORE TO THE SOUTHWEST
THE BOGA 6UESSES 5 , 7
GUESS « 3 ? 14,1
YOU GUESSED 14 , 1
HE'S MORE TO THE WEST
THE BOGA GUESSES 4 , 7
THE BOGA GUESSED YOUR POSITION IN 3 OUESS(ES)!
THE BOGA UAS AT 14 ,
16
DO YOU WANT TO PLAY AGAIN? YES
HOU BIO SHOULD THE GRID BE(20 MAXIMUM)? 4
UOULD YOU LIKE A SAHPLE GRID? YES
12 3 4
*****
*****
*****
*****
*****
CHOOSE YOUR POSITION? 2,1
THE BOGA PICKS HIS POSITION!
GUESS it 1 ? 2,2
YOU GUESSED 2 , 2
HE'S MODE TO THE SOUTH
THE BOGA GUESSES 2 , 2
GUESS It 2 ? 4,2
YOU GUESSED 4 , 2
HE'S MORE TO THE NORTH
THE BOGA GUESSES 2 , 1
THE BOGA GUESSED YOUR POSITION IN 2 GUESS(ES)!
THE BOGA UAS AT 3 , 2
DO YOU UANT TO PLAY AGAIN? YES
HOU BIG SHOULD THE GRID BE(20 MAXIMUM)? 4
UOULD YOU LIKE A SAHPLE GRID? NO
CHOOSE YOUR POSITION? 0,4
THE SOGA PICKS HIS POSITION!
BUESS ft 1 ? 2,2
YOU GUESSED 2 , 2
HE'S MORE TO THE EAST
THE BOGA GUESSES 2 , 2
GUESS It 2 ? 2,3
YOU GUESSED THE BOGA'S POSITION IN 2 GUESS(ES) !
THE BOGA UAS AT 2 , 3
DO YOU UANT TO PLAY A6AIN? NO
Ok
LIST
10 PRINT TAB<26);"B0GA II"
14 PRINT TAB(20);«CREATIVE COMPUTING"
17 PRINT TAB(18);"M0RRIST0UN, NEU JERSEY"
20 PRINT:PRINT:PRINT
30 INPUT "DO YOU UANT INSTRUCTIONS" ;0)
35 PRINTsPRINT
40 IF LEFT*(0»,1)O"Y" THEN 220
70 PRINT " THE DOGA IS HIDING ON A GRID (YOU SPECIFY THE LENGTH"
80 PRINT "AND UIDTH). TRY TO GUESS HIS POSITION USING THE HINTS"
90 PRINT "I GIVE YOU. EACH 6UESS IS TUO NUMBERS SEPERATED BY"
100 PRINT "A COMMA. PLEASE KEEP IN MIND THAT THE BOGA IS ALSO"
1.05 PRINT "SEARCHIN6 FOR YOU!!!!"
110 PRINT:PRINT
220 U=0
240 K=1
250 F=0
260 INPUT "HOU BIG SHOULD THE GRID BE(20 MAXIHUM)";G
275 IF G>20 OR G<1 THEN PRINTrGOTO 240
280 S-6
290 REM: PRINTS THE GRID
300 INPUT "UOULD YOU LIKE A SAMPLE GRID";Z»
305 IF LEFT»(Z*,1)="N" THEN 380
310 PRINT
318 A*=""
320 IF 6<10 THEN 332
322 FOR X=10 TO G
324 X1=INT<X/10>
326 A»=A*tCHR»(XU48)+" "
328 NEXT X
330 PRINT TAB(25);A»
332 A*=""
334 FOR X=0 TO G
336 X1=X-INT(X/10)*10
338 A$=A$+CHR$(X1+48>+" "
340 NEXT X
342 PRINT TAB(5)JA»
344 A»=""
346 FOR X=0 TO G
348 A*=A»+"* "
350 NEXT X
352 FOR X=0 TO G
354 PRINT X;TAB(5);A»
356 NEXT X
380 PRINT
390 H=1
400 INPUT "CHOOSE YOUR POSI TION" ; X1 ,Y1
411 IF X1>G OR XKO OR Y1>G OR YKO THEN PRINT:GOTO 400
420 PRINT "THE BOGA PICKS HIS POSITION!"
440 X2=INT(RND(1)*G)
450 Y2=INT(RND(1)*G)
460 PRINT "GUESS tt"K;
470 INPUT X3,Y3
471 IF X3>G OR X3<0 OR Y3>G OR Y3<0 THEN PRINT:60T0 460
480 K=K+1
490 F=F+1
500 IF K=10 THEN 1040
510 IFABS(X3-X2)+ABS(Y3-Y2)=0 THEN 1010
520 PRINT "YOU GUESSED"X3","Y3
530 PRINT
540 PRINT "HE'S MORE TO THE ";
550 IF X2=X3 THEN 620
560 IF X2>X3 THEN 600
570 PRINT "NORTH";
590 GOTO 620
600 PRINT "SOUTH";
620 IF Y2=Y3 THEN 700
630 IF Y2>Y3 THEN 470
640 PRINT "UEST"
660 GOTO 700
670 PRINT "EAST"
690 REM: LINES 700-970 AND 1 1 10-1 150=BOGAS GUESSING FORMULA
700 PRINT"":IF H=0 THEN 730
710 X4=INT(.5*S)
720 Y4=INT(.5*S)
730 PRINT "THE BOGA GUESSES"X4","Y4
740 U=Ut1
750 PRINT ""
760 Q=ABS(Y1-Y4)+ABS(X1-X4)
770 IF Q=0 THEN ?80
780 H=0
790 IF Y4=Y1 THEN 1380
800 A=1
810 IF ABS(Y4-Y1)<2 THEN 830
820 GOSUB 1140
830 IF Y4<Y1 THEN 860
840 Y4=INT(ABS(Y4-A>>
850 GOTO 880
860 Y4=INT(ABS(Y4+A>>
870 IF Y4>G THEN 1110
880 IF X4=X1 THEN 970
890 A=1
900 IF AB5CX4-X1 )<2 THEN 920
910 GOSUB 1140
920 IF X4<X1 THEN 950
930 X4=INT(ABS<X4-A)>
940 GOTO 970
950 X4=INT(ABS(X4+A)>
96D IF X4>G THEN 1130
970 GOTO 460
980 PRINT "THE B06A 6UESSED YOUR POSITION IN"U"GUESS(ES) !"
990 PRINT
1000 SOTO 1050
1010 PRINT "YOU GUESSED THE B06A'S POSITION IN"F"GUESS(ES) !"
1020 PRINT
1030 GOTO 1050
1040 PRINT "YOU USED UP ALL OF YOUR GUESSES."
1050 PRINT "THE BOGA UAS AT"X2","Y2
1060 PRINT
1070 INPUT "DO YOU UANT TO PLAY AGAIN" ;Q$
1080 IF LEFT$(0»,1)="Y" THEN 220
1100 GOTO 1160
1110 Y4=.5*G
1120 GOTO 880
1130 X4=.5*G
1140 A=2
1150 RETURN
1160 END
Ok
17
Bombrun
Bombrun is an extremely accurate
simulation of an aircraft dropping a
bomb on a very small target. You may
specify whether the aircraft is climbing,
diving, and the angle in degrees. You
may specify speed in feet per second;
you may also specify at what point you
wish to drop the bomb. The program
gives you four passes over the target.
A perfect hit is possible but extreme-
ly difficult to achieve. A hit within 300
feet of the target is considered
"threatening" while hits outside of that
range may be considered a negative
commentary on your knowledge of
physics.
This program was originally written
by Jim Prelesnik.
RUM
BOMBRUN
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THIS PROGRAM SIMULATES A BOMBING RUN. DO YOU NEEB
INSTRUCTIONS? YES
YOU HAVE THE OPTION OF MAKING FOUR PASSES OVER THE TARGET,
UITH THE ABILITY TO BROP A BOMB ONCE DURING EACH OF
THESE PASSES. ALT! TUBE CHAN6ES MAYBE HADE THROUGH THE
'CLIMB/DIVE' COMMAND BY PRINTING 'CLIMB' OR 'DIVE',FOL-
LOUED BY A COMMA AND THE BESIRED ANGLE (IN DEGREES). NEU
VELOCITIES (RANGING FROM 300 TO 900 FEET PER SECOND) HAY
BE INPUT AFTER THE 'AIRSPEED' QUESTION HARK. 'CLIMB/DIVE'
AN6LES, VARYING FROM TO 15 DEGREES, KILL ADD AS SPEC-
IFIED BY 'CLIMB' OR'DIVE' COMMANDS TO YIELD A NET INCLIN-
ATION/DECLINATION ANGLE BETUEEN TO 60 DEGREES, CLIMBING
OR DIVING. A MINIMUM ALTITUDE OF 100 FEET MUST ALSO BE
MAINTAINED. UILLFULLY EXCEEDIM6 ANY OF THE MAX./MIN. SPECS
UILL RESULT IN THE CRASH OF YOUR BOMBER. ALSO , A BOMB
COMMAND OF 'DROP' DURIM6 A DIVE UILL 6IVE YOUR BOHB AH IN-
ITIAL DOUNUARD VELOCITY, SHORTENING THE DROP TINE, AS A
'CLIMB' COHMANB UILL LENGTHEN THIS TINE. THE BOHB UILL BE
LAUNCHES IMMEDIATELY FOLLOUING THE HOST RECENT 'STATS' READ
OUT UPON 'DROP' COHMANB, AND UILL BE HELD FOR FURTHER
POSITIONING INFORMATION UPON THE COMMAND 'STAND BY'. THE
TARGET IS t FOOT IN DIAMETER. 600B LUCK
M INITIAL**
***STATS**»
ELAPSED TIME... SECONDS
PRESENT AN6LE COMMAND... DEGREES
RESULTANT ANGLE... DEGREES
PRESENT VEROCITY... 674. 763 FEET PER SECOND
ALTITUDE... 428.7 FEET
DISTANCE FROM SITE... 4500 FEET
ESTIMATED TINE OF ARRIVAL... 5.13252 SECONDS
BOHB COMMAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 800
***STATS***
ELAPSED TIME... 1 SECOND
PRESENT ANGLE COMMAND... DEGREES
RESULTANT ANGLE... DEGREES
PRESENT VEROCITY... 600 FEET PER SECOND
ALTITUDE... 42S.7 FEET
DISTANCE FROM SITE... 3700 FEET
ESTIMATED TIME OF ARRIVAL... 4.625 SECONDS
BOHB COMMAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? NO
'CLIMB/DIVE' COHMAHD? DIVE, 10
AIRSPEED? 600
***STATS*»*
ELAPSED TIME... 2 SECONBS
PRESENT ANGLE COMMAND... DIVE, 10 DEGREES
RESULTANT ANGLE... 10 DEGREES DIVING
PRESENT VEROCITY... 600 FEET PER SECOND
ALTITUDE... 324.511 FEET
DISTANCE FROH SITE... 3109.12 FEET
ESTIMATED TIME OF ARRIVAL... S.2618 SECONDS
BOMB COMMAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 700
***STATS**»
ELAPSED TINE... 3 SECONDS
PRESENT AH8LE COHHAND... DE6REES
RESULTANT ANGLE... DEGREES DIVING
PRESENT VEROCITY... 700 FEET PER SECOND
ALTITUDE... 202.956 FEET
DISTANCE FROH SITE... 2419.75 FEET
ESTIMATED TINE OF ARRIVAL... 3.51011 SECONDS
BOHB CONHANB? STAND BY
STANDINB BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 700
IF YOUR ALTITUTE ISN'T INCREASED IMMEDIATELY TO A HIN-
IMUN OF 100 FEET, A CRASH IS IMMINENT.
'CLIMB/DIVE' COHHAND? CLIHB,20
YOUR BOHBER CAHNOT TOLERATE THE STRESS CAUSED BY ANGLE
INPUTS EXCEEDING tS DEGREES. RECONSIDER YOUR CHOICE.
'CLIMB/DIVE' COMMAND? CLIMB, 12
AIRSPEED? SOO
YOUR BOHBER FAILED TO MAINTAIN THE LOU ALTITUTE YOU DE-
SIRED AND SOON CRASHED.
BETTER LUCK NEXT TIHE.
DURING YOUR 1 -PASS BOMBRUN, YOU MANAGED TO STRIKE
UITHIN FEET OF THE TAR6ET.
MOULD YOU LIKE TO RELOAD AND PLAY A6AIN?
? YES
•♦INITIAL**
***STATS**»
ELAPSED TIHE... SECONDS
PRESENT ANGLE COMMAND... DEGREES
RESULTANT ANGLE... DEGREES
PRESENT VEROCITY... 567.958 FEET PER SECOND
ALTITUDE... 162.336 FEET
DISTANCE FROM SITE... 4500 FEET
ESTIMATED TIHE OF ARRIVAL... 7.92312 SECONDS
BOMB COMMAND? STAND BY
STANBIN6 BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 700
18
BOMB COMMAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 750
«**STATS***
ELAPSED TIME...
PRESENT ANGLE COMMAND...
RESULTANT AN6LE...
PRESENT VEROCITY...
ALTITUDE...
DISTANCE FROM SITE...
ESTIMATED TIHE OF ARRIVAL...
2 SECONDS
DEGREES
DE6REES
750 FEET PER SECOND
128.552 FEET
3000 FEET
4 SECONDS
BOMB COHHAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 750
***STATS***
ELAPSED TIME...
PRESENT ANGLE COHHAND...
RESULTANT ANGLE...
PRESENT VEROCITY...
ALTITUDE...
DISTANCE FROH SITE...
ESTIMATED TIME OF ARRIVAL...
BOHB COMMAND? STAND BY
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 750
3 SECONDS
DEGREES
DEGREES
750 FEET PER SECOND
128.552 FEET
2250 FEET
3 SECONDS
***STATS***
ELAPSED TIME...
PRESENT ANGLE COHHAND...
RESULTANT ANGLE...
PRESENT VEROCITY...
ALTITUDE...
DISTANCE FROH SITE...
4 SECONDS
DEGREES
DEGREES
750 FEET PER SECOND
128.552 FEET
1500 FEET
ESTIHATED TIHE OF ARRIVAL... 2 SECONDS
BOMB COHHAND? STAND BY PLEASE
UNRECOGNIZABLE COMMAND. REPLY 'STAND BY' OR 'DROP'.
STANDING BY.
MAINTAIN PRESENT RESULTANT ANGLE? YES
AIRSPEED? 300
***STATS***
ELAPSED TIME... 5 SECONDS
PRESENT ANGLE COHHAND... DEGREES
RESULTANT ANGLE... DE6REES
PRESENT VEROCITY.
ALTITUDE.
DISTANCE FROM SITE.
ESTIHATED TIME OF ARRIVAL.
300 FEET PER SECOND
128.552 FEET
1200 FEET
4 SECONDS
BOMB COMMAND? DROP
BOMB DROPPED.
TINE TO EXPLOSION... 2.8257 SECONDS
THE BOMB LANDED 352.28 FEET IN FRONT OF THE TARGET'S CENTER.
DURING YOUR 4 -PASS BOMBRUN, YOU MANAGED TO STRIKE
UITHIN FEET OF THE TAR6ET.
UOULD YOU LIKE TO RELOAD AND PLAY AGAIN?
? NO
LOOK OVER THE PHYSICS LAUS GOVERNING FALLING BODIES,
AND RETURN TO PLAY AGAIN SOON.
Ok
LIST
10 PRINT TAB<27)"B0HBRUN"
13 PRINT TAB(20)"CREATIVE COMPUTING"
15 PRINT TABUS) "HORRISTOUN, NEU JERSEY"
1? PRINT:PRINT
20 PRINT"THIS PROGRAM SIMULATES A BOMBING RUN. DO YOU NEED"
25 X5=3000
30 PRINT"INSTRUCTIONS";
40 INPUT 1$
50 IF I$="YES" THEN 90
60 IF I*="NO" THEN 290
70 PRINT"ILL06ICAL RESPONSE. REPLY'YES' OR "NO"."
80 60T0 40
90 PRINT"Y0U HAVE THE OPTION OF MAKING FOUR PASSES OVER THE TARGET , "
100 PRINT"MITH THE ABILITY TO DROP A BOMB ONCE DURING EACH OF"
110 PRINT"THESE PASSES. ALTITUDE CHANGES HAYBE MADE THROUGH THE"
120 PRINT "'CLIHB/DIVE' COHHAND BY PRINTING 'CLIMB' OR 'DIVE',FOL-"
130 PRINT"LOUED BY A COHMA AND THE DESIRED ANGLE (IN DEGREES). NEU"
140 PRINT"VELOCITIES (RANGING FROH 300 TO 900 FEET PER SECOND) HAY"
150 PRINT"BE INPUT AFTER THE 'AIRSPEED' QUESTION HARK. 'CLIMB/DIVE'"
140 PRINT"ANGLES, VARYING FROM TO 15 DEGREES, UILL ADD AS SPEC-"
170 PRINT" IFIED BY 'CLIHB' OR'DIVE' COMMANDS TO YIELD A NET INCLIN-"
180 PRINT "ATION/DECLINATION ANGLE BETWEEN TO 40 DEGREES, CLIMBING"
190 PRINT "OR DIVING. A MINIMUM ALTITUDE OF 100 FEET MUST ALSO BE"
200 PRINT"HAINTAINED. UILLFULLY EXCEEDING ANY OF THE MAX./HIN. SPECS
210 PRINT"UILL RESULT IN THE CRASH OF YOUR BOMBER. ALSO , A BOHB"
220 PRINT"COHHAND OF 'DROP' DURING A DIVE UILL GIVE YOUR BOMB AN IN-"
230 PRINT"ITIAL DOUNUARD VELOCITY, SHORTENING THE DROP TIHE, AS A"
240 PRINT"'CLIHB' COMMAND UILL LENGTHEN THIS TIHE. THE BOHB UILL BE"
250 PRINT"LAUNCHED IMMEDIATELY FOLLOWING THE MOST RECENT 'STATS' READ
240 PRINT "OUT UPON 'DROP' COHHAND, AND UILL BE HELD FOR FURTHER"
270 PRINT"POSITIQNING INFORMATION UPON THE COHHAND 'STAND BY'. THE"
280 PRINT"TARGET IS 1 FOOT IN DIAMETER. GOOD LUCK"
290 Z1=1000
300 Z2=1000
310 Z3=1000
320 Z4=1000
330 R=R+1
340 U1 =0
350 X2=0
340 U3=0
370 U4=0
380 T=0
390 A1=0
400 A=0
410 V1=RND(1)
420 V=V1*1000
430 IF V<300 OR V>900 THEN 410
440 Y1=RND(1)
450 Y=Y1*500
440 IF Y<100 THEN440
470 X=4500
480 PRINT" "
490 PRINT" "
500 E=X/V
510 PRINT TABOO) "**INITIAL»*"
520 PRINT TAB(30)"***STATS***"
530 GOT01430
540 U1=0
550 U2-0
540 U3=0
570 «4=0
580 PRINT" "
590 PRINT"B0MB COMMAND";
600 INPUT C»
610 IF C$="STAND BY" THEN 640
620 IF C»="DROP" THEN 1680
630 PRINT"UNRECOGNIZABLE COHMAND. REPLY 'STAND BY' OR 'DROP'."
640 PRINT'STANDING BY."
650 PRINT " "
660 GOTO 700
670 A=A-A1
680 T=T-1
690 GOTO 770
700 PRINT"MAINTAIN PRESENT RESULTANT ANGLE";
710 INPUT P$
720 PRINT" "
730 IF P$="YES" THEN 1130
740 IF P$="NO" THEN 770
750 PRINT"REPLY 'YES' OR'NO'.";
760 GOTO 710
770 PRINT"'CLIHB/DIVE' COHMAND";
780 INPUT A»,A1
790 PRINT" »
800 IF AKO THEN 830
810 IF A1>15 THEN 870
820 GOTO 930
830 PRINT"ANGLE INPUT MUST BE POSITVE. IF NECESSARY, CHANGE THE"
840 PRINT"'DIVE' COMMAND TO 'CLIMB', OR VICE VERSA."
19
850 PRINT" "
860 60T0770
870 U1=U1+1
880 IF U1=2- THE« 2120
890 PRINT"Y0UR BOMBER CANNOT TOLERATE THE STRESS CAUSED BY ANGLE"
900 PRINT"INPUTS EXCEEDING 15 DEGREES. RECONSIDER YOUR CHOICE. "
910 PRINT" "
920 OOTO 770
930 IF A»="CLINB" THEN 950
940 A1=-A1
950 A=A+A1
910 IF A<-60 THEN 990
970 IF A>40 THEN 1040
980 SOTO 1140
990 M2=U2*1
1000 IF U2=2 THEN 2170
1010 PRINT"YOUR PRESENT'DIVE' COMMAND UILL EXCEED THE HAXINUN RE-"
1020 PRINT"SULTANT DIVE ANGLE OF 40 DEGREES, CAUSING AN IRREVERSIBLE"
1030 PRINT" NOSEDIVE. RECONSIDER YOUR CHOICE."
1040 PRINT" "
1050 GOTO 470
1040 U3=U3+1
1070 IF 113=2 THEN 2210
1080 PRINT"YOUR PRESENT 'CLIMB' COMMAND UILL EXCEED THE HAXINUN RE-"
1090 PRINT"SULTANT CLIMB ANGLE OF 60 DEGREES, CAUSING YOUR"
1100 PRINT" ENGINES TO FAIL AND YOUR PLANE TO CRASH. RECONSIDER YOUR "
1105 PRINT"CHOICE"
1110 PRINT" "
1120 GOTO 470
1130 REM
1140 PRINT"AIRSPEED";
1150 INPUT V
1140 IF V>900 THEN 1190
1170 IF V<300 THEN 1230
1180 GOTO 1290
1190 PRINT"YOUR BOMBER ISN'T CAPABLE OF ATTAINING THAT VELOCITY."
1200 PRINT"INPUT AN AIRSPEED LESS THAN 900 FEET PER SECOND."
1210 PRINT" "
1220 GOTO 1150
1230 U4=U4+1
1240 IF U4=2 THEN 2250
1250 PRINT"IF YOUR VELOCITY ISN'T INCREASED IMMEDIATELY, YOUR BOMBER"
1240 PRINT"UILL FALL TO EARTH ANO BE DESTROYED. "
1270 PRINT" "
1280 GOTO 1140
1290 T=T+1
1300 B=A*3. 14159/180
1310 Y=Y+V*SIN(B>
1320 IF Y>100 THEN 1390
1330 U5=U5+1
1340 IF 115=2 THEN 2290
1350 PRINT"IF YOUR ALTITUTE ISN'T INCREASED IMMEDIATELY TO A MIN-"
1340 PRINT"IMUN OF 100 FEET, A CRASH IS IMMINENT."
1370 PRINT" "
1380 60T0 470
1390 X=X-V*COS(B)
1400 IF X<=0 THEN 2350
1410 E=X/(V*C0S(B>>
1420 PRINT TAB(30)"***STATS***"
1430 PRINT" "
1440 IF N0T(T=1 1THEN 1470
1450 PRINT TAB (20) "ELAPSED TINE... 1 SECOND"
1440 GOTO 1480
1470 PRINT TAB(20)"ELAPSED TIME. . ." JT; "SECONDS"
1480 IF N0T(A1=0) THEN 1510
1490 PRINT TAB ( 1 1 ) "PRESENT ANGLE COMMAND... DEGREES"
1500 GOTO 1550
1510 IF A*="CLIHB" THEN 1540
1520 PRINTTABtl 1 )"PRESENT ANGLE COMNAND... DIVE, ";-A1 ("DEGREES"
1530 GOTO 1550
1540 PRINT TAB ( f 1 )"PRESENT ANGLE COMMAND... CLIMB, " ;A1 ; "DEGREES"
1550 IF A<0 THEN 1590
1540 IF A>0 THEN 1410
1570 PRINT TAB(17)"RESULTANT ANGLE... DEGREES"
1580 60T0 1420
1590 PRINT TAB(17)"RESULTANT ANGLE. .." J-A1 ; "DEGREES DIVING"
1400 GOTO 1420
1410 PRINT TAB(17)"RESULTANT ANGLE . . . " ; A ; "DEGREES CLIMBING"
1420 PRINT TAB( 1 6) "PRESENT VEROCITY... "JVJ'TEET PER SECOND"
1430 PRINT TAB( 24) "ALTITUDE. . . ";Y;"FEET"
1440 PRINT TAB(14)"DISTANCE FROM SITE... ";X;"FEET"
1450 PRINT TAB(7)"ESTIMATED TIME OF ARRIVAL... ";E;"SECONDS"
1440 PRINT
1470 GOTO 540
1480 PRINT"B0MB DROPPED."
1690 T3=(S0R<(V*8IN(B))"2+44.4*Y)tV*SIN(B))/32.2
1700 PRINT"TINE TO EXPLOSION... " J T3 J "SECONDS"
1710 X=X-V*C08(B)*T3
1720 X=INT(X*100)/100
1725 IF X5>ABS(X5> THEM X5=ABS(X5>
1730 PRINT " "
1740 IF X<-.5 THEN 1780
1750 IF X>.5 THEN 1800
1740 PR1NT"C0NGRATULATI0NS, YOU SCORED AS PERFECT HIT."
1770 GOTO 2030
1780 PRINT"THE BOMB LANDED";-X;"FEET BEYOND THE TARGET'S CENTER."
1790 GOTO 1810
1800 PRINT"THE BOMB LANDED";X;"FEET IN FRONT OF THE TARGET'S CENTER."
1810 IF R=1 THEN 1850
1820 IF R=2 THEN 1870
1830 IF R=3 THEN 1890
1840 IF R=4 THEN 1910
1850 Z1=ABS(X)
1840 60TO 2400
1870 Z2=A8SU)
1880 GOTO 2420
1890 Z3=ABS(X>
1900 GOTO 2440
1910 Z4=ABS(X)
1920 Z1=Z10(1):Z2=Z1O(2):Z3=Z1O(3):Z4=Z1O(4)
1921 FOR H=1 TO 4
1922 FOR M1= 4 TO 1 STEP-1
1923 IF Z10(MXZ10(M1) THEN Z10(M)=X5
1924 IF M=M1 AND M=1 THEN 1924
1925 NEXTM1
1924 NEXT M
1930 PRINT" "
1940 IF X5<= 300 THEN 2000
1950 PRINT"DURING YOUR";R;"-PASS BOMBRUN, YOU FAILED TO EVEN"
1940 PRINT"THR£ATEN THE TARGET UITH A HIT. BETTER LUCK NEXT TIME."
1970 IF R*="NO" THEN 2590
19B0 GOTO 2040
1990 GOTO 2410
2000 PRINT"DURING YOUR"JR;"-PASS BOMBRUN, YOU MANAGED TO STRIKE"
2010 PRINT"UITHIN";X5;"FEET OF THE TARGET."
2020 PRINT" "
2030 IF R*="NO" THEN 2590
2040 PRINT"4I0ULD YOU LIKE TO RELOAD AND PLAY AGAIN'"
2050 INPUT A$
2040 IF A*="NO" THEN 2590
2070 IF A»="YES" THEN 2100
2080 PRINT"YOU MUST BE A LOUSY SPELLER. REPLY 'YES' OR'NO'."
2090 GOTO 2050
2100 R=0
2110 GOTO 290
2120 PRINT"YOU TORE THE UINGS OFF OF YOUR BOMBER BY EXCEEDING THE"
2130 PRINT"MAXIMUN ANGLE INPUT OF 15 DEGREES. NEXT TIME TAKE MY ADVISE"
2150 H=1
2140 GOTO 1920
2170 PRINT"THE STEEP DIVE ANGLE DESIRED CAUSED AN IRREVERSIBLE NOSE-"
2180 PRINT"DIVE, RESULTING IN THE DESTRUCTION OF YOUR BOMBER. "
2190 H=1
2200 GOTO 1920
2210 PRINT"THE ENGINES OF YOUR BOMBER FAILED UHILE CLIMBING THE"
2220 PRINT"STEEP ANGLE INPUT DURING YOUR ANGLE COMMAND OPPORTUNITY."
2230 H=1
2240 60T0 1920
2250 PRINT"THE VEROCITY OF YOUR BOMBER UAS INSUFFICIENT TO SUPPORT"
2240 PRINT-ITS WEIGHT, AND CONSEQUENTLY IT CRASHED."
2270 H=1
2280 60T0 1920
2290 PRINT"YOUR BOMBER FAILED TO MAINTAIN THE LOU ALTITUTE YOU DE-"
2300 PRINT"SIRED AND SOON CRASHED. "
2310 PRINT"BETTER LUCK NEXT TIME."
2320 H=1
2330 GOTO 1920
2340 PRINT"YOUR BOMBER JUST PASSED UP THE TARGET, AND NEEDLESS TO"
2350 PRINT"SAY, YOU NO LONGER THREATEN ITS EXISTENCE."
2360 PRINT" "
2370 IF R=2 THEN 2420
2380 IF R=3 THEN 2440
2390 IF R=4 THEN 1920
2400 Q*=" SECOND "
2410 60T0 2450
2420 Q$="THIRD"
2430 GOTO 24S0
2440 0»="FOURTH AND FINAL"
2450 IF R>1 THEN 2490
2460 PRINT"YOU HAVE THUS FAR COMPLETED 1 RUN. UOULD YOU LIKE TO"
2470 PRINT"MAKE ANOTHER PASS";
2480 60T02510
2490 PRINT"YOU HAVE THUS FAR COMPLETED ";R;"RUNS. UOULD YOU LIKE TO "
2500 PRINT"ANOTHER PASS";
2510 INPUT R$
2520 IF R»="YES" THEN 2540
2530 IF R*="NO" THEN 1920
2540 PRINT"SIMPLY REPLY 'YES' OR'NO'."
2550 GOTO 2510
2540 PRINT"YOUR PLANE HAS CIRCLED, AND IS NOU IN POSITION TO MAKE"
2570 PRINT"ITS";Q$;"PASS."
2580 GOTO 330
2590 PRINT"L00K OVER THE PHYSICS LAUS 60VERNING FALLING BODIES,"
2400 PRINT"AND RETURN TO PLAY AGAIN SOON. "
2610 END
Oil
20
Bridge-It
Bridge-it is a two-player pencil and
paper logic game. One player is
represented by X's, the other by O's.
The X's and O's are arranged in an
alternating grid pattern so that X's may
be joined to one another by a line
without crossing an O and O's may be
joined to one another without crossing
an X. The object of the game is for the
X's to draw a line from the top to the
bottom of the board. The O's must
connect a continuous chain from the
right to the left of the board. Players
move alternately and may go any place
on the grid. Any two of your symbols,
either X's or O's, may be connected
together on a given move.
In this particularversionofthegame,
the computer is your opponent. The
computer plays the X's and you play
the O's. The computer moves first,
which gives it a very slight advantage. If
you find it is too formidable an oppo-
nent you may wish to modify the
program to allow the player to move
first. At any point during the game you
may ask for a printout of the board and
see how the play is progressing.
This program was written by Michael
Kass, Miles Barel, and Alan Segal.
RUN
BRIDGE-IT
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
DO YOU UANT INSTRUCTIONS? YES
THE OBJECT OF THIS GAME IS FOR YOU TO 60 FROH THE LEFT
COLUHN TO THE RIGHT COLUMN BY CONNECTING THE O'S. THE COM-
PUTER HUST 00 FROH THE TOP TO THE B0TT0H BY CONNECTING
the rs.
YOU HAKE YOUR HOVES BY TYPING IN THE COORDINATES (X,Y) OR
( COLUMN, ROU)
Of THE '0' YOU U1SH TO HOVE FROH AFTER THE COHPUTER
TYPES:
YOUR HOVE FROH?
AND BY TYPING IN THE COORDINATES OF THE'O' YOU UISH TO HOVE
TO AFTER THE COHPUTER TYPES:
TO?
YOU CAN HOVE EITHER VERTICALLY OR HORIZONTALLY,
BUT NOT DIAGONALLY. YOU CANNOT HOVE VERTICALLY IN EITHER
THE FIRST COLUHN OR THE THIRTEENTH COLUHN. THE COMPUTER MILL
MOVE FIRST.
TEAR ON LINE
YOU HAY USE THIS BOARD TO MARK THE HOVES ON, OR
YOU CAN GET AN UPDATED BOARD AFTER YOU HAKE EACH HOVE.
1111
1234567890123
13 X X X X X X
12 0000000
11 X X X X X X
10 0000000
? X X X X X X
eoooooco
7 X X X X X X
60000000
5 X X X X X X
4
3 X X X X X X
2CC00OCO
1 X X X X X X
1234547891111
0123
I MOVE FROM 2,1 TO 2,3
YOUR HOVE FROM? 1,4
TO? 3,4
BOARD (YES OR NO)? N
I MOVE FROM 4 , 3 TO 4,5
YOUR HOVE FROH? 3,2
TO? 3,4
BOARD (YES OR NO)? N
I MOVE FROM 4 , 1 TO 4,3
YOUR HOVE FROM? 3,3
TO? 5,3
INVALID HOVE — TRY AGAIN
YOUR HOVE FROH? 3,6
TO? 5,6
BOARD (YES OR NO)? N
I MOVE FROM 6 , 5 TO 6,7
YOUR HOVE FROM? 5,4
TO? 5.6
BOARD (YES OR NO)? N
I MOVE FROM 6 , 3 TO 6,3
YOUR HOVE FROM? 5,8
TO? 7.8
BOARD (YES OR NO!? N
I MOVE FROM 8 , 7 TO 8,9
TEAR ON LINE " ^
21
BOARD (YES OR NO)? Y
1111
1234547890123
13
X X X X X X
12
11
X X X X X X
10
o o o o-o o o
9
X X X X X X
0-010
X X X X X X
0-010
X X!X X X X
0-0!0!0
XIX X X X X
0!0!0
X X X X X X
1234547891111
0123
I MOVE FROM 10 , 9 TO 10 , 11
YOUR HOVE FROM? 9,8
TO? 9,10
BOARD (YES OR NO)? N
I MOVE FROM 10 , 7 TO 10,9
YOUR MOVE FROM? 7,6
TO? 7.8
BOARD (YES OR NO)? N
I MOVE FROM 8 , 5 TO 3,7
YOUR HOVE FROM? 9,12
TO? 11,12
BOARD (YES OR NO)? N
I MOVE FROM 12 . 11 TO 12 , 13
I U1NMM
BOARD (YES OR NO)? Y
mi
1234567890123
13
X X X X X X
12
0-010
11
X X X X X X
10
0-010
X X X XIX X
0-OIO1O
X X X!X X X
0-0101O
X XIX X X X
0-01010
XIX X X X X
2
01010
X X.X X X X
1234547891111
0123
LIST.
5 PRINT TAB(241;"BRIDGE-IT"
10 PRINT TAB(20);"CREATIVE COMPUTING"
20 PRINT TAB(18>;"M0RRIST0UN, NEW JERSEY"
30 1=1-2
42 PRINT
50 PRINT
70 PRINT"DO YOU UANT INSTRUCTIONS" ;
80 INPUT B4*
90 PRINT
100 IF LEFT*(B4»,1)="N" THEN 300
120 PRI NT " THE OBJECT OF THIS BANE IS FOR YOU TO GO FROM THE LEFT "
130 PRINT"COLUMN TO THE RIGHT COLUMN BY CONNECTING THE O'S. THE COM-"
140 PRINT"PUTER MUST GO FROM THE TOP TO THE BOTTOM BY CONNECTING"
145 PRINT"THE X'S."
150 PRINT
160 PRINT"YOU MAKE YOUR MOVES BY TYPING IN THE COORDINATES (X,Y) OR"
170 PRINT"(COLUMN,ROU)"
171 PRINT"OF THE '0' YOU UISH TO MOVE FROM AFTER THE COMPUTER"
172 PRINT" TYPES:"
180 PRINT
190 PRINV'YOUR MOVE FROM?"
200 PRINT
210 PRINT"AND BY TYPING IN THE COORDINATES OF THE'O' YOU UISH TO MOVE"
220 PRINT"TO AFTER THE COMPUTER TYPES:"
230 PRINT
240 PRINT"TO?"
250 PRINT
260 PRINT"YOU CAN MOVE EITHER VERTICALLY OR HORIZONTALLY , "
270 PRINTOUT NOT DIAGONALLY. YOU CANNOT MOVE VERTICALLY IN EITHER"
280 PRINT"THE FIRST COLUMN OR THE THIRTEENTH COLUMN. THE COMPUTER U1LL"
281 PRINT"MOVE FIRST."
290 PRINT : PRI NT
300 DIM X(20,20)
320 DIM0(20,20)
330 DIMT(20,20)
340 FOR X = 1 TO 13 STEP 2
,550 FOR Y=2 TO 12 STEP2
360 0<X,Y)=1
370 X(Y,X)=1
380 NEXT Y
390 NEXT X
400 6010480
410 PRINT
420 PRINT"EOARD (YES OR NO)";
430 INPUTB»
440 PRINT
450 IF LEFTJ(B$,1)="N" THEN 490
480 GOSUB 990:REM FRINT BOARD SUBROUTINE
490 IF E<>5 THEN 510
500 GOTO 3010
510 G0SUB1440:REH COMPUTER MOVE
520 60SUB 440:REM COMPUTER UIN SUBROUTINE
530 PRINT
540 IF E=5 THEN 420
550 G0SU82710:REM PLAYER UIN SUBROUTINE
540 PRINT
570 PRINT"»OUR MOVE FROM" ;
580 INPUT F,G
590 PRINT"TO";
400 INPUT F1,61
610 PRINT
620 GOSUB 2220:REM ERROR AND CHANGE BOARD SUBROUTINE
630 60TU 420
640 REM UIN SUBROUTINE *«»*»♦«*******«»****»*»»»«»»****»**»**»«#*«*»**»
450 REN FIRST TEST
660 FOR H=1 TO 1! STEP 2
670 J=12
680 IF 0(H,J)=3 THEN 710
490 NEXT H
700 GOTO 980
710 FOR 1=1 TO 11 STEP 2
720 J=2
730 IF 0(I,J>=3 THEN 760
740 NEXT I
750 GOTO 980
760 REM OTHER TESTS - —
770 J=J+2
780 IF J=12 THEN 960
790 IF 0(I,J)=3 THEN 870
800 IF 0(1+1, J+1!=2 THEN 890
810 IF I-KO THEN 840
820 IF 0(1-1, J-1)=2 THEN 920
830 IF X(It1,J+1)=2 THEN 890
840 IF I-KO THEN980
850 IF X(I-1,J-1) THEN 890
860 GOTO 740
870 J=J+2
880 GOTO 780
890 J=J
900 1=1+2
910 GOTO 780
920 J=J
950 GOTO 980
960 PRINT"I (JIN i 1 1 !"
970 E=5
980 RETURN
990 REM PRINT BOARD SUBROUTINE ****************************************
1000 R=R+1
1010 IF R>1 THEN 1150
1020 PRINT"TEAR ON LINE"
1030 PRINT" - "
1040 PRINT"YOU MAY USE THIS BOARD TO MARK THE MOVES ON, OR"
1050 PRINT"YOU CAN GET AN UPDATED BOARD AFTER YOU MAKE EACH MOVE."
1040 PRINT
1070 PRINT
1080 PRINT
1090 PRINT
1100 PRINT
1110 PRINT
1120 PRINT TAB(5);CHR»(7):CHR»(13);TAB(5);CHR«(7)
1130 PRINT
1140 PRINT
1150 D=0
1140 PRINT TAB < 1 3) "1 1 1 1 "
1170 PRINT TAB(4)"1234547890123"
1180 FOR Y=13 TO 1 STEP -1
22
1190 IF Y<t THEN 1220
1200 PRINT T;
1210 GOTO 1230
1220 PRINT" "r;
1230 FOR X=1 TO 13 STEP1
1 240 IF Y/2=INT(Y/2> THEN 1330
1250 IF X(X,Y>=0 THEN 1420
1260 ONX(X,Y) GOTO 1270,1290,1310
1270 PRINT"X ";
1280 GOTO 1450
1290 PRINT"X-";
1300 GOTO 1430
1310 PRINPX!";
1320 GOTO 1450
1330 D=0
1340 IF O(X,Y)=0 THEN 1450
1350 ON 0(X,Y) GOTO 13(50,1380,1400
1360 PRINT "0 ";
1370 GOTO 1450
1380 PRINT"0-";
1390 GOTO 1450
1400 PP.INT"0!";
1410 GOTO 1450
1420 D=D+1
1430 IF1)>1 THEN 1450
1440 PRINT " "J
1450 NEXT X
1460 GOSUB 1620
1470 NEXT Y
1 480 PRINT TAB 1 4 > "1 234567891 111"
1490 PRINT TAB(131"0123"
1500 R1=R1+1
1510 IF R1>1 THEN 1390
1520 PRINT
1530 PRINT
1540 PRINT" -
1550 PRINT"TEAR ON LINE"
1560 PRINT
1570 PRINT
1580 PRINT
1590 PRINT
1600 PRINT
1610 RETURN
1620 PRINT
1630 RETURN
1640 REM COMPUTER MOVE SUBROUTINE *************************************
1650 8=B+1
1660 IF B>1 THEN 1710
1670 0S1,2>=3
1680 PRINT "I MOVE FROM 2,1 TO 2,3"
1690 B1=B1+1
1700 IF B1>1 THEN 1890
1710 FOR C=3 TO 11 STEP 2
1720 T(C,C+1)=1
1730 T(C-2,C+1>=1
1740 GOTO 1790
1750 NEXT C
1760 T(2,3)=3
1770 T<7,12>=2
1780 GOTO 1890
1790 FOR 0=C+3 TO 12 STEP 2
1800 T(C-2,B>=2
1810 T(C-1,G+1)=2
1820 T(C-1,Q-1)=2
1830 NEXT
1840 FOR S=C TO 3 STEP -2
1850 T(C-1,S)=3
1860 T<C,S-1>=3
1870 NEXT S
1880 GOTO 1750
1890 IF F>F1 THEN 1950
1900 IF FOF1 THEN 1920
1910 IF G>G1 THEN 1950
1920 X=F
1930 Y=6
1940 GOTO 1970
1950 X=F1
1960 Y=G1
1970 IF T<X,Y)=0 THEN 2210
1 980 IF FOF1 THEN 2000
1990 ON T(X-1,Y+1) GOTO 2010,2080,2150
2000 ON T(X,Y) GOTO 2010,2080,2150
2010 IF X=Y-1 THEN 2050
2020 0<X+2,Y>=3
2030 PRINT"I MOVE FROM ";X+3;\";Y-1 ;"T0 ";X+3;",";Y+1
2040 GOTO 2210
2050 0(X-2,Y)=3
2060 print"I hove froh ";x-i ;",";Y-i ;"T0 ";x-i;v;y+i
2070 GOTO 2210
2080 IF X(X-1,Y+1)=3 THEN 2120
2090 X(X+1,Y-1)=2
2100 PRINT"I HOVE FROM ";x+i;",";y-1 j"TO ";x+3;",";Y-i
2110 GOT02210
2120 0<X-2.Y+2!=3
2130 PRINT"! HOVE FROM ";X-1 ",";y+i ;"T0 ";x-i ;", " ;y+3
2140 GOTO 2210
2150 IF X(X-1,Y+1)=3 THEN 2190
2160 X(X-1,Y+t!=2
2170 PRINT"I move from ";X-1 ;",";Y+1 ;"T0 ";X+1;",";Y+1
2180 GOTO 2210
2190 0<X,Y)=3
2200 PRIHT-I HOVE FROM »;x+i ;\";y-i ;"T0 " ;X+1 ■■ ;Y+1
2210 RETURN
2220 REM ERROR AND CHANGE BOARD SUBROUTINE*****************************
2230 IF FOF1 THEN 2280
2240 IF F=1 THEN 2630
2250 IF F=13 THEN 2630
2260 IF F1=13 THEN 2630
2270 IF G=G1 THEN 2630
2280 IF F/2=INT(F/2) THEN 2630
2290 IF F>13 THEN 2630
2300 IF G>12 THEN 2630
2310 IF G/2<> INT(G/2) THEN 2630
2320 IF POINT IF ) THEN 2630
2330 IF F<1 THEN 2630
2340 IF G<1 THEN 2630
2350 IF F1/2=INT(F1/2> THEN 2630
2360 IF F1>13 THEN 2630
2370 IF G1>12 THEN 2630
2380 IF G1/2 OINKG1/2) THEN 2630
2390 IF FKMNT(FI) THEN 2630
2400 IF 6K1 THEN 2630
2410 IF F=F1 THEN 2530
2420 IF G<.>01 THEN 2630
2430 IF ABS(F-F1)<>2 THEN 2630:RE« PRINT ERROR
2440 IF F>F1 THEN 2490
2450 IF 0<F,6)=2 THEN 2630
2460 IF 0(F,G)=3 THEN 2430
2470 0(F,G)=2
2480 GOTO 2700:REM RETURN
2490 IF 0(F1,G1)=2 THEN 2630
2500 IF Of Fl ,61 1=3 THEN 2630
2510 0(F1,G1)=2
2520 GOTO 2700: REM RETURN
2530 IF ABS<G-G1K>2 THEN 2530:REM PRINT ERROR
2540 IF G>61 THEN 2590
2550 IF X(F-1,G+1)=2 THEN 2630
2560 IF X(F-1,G+1)=3 THEN 2630
2570 X(F-1,G+1)=3
2580 GOTO 2700 :REM RETURN
2590 IF X(F1-1,G1+1)=2 THEN 2430
2600 IF XCF1-1 .61 + 1 ) =3 THEN 2630
2610 X(F1-1 ,61 + 1 > = 3
2620 GOTO 2700:REM RETURN
2630 PRINT" INVAL IB MOVE — TRY AGAIN"
2640 PRINT
2650 PRINT"YOUR MOVE FROM";
2660 INPUT F,G
2670 PRINT"TO";
2680 INPUT Fl ,01
2690 GOTO 2220
2700 RETURN
2710 REM PLAYER UIN ROUTINE *******************************************
2720 FOR H=l T011 STEP 2
2730 1=12
2740 IF X(I,H)=3 THEN 2770
2750 NEXT H
2760 GOTO 3000
2770 FOR J=1 TO 11 STEP 2
2780 1=2
2790 IF X(I,J)=3 THEN 2820
2800 NEXT J
2810 GOTO 3000
2820 1=1+2
2830 IF 1=12 THEN 2970
2840 IF X(I,J)=3 THEN 2910
2850 IF X(I+1,J+1)=2 THEN 2930
2860 IF J-KO THEN 2890
2870 IF X(I-1,J-1)=2 THEN 2950
2880 IF0(I+1,J+1)=2 THEN 2930
2890 IF J-KO THEN 3000
2900 GOTO 2808
2910 1=1+2
2920 GOTO 2830
2930 J=J+2
2940 GOTO 2830
2950 J=J-2
2960 GOTO 2830
2970 IF 0(1,2)02 THEN 3O00
2980 PRINT-YOU UIN !!! CONGRATULATIONS! 1 !"
2990 E=5
30OO RETURN
3010 END
Ok
23
Camel
In this game of high adventure, your
object is to travel 200 miles across the
great Gobi Desert. You're being chased
by a tribe of knock-kneed pygmies.
You have one quart of water which will
last you for six drinks; it may be
renewed if you find an oasis or, if you
are found by anothertraveller, you may
get an additional half-quart of water.
During your journey you encounter all
types of hazards such as sand storms,
wild Berbers and possible injuries to
your camel.
Warning: this is a very hazardous and
addictive game. It is also very difficult
to win. In ten plays of the game, the
maximum distance we were able to
travel was 159 miles, and in many cases
we managed to make only seven or
eight miles before one of the hazards
caused our demise.
This game was submitted by the
Heath Users Group.
RUN
CAMEL
CREATIVE COMPUTING
HORRISTQUN, NEU JERSEY
WOULD rOU LIKE INSTRUCTIONS? YES
UELCOHE TO CAMEL. THE OB JEST IS TO TRAVEL
200 MILES ACROSS THE 6REAT GOBI DESERT.
A TRIBE OF KNOCKED KNEED PIGMIES UILL BE CHASING YOU.
YOU UILL BE ASKED FOR COMMANDS EVERY SO OFTEN.
COMMANDS;
til DRINK FROM YOUR CANTEEN
82 AHEAD MODERATE SPEED
H3 AHEAD FULL SPEED
«4 STOP FOR THE NI6HT
#5 STATUS CHECK
H4 HOPE FOR HELP
YOU HAVE ONE QUART OF WATER UHICH UILL LAST YOU SIX DRINKS.
YOU HAVE RENEU YOUR UATER SUPPLY COMPLETELY AT AN OASES.
YOU GET A HALF A QUART IF FOUND BY HELP.
IF HELP DOES NOT FIND YCU AFTER COHHAND SIX, YOU LOSE.
GOOD LUCK AND GOOD CAMELING !!
YOU ARE IN THE MIDDLE OF THE DESERT AT AN OASIS.
YOU HAVE TRAVELLED MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 3
YOUR CAMEL IS BURNING ACROSS THE DESERT SANDS .
YOU HAVE TRAVELLED 4 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 3
YOUR CAMEL IS BURNING ACROSS THE DESERT SANDS.
U A R N I N G GET A DRINK
YOU HAVE TRAVELLED 8 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 4
YOUR CAMEL THANKS YOU !
THE PYGMIES HAVE CAPTURED YOL'. CAMEL AND PEOPLE SOUP IS
THEIR FAVORITE DISH ! ! ! ! !
WANT A NEU CAMEL AND A NEU GAME '' Y
GOOD LUCK AND GOOD CAMELING !!
YOU ARE IN THE MIDDLE OF THE DESERT AT AN OASIS.
YOU HAVE TRAVELLED MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 3
YOUR CAMEL IS BURNING ACROSS THE DESERT SANDS.
YOU HAVE TRAVELLED k MILES ALLTOGETHER.
UHAT IS YOUR COMMAND? 2
YOUR CAMEL LIKES THIS PACE.
" U A R N I N G GET A DRINK
YOU HAVE TRAVELLED 8 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 1
BETTER UATCH FOR AN GASES !
UHAT IS YOUR COMMAND? 2
YOU HAVE BEEN CAUGHT IN A SANDSTORM GOOD LUCK 1
YOUR NEU POSITION IS 12 MILES SO FAR 1
YOUR CAMEL LIKES THIS PACE.
THE PYGMIES ARE 10 MILES BEHIND YOU.
YOU HAVE TRAVELLED 20 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 3
YOU DIRTY RAPSCALLION! YOU RAN YOUR POOR CAMEL TO DEATH
YOU DIED IN THE DESERT.
YOUR BODY WAS EATEN BY VULTURES AND IMPORTED CANNIN3ALS
WANT A NEU CAMEL AND A NEU GAME ? Y
GOOD LUCK AND GOOD CAMELING !!
YOU ARE IN THE MIDDLE OF THE DESERT AT AN OASIS.
YOU HAVE TRAVELLED MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 2
YOU HAVE ARRIVED AT AN OASES YOUR CAMEL IS
FILLING YOUR CANTEEN AND EATING FIGS.
YOUR CAMEL LIKES THIS PACE.
YOU HAVE TRAVELLED 3 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 2
YOUR CAMEL LIKES THIS PACE.
YOU HAVE TRAVELLED 11 MILES ALLTOGETHER.
UHAT IS YOUR COMMAND? 2
YOUR CAMEL LIKES THIS PACE.
" U A R N I N G GET 6 DRINK
THE PYGMIES ARE ? MILES BEHIND YOU.
YOU HAVE TRAVELLED H MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 1
BETTER UATCH FOR AN OASES !
WHAT IS YOUR COMMAND? 2
TOUR CAMEL HURT HIS HUHP.
LUCKILY THE PYGMIES WERE FOOTUEARY ! ! '
YOUR CAMEL LIKES THIS PACE.
THE PYGMIES ARE 11 MILES BEHIND YOU.
YOU HAVE TRAVELLED 21 MILES ALLTOGETHER.
UHAT IS YOUR COMMAND? 2
YOUR CAMEL LIKES THIS PACE.
THE PYGMIES ARE 15 MILES BEHIND YOU.
YOU HAVE TRAVELLED 28 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 2
YOU HAVE ARRIVED AT AN OASES YOUR CAMEL IS
FILLING YOUR CANTEEN AND EATING FIGS.
YOUR CAMEL LIKES THIS PACE.
THE PYGMIES ARE 13 MILES BEHIND YOU.
YOU HAVE TRAVELLED 37 MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 2
WILD BERBERS HIDDEN IN THE SAND HAVE CAPTURED YOU,
LUCKILY THE LOCAL SHEIK HAS AGREED TO THEIR RANSOM-
DEMANDS BUT UATCH FOR THE PYGMIES !!!
YOU HAVE A NEU CHOICE OF SUB-COMMANDS:
H7 ATTEMPT AN ESCAPE
tt8 UAIT FOR PAYMENT
YOUR SUB-COMMAND ? ?
CONGRADULATIONS, YO'J SUCCESSFULLY ESCAPED !!!!
THE PYGMIES ARE 4 MILES BEHIND YOU.
YOU HAVE TRAVELLED 3? MILES ALLTOGETHER.
WHAT IS YOUR COMMAND? 6 ■
YOU DIED IN THE DESERT.
THE LOCAL SHEIK NOW USES YOUR SKULL FOR A CHANGE PURSE !!
UANT A NEU CAMEL AND A NEU GAME ? NO
CHICKEN
Ok
24
LIST
10 PRINT TAB(24);"CAMEL"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18);"M0RRISTUUN, NEM JERSEY"
35 PRINT:PRINT:PRINT
110 PRINT "UOULD YOU LIKE INSTRUCTIONS";
120 INPUT D»
130 IF LEFT*(D»,1)="N" THEN 320
140 PRINT :PRINT " UELCOHE TO CAMEL. THE OBJEST IS TO TRAVEL"
1S0 PRINT "200 MILES ACROSS THE GREAT GOBI DESERT."
140 PRINT "A TRIBE OF KNOCKED KNEED PIGMIES UILL BE CHASING YOU. "
170 PRINT "YOU UILL BE ASKED FOR COMMANDS EVERY SO OFTEN."
180 PRINT
190 PRINT
200 PRINT
210 PRINT "COMMANDS:"
220 PRINT "81 DRINK FROM YOUR CANTEEN"
230 PRINT "82 AHEAD MODERATE SPEED"
240 PRINT "83 AHEAD FULL SPEED"
250 PRINT "84 STOP FOR THE NIGHT"
260 PRINT "85 STATUS CHECK"
270 PRINT "84 HOPE FOR HELP"
275 PRINT
276 PRINT
277 PRINT
278 PRINT
27? PRINT
280 PRINT "YOU HAVE ONE QUART OF WATER UHICH UILL LAST YOU SIX DRINKS.
290 PRINT "YOU HAVE RENEU YOUR UATER SUPPLY COMPLETELY AT AN OASES."
300 PRINT "YOU GET A HALF A QUART IF FOUND BY HELP."
310 PRINT "IF HELP DOES NOT FIND YOU AFTER COHHAND SIX, YOU LOSE."
320 PRINT "GOOD LUCK AND 6000 CAMELING !!"
330 PRINT "YOU ARE IN THE MIDDLE OF THE DESERT AT AN OASIS."
335 GOSUB 2000
340 IF C>1?? THEN 1210
350 Z=Z-1
355 IF Z=1 THEN PRINT " U A R N I N G GET A DRINK"
360 IF Z<0 THEN 1630
370 P=P+1
380 X2=INT(10*RND(1>+2.5>
3?0 IF 0>0 THEN ?40
400 IF P<4 THEN 470
410 CI =Ct +X2
420 IF CKC THEN 460
430 PRINT "THE PYGMIES HAVE CAPTURED YOU. CAMEL AND PEOPLE SOUP IS"
440 PRINT "THEIR FAVORITE DISH !!!!!"
450 GOTO 1540
440 PRINT "THE PYGMIES ARE "C-C1 ;" MILES BEHIND YOU. "
470 PRINT "YOU HAVE TRAVELLED ";C;" MILES ALLTOGETHER."
480 PRINT "UHAT IS YOUR COMMAND";
490 INPUT Y
500 ON Y GOTO 830, 410, 480, 760, 790
550 T = INT(10*RND(D)
540 IF TOI THEN 1200
570 PRINT "HELP HAS FOUND YOU IN A STATE OF UNCONSCIOUSNESS."
580 S=3
590 Z=4
600 60T0 340
610 F=F+1
620 IF F=8 THEN 1190
630 GOSUB 880
640 X1=INT(10*RND(1 ))
650 C=C+X1
640 PRINT "YOUR CAMEL LIKES THIS PACE."
670 GOTO 340
680 F=F+3
690 IF F>7 THEN 11 90
700 GOSUB 880
710 X1=2*INT<10*RNU(1 ))
720 C=C+X1
730 PRINT "YOUR CAMEL IS BURNING ACROSS THE DESERT SANDS."
740 PRINT
750 GOTO 340
740 PRINT "YOUR CAMEL THANKS YOU! "
770 F=0
780 GOTO 350
790 PRINT "YOUR CAMEL HAS ";?-F;" GOOD DAYS LEFT."
800 PRINT "YOU HAVE ";S;" DRINKS LEFT IN YOUR CANTEEN. "
H10 PRINT "YOU CAN GO ";Z;" COMMANDS UITHOUT DRINKING."
830 S=S-1
840 IF S<0 THEN 1200
850 PRINT "BETTER MATCH FOR AN OASES !"
840 Z=4
870 60T0 480
880 A=INT(100*RND<1)>
890 IF A>5 THEN 1120
900 PRINT "UILD BERBERS HIDDEN IN THE SAND HAVE CAPTURED YOU."
910 PRINT "LUCKILY THE LOCAL SHEIK HAS AGREED TO THEIR RANSOM-"
720 PRINT "DEMANDS BUT UATCH FOR THE PYGMIES !!!"
930 PRINT "YOU HAVE A NEU CHOICE OF SUB-CONMANDS:"
940 PRINT "87 ATTEMPT AN ESCAPE"
950 PRINT "88 UAIT FOR PAYMENT"
940 PRINT "YOUR SUB-COMMAND ";
970 INPUT X
980 IF X=8 THEN 1040
990 X1 = INT(10 * RND(D)
1000 IF XK5 THEN 1040
1 01 PRINT "CONGRADULATIONS, YOU SUCCESSFULLY ESCAPED !!!!"
1020 0=0
1030 GOTO 340
1040 PRINT "YOU HERE MORTALLY HOUNDED BY A PIG STABBER UHILE ESCAPING."
1050 GOTO 1410
1060 X1=INT(100*RND(1)>
1070 REM
1080 IF X1>24 THEN 1100
1090 PRINT "YOUR RANSOM HAS BEEN PAID AND YOU ARE FREE TO GO."
1095 Q=0
10?4 GOTO 340
1100 PRINT "THE LOCAL SULTAN IS COLLECTING JUST UAIT "
1110 GOTO 340
1120 A=INT(10*RND(1>>
1130 IF A>2 THEN 1240
1140 PRINT "YOU HAVE ARRIVED AT AN OASES YOUR CAMEL IS"
1150 PRINT "FILLING YOUR CANTEEN AND EATING FIGS."
1140 Z=4
1170 S=4
1180 RETURN
1 1 90 PRINT • "YOU DIRTY RAPSCALLION! YOU RAN YOUR POOR CAMEL TO DEATH !!"
1200 GOTO 1410
1210 PRINT "YOU UIN, A PARTY IS BEING GIVEN IN YOUR HONOR "
1220 PRINT " THE PYGMIES ARE PLANNING TO ATTEND "
1230 GOTO 1540
1240 X1=INT(100*RND(D)
1250 IF X1>5 THEN 1350
1240 PRINT "YOU HAVE BEEN CAUGHT IN A SANDSTORM GOOD LUCK!"
1270 X5=INT(10*RND(D)
1280 X4=INT(10»RND<1)>
12?0 IF X6<5 THEN 1320
1300 C=C+X5
1310 GOTO 1330
1320 C=C-X5
1330 PRINT "YOUR NEU POSITION IS ";C;" MILES SO FAR!"
1340 RETURN
1350 X1=INT(100*RND<1>>
1360 IF X1>5 THEN RETURN
1370 C1=C1+1
1380 PRINT "YOUR CAMEL HURT HIS HUMP."
13?0 PRINT "LUCKILY THE PYGMIES UERE FOOTUEARY !!!"
1400 RETURN
1410 U=INT(10*RND(1 ))
1420 PRINT "YOU DIED IN THE DESERT."
1430 IF U>1 THEN 1440
1440 PRINT "THE NATIONAL CAMEL'S UNION IS NOT ATTENDING YOUR FUNERAL!!!"
1450 GOTO 1540
1440 IF U>3 THEN 1490
1470 PRINT "YOUR BODY UAS EATEN BY VULTURES AND IMPORTED CANNINBALS !!!"
1480 GOTO 1540
14?0 IF U>5 THEN 1520
1500 PRINT "THE LOCAL SHEIK NOU USES YOUR SKULL FOR A CHANGE PURSE !!!"
1510 GOTO 1540
1520 IF U>7 THEN 1550
1530 PRINT "PEOPLE UITH LITTLE INTELLIGENCE SHOULD STAY OUT OF THE DESERT
1540 GOTO 1540
1550 PRINT "TURKEYS SHOULD FLY, NOT RIDE CAMELS !!!!!!!"
1540 PRINT
1570 PRINT
1580 PRINT "UANT A NEU CAMEL AND A NEU GAME ";
1590 INPUT D»
1400 IF LEFT»(D»,1)="Y" THEN 320
1420 GOTO 1450
1430 PRINT "YOU RAN OUT OF UATER SORRY CHUM!!!"
1440 GOTO 1410
1450 PRINT " "
1455 PRINT " CHICKEN"
1457 PRINT " "
1440 END
2000 Z=4
2010 S=4
2020 C=0
2030 C1=0
2040 Q=0
2050 F=0
2040 P=0
2070 RETURN
Uk
25
Chase
CHASE puts you in a maze made up
of high-voltage fences and posts. This
in itself isn't too unpleasant but there're
also the five interceptor robots bent on
just one thing— your destruction. If
these robots touch you . . . that's the
end of the game (and you!). There's
one hope — make the robots hit the
maze, or each other (they're like
people— sometimes they'd rather be
alone). If you destroy them all, you win!
If you find yourself in a totally hopeless
situation, you have the option of
making a tremendous leap to a random
location (which may well be on top of a
fence or a guard).
At the end of the game, you may
replay with the same or different
starting conditions.
I believe this game was originally
created by Mac Oglesby. It was then
modified by Bill Cotter and further
improved by Arnold Loveridge. An
intermediate version appeared in
Creative Computing, Jan/Feb 1976.
RUN
CHASE
CREATIVE COMPUTING
NORRISTOUN, NEU JERSEY
YOU ARE UITHIN THE UAUS OF A HIGH VOLTAGE NAZE
THERE ARE FIVE SECURITY MACHINES TRYING TO DESTROY YOU
YOU ARE THE '*' THE INTERCEPTORS ARE THE ' + '
THE AREAS HARKED 'X' ARE HIGH VOLTAGE
YOUR ONLY CHANCE FOP SURVIVAL IS TO MANEUVER EACH
INTERCEPTOR INTO AN 'X'. GOOD LUCK
MOVES ARE 7.S.9
«.*.«
1.2.3
10 = NO MOVE FOR THE REST OF THE GAME
-1 = GAVE UP, SITUATION HOPELESS.
= A TREMENDOUS (BUT UNFORTUNATELY RANDOM ) LEAP
xxxxxxxxxxxxxxxxxxxx
X XX
X X +
XX X
X X X
X X
X X
♦ X + X
X X
X X XXX X
XX
XX + X
X *
X + X
xxxxxxxxxxxxxxxxxxxx
? 5
xxxxxxxxxxxxxxxxxxxx
X XX
X X
X X X
X +
X X X
X X
X X
X X
X X
tX X XXX+ X
XX
XX X
X »
X + + X
XXXXXXXXXXXXXXXXXXXX
? 5
XXXXXXXXXXXXXXXXXXXX
X XX
X X
X X X
X X X
X +
X X
X X
X X
X X
X X XXX X
XX ♦
XX ♦ X
X *
X + t X
XXXXXXXXXXXXXXXXXXXX
? 5
XXXXXXXXXXXXXXXXXXXX
X XX
X X
XX X
X X X
X X
X +x
X X
X X
X X XXX X
XX
XX X
X *t
X+ +t X
XXXXXXXXXXXXXXXXXXXX
? 4
XXXXXXXXXXXXXXXXXXXX
X XX
X X
X X X
XX X
X X
X X
X X
X X
X X XXX X
XX
XX X
X *+
X ++ X
XXXXXXXXXXXXXXXXXXXX
%6, 000, 000 JUMP I ! !
HIGH VOLTAGE ! ! !!!!!!!!
*»**» ZAP ***** YOU RE DEAD!!!
ANOTHER OAHC <Y'N>? N
26
LIST
10 PRINT TA8(26);"CHASE"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18);"N0RRIST0UN, NED JERSEY"
40 PRINTiPRINT:PRINT
41 PRINT "YOU ARE WITHIN THE UALLS OF A HIOH VOLTAGE NAZE"
42 PRINT "THERE ARE FIVE SECURITY MACHINES TRYING TO DESTROY YOU"
(40 PRINT "YOU ARE THE '*' THE INTERCEPTORS ARE THE ' + "'
70 PRINT "THE AREAS NARKED 'V ARE HIGH VOLTAGE"
80 PRINT "YOUR ONLY CHANCE FOR SURVIVAL IS TO MANEUVER EACH"
90 PRINT "INTERCEPTOR INTO AN 'X'. GOOD LUCK "
100 PRINT "MOVES ARE 7.8.?"
110 PRINT " 4.».6"
120 PRINT " 1.2.3"
130 PRINT
140 PRINT "10 = NO MOVE FOR THE REST OF THE GAME"
150 PRINT "-1 = GAVE UP, SITUATION HOPELESS."
160 PRINT " = A TREMENDOUS (BUT UNFORTUNATELY RANDOM) LEAP"
170 PRINT
180 DIM A<10,20>,A1<10,20>,N<12>,L(5>,M<5>,L1(5),H1<5>
190 REM
210 FOR B=1 TO 10
220 FOR C=1 TO 20
230 X=INT(10*RND(1)>
240 IF X=5 THEN 270
250 A(B,C)=ASC(" ">
260 GOTO 280
270 A(B,C)=ASC("X")
280 NEXT C
290 NEXT B
300 FOR D=1 TO 10
310 A(D,1)=ASC("X")sA(D,20)=ASC("X")
320 NEXT D
330 FOR F=1 TO 20
340 A(1,F)=ASCt"X"):A(10,F)=ASC("X")
350 NEXT F
360 GOTO 410
370 H=INT(2+8»RND<1>>
380 I = INT(2+18*RND(D)
390 IF A(H,I)OASC(" " I THEN 370
400 RETURN
410 GOSUB 370
420 A(H,I>=ASC<"*">
430 J=H:K=I
440 FOR N9=1 TO 5
450 GOSUB 370
460 A(H,I)=ASC("+">
470 L(N9)=H:M(N9)=I
480 NEXT N9
490 FOR B1=1 TO 10:F0R B2=1 TO 20:A1 <B1 ,B2)=A(B1 ,B2> :NEXT B2:NEXT B1
500 FOR B1=1 TO 5:L1 (B1 >=L(B1 I :M1 (B1 )-HCB1 ) :NEXT B1
520 J1 =J:K1 =K
530 Y9=0
540 FOR D2-1 TO 10
550 FOR B2=l TO 20
560 N»=CHR»(A(D2,B2)>
570 PRINT N»;
580 NEXT 82
590 PRINT
600 NEXT 02
(510 IF Y9 <> 10 THEN 640
620 PRINT
630 GOTO 890
640 INPUT Y9
650 J2=J:K2=K
660 IF Y9=0 THEN 860
670 IF Y9 < THEN 1230
680 IF Y9=10 THEN 1070
690 ON Y9 GOTO 820,800,780,840,890,760,700,720,740
700 J=J-1:K=K-1
710 GOTO 890
720 J=J-1
730 GOTO 890
740 J=J-t :K=K+1
750 GOTO 890
760 K=K+1
770 GOTO 890
780 J=J+1 :K=K+1
790 BOTO 890
800 J=J+1
810 GOTO 890
820 J=J+1:K=K-1
830 GOTO 890
840 K=K-1
850 GOTO 890
860 PRINT "»6,000,000 JUMP!!!"
870 J=INT(2+8*RND(1>)
880 K=INT(2+18*RND(1)>
890 IF A(J,K)=ASC("X") THEN 1260
900 A(J2,K2)=ASC(" ")
910 A(J,K>=ASC<"*">
920 GOTO 1070
930 REM INTERCEPTOR MOVEMENT
940 IF A(X,Y)=ASC("X") THEN 1040
950 X2=X:Y2=Y
960 X=SGN(J-X):Y=SGN(K-Y)
970 X=X+X2sY=Y+Y2
980 IF A(X,Y)=ASC("*") THEN 1050
990 IF A(X,Y)=ASC(" ") THEN 1020
1000 A(X2,Y2)=ASC(" ")
1010 RETURN
1020 A(X,Y)=ASC("+")
1030 A(X2,Y2)=ASC<" ")
1040 RETURN
1050 69=99
1060 RETURN
1070 FOR N9=1 TO 5
1080 X=L(N9):Y=M(N9)
1090 G9=0
1100 GOSUB 940
1110 IF G9 O THEN 1240
1120 L(N9)=X:M(N9)=Y
1130 NEXT N9
1140 FOR N9=1 TO 5
1150 IF A(L(N9),M(N9)I <> ASC(" ") THEN 1170
1160 A(L(N9),M(N9))=ASC("t")
1170 NEXT N9
1180 FOR N9=1 TO 5
1190 IF A<L(N9),N<N9>> <> ASCC'X") THEN 540
1200 NEXT N9
1210 PRINT "YOU HAVE DESTROYED ALL YOUR OPPONENTS - THE GAME IS YOURS"
1220 GOTO 1290
1230 PRINT "GIVE UP, EH."
1240 PRINT "*** YOU HAVE BEEN DESTROYED BY A LUCKY COMPUTER ***"
1250 GOTO 1290
1260 PRINT "HIGH VOLTAGE!!!!!!!!!!"
1270 PRINT "*»**» ZAP ***»» YOU'RE DEAD!!!"
1280 PRINT
1290 PRINT "ANOTHER GAME ( Y/N ) " ;
1300 INPUT N9*
1310 IF N9$ <> "Y" THEN 1400
1320 PRINT "SAME SETUP (Y/N)";
1330 INPUT N9»
1340 IF N9* <> "Y" THEN 190
1350 FOR B1=1 TO 10:F0R B2=1 TO 20:A(B1 ,B2)=A1 (B1 ,B2) sNEXT B2:NEXT B1
1360 FOR B1=1 TO 5:L(B1 )=L1 (B1 ) :M(B1 )=M1 (B1 ) :NEXT B1
1380 J=J1:K=K1
1390 GOTO 530
1400 END
Ok
27
28
Chuck-A-Luck
RUN
CHUCK-A-LUCK
CREATIVE COHPU-TING
HORRISTOUN, NEU JERSEY
CHOOSE A NUMBER FROH 1 TO 6. I UILL ROLL 3 DICE.
IF YOUR NUHDER HATCHES t DIE, I PAY OFF EVEN HONEY.
TgO DICE, 2:1 3 DICE, 3:1
YOU HAVE » 500 . HAKE A BET.
? 100
CHOOSE A NUHBER? 3
1 1 5
YOU'VE HATCHED TIHES.
YOU LOOSE i 100
YOU HAVE t 400 . HAKE A BET.
•? 50
CHOOSE A NUHBER? 1
TIHES.
HAKE A BET.
3 S
YOU'VE HATCHED
YOU LOOSE * 50
YOU HAVE $ 350
? 50
CHOOSE A NUHBER? 5
5 6 1
YOU'VE HATCHED 1 TIHES.
YOU'VE UON * 50
YOU HAVE J 400 . HAKE A BET.
? 100
CHOOSE A NUHBER? 2
4 1 3
YOU'VE HATCHES TIHES.
YOU LOOSE $ 100
YOU HAVE » 300 . HAKE A BET.
? 100
CHOOSE A NUHBER? 5
2 4 1
YOU'VE HATCHED TIHES.
YOU LOOSE I 100
YOU HAVE * 200 . HAKE A BET.
? 100
CHOOSE A NUHBER? 3
1 3 b
YOU'VE HATCHED 1 TIHES.
YOU'VE UON S 100
YOU HAVE $ 300 . HAKE A BET.
' 100
CHOOSE A NUHBER 7 4
3 4 3
YOU'VE HATCHED 1 TIHES.
YOU'VE UON » 100
YOU HAVE » 400 . HAKE A BET.
? 100
CHOOSE A NUHBER? 2
2 1 4
YOU'VE HATCHED 1 TIHES.
YOU'VE UON » 100
YOU HAVE « 500 . HAKE A BET.
? 200
CHOOSE A NUHBER? 3
2 3 1
YOU'VE HATCHES 1 TIMES.
YOU'VE UON » 200
YOU HAVE » 700 . HAKE A BET.
? -y
DON'T GET CUTE!!!
YOU HAVE » 700 . HAKE A BET.
? 100
CHOOSE A NUHBER? 4
5 3 4
YOU'VE HATCHED 1 TIHES.
YOU'VE UON » 100
YOU HAVE $ 800 . HAKE A BET.
? 900
I DON' TAKE I.O.U'S !!!!
YOU HAVE f 800 . HAKE A BET.
? .001
DON'T GET CUTE ! ! !
YOU HAVE » 800 . HAKE A BET,
? 200
CHOOSE A NUHBER? 7
CHEATER!!!!!!
CHOOSE A NUMBER? 2
3 6 3
YOU'VE HATCHED TIHES.
YOU LOOSE * 200
YOU HAVE » 600 . HAKE A BET.
? 400
CHOOSE A NUMBER? 1
11 2
YOU'VE HATCHED 2 TIMES.
YOU'VE UON * 1200
YOU HAVE * 1800 . HAKE A BET.
? 1800
CHOOSE A NUHBER? 4
1 1 1
YOU'VE HATCHED TIHES.
YOU LOOSE % 1800
Chuck-a-luck is generally found in
fairgrounds, cheap casinos, and small
gambling parlors. It flourished in
frontier America, but dates back to
European gaming houses of the
eighteenth century. During its long
history, chuck-a-luck has had many
names including sweatcloth, chucker-
luck, chuck Suck, and bird cage.
Each player places his bets on one of
the six numbers, one through six.
When all bets have been placed, the
operator tumbles three dice in a chuck
cage until they come to rest face up or
drop down a chute onto the table. If a
player's number appears on one die,
the operator pays him even money; if
on two dice, two to one; if on three dice,
three to one.
The computer version of Chuck-a-
luck was originally written by Michael
Tanoff.
LIST
100 PRINT TAB(23);"CHUCK-A-LUCK"
110 PRINT TAB(20),-"CREATIVE COMPUTING"
120 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
130 PRINT:PRINT:PRINT
140 PRINT "CHOOSE A NUHBER FROH 1 TO 6. I UILL ROLL 3 DICE."
150 PRINT "IF YOUR NUHBER HATCHES 1 DIE. I PAY OFF EVEN HONEY."
HO PRINT "TUO DICE, 2:1 3 DICE, 3:1"
170 PRINT:PRINT:H=500
180 PRINT "YOU HAVE »";H;". MAKE A BET."
1»0 INPUT B
200 IF B > H THEN 410
210 IF B > THEN IF B*10O=INT(B*1O0) THEN 230
220 60T0 420
230 PRINT "CHOOSE A NUHBER";
240 INPUT N
250 IF INT(N)=N AND N > AND N < 7 THEN 270
260 PRINT "CHEATER" !!!!!":60T0 230
270 A=INT(RND(1)*6)»1:PRINT A;" ";:D=INT(RND(H*6)+1 :PRINT D;"
280 C=INT(RND(1)*6)t1:PRINT C;"
2»0 T=0
300 IF A=N THEN T=T+1
310 IF D=N THEN T=T+1
320 IF C=N THEN T=T+1
330 PRINT "YOU'VE HATCHED ";T{" TIMES."
340 ON T BOTO 380,390,400
350 PRINT "YOU LOOSE *";E
360 H=H-B:IF H<= THEN 430
370 BOTO 180
380 PRINT "YOU'VE UON $";B:M=H+B:60T0 180
3?0 PRINT "YOU'VE UON »";B*2:H=H+2*B:GOT0 180
400 PRINT "YOU'VE UON *";B*3;H=H+B»3:G0T0 180
410 PRINT "I DON' TAKE I.O.U'S !!!!":60TO 180
420 PRINT "DON'T GET CUTE! 1 !":G0TO 180
430 PRINT
440 PRINT
450 END
0».
29
Close Encounters
In this game, you are situated at the
center of a target area for a UFO. The
program assigns coordinates 0,0 to
your location. You are given informa-
tion as to the course of the UFO in
degrees longitude and degrees latitude
and also its speed. You then have two
alternatives. One, you can attempt to
shoot the UFO out of the sky with an
ICBM or you can do nothing and hope
that air friction will cause the course of
the UFO to deviate or to burn up.
A knowledge of mathematical coor-
dinate systems will be of some
assistance in winning this game,
although you'll probably be able to
discover a reasonably good strategy by
yourself using trial and error if you play
enough games.
This program was originally written
by Chris Falco.
RUN
CLOSE ENCOUNTERS
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
YOU ARE SITUATED AT COORDINATES (0,0). A UFO IS
HEADING FOR IMPACT AT THAT LOCATION.
AT FIRST TRACK, THE UFO IS ON A COURSE OF SS DEGREES LONGITUDE
AND 133 DEGREES LATITUDE.
(ALSO IT'S FALLING AT A SPEED OF 2563 NILES/PER HOUR)
YOU HAVE THE F0LL0UIN6 ALTERNATIVES:
A) YOU CAN ATTEMPT TO SHOOT THE UFO OUT OF THE SKY. OR
E) YOU CAN DO N0THIN6, AND HOPE THAT AIR FRICTION
UILL CAUSE THE COURSE OF THE UFO TO DEVIATE, AND THUS
NISS YOUR LOCATION.
UHAT IS YOUR PLAN OF ACTION (A OR BIT B
ILES
SPEED
LONGITUDE
LATITUDE
COURSE
12000
2562
55
133
82
11857.2
8S69
52
130
94
11654.7
12148
51
128
93
11348.6
18367
51
119
84
10945.5
24186
42
118
92
10485.7
27587
37
117
96
9989.48
29774
32
110
94
9374.64
36771
24
107
99
8697.3?
40755
20
107
103
7977.35
43202
14
98
100
7184.97
47423
94
104
6301.64
53120
4
83
97
3337.84
57828
-4
85
105
4323.59
60855
-12
79
107
3198.72
67492
-19
79
114
2011.02
71262
-21
71
108
770.118
74454
-27
65
108
IHPACT-AT- 78371 -HILES-PER-HOUR
GOOD U0RK. FRICTION OF 5 I HAS CAUSED THE COURSE
OF THE UFO TO DEVIATE. IMPACT COORDINATES ARE
NOU (5,-5). YOU HADE IT!
TRY AGAIN? Y
PLAN (A OR B)? A
LAUNCH AN I.C.B.H. ON A COURSE THAT UILL INTERCEPT THE UFO
UITHOUT THE UFO BEING TOO CLOSE TO YOUR LOCATION. IF THE SPEED
OF THE UFO EXCEEDS 10529 H.P.H., YOUR MISSILES ARE USELESS!
—SCANNERS PREDICT YOU HAVE 5 MINUTES TO DESTROY THE UFO
BEFORE IT IS TOO CLOSE TO IMPACT.
—COMPUTER INDICATES COURSE AT FIRST SIGHTING IS APPROX. 54
TYPE IN A COURSE ON THE CHART BELOU
TIME SPEED LONGITUDE LATITUDE COURSE
2529 54 105 ? 60
.5 4100 54 107 ? 55
YOU ARE SHY OF THE UFO'S COORDINATES,
HOUEVER THIS IS ONLY A SLIGHT DEVIATION SO THE
UFO HA5 BEEN DESTROYED!
TRY AGAIN? YES
PLAN (A OR B)T A
—SCANNERS PREDICT YOU HAVE 2 MINUTES TO DESTROY THE UFO
BEFORE IT IS TOO CLOSE TO IMPACT.
—COMPUTER INDICATES COURSE AT FIRST SIGHTING IS APPROX. 77
TYPE IN A COURSE ON THE CHART BELOU
TINE SPEED LONGITUDE LATITUDE COURSE
5122 47 113 i. 80
.5 6597 41 107 ? 85
1 8072 35 101 f 90
1.5 9547 29 95 ? 71
FANTASTIC! ! ! ! YOU HIT THE UFO EXACTLY ON PROJECTED COURSE
YOU MUST BE VERY SHARP!
30
TRY AGAIN? YES
PLAN (A OR D>? B
MILES
SPEED
LONGITUDE I
LATITUDE
COURSE
12000
2802
5B
108
54
11857.3
8565
51
99
64
11628. 5
13726
51
93
58
11356.7
16307
44
92
64
11036.4
19219
37
88
67
10606.8
25776
36
7?
59
10066.?
32396
36
78
58
9482.08
35086
28
77
65
8817.78
39846
19
75
72
8090.73
43635
14
70
72
7283.78
4841 7
14
64
66
6400.58
52992
62
69
5441.75
57530
59
75
4375.52
63974
-2
50
68
3256.52
67140
-8
47
71
2048.63
72473
-14
44
74
790.901
75464
-18
3?
73
- IMPACT-AT- 7757
2 -HILES-PER-HOUR-
600D UORK.
FRICTION OF
& 1 HAS railSF!) THF
1 A nHO IflC
Of THE UFO
TO DEVIATE.
IHPACT COORDINATES
ARE
NOU ( 4 ,-4
>. YOU HADE
IT!
TRY AGAIN?
PLAN (A OR
B>? B
MILES
SPEED
LONGITUDE
LATITUDE
COURSE
12000
5782
56 '
112
58
11787.4
12757
49
112
67
11504.3
16983
46
112
70
11114.7
23376
41
112
75
10668.8
26756
41
108
71
10171.8
29818
36
107
75
9571.63
36012
35
103
72
8887.7
41036
33
100
71
8151.72
44159
31
96
69
7375.72
46560
27
92
69
6483."?2
53508
20
87
71
5495.93
59279
19
78
63
4457.3
62318
18
74
60
3331.95
67521
16
70
58
2109.15
73368
10
62
56
810.517
77918
55
54
- IHPACT-AT- 80674 -HILES-PER-HOUR
GOOD UORK. FRICTION OF 6 I HAS CAUSED THE COURSE
OF THE UFO TO DEVIATE. IHPACT COORDINATES ARE
NOU (6,-6). YOU HADE IT!
TRY AGAIN? NO
Ok
A UFO IS"
320 PRINT "SPEED"
330 PRINT "OF THE UFO EXCEEDS"H"H.P.H., YOUR HISS1LES ARE USELESS! "
340 PRINT " — SCANNERS PREDICT YOU HAVE"H"HINUTES TO DESTROY THE UFO"
350 PRIHT "DEFORE IT IS TOO CLOSE TO IMPACT. ":PRINT
360 C=Z-Y+I-INT(RNB(1)*4)+1
370 PRINT
380 PRINT
390 PRINT
400 PRINT
410 PRINT
LIST
100 PRINT TAB(21);"CL0SE ENCOUNTERS"
110 PRINT TAB(20);"CREATIVE COMPUTING"
120 PRINT TAB(18);"H0RRISTOUN, NEU JERSEY"
130 60SUB 1100
140 PRINT:PRINT:PRINT
150 PRINT "YOU ARE SITUATED AT COORDINATES (0,0).
160 PRINT "HEADING FOR IHPACT AT THAT LOCATION."
170 PRINT
180 PRINT "AT FIRST TRACK, THE UFO IS ON A COURSE 0F"Y"DE6REES ";
190 PRINT "L0N6ITUDE"
200 PRINT "AND"Z"DEGREES LATITUDE."
210 PRINT * (ALSO IT'S FALLING AT A SPEED OF"X"MILES/PER HOUR)"
220 PRINT "YOU HAVE THE FOLLOUING ALTERNATIVES:"
230 PRINT "A) YOU CAN ATTEHPT TO SHOOT THE UFO OUT OF THE SKY. OR"
240 PRINT "B> YOU CAN DO NOTHING, AND HOPE THAT AIR FRICTION"
250 PRINT " UILL CAUSE THE COURSE OF THE UFO TO DEVIATE, AND THUS"
260 PRINT " HISS YOUR LOCATION. ":PRINT
270 PRINT "UHAT IS YOUR PLAN OF ACTION (A OR D)";sINPUT D$
280 PRINT
290 IF LEFT»(D»,1)="B" THEN 790
300 PRINT "LAUNCH AN I.C.B.H. ON A COURSE THAT UILL INTERCEPT THE UFO"
310 PRINT "UITHOUT THE UFO BEING TOO CLOSE TO YOUR LOCATION. IF THE *|
" — COMPUTER INDICATES COURSE AT FIRST SIGHTING IS APPROX.";C+F
"TYPE IN A COURSE ON THE CHART BELOU":PRINT
"LATITUDE", "COURSE"
"TRY AGAIN";:INPUT J*:IF LEFT$(J*,1 )="N" THEN 1220
TIME", "SPEED", "LONGITUDE"
420 FOR T=OTO 5 STEP .5
430 PRINT T,X,Y,Z,:INPUT A
440 IF T=INT(T) AND T=H THEN 620
450 IF X<=H THEN 490
460 PRINT "SORRY — THE SPEED OF THE UFO HAS EXCEEDED"H"M.P.H."
470 PRINT "THIS SPEED IS TO GREAT FOR YOUR DEFENSE SCREEN TO TRACK!"
480 PRINT "THEREFORE, YOU ARE (HA HA) D0OMED!":PRINT:GOT0 750
490 IF A=C THEN 720
500 IF A>10 THEN 550
510 PRINT "AT THAT COURSE YOU SHOT YOUR MISSILE STRAIGHT UP, SO UHEN"
520 PRINT "IT RUNS OUT OF FUEL IN ADOUT"F"HOURS, IT UILL FALL";
530 PRINT " THR0U6H"
540 PRINT "YOUR ROOF!!!!!!!!!! 600DDYE! ! ! ! ! !":G0TO 660
550 IF A<200 GOTO 580
560 PRINT "600D UORK! THERE GOES THE MISSILE RIGHT TOUARDS"
570 PRINT "RUSSIA!!!! NOU YOU'RE DEFINITELY IN TROUBLE! !":G0TO 660
580 IF A=C-1 THEN 670
590 IF A=C+1 THEN 710
600 X=X+V+1200:Y=Y-I+5:Z=Z-I+5:C=Z-Y+5
610 NEXT T
620 PRINT " ATTENTION
630 PRINT "ELAPSED-TIME-INDICATES-THAT-"M"MINUTES-HAVE-PASSED. — IF-YOU-
640 PRINT "UERE-TO-HIT-THE-UFO-NOU THE-FORCE-OF-THE-EXPLOSION-UOULD"
650 PRINT " — DESTROY-YOU-AS-UELL-AS-THE-UFO-!":PRINT
660 GOTO 750
670 PRINT "YOU ARE SHY OF THE UFO'S COORDINATES,"
680 PRINT "HOUEVER THIS IS ONLY A SLIGHT DEVIATION SO THE"
690 PRINT "UFO HAS BEEN BESTROYED!":PRINT
700 GOTO 750
710 PRINT "YOU OVERSHOT THE UFO'S COORDINATES,": GOTO 680
720 PRINT "FANTASTIC!!!! YOU HIT THE UFO EXACTLY ON PROJECTED COURSE"
730 PRINT "YOU HUST BE VERY SHARP ! ":PRINT
740 PRINT
750 PRINT
760 60SUB 1100
770 GOSUB 1070
780 PRINT:PRINT:GOTO 340
790 PRINT
800 F=0
810 A=INT(RND(1 )*5)+1:C=Z-Y+A
820 H=12000
830 PRINT "MILES", "SPEED", "LONGITUDE", "LATITUDE", "COURSE"
840 PRINT " "," "," "," "," "
850 P=X+1
860 PRINT H,X,Y,Z,C
870 C=Z-Y
880 X=X+INT(RND(1)*5000)+2000:M=M-X/60
890 Y=Y-INT(RND(1)*10):Z=Z-INT(RND(1 )*10> :C=Z-Y+A"2
900 IF X-P>5700 THEN F=F+1
910 IF H>0 THEN 850
920 PRINT
930 PRINT " — IHPACT-AT-"X"-MILES-PER-HOUR "
940 IF F<=2 THEN 980
950 PRINT "GOOD UORK. FRICTION OF"F"X HAS CAUSED THE COURSE"
960 PRINT "OF THE UFO TO DEVIATE. IMPACT COORDINATES ARE"
970 PRINT "NOU ("F","0-F"). YOU MADE IT!":GOTO 1020
980 PRINT " UPI-UIRE-SERVICE 0N-LINE-"A":"A+5":"A+10":— "
990 PRINT " HAVE JUST OBSERVED EXPLOSION AT COORDINATES <"0-F",0>.
1000 A=(A+2)»A
1010 PRINT "DLAST SEEN FR0M"A-3"MILES AUAY. NO SURVIVORS. ":PRINT
1020 INPUT "TRY AGAIN";J$
1030 IF LEFT*(J*,1)="N" THEN 1220
1040 GOSUB 1100
1050 GOSUB 1070
1060 PRINT:PRINT:GOTO 300
1070 INPUT "PLAN (A OR B)";D$
1080 IF LEFT*(D»,1)="B" THEN 790
1090 RETURN
1100 I=INT(RND(1 )*20)+1 :V=INT(RND(1 )*4O0)+2OO:F=INT(RND(1 )*5)+1
1110 X=INT(RND(1)*5000)+2001:H=X+8000:0=INT(RND(1)*5)+1
1120 Z=INT(RND(1)*140):IF Z<100 THEN 1120
1130 Y=INT(RND(1)»60):IF Y<40 THEN 1130
1140 IF X>=3000 THEN 1160
1150 M=5:G0T0 1210
1160 IF X>=3700 THEN 1180
1170 M=4:G0T0 1210
1180 IF X>=4?00 THEN 1200
1190 M=3:G0T0 1210
1200 M=2
1210 RETURN
1220 END
Ok
31
Column
RUN
COLUMN
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THIS PROGRAM HILL SHOU TOU A CARD TRICK. AFTER THE FIRST SEAL
PICK A CARD AND TYPE THE NUMBER OF THE COLUMN CONTAINING IT.
THE DEALER HILL THEN PICK UP THE CARDS, A COLUMN AT A TIME,
AND UILL DEAL THEN OUT AGAIN HORIZONTALLY. UHEN HE FINISHES
EACH TIME, TYPE THE NUMBER OF THE THE NEU COLUMN CONTAINING YOUR
CARD. FOLLOUINS THE LAST DEAL THE DEALER UILL TURN OVER THE
CARDS, ONE AT A TINE, UNTIL HE REACHES THE ONE YOU PICKED.
? OF CLUBS
i OF CLUBS
4 OF HEARTS
QUEEN OF SPADES
ACE OF DIAMONDS
KIN6 OF DIAMONDS
QUEEN OF CLUDS
JACK OF SPADES
KING OF CLUBS
3 OF HEARTS
4 OF DIAMONDS
tO OF SPADES
6 OF SPADES
8 OF CLUBS
4 OF HEARTS
2 OF CLUBS
5 OF SPADES
3 OF CLUBS
7 OF CLUBS
10 OF HEARTS
10 OF CLUBS
UHICH COLUMN CONTAINS YOUR CARD? 1
This program is a computer version
of an old card trick which never fails to
get some ooohs and aaahs from the
uninitiated. The dealer, or magician,
takes twenty-one random cards, deals
them out in three piles of seven cards
each. You then tell him which column
(or which pile) contains your card. He
then picks up the three columns from
right to left, putting the right pile on the
top, and then deals the deck out again
horizontally. In other words the top
card of the right column now becomes
the top card of the left column; the
second card in the right column now
becomes the first card in the middle
column; the third card of the right
column becomes the first card in the
third column, and so on. After he deals
out all twenty-one cards in this way,
you again tell him which column your
card appears in. The magician then
picks up the three piles in the same
order and deals them out once again.
Again you tell him which column
contains your card. He then deals the
cards out one by one face up and
identifies yours when he comes to it.
Don't ask me how he does it! Maybe
you can figure it out from the program,
but it works every time.
This program was originally written
by Alan Barnes.
i OF HEARTS
3 OF CLUBS
10 OF CLUBS
4 OF HEARTS
KING OF DIANONDS
KING OF CLUBS
10 OF SPADES
2 OF CLUBS
7 OF CLUBS
T OF CLUBS
QUEEN OF SPADES
QUEEN OF CLUBS
3 OF HEARTS
6 OF SPADES
UHICH COLUMN CONTAINS YOUR CARD? 1
5 OF SPADES
ACE OF DIAMONDS
8 OF CLUBS
10 OF CLUBS
KING OF CLUBS
7 OF CLUBS
QUEEN OF CLUBS
10 OF HEARTS
JACK OF SPADES
6 OF HEARTS
4 OF HEARTS
10 OF SPADES
? OF CLUBS
3 OF HEARTS
UHICH COLUMN CONTAINS YOUR CARD? 2
5 OF SPADES
ACE OF DIAMONDS
8 OF CLUBS
10 OF CLUBS
KING OF CLUBS
7 OF CLUBS
QUEEN OF CLUBS
10 OF HEARTS
JACK OF SPADES
6 OF HEARTS
4 OF HEARTS
10 OF SPADES
? OF CLUBS
3 OF HEARTS
6 OF CLUBS
4 OF DIAMONDS
3 OF CLUBS
KING OF DIAMONDS
2 OF CLUBS
OOPS!! ! YOUR CARD IS THE 4 OF HEARTS.
5 OF SPADES
10 OF HEARTS
6 OF CLUBS
ACE OF DIAMONDS
JACK OF SPADES
4 OF DIAMONDS
8 OF CLUBS
6 OF CLUBS
4 OF DIANONDS
3 OF CLUBS
KIN6 OF DIAMONDS
2 OF CLUBS
QUEEN OF SPADES
t OF SPADES
32
150 PRINT
160 PRINT
170 PRINT
180 PRINT
190 PRINT
LIST
100 PRINT TAB(24);"C0LUMN"
110 PRINT TAB(20);"CREATIVE COMPUTING"
120 PRINT TABU8);"N0RRISTOUN, NEtl JERSEY"
130 PRINT:PRINT:PRINT
140 PRINT "THIS PR06RAH UILL SHOU YOU A CARD TRICK. AFTER THE FIRST DEAL"
PICK A CARD AND TYPE THE NUMBER OF THE COLUMN CONTAINING IT."
THE DEALER UILL THEN PICK UP THE CARDS, A COLUMN AT A TIME,"
AND UILL DEAL THEH OUT AGAIN HORIZONTALLY. UHEN HE FINISHES"
EACH TIME, TYPE THE NUMBER OF THE THE NEU COLUMN CONTAINING YOUR"
CARD. F0LL0UIN6 THE LAST DEAL THE DEALER UILL TURN OVER THE"
200 PRINT "CARDS, ONE AT A TINE, UNTIL HE REACHES THE ONE YOU PICKED."
210 PRINT:PRINT:PRINT
220 DIM A(21),B(21)
230 FOR X=1 TO 21
240 J=0
250 T=INT(52*(RND(1 )))
270 FOR Y=1 TO X-1
280 IF A(Y)=T THEN 250
290 NEXT Y
300 A(X)=T
310 NEXT X
320 N=0
330 FOR 1=1 TO 3
340 FOR Z=1 TO 21
350 IF A<Z>=4*(INT<A(Z>/4>> THEN 470
340 IF A(Z)-2=4*(INT(A(Z)/4)) THEN 440
370 IF A(Z)-3=4*(INT(A(Z)/4)) THEN 410
380 C»="SPADES"
390 D»=""
400 60T0 490
410 C$="HEARTS"
420 D$=""
430 GOTO 490
440 C»="CLUBS"
450 D»=""
440 GOTO 490
470 C$="DIAHON"
480 D$="DS"
490 N=N+1
500 IF N <> 4 THEN 530
510 PRINT
520 N=1
530 IF A(Z) > 35 THEN 580
540 PRINT TAB((N-1)*25);INT(A(Z)/4)+2;"0F ";C$;D»;
550 IF J=5 THEN 900
540 IF J=10 THEN 980
570 GOTO 710
580 IF INT(A(Z)/4)=9 THEN 470
590 IF INT(A(Z)/4)=10 THEN 450
400 IF INT(A(Z)/4) = 11 THEN 430
410 A»="JACK"
420 GOTO 480
430 A*="OUEEN"
440 GOTO 680
450 A*="KING"
460 GOTO 680
470 A»="ACE"
480 print tab((n-d*25);a*;" of ";c$;d»;
490 IF J=5 THEN 900
700 IF J=10 THEN 980
710 NEXT Z
720 PRINT:PRINT
730 PRINT "UHICH COLUMN CONTAINS YOUR CARD";
740 INPUT K
750 IF K<1 OR K > 3 THEN PRINTtPRINT "(1-3)":G0T0 730
740 PRINTtPRINT
770 T=1
780 S=K*2-3*INT((K+1)/3)
790 GOSUB 940
800 S=K
810 GOSUB 940
820 S=K+1-3*INT(K/3)
830 GOSUB 940
840 FOR C=1 TO 21
850 A(C>=B(C)
860 NEXT C
870 NEXT I
880 J=5
890 FOR Z=1 TO 1 1+INT(10*RND(1 )+1 ) :N=0:GOTO 350
900 PRINT:NEXT Z:PRINT
910 PRINT "OOPS!!! YOUR CARD IS THE";
920 N=1
930 J=10:Z=11:60TO 350
940 FOR R=S TO S+18 STEP 3
950 B(T)=A(R)
960 T=T+1
970 NEXT R: RETURN
980 PRINT ".":PRINT
990 PRINT "DO YOU UANT TO SEE IT AGAIN";: INPUT T$
1000 IF T$="YES" THEN PRINT:PRINT:60T0 230
1010 END
Ok
www.,
(«!iBSI9:i
'mum
WW.
mwj
• Ktm
v:.mm.
>MK*W.
mm».\
mam:
y mm\
tmmi-A
•iwm\
UWtV.i
■mma
33
Concentration
This children's card game for any
number of players is also called
memory, or pelmanism. It is easy to
play and is an excellent test of memory
and observation. The computer version
here simulates the actual game except
that it only allows one player to play. In
the actual game, one player shuffles a
deck of playing cards and lays them
face down on a table in all directions
and so that no card is touching
another. Each player tries to collect as
many cards as possible by turning up
pairs with the same rank per a number
or picture. The first player to go turns
over two cards at random and allows
the other players to see them. If the
rank of the two cards is the same, for
example, two aces or two kings, he
takes them and may turn over two more
cards. He continues in this way until he
turns over two cards that do not match.
These cards are then placed back
down in their original positions, face
down, and his turn then ends. The play
then passes to the next player. This
player turns up one card. If it matches
one that has already been turned over,
he must try to remember where that
card is. If he is successful, he takes the
pair. He continues his turn until he fails
to turn over a matching pair. Play
continues in turn until all the cards
have been collected. The winner is the
player with the most cards at the end of
the game.
In this computer version of the game,
the cards are numbered on their face
down side from one to fifty-two. As you
turn over two cards, their rank is typed
on the terminal. If they do not match,
their rank is obliterated by successive
type-overs with other characters. This
is analogous to the situation of placing
the cards back down on the table face
down. Also in the computer version of
the game there is only one player trying
to get all fifty-two cards in as few moves
as possible.
This game is good fun on a CRT
terminal. Also, why not try modifying it
to allow play by two or more players?
RUN
CONCENTRATION
CREATIVE COMPUTING MORRISTOUN NEU JERSEY
FIRST CARD? 1
SECOND CARD? 2
IIIIIIIIIIHIIIIIIIIIIIIIIIIH
FIRST CARD? 13
SECOND CARD'' 2
iiimmmiiiiiiimiiiiim
FIRST CARD? 53
THERE ARE ONLY 52 CARDS IN THE DECK, NOT 53
FIRST CARD? 41
SECOND CARD? 37
iiiiiiiiiiiiiiiiiiimiiiimi
FIRST CARD? 20
SECOND CARD? 16
iimiiiiiiiiiiiiiiiiiiiimii
FIRST CARD? 29
SECOND CARD? 49
IIIIIIIIIIIIIHIIIIMIIIIIIIII
FIRST CARD? 41
SECOND CARD? 29
THAT'S A HATCH --9C
YOUR SCORE IS NOV 1
FIRST CARD? 1
SECOND CARD? 49
THAT'S A HATCH — 2S
YOUR SCORE IS NOU 2
FIRST CARD? 41
YOU HAVE ALREADY HATCHED THAT CARD.
FIRST CARD? 43
SECOND CARD? 498
THERE ARE ONLY 52 CARDS IN THE DECK, NOT 498
SECOND CARD? 48
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
9D
YOU HAVE HAD
2S
YOU HAVE HAD
6 PICKS.
7 PICKS.
FIRST CARD? 24
SECOND CARD? 51
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
FIRST CARD'
BREAK IN 370
OK
34
LIST
10 PRINT FA8(25) ; "CONCENTRATION"
20 PRINT TAB( 15) {"CREATIVE CUflPU ( INU MORRISTUUN NEU JERSEY"
30 PRINT
40 PRINT
50 PRINT
200 DIM C*<52>
210 FOR X = 1 TO 52
220 READ E$
230 CS(X)=E$
240 NEXT X
250 REM — SHUFFLE AND DEAL
240 FOR Z=1 TO 51
270 K$=C$(Z>
275. L=INT(<53-2)*RnD(li+1)
280 C$(z.)=C$(L+Z-l )
2?0 C$<L!=K$
300 NEXT 2
340 REM — SI ART FU PLAY
350 FOR N=1 TO 26
360 PRINT 'FIRST CARD";
370 INPUT U
372 IF U > AND U < 52 THEN 380
374 PRINT "THERE ARE ONLY 52 CARDS IN THE DECK, NOT "{U
376 OOTO 360
380 LET 8=1
390 IF C$<U>=" " THEN 840
400 PRINT "SECOND CARD" ;
410 INPUT y
412 IF U > AND U < 52 FHEN 420
414 PRINI " THERE ARE ONLY 52 CARDS IN THE DECK, NO F "{II
416 SOTO 400
420 LET 6=2
430 IF C»(U)=" " THEN 840
440 IF U O U THEN 470
450 PRINT "YOU CAN'T PICK THE SANE CARD TUICE!"
460 60T0 400
470 IF HIlf»(C*(ii),1,1)=NID»(C$(U),1,1) THEN 580
480 print u ;'• I s " ;c*tu ) , •■«" ;u;-is ";c*<u>.
490 FOR 1=1 TO 50
500 PRINT;
510 NEXT I
520 PRINT CHR.I ( 1 3 ) { "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH" {
330 print cHR*<i3):"iiiiiiiiiiiiiiiiiiiiiinnini";
540 PRINT CHR$U3);"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
550 PRINF
560 PRINT
570 OOTO 630
580 PRINT "THAT'S A MATCH — ";C$(U! ,C»(U1
590 LET C$(U)=" "
600 LET C«(U) = " "
610 LET S=S+1
620 PRINT "YOUR SCORE IS NOU";S{" YOU HAVE HAD ";N;"PICKS."
630 NEXT N
640 REM — THE RESULTS
450 LET S1=S/(N/4!
a60 PRIM "UU SCORED", S{" OUT OF ";n;"THAT IS ";
670 ON SHI. 5 6OT0 680,700,720,760
480 PRINT "POOR."
690 GOTO 770
700 PRINT "FAIR."
710 GOTO 770
720 PRINT "GOOD."
730 GOTO 770
740 PRINT "EXCELLENT ! ! !"
750 GOTO 770
740 PRINT ". . . AAAH . . . UH YOU MUST HAVE CHEATED ! "
770 PRINT
780 PRINT "DO YOU.UANT TO PLAY AGAIN";
790 INPUT 1%
800 IF i% = "YES" THEN 260
810 PRINT
820 PRINT "COME BACK AGAIN! !"
830 END
840 PRINT "YOU HAVE ALREADY MATCHED THAT CARD."
850 IF 6=1 THEN 360
860 60T0 400
870 DATA "AS","2S","3S","4S","bS","4S","/S","8S",'WS", 10S","JS","QS"
875 DATA "KS"
880 DATA "AH","2H","3H","4H",' , 5H","6H", '7H",' i 8H"," < ?H","10H","JH","QH"
885 DATA "KH"
890 DATA "AD","2D","3D","4D","5D","6D","7D","80","9D"."IOD","JD","aD"
895 DATA "KD"
900 DATA "AC","2C","3C","4C","5C","6C","7C","8C","9C","!0C","JC","BC"
905 DATA "KC"
910 END
OK
35
Condot
This is the old childhood favorite of
"connect the dots." The objective is to
carve out squares of "real estate" with
the computer as an able adversary. The
player who connects the two dots
which complete a square gets
ownership of that square. In addition,
the player gets the added bonus of
moving once more. This can be quite
advantageous in certain situations. A
nine-square grid is provided as a
playing board.
A sample of the grid follows with an
identification of each coordinate where
a line may be drawn.
(1.2) (1.4) (1,6)
(2,1) (2,3) (2,5) (2,7)
(3,2) (3,4) (3,6)
(4,1) (4,3) (4,5) (4,7)
(5,2) (5,4) (5,6)
(6.1) (6,3) (6,5) (6,7)
(7,2) (7,4) (7,6)
You'll find it interesting to note that
the computer mirrors the player's move
in so far as possible. You may also find
that the game moves rather slowly,
especially for the first three or four
moves. Be patient! Once squares begin
to fall, the game moves swiftly to its
conclusion.
There are some modifications that
you may wish to consider if you are
going to adopt this program for regular
use. In addition to improving the REM
statements in the program, I would
suggest:
1. Modifying the program so that the
grid is printed after bofA? players
have moved (rather than each time a
move is, made);
2. Modifying the program so that once
a player had ownership of a majority
of the squares, the game would end
rather than proceed to its inevitable
conclusion; and
3. Modify the program so that the
player's initials appear in each
square he captures.
The program is by Chuck Lund; the
writeup by Pete Olivieri. It originally
appeared in Creative Computing,
Jan/Feb 1976.
RUN
CONDOT
CREATIVE COMPUTING
H0RRI5T0UN, NEU JERSEY
THIS PROGRAM MILL PLAT CONNECT THE DOTS MITH YOU.
THE GAME IS PLAYED ON A 4 X 4 ARRAY. UHEN
YOU KANT TO HAKE A HOVE YOU MUST TYPE IN
THE COORDINATES OF THE SPACE BETUEEN THE TUO DOTS YOU
UANT TO COHNECT. ENTER EACH OF YOUR MOVES BY TYPING
THE ROU NUMBER, A COMMA AND THE COLUMN NUMBER.
THE UPPER LEFT HAND CORNER OF THE ARRAY IS 1,1.
HERE HE 60.
II; MOVE
YOUR MOVE? 1,1
YOU REALLY DON
YOUR MOVE? 1,2
MY MOVE
YOUR MOVE? 7
YOU REALLY DON
YOUR MOVE? 7
MY MOVE
YOUR HOVE? 1
T UANT TO PUT A LINE THERE!!!!
YOUR MOVE? 2,
MY MOVE
YOUR MOVE? 4,
'T UANT TO PUT A LINE THERE!!!!
MY HOVE
YOUR MOVE? 2,
MT MOVE
36
YOUR MOVE? 4,3
YOUR HOVE? 5,4
MY HOVE
MY MOVE
MOVE
C :
YOUR MOVE? 2,3
: : H. :
: : C :
YOUR MOVE? 3,4
: : H : H :
: : C : :
YOUR MOVE? 4,3
! : H : H :
: : C : :
MY MOVE
■ C : H : H
: : C :
MY MOVE
: C : H : H
• C : C :
: C :
MY MOVE
: C : H :
: C : C :
: C i
MY MOVE*
: C : H :
: C : C :
: C : C : i
I HON
LIST
1 PRINT TAB<24);"CQND0T"
2 PRINT TAB(20);"CREATIVE COMPUTING"
3 PRINT TAB(18);"MORRIST0UN, NEU JERSEY":PRINT
4 PRINT
5 PRINT
4 PRINT "iHIS PROGRAH UILL PLAY CONNECT THE DOTS UITH YOU."
7 PRINT "THE GAME IS PLAYED ON A 4 X 4 ARRAY. UHEN"
8 PRINT "YOU WANT TO HAKE A HOVE YOU MUST TYPE IN"
9 PRINT "THE COORDINATES OF THE SPACE BETWEEN THE TUO DOTS YOU"
10 PRINT "KANT TO CONNECT. ENTER EACH OF YOUR MOVES BY TYPING"
11 PRINT "THE ROU NUHBER, A COMHA AND THE COLUMN NUMBER . "
12 PRINT "THE UPPER LEFT HAND CORNER OF THE ARRAY IS 1,1."
13 PRINT "HERE UE GO."
20 DIM A(12,12)
30 V=0
40 FOR R=1 TO 12
50 FOR C=1 TO 12
40 IF R/2=INT(R/2> THEN 100
70 IF C/2 = INT(C/2) THEN 100
80 A(R,C)=-50
90 GOTO 110
100 A(R,C)=0
110 NEXT C
120 NEXT R
130 IF V=1 THEN 200
200 GOSUB 1000
210 PRINT "YOUR MOVE";
220 INPUT X,Y
230 IF X=INT(X) THEN 240
240 PRINT "YOU REALLY DON'T UANT TO PUT A LINE THERE!!!!"
250 GOTO 210
240 IF (X-1)*(X-7) > THEN 240
245 X=X+2
270 IF (Y-1)*(Y-7) > THEN 240
272 Y=Y+2
280 IF (X+Y+U/2 <> INTKX+Y+D/2) THEN 240
290 IF A(X,Y) <> THEN 240
300 A(X,Y)=50
310 IF X/2 =INT(X/2> THEN 380
320 IF A(X-2,Y!+A(X-1,Y+1)+A(X-1,Y-1) <> 150 THEN 350
330 P=1
340 A(X-1,Y)=1
350 IF A(Xt2,Y)+A(X+1,Y+1)+A(X+1,Y-1) <> i 50 THEN 440
o40 A(X+1,Yl=1
370 GOTO 200
380 IF A(X,Y-2)+A(X+1,Y-l)+A(X-1,Y-1) <> 150 THEN 410
390 A(X,Y-1)=1
400 P=1
410 IF A(X,Y+2)+A(Xt1,Y+1)+A(X-1,Y+1) <> 150 THEN 440
420 A(X,Y+1)=1
430 GOTO 200
440 IF P = 1 THEN 200
450 GOSUB 1000
440 PRINT "MY MOVE"
470 FOR R=4 TO 10 STEP 2
480 FOR CM TO 10 STEP 2
490 IF A(R-1,C>+A(R+1,C)+A(R,C-1)+A<R,C+1) <> 150 THEN 480
500 A(R,C)=-1
510 IF A(R-1,C) <> THEN 550
520 A(R-1,C)=50
530 IF A(R-3,C)+A(R-2,C-1)+A(R-2,C+1) <> 150 THEN 450
540 LET A(R-2,C)=-1
550 IF A(R+1,C> <> THEN 590
540 A(R+1,C)=50
570 IF A<ii+3,L)+A(R+2,C-I)+A<R+2,C+1> <> 150 THEN 450
580 A(R+2,C)=-1
590 IF A(R,C-1 ) <> THEN 430
400 A(R,C-1)=50
410 IF A(R,C-3)+A(R-t,C-2)+A(R+1,C+2) <> 150 THEN 450
420 A(R,C-2)=-1
430 IF A(R,C+1) <> THEN 450
440 A(R,C+1)=50
450 IF A(R,C+3)+A(R-1,C+2)+A(R+1,C+2) <> 150 THEN 450
440 A(R,C+2)=-1
470 GOTO 450
480 NEXT C
490 NEXT R
492 IF E > 1 THEN 730
700 IF A(12-X,12-Y)<>0 THEN 730
710 A(12-X,12-Y)=50
712 IF E > 1 THEN 870
720 GOTO 200
730 FOR R=3 TO 9
740 FOR C=3 TO 9
750 IF (RtC)/2=INT((R*C)/2) THEN 850
740 IF A(R,C) <> THEN 850
780 IF R/2 = INT(R/2) THEN 830
790 IF A(R-2,C)+A(R-1,C-1)+A(R-1,C+1) = 100 THEN 850
800 IF A(Rt2,C)+A(R+1,C-1)+A(Rt1,C+1) =100 THEN 850
810 A(R,C)=50
820 GOTO 200
830 IF A(R,C-2)+A(R-1,C-1)+A(R+1,C-1)=100 THEN 850
840 IF A(R,C+2)+A(R-1,C+2)+A(Rt1,C+1) <> 100 THEN 810
850 NEXT C
840 NEXT R
842 IF E > 1 THEN 700
870 R=INT(RND(1)*7)+3
880 C=INT(RND(1 >*7>+3
881 IF R/2=INT(R/2) THEN 885
882 IF C/2=INT(C/2> THEN 900
883 GOTO 870
885 IF C/2 <> INT(C/2) THEN 900
884 GOTO 870
900 IF A(R,C)<> THEN 870
910 A(R,C)=50
920 GOTO 200
930 PRINT "DO YOU UANT TO PLAY AGAIN (TKPE 1 FOR YES OR 2 FOR NO)
940 INPUT B
950 IF B = 1 THEN 40
940 END
1000 P=0
1010 D-0
1020 E=0
1030 FOR R=3 TO 9
1040 FOR C=3 TO 9
1050 IF A(R,C) <> THEN 1080
1040 PRINT " ";
1070 GOTO 1240
1080 IF A(R,C) <> -50 THEN 1110
1090 PRINT " . "J
1100 GOTO 1240
1110 IF A(R,C) <> -1 THEN 1140
1120 PRINT " C ";
1130 GOTO 1170
1140 IF A(R,C) <> 1 THEN 1200
1150 PRINT " H ";
1170 D=D+A(R,C)
1180 E=E+t
1190 GOTO 1240
1200 IF R/2 = INT(R/2) THEN 1230
1210 PRINT " - ";
1220 GOTO 1240
1230 PRINT ;
1240 NEXT C
1245 PRINT
1250 NEXT R
1240 IF E >=9 THEN 1280
12/0 RETURN
128V IF D > THEN 1310
1290 PRINT "I UON"
1300 GOTO 930
1310 PRINT "YOU UON! !!"
1320 GOTO 930
1400 END
OK
37
Convoy
CONVOY
CREATIVE COHPUTIKO, HORRISTOUN, NEU JERSEY
INSTRUCTIONS? YES
THIS NAVAL UAR SAKE IS PLAYED OH A 10 BY 10 MATRIX
YOU ARE THE SUB; THE COHPUTER IS A CARGO SHIP AND ITS TUO
DESTROYERS. THE SHIP STARTS IN SQUARE 100 AND RANDOMLY MOVES
TO SQUARE 1, HOVINS 0,1, 2, OR 3 SQUARES AT A TIHE.
ONE OF THE SHIP'S DESTROYERS STARTS AT SQUARE 78 AND MOVES
RANDOMLY 0,1,2 OR 3 SQUARES AT A TIME SEARCHIN6 FOR THE SUB.
THE OTHER DESTROYER STAYS UITHIN ONE SQUARE OF THE SHIP AS
AN ESCORT. THE SUB STARTS IN SQUARE 12, CAN MOVE UP,DOUN,
LEFT OR RIGHT 1 SQUARE AT A TIME, 2 MOVES PER TURN, AND IT
HAS TORPEDOES UHICH IT CAN FIRE 1 AT A TIHE IN ANY STRAIGHT
LINE. AFTER EACH SUB MOVE, THE PERISCOPE UILL SEARCH
EACH ADJACENT SQUARE FOR THE SHIP. ALSO RANDOM RECONNAISANCE
REPORTS UILL BE MADE. THE SEQUENCE OF PLAY IS:
1 SHIP AND DESTROYERS MOVE
2 YOUR MOVE
3 YOU CAN FIRE A TORPEDO
4 PERISCOPE SEARCH
5 YOUR HOVE AGAIN
AND BACK TO 1
THE SUB UINS IF IT SUCCEEDS IN HITTING THE SHIP UITHIN 4
TORPEDOES UITHOUT MOVING TO A SQUARE OCCUPIED BY A DESTROYER.
TO 'FIRE?' ANSUER:NO,L,R,U,D,LU,LD,RU,OR,RD.
"L'=LEFT,'R'=RI6HT,'U'=UP,'D'=D0UN,'LU'=LEFT UP,'RU'=RI6HT
UP, OR 'RD'=RI6HTD0MN
This is a naval war game played on a
1 by 1 grid. You are a submarine and
the computer plays the role of the
convoy consisting of a cargo ship and
two destroyers. One destroyer acts as
the escort traveling alongside the
cargo ship, while the othersearches for
the submarine and tries to destroy it.
The destroyer which is searching for
the submarine moves from zero to
three squares at a time, searching. The
other destroyer stays within one
square of the ship. The submarine
starts in square #12 and can move up,
down, left, or right one square at a time
with two moves per turn. It has four
torpedoes which may be fired one at a
time in any straight direction, horizon-
tally, vertically, or diagonally.
The game ends when either the
submarine destroys the cargo ship or
when one of the two destroyers gets
the submarine.
UILL YOU NEED A D0ARD? YES
10
11
12
13
14
15
14
17
18
19
20
21
22
23
24
25
24
27
28
29
30
31
32
33
34
35
34
37
38
39
40
41
42
43
44
45
44
4?
48
49
50
51
52
53
54
55
54
57
58
59
40
41
42
43
44
45
44
47
48
49
70
71
72
73
74
75
74
77
78
79
80
81
82
83
84
85
84
87
88
89
90
91
92
93
94
95
94
97
98
99
100
DESTROYER HAS MOVED
SHIP MOVED
SUB IS NOU AT 12
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 13
SUB'S MOVE? 14
SUB AT 14
SHIP LAST SEEN AT 100
FIRE? NO
UP PERISCOPE
SHIP NOT IN SIGHT
RECON. SHOUS SHIP AT 99
SUB IS NOU AT 14
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 15
SUB'S MOVE? 16
DESTROYER HAS MOVED
SHIP MOVED
SUB IS NOU AT 16
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 17
SUB'S MOVE? 18
SUB AT 18
SHIP LAST SEEN AT 99
FIRE? NO
UP PERISCOPE
SHIP NOT IN SIGHT
REC0.Y. SHOUS SHIP AT 88
SUB IS NOU AT 18
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 28
SUB'S MOVE? 38
DESTROYER HAS MOVED
SHIP MOVED
SUB IS NOU AT 38
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 48
SUB'S MOVE? 58
SUB AT 58
SHIP LAST SEEN AT 88
FIRE? NO
UP PERISCOPE
SHIP NOT IN SIGHT
RECON. SHOUS SHIP AT 87
SUB IS NOU AT 58
DESTROYER LAST SIGHTED AT 78
SUB'S MOVE? 57
DESTROYER CLOSING IN AT 66
SUB'S MOVE? 56
DESTROYER CLOSING IN AT 66
DESTROYER HAS MOVED
SHIP MOVED
LIST
80 PRINT TAB (33 ("CONVOY"
90 PRINT TAB(15)"CREATIVE COMPUTING, MORRISTOUN, NEU JERSEY"
100 PRINT "INSTRUCTIONS";
110 INPUT B*
120 IF B»*"N0" THEN 300
130 PRINT "THIS NAVAL UAR GAHE IS PLAYED ON A 10 BY 10 MATRIX"
140 PRINT'YOU ARE THE SUB; THE COMPUTER IS A CARGO SHIP AND ITS TUO"
145 PRINT'DESTROYERS. THE SHIP STARTS IN SQUARE 100 AND RANDOMLY MOVES"
150 PRINT'TO SQUARE 1, MOVING 0,1, 2, OR 3 SQUARES AT A TIME."
155 PRINT'ONE OF THE SHIP'S DESTROYERS STARTS AT SQUARE 78 AND MOVES"
140 PRINT'RANBOMLY 0,1,2 OR 3 SQUARES AT A TIME SEARCHING FOR THE SUB."
145 PRINT'THE OTHER DESTROYER STAYS UITHIN ONE SQUARE OF THE SHIP AS"
144 PRINT'AN ESCORT. THE SUB STARTS IN SQUARE 12, CAN MOVE UP.DOUN, "
147 PRINT"LEFT OR RI6HT 1 SQUARE AT A TIME, 2 MOVES PER TURN, AND IT "
190 PRINT"HAS TORPEDOES UHICH IT CAN FIRE 1 AT A TIME IN ANY STRAIGHT"
200 PRINTLINE. AFTER EACH SUB MOVE, THE PERISCOPE UILL SEARCH"
210 PRINT'EACH ADJACENT SQUARE FOR THE SHIP. ALSO RANDOM RECONNAISANCE"
220 PRINT'REPORTS UILL BE MADE. THE SEQUENCE OF PLAY IS:"
230 PRINT
240 PRINT"1 SHIP AND DESTROYERS MOVE"
245 PRINT'2 YOUR MOVE"
250 PRINT'S YOU CAN FIRE A TORPEDO"
270 PRINT"4 PERISCOPE SEARCH"
275 PRINT"5 YOUR MOVE AGAIN"
280 PRINT" AND BACK TO 1"
281 PRINT
283 PRINT" THE SUB UINS IF IT SUCCEEDS IN HITTING THE SHIP UITHIN 4 "
285 PRINT"TORPEDOES UITHOUT M0VIN6 TO A SQUARE OCCUPIED BY A DESTROYER.
284 PRINT
287 PRINT"T0 'FIRE?' ANSUER:N0,L,R,U,B,LU,LD,RU,OR,RD."
288 PRINT"'L'=LEFT,'R'=RI6HT,'U'=UP,'D'=D0UN,'LU"=LEFT UP, 'RU'=RIGHT "
289 PRINT"UP,OR 'RD'=RI6HTD0UN"
290 PRINT
300 PRINT"UILL YOU NEED A BOARD" ;
310 INPUT B»
320 IF B»="N0" THEN 420
330 PRINT
340 PRINT
350 PRINT" 1 2 3 4 5 4 7 8 9 10"
340 FOR 1=1 T09
3?0 FOR J=1 TO 10
380 PRINTI*10*J;
390 NEXT J
400 PRINT
410 NEXT I
420 PRINT:PR1KT
440 D=12
38
450 T=4
460 S-100
470 C=78
480 C2=78
490 L=100
500 IF C=-100 THEN 550
510 GOTO 2780
520 Y3=0
530 M1=0
540 B0T0580
550 N1-0
560 IF S=2 THEN 1230
570 Y3=1
580 IF S=3 THEN 1230
5?0 IF 8=11 THEN 1230
400 IF 8=12 THEN 1230
610 IF 8=21 THEN 1230
420 X=RND(1)
430 IF X>.4 THEN 690
440 IF X>.2 THEN 710
450 IF X>.05 THEN 470
440 60T0 1020
470 81=0
480 GOTO 720
490 S1=2
700 GOTO 720
710 S1=1
720 X=RND(1)
730 IF X<.75 THEN 740
740 P1 =1
750 GOTO 830
740 P1=-1*
770 GOTO 830
780 IF S=10*INT(S/10) THEN 820
790 GOTO 840
800 IF S=1+<10*INT<S/10>> THEN 820
810 GOTO 860
820 P1=P1*(-1)
830 H2=P1*(UNT(2*<RND<1>>>*9>+1>
840 IF H2=1 THEN 780
850 IF H2=-1 THEN 800
860 IF H1=H2*(-1) THEN 820
870 C1=S+H2
880 IF C1=1 THEN 1230
890 IF C1=D THEN 2720
900 IF El =C THEN 820
910 IF CK1 THEN 820
920 IF C1>100 THEN 820
930 H1=N2
940 S=C1
950 C6=S+<<INT<2*RND(1>>*<-2>)+1>*<(INT(2*RND(1>>
960 IF C4<2 THEN 950
970 IF C6>100 THEN 950
980 IF C6= D THEN 2700
990 IF S1=1 THEN 670
1000 IF 81=2 THEN 710
1010 C3=0
1020 PRINT"SHIP MOVED"
1030 IF Y3=0 THEN 1060
1040 XI =0
1050 GOTO 2340
1060 PRINT
1070 X1=1
1080 PRINT"SUB AT"JD
1090 PRINT"SHIP LAST SEEN AT";L
1100 PRINT"FIRE";
1110 INPUT At
1120 IF A*="N0" THEN 1730
1130 IF A$=»L" THEN 1250
1140 IF A$="R" THEN 1270
1150 IF A»="U" THEN 1290
1160 IF A$="D" THEN 1310
1180 IF A$="LU" THEN 1330
1185 IF A»="LD" THEN 1350
1190 IF A»="RU" THEN 1370
1200 IF A*="RD" THEN 1390
1210 PRINT"AN8: NO,L,R,U,D,LU,LD,RU,0R,RD"
1220 80T0 1100
1230 PRINT"SHIP'S IN PORT"
1240 60T0 2750
1250 P1=-1
1260 60T0 1400
1270 P1=1
1280 GOTO 1400
1290 P1=-10
1300 GOTO 1400
1310 P1=10
1320 GOTO 1400
1330 P1=-11
1340 GOTO 1400
1350 P1=9
1360 GOTO 1400
1370 P1=-9
1380 GOTO 1400
1390 P1=11
1400 Dt=D
1410 D1=D1+P1
1420 PRINT 01;
1430 IF D1=S THEN1500
1440 IF D1-C THEN 1520
1450 IF DK11 THEN 1600
1440 IF D1>90 THEN 1440
1470 IF D1=10*INT(D1/10) THEN 1540
1480 IF D1=1+(10*INT(D1/10>> THEN 1580
1490 GOTO 1410
1500 PRINT"KER-B00N! CARGO SHIP DESTROYED ! "
1502 PRINT"YOU UIN"
1504 Q=1
1510 GOTO 2750
1520 PRINT"UHAHO! ! , DESTROYER SUNK."
1530 C=-100
1540 T=T-1
1550 GOTO 1710
1560 IF D=10*INT<D/10> THEN 1410
1570 GOTO 1680
1580 IF D=1+(10*INT(D/10>> THEN 1410
1590 GOTO 1680
1600 IF D>10 THEN 1680
1610 IF DK2 THEN 1680
1620 IF D1>9 THEN 1680
1630 GOTO 1410
1640 IF D<91 THEN 1480
1650 IF DK92 THEN 1680
1660 IF D1>99 THEN 1680
1670 80T0 1410
1680 T=T-1
1690 PRINT"HISS"
1700 IF T=0 THEN 2740
1710 PRINT T;"T0RPED0ES LEFT"
1720 GOTO 1100
1730 PRINT
1740 Y=0
1750 PRINT"UP PERISCOPE"
1760 Y2=0
1770 IF S=D THEN 1930
1760 IF S=D-1 THEN 1930
1790 IF S=D+1 THEN 1930
1800 IF 8=D-10 THEN 1930
1810 IF 3=0+10 THEN 1930
1820 IF S=D-9 THEN 1930
1830 IF S=D+9 THEN 1930
1840 IF S=D-11 THEN 1930
)+1) 1850 IF S=D+11 THEN 1930
1860 IF Y=1 THEN 1940
1870 PRINT"SHIP NOT IN SIGHT"
1880 X=RND(1)
1890 IF X<.35 THEN 1940
1900 PRINT
1910 PRINT"RECON. SHOUS ";
1920 Y2=-1
1930 PRINT-SHIP AT ";S
1940 Y2=Y2+1
1950 L=S
1940 IF C=D THEN 2280
1970 IF C6=D THEN 2700
1980 IF C=D+1 THEN 2260
1990 IF C6=D+1 THEN 2240
2000 IF C=D-1 THEN 2260
2010 IF C6=D-1 THEN 2240
2020 IF C=D+9 THEN 2260
2030 IF C6=D+9 THEN 2240
2040 IF C=D-9 THEN 2240
2050 IF C6=D-9 THEN 2240
2060 IF C=D+10 THEN 2260
2070 IF C6=D+10 THEN 2240
2080 IF C=D-10 THEN 2240
2090 IF C4=D-10 THEN 2240
2100 IF C=D+11 THEN 2240
2110 IF C6=D+11 THEN 2240
2120 IF C=D-11 THEN 2260
2130 IF C6=D-11 THEN 2240
2140 IF C=D+2 THEN 2260
2150 IF C=D-2 THEN 2260
2160 IF C=D+20 THEN 2260
2170 IF C=D-20 THEN 2260
2180 IF C=-100 THEN 2320
2190 IF Y=1 THEN 2330
2200 X=RND(1)
2210 IF X<.6 THEN 2320
2220 PRINT"RECON. PLANE SPOTS TIN CAN AT";C
2230 GOTO 2300
2240 PRINT"E8C0RT VERY NEAR!"
2250 GOTO 2320
2260 PRINT"DESTROYER CLOSING IN AT";C
2270 GOTO 2300
2280 PRINT"DESTROYER DIRECTLY OVER HEAD"
2290 GOTO 2660
2300 C2=C
2310 C3=1
2320 IF Y=0 THEN 2340
2330 RETURN
2340 PRINT
2350 PRINT"SUB IS NOU AT ";D
2360 IF C3=1 THEN 2390
2370 IF C=-100 THEN 2390
2380 PRINT"DESTROYER LAST SIGHTED AT ";C2
2390 D2=0
2400 PRINT"SUB'S HOVE";
2410 Y=1
2420 INPUT X
2430 IF X=D THEN 2560
2440 IF X<2 THEN 2640
2450 IF X>100 THEN 2440
2460 IF X=INT(X) THEN 2480
2470 GOTO 2640
2480 IF X=D+1 THEN 2530
2490 IF X=D-1 THEN 2550
2500 IF X=D+10 THEN 2560
2510 IF X=D-10 THEN 2560
2520 SOTO 2640
2530 IF D=10*INT(D/10) THEN 2440
2540 GOTO 2560
2550 IF X=10*INT(X/10) THEN 2440
2540 D=X
2570 G03UB 1760
2580 IF D2=1 THEN 2610
2590 D2=1
2600 GOTO 24O0
2610 IF X1=0 THEN 3060
2420 IF C=-100 THEN 550
2630 GOTO 2780
2440 PRINT"CAN'T DO"
2650 GOTO 2400
2660 X=RND(1)
2670 IF X<.8 THEN 27O0
2680 PRINT"DEPTH CHARGE JUST HISSED!"
2690 GOTO 2300
2700 PRINT"VAR00H! !SUB DEPTH CHARGED!"
2710 GOTO 2750
2720 PRINT"SHIP NOU OVERHEAD"
2730 GOTO 550
2740 PRINT"AHH0 DEPLETED"
2750 PRINT
2751 IF 0=0 THEN 2754
2752 01=01+1
2753 GOTO 2755
2754 Q2=Q2+1
2755 PRINT"SCORE: C0HPUTER";Q2;"- SUB";Q1
2756 PRINT
2757 0=0
2760 PRINT" NEU GAHE";
2761 INPUT N»
2762 IF N»="N0" THEN 3080
2770 GOTO 420
2780 H1=0
2790 SI =0
2800 X=RND(1)
2810 IF X<.6 THEN 2840
2820 P1=1
2830 GOTO 2650
2840 P1=-1
2850 N2=(P1«((INT(2*RND(1)))*9)+1 )
2860 IF N2=1 THEN 3000
2870 IF M2=-1 THEN 3020
2880 IF H1=M2*(-1) THEN 3040
2890 C1=C+H2
2900 IF C1=D THEN 2700
2910 IF C1-S THEN 3040.
2920 IF CK2 THEN 3040
2930 IF C1>100 THEN 3040
2940 N1=H2
2950 C=C1
2960 IF S1=1 THEN 550
2970 81=1
2980 PRINT"DESTROYER HAS KOVED"
2990 GOTO 2800
3000 IF C=10*INT(C/10) THEN 3040
3010 GOTO 2880
3020 IF C=1+(10*INT(C/10>) THEN 3040
3030 60T0 2880
3040 P1=P1*(-1)
3050 GOTO 2850
3060 IF Y2=0 THEN 1040
3070 GOTO 520
30G0 END
OK
39
Corral
CORRAL is a game program inspired
by Harry (short for Aragon), a horse
acquired in a rash moment of in-
dulgence for a teen-age daughter.
Harry, in his own inimitable style,
taught us much about the care, feeding
and psychology of the equine species.
Some of that hard-won psychology has
found its way into CORRAL, which is a
one-dimensional simulation of the two-
(and almost three-) dimensional
problem of catching Harry for anything
other than food. The main reason for
confining Harry's alter ego in the
computer to only one dimension is
simply to conserve paper on hard-copy
terminals. Even so, the presentation is
very effective on a video display unit.
The corral itself is bounded by a pair
of siderails represented by upper-case
I characters separated by 21 spaces.
The cowboy C always enters beside the
leftmost rail while the horse H is
happily mooching somewhere
between positions 1 and 1 8 with a bias
towards the right. This bias and the
various other behavioral peculiarities
of the horse are governed by two data
matrices (statements 90 and 100)
which may be altered to vary the
beast's temperament from wild to
docile depending on the data distribu-
tion.
If the horse bolts, a check is made
(line 450) to ensure that it does not
reach a position less than one space
away from the cowboy. Occasionally,
the horse bolts to a position more
advantageous to the cowboy, just as in
real life, but usually the opposite is
true, particularly when it bolts as a
result of an incautious approach by the
cowboy. So heed with care the advice
for the cowboy not to advance by more
than half the separation in any one
move except when adjacent to the
horse, of course!
The probability that the horse may
kick when the cowboy moves close is
set by the IF statement at line 500. The
cowboy is immobilized for from one to
five moves, while the horse canters
happily away from the scene of his
triumph. If this happens more than a
certain (random) number of times the
round-up is terminated by the depar-
ture of the cowboy in an ambulance.
Occasionally the horse decides to
engage in a friendly dance around the
cowboy, but remember that random
number generators have no soul and
the result is often vile treachery as the
horse delivers a fatal kick at the very
moment when a successful catch
seems assured. On the other hand, the
skill of an accomplished CORRAL
cowboy can result in a catch within
three moves with no injuries sustained.
You either have it or you have not, as
the saying goes. In the latter case the
program allows a maximum of 100
moves before relegating the luckless
cowboy to cookhouse chores.
Computer freaks with multi-color
graphics will no doubt be dissatisfied
with such prosaic symbols as H and C
for the horse and cowboy. A fully
animated CORRAL in living color (with
sound effects by a music or speech
synthesizer— a talking horse yet!)
should not be too difficult to achieve.
Program and description are by
Colin Keay.
CORRAL
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
TOU ARE THE C0HB0Y. GO CATCH YOUR HORSE IN THE CORRAL!
DO YOU UANT FULL INSTRUCTIONS? YES
YOU HOVE TOUARD YOUR HORSE I TO 5 STEPS AT A TINE.
IF YOU MORE THAN HALVE THE SEPERATION HE UILL BOLT!
HE HAY ALSO BOLT UHEN HE IS CLOSE TO THE RAIL
UHEN YOU C0HE UITHIN 2 STEPS HE HAY KICK. SO LOOKOUT ! !
AFTER '?' TYPE IN DIGIT FROM 1 TO 5 FOR COUBOY'S NEXT MOVE
1
2
3
4
5
4
7
8
?
10
11
12
13
14
IS
U
17
18
1?
20
21
22
23
24
25
24
27
28
2?
30
31
32
33
34
C H
C H
C H
C H
C H
H C
H C
H C
H C
H C
H C
H C
H C
H C
H C
C H
C H
C H
C H
C H
C H
C H
C H
H C
H C
H C
HC
H C
H C
H C
H C
C H
C H
C H
C H
i
BOLTED
BOLTED
BOLTED
BOLTED
T 1
YIPPEE! ! N0U SEE IF YOU CAN CATCH HIH IN FEUER MOVES
ANOTHER ROUNDUP? NO THANKS
40
ANOTHER ROUNDUP? YES
IC
H
C H
H C
H C
H C
7
8
I K
H C
C
I H
10
I H
11
C H
12
C H
13
C H
14
C H
15
C H
16
C H
17
18
H
1?
H C
20
H C
21
C H
22
23
24
C
H
25
26
27
H C
28
H C
2?
H C
30
H C
31
H C
32
H C
33
C H
34
C H
35
C H
36
C H
37
C H
38
H C
3?
H C
40
H C
41
C H
42
C H
43
C H
44
C H
45
C H
46
C H
47
C H
48
H C
4?
H C
50
H C
51
H C
52
IH
53
IH
c
54
IH
55
IK
56
C H
57
C H
58
C H
5?
C H
60
H C
ILLEGAL HOVE.
TRY
AGAIN i. 2
61
H C
62
H C
63
H C
64
IH
65
C H
66
C H
67
C H
68
C H
69
H C
THOSE KICKS LANDED YOU IN THE HOSPIT
SET HELL SOON
ANOTHER ROUNDUP? NO
Oil
BOLTED
BOLTED
BOLTED
KICKED
BOLTED
KICKED
BOLTED
KICKED
KICKED
BOLTED
BOLTED
BOLTED
KICKED
? 5
? 3
? 2
? 2
? 3
? 3
1 2
? 1
? 3
? 2
? 1
? 2
? 2
1!
LIST
1 PRINT TAB < 26 >; "CORRAL"
2 PRINT TA8(20);"CREATIWE COHPUTING"
3 PRINT TAB(18>;"H0RRIST0UN, NED JERSEY"
4 PRINT: PRINT: PR INT
10 DIM A(21)
40 DIH S<2,9>
50 FOR 1=1 TO 2sF0R J=0 TO 9
55 READ S(I,J):NEXT J: NEXT I
60 DATA 0,1,2,3,3,2,2,1,0,-1
70 DATA 1,2,3,4,5,4,3,2,1,0
100 PRINT " YOU ARE THE COWBOY. GO CATCH YOUR HORSE IN THE CORRAL ! "
110 INPUT "DO YOU UANT FULL INSTRUCTIONS"^*
120 IF LEFT»(F»,1)=»N" GOTO 190
130 PRINT "YOU HOVE TOWARD YOUR HORSE 1 TO 5 STEPS AT A TINE."
140 PRINT "IF YOU HORE THAN HALVE THE SEPERATION HE UILL BOLT 1 "
150 PRINT "HE HAY ALSO BOLT UHEN HE IS CLOSE TO THE RAIL"
160 PRINT "UHEN YOU CONE WITHIN 2 STEPS HE HAY KICK. SO LOOKOUT!!"
180 PRINT
190 PRINT "AFTER '»' TYPE IN DIGIT FROH 1 TO 5 FOR COWBOY'S NEXT HOVE"
200 C=1:L=1:K=0:H=0:N=0:GOSUB 800
220 IF R>5 THEN Q=-0
225 H=13*8:G0SUB 810
230 T=2+P:PRINT
300 B»= "
310 FOR J=1 TO 21:A<J)=32:NEXT J
320 A(C)=67:A(H)=72
330 PRINT N "I"'
333 FOR J=1 *T0 21:PRINT CHR«(A(J));:NEXT J
337 PRINT "I\B»;
370 X=ABS(H-C):L=SGN(H-C)
380 N=N+1:IF K>0 OOTO 640
3?0 IF N>100 THEN ?80
395 INPUT D
400 IF D>0 AND D<6 GOTO 450
420 PRINT "ILLEGAL NOVE. TRY AGAIN", ;:60TO 390
450 E=C+L»D:IF E <1 OR E>21 THEN 420
460 C=E:GOSUB 800
310 G=P:H=HH»6:G0SUB 810
530 IF X<2»D AND » >1 60TO 570
540 IF H>1 AND H<20 THEN 600
545 GOSUB 800
550 IF R>2 GOTO 600
555 IF X>7 GOTO 300
570 G=9+2*PiH=H-L*G:L=-L:GOSUB 810
580 IF ABS(H-C)>1 THEN 590
585 H=H-3*L: GOSUB 810
590 B»="BOLTED ":G0TO 310
600 IF ABSIH-C>>2 GOTO 300
605 GOSUB 800
610 IF R>3 GOTO 700
615 GOSUB 800
620 K=P+2:H=H+1:H=H-5*L:G0SUB 810
630 B»="KICKED":G0T0 310
640 IF H>T GOTO 900
650 K=K-1:PRINT:G0SUB BOO
670 H=H+L*(P+1):G0SUB 810:G0T0 300
700 IF H=C THEN 930
705 GOTO 300
800 R=INT(10*RND(1))sP=S(1,R):Q=S(2,R):RETURN
810 IF H<1 THEN H=1
820 IF H>21 THEN H=21
830 RETURN
900 PRINT:PRINT "THOSE KICKS LANDED YOU IN THE HOSPITAL!"
910 PRINT " 6ET UELL S00N!!":60T0 960
930 FOR J=1 TO 21:A(J)=32:NEXT J:A(C)=35
940 PRINT ,"I";
943 FOR J=1 TO 21:PRINT CHR»(A( J) >; sNEXT J
947 PRINT "I"
950 PRINTtPRINT "YIPPEE!! NOW SEE IF YOU CAN CATCH HIH IN FEWER HOVES"
960 INPUT "ANOTHER R0UNDUP";F»
970 IF LEFT»(FI,1)="Y" THEN 200
975 GOTO 999
980 PRINT:PRINT "ENOUGH! 1 YOU'D DO BETTER AS CANP CO0K!":60TO 960
999 END
Ok
41
Countdown
The program Countdown is based on
the program Guess in which the
computer chooses a random number
and then gives you clues whether you
are too high or too low until you finally
get the number. In Countdown, the
program adds a little interest to this
guessing game by giving you a certain
number of tries to get the mystery
number between one and ten before
your schoolbuilding explodes. Using a
good guessing strategy should allow
you to get any number in four or fewer
tries. If you take more than four tries,
the building goes "boom." To add a
little more interest to the game, you
may want to make the maximum
number of tries three. To do this
change the value of T in statement 45
from 4 to 3.
Countdown was written by Mark
Chambers.
RUN
- COUNT DOWN
CREATIVE COMPUTING
MORRISTOUN, NEU JERSEY
YOU HAVE ACTIVATED THE SELF-DESTRUCT MECHANISM IN THIS SCHOOL .
IF YOU UISH, YOU HAY STOP THE MECHANISM.
TO DO SO, JUST TYPE IN THE CORRECT NUMBER,
WHICH UILL STOP THE COUNT-BOUN.
PLEASE HURRY!! THERE IS NO TIKE TO WASTE!!!'!"
UHAT'LL II SE?
CORRECT ! ! ! '
THE COUNTUOUN HAS STOPPED,.
YOU HAVED SAVED THE SCHOOL!
(HAVE YOU SEEN YOUR SHRINK LATELY ?)
on
RUN
COUNT DOWN
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
LIST
1 PRINT TAB(24);"C0UNT BOUN"
2 PRINT TAB(20);"CREATIVE COMPUTING"
3 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
4 PRINT:PRINT:PRINT
5 A=INT(RND(1!*10)
6 T=0
7 N=0
15 PRINT "YOU HAVE ACTIVATED THE SELF-DESTRUCT MECHANISM ";
20 PRINT "IN THIS SCHOOL."
25 PRINT "IF YOU UISH, YOU MAY STOP THE MECHANISM. "
27 PRINT "TO DO SO, JUST TYPE IN THE CORRECT NUMBER,"
35 PRINT "UHICH UILL STOP THE COUNT-DOUN."
37 PRINT "PLEASE HURRY!! THERE IS NO TIME TO UASTE !!!!!!!"
44 PRINT "UHAT'LL IT BE";:INPUT X:PRINT
45 IF T=4 THEN 98
47 GOTO 200
50 REM
75 PRINT "YOUR NUMBER DOES NOT COMPUTE!!"
80 PRINT "PLEASE TRY AGAIN !!!!" :T=T+1
81 IF T=2 THEN 96
82 IF T=3 THEN 105
83 GOTO 44
85 PRINT "CORRECT! ! ! !":LET N=5
90 PRINT "THE COUNTDOUN HAS STOPPED."
92 PRINT "YOU HAVED SAVED THE SCHOOL ! "
93 PRINT "(HAVE YOU SEEN YOUR SHRINK LATELY ?)"
94 LET T=10
95 GOTO 1000
96 PRINT "TIME GR0US SHORT, PLEASE HURRY!!!!!!!!"
97 GOTO 44
98 PRINT :PRINT: PRINT: PRINT
99 PRINT TAB(32);"T00 LATE"
100 PR INT: PR I NT: PR INT: PR I NT TAD(32);"\ **** /"
101 PRINT TAB(31);"~ BOOH
102 PRINT TAB<32>;'7 **** V
103 PRINT:PRINT:PRINT
104 GOTO 1000
105 PRINT "HURRY, THE COUNT-DOUN IS APPROACHING ZERO!!!!!!!!!"
110 GOTO 44
200 IF X<A THEN PRINT "TOO SMALL! !!! !":60T0 50
210 IF X>A THEN PRINT "TOO BIG! ! ! ! !":GOTO 50
225 IF X=A THEN 85
1000 END
Ok
YOU HAVE ACTIVATED THE SELF-DESTRUCT MECHANISM IN THIS SCHOOL.
IF YOU UISH, YOU MAY STOP THE MECHANISM.
TO DO SO, JUST TYPE IN THE CORRECT NUMBER,
UHICH UILL STOP THE COUNT-DOUN.
PLEASE HURRY!! THERE IS NO TIME TO UASTE!!!!!!!
UHAT'LL IT BE?
TOO SMALL! ! ! ! !
YOUR NUMBER DOES NOT COMPUTE ! !
PLEASE TRY AGAIN! ! ' !
UHAT'LL IT BE? 1
TOO SMALL!!!!!
YOUR NUMBER DOES NOT COMPUTE ! !
PLEASE TRY AGAIN!!!!
TIME GROUS SHORT, PLEASE HURRY!!!!!!!!
UHAT'LL IT BE? 2
TOO SMALL!!!!!
YOUR NUMBER DOES NOT COMPUTE ! !
PLEASE TRY AGAIN!!!!
HURRY, THE COUNT-DOUN IS APPROACHING ZERO!!!!!!!!!
UHAT'LL IT BE? 3
TOO SMALL! ! ! ! !
YOUR NUMBER DOES NOT COMPUTE ! !
PLEASE TRY AGAIN! ! ! !
UHAT'LL IT BE? 4
TOO LATE
\ **«* /
— BOOM —
**** \
Ok
42
Cup
Cup is a cute little game in which a
cup is located thirty lines down the
paper of your terminal or thirty lines
down on your video display screen and
a random number of spaces from one
to sixty to the right of the left margin.
The pull of gravity varies from one to
ten lines per second per second. You
are then asked in this program what
push you would like to give the ball
from left to right across' the paper in
spaces per second. The program then
traces the path of the ball from the left
margin of the paper as it falls down and
hopefully into the cup.
A knowledge of physics is helpful if
you wish to get the ball in the cup on
the first try. However, you can diddle
with it by trial and error and generally
hit the cup on your fourth or fifth try.
Cup was written by Jonathan
Freidin.
CUP
CREATIVE COMPUTING
H0RR1ST0UN, NEU JERSEY
THE CUP IS 30 LINES DOUN AND 53 SPACES OVER.
THE PULL OF GRAVITY IS 6 LINES/SECOND/SECOHD.
UHAT IS THE PUSH YOU UOULD LIKE TO BIVE THE BALL
ACROSS THE PAPER (IN SPACES/SECOND)? 8
THE RESULTS HAY TAKE ANYWHERE BETUEEN 30 AND 90 SECONDS.
RUN
* *
**»
YOU HISSED; TRY AGAIN.
LIST
1 PRINT TAB(27);"CUP"
2 PRINT TAB ( 20 >; "CREATIVE COMPUTING"
3 PRINT TAB(!8);"H0RRIST0UN, NEU JERSEY"
4 PRINT:PRINTsPRINT
10 DIH 5(30,40)
30 LET L=INT(60»RND(1)>+t
40 IF L=40 OR L«1 THEN 30
50 LET 6«INT(10*RND(imi
(SO PRINT "THE CUP IS 30 LINES DOUN AND ";L;" SPACES OVER."
70 PRINT "THE PULL OF GRAVITY IS ";6f" LINES/SECOND/SECOND."
80 PRINT "UHAT IS THE PUSH YOU UOULD LIKE TO GIVE THE BALL"
90 PRINT "ACROSS THE PAPER (IN SPACES/SECOND) "J
tOO IHPUT T
110 PRINT "THE RESULTS HAY TAKE ANYUHERE BETUEEN 30 AND 90 SECONDS.
120 FOR S1«1 TO 30iF0R S2»1 TO 40:S(S1 ,S2)«0:NEXT:NEXT
130 LET S(30,L)*5<30,L-1>=S<30,L*1>=S(29,L-1)»S(29,L«1>=1
FOR Z=1 TO S8R(40*6>/6 STEP .01
LET Y«T»Z»2
LET X«6/2*Z"2
IF X>30.5 OR X<.5 OR Y>40.5 OR Y<.5 THEN 300
IF INT(X>«29 AND INW)=L THEN 310
IF INTU> + 1=29 AND INT(Y)+1=L THEN 310
IF INT (X)=2? AND INT(Y)«L-1 THEN 310
IF INT(X>+1»29 AND INT(Y)+1=L-1 THEN 310
IF INT<X>*29 AND 1NT(Y)*L+1 THEN 330
IF INT(X)*1»2? AND INT(Y)t1=L+1 THEN 330
LET S(X,Y>=2
FOR D"1 TO 5
IF Y<4 THEN 290
LET S<X,Y-D)=0
NEXT D
NEXT Z
60T0 340
LET W=1
GOTO 335
LET U«2
LET S(29,L>"2
GOTO 345
LET U«0
LET P$=" *."
340 LET S(30,L)»V:S(30,L-1)=1:S(30,L+1)=1:
345 LET S<29,L-1>*1:S(29,L*1>=1
370 FOR X»1 TO 30
FOR XI si TO 40
IF S(X,X1)<>0 THEN 420
NEXT XI
GOTO 500
FOR T«1 TO 40
430 PRINT HID»(P»,S(X,Y)+1,1);
440 IF X«29 OR X«30 THEN 490
IF Y=40 OR Y«1 THEN 490
IF Y=1 OR Y«59 THEN 500
IF S(X,Y)«2 AND S(X,Yt1)«0 THEN 500
IF S(X,Y)«1 AND S(X,Y+1)«0 AND S(X,Y*2)»0 THEN 500
NEXT Y
PRINT
NEXT X
PRINT
IF U=1 THEN 570
IF U«2 THEN 590
PRINT "YOU HISSED! TRY AGAIN."
GOTO 40
PRINT "RIGHT IN!!!"
60T0 400
PRINT "YOU ALHOST DIDN'T HAKE IT, BUT IT BOUNCED IN."
PRINT "DO YOU UANT TO PLAY AGAIN?"
INPUT At
420 IF LEFT»(A$,1)="Y" THEN 30
630 END
Ok
140
150
140
170
180
190
200
210
220
230
240
250
240
270
280
290
300
310
320
330
335
337
340
345
380
390
400
410
420
450
440
470
480
490
500
510
520
530
540
550
540
570
580
590
400
410
43
Dealer x 5
In this game, you, the player, are given
$100 to start with. You then play five card
games loosely modeled on casino gam-
bling games, but with peculiar varia-
tions. The five games are well-explained
in the rules.
This game was written by Thomas
Carey.
RUN
DEALER'S CHOICE
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THIS PR06RAH UIU SIMULATE THE T.V. SHOU, DEALER'S CHOICE.
YOU HAVE tlOO TO START UITH. ENJOY THE GAME.
FOR THE FIRST BAHE, HE UILL PLAY ON THE WHEEL OF CHANCE.
THE ODJECT IS SIMPLE. GUESS WHAT SUITE UILL APPEAR ON THE
WHEEL AND YOU UILL GET PAID AT THOSE ODDS IF YOU ARE RIGHT.
THEY ARE AS FOLLOWS:
1 DIAMONDS AT 11 TO 1 ODDS 2=SPADES AT T TO 1 ODDS.
3»HEARTS AT 3 TO 1 ODDS 4=CLUBS AT 3 TO 1 ODDS.
YOU MAY DET UP TO $25. 600D LUCK!
UHAT SUITE DO YOU UANT? 1
UHAT IS THE BET? 23
O.K. NOU THAT YOUR BET IS IN, UE UILL SPIN
THE WHEEL, GOOD LUCK!
THE WHEEL IS SLOWING DOUN.
THE WHEEL IS ST0PPIN6.
THE SUITE IS
*»»» 1 ***»
YOU WIN ON DIAMONDS
AT THE END OF PART 1, YOU HAVE * 375
THIS IS THE GAME OF IN BETWEEN. THE OBJECT IS: S CARDS UILL
BE DEALT OUT. IF ANY CARD IS LESS THAN A 3 OR GREATER THAN A
10, THE GAME IS OVER. YOU MAT BET UP TO »30. YOUR HONEY
UILL BE DOUBLED EACH TINE YOU ARE RIGHT. GOOD LUCK !
UHAT IS THE BET? 40
*»*YOU BET OVER THE HOUSE LIMIT ***
UHAT IS THE BET? 30
CARD NUMBER 1 IS A 4
YOU ARE STILL IN THE GAME. YOU HAVE 40
STOP OR 60? 00
CARD NUMBER 2 IS A 4
YOU ARE STILL IN THE GAME. YOU HAVE 120
STOP OR GO? GO
CARD NUMBER 3 IS A 7
YOU ARE STILL IN THE 6AME. YOU HAVE 180
STOP OR GO? STOP
YOU WIN. AT THE END OF PART 2, YOU HAVE » 555
THIS IS THE GAME OF BLACKJACK <DEALER'S CHOICE STYLE>
THE OBJECT IS TO BEAT THE DEALER WITH OVER 17 OR 21 OR
UNDER. YOU MAY BET UP TO J50. YOU MAY STOP UHEN YOU UISH.
IF YOU MAKE BLACKJACK, YOUR MONEY IS DOUBLED.
IF THE HOUSE DEALS OUT LESS THAN A TOTAL OF 17 IN 6 TRIES,
YOU UILL KEEP THE MONEY YOU BET. MOB '.UCK!
THE DEALER UILL GET HIS CARDS FIRST
HERE I 60
THE CARD IS A t
SO FAR: 1
THE CARD IS A 10
SO FAR: 11
THE CARD IS A i
SO FAR: 17
I STOP. THE TOTAL FOR ME IS 17
NOW YOU 60
UHAT IS THE DET? 50
YOUR CARD IS A 5
SO FAR THE TOTAL FOR YOU IS 5
STOP OR GO? GO
YOUR CARD IS A 12
SO FAR THE TOTAL FOR YOU IS 17
STOP OR 60? STOP
UE ARE THE SAME SO UE UILL PLAY AGAIN
THE DEALER UILL GET HIS CARDS FIRST
HERE I 60
THE CARD IS A 11
SO FAR: 11
THE CARD IS A 9
SO FAR: 20
I STOP. THE TOTAL FOR HE IS 20
NOU YOU GO
UHAT IS THE BET? 50
YOUR CARD IS A 1
SO FAR THE TOTAL FOR YOU IS 1
STOP OR 60? 00
YOUR CARD IS A 12
SO FAR THE TOTAL FOR YOU IS 13
STOP OR 60? GO
YOUR CARD IS A 1
SO FAR THE TOTAL FOR YOU IS 14
STOP OR 60? GO
YOUR CARD IS A 12
SO FAR THE TOTAL FOR YOU IS 26
THE DEALER BEAT YOU. YOU LOSE
AT THE END OF PART 3, YOU HAVE * 325
NOW WE ENTER THE LAST CHANCE ROUND. IF YOU HAKE UP 70
S300 YOU WILL BE ABLE TO 60 INTO THE BONUS ROUND. THE
OBJECT IS TO GUESS INTO WHICH CATEGORY THE TOTAL OF 5 CARDS
UILL ADD UP TO. THESE ARE THE CATEGORIES:
1=31-40 AT 1 TO 1 ODDS 2=41-50 AT 3"T0 1 ODDS
3=21-31 AT 3 TO 1 ODDS 4=6-20 AT 20 TO 1 ODDS
GOOD LUCK! !
AT THIS POINT IN THE GAME YOU HAVE » 325
UHAT CATECORY DO YOU UANT? 2
UHAT IS THE BET? 25
THE CARDS ARE NOW BEING ADDED UP
GOOD LUCK!
CARD NUMBER
IS
SO FAR: 8
CARD NUMBER
2
IS
11
SO FAR: 17
CARD NUMBER
IS
SO FAR: 27
CARD NUMDER
IS
A
T
SO FAR: 34
CARD NUMBER
IS
10
SO FAR: 44
AT THE END OF THE GAME YOU HAVE A 6RAND TOTAL OF * 400
YOU ARE ELIGIBLE FOR THE BONUS ROUND.
DO YOU UANT TO PLAY IT? YES
THIS IS THE DONUS ROUND. IF YCU GET A TOTAL OF 1,000
WITHOUT GETTING A SPADE IN THE ROLLS, YOU UILL GET
A GRAND PRIZE OF I10.000-.00. YOU MAY STOP AT ANY POINT
DURING THE GAME. YOU UILL KEEP UHAT YOU HADE. GOOD LUCK!
THE DICE ARE ROLLING
GOOD LUCK.
THE DICE ARE
*»**SPADES 200 ****
TOTAL 200
YOU LOSE THE MONEY FROh THE LAST CHANCE
ROUND BUT YOU STILL HAVE A GRAND TOTAL OF * 400
THIS IS THE END OF THE GAME. I HOPE YOU ENJOYED IT.
44
100 PRINT TABI21 ) {"DEALER'S CHOICE"
110 PRINT TAB(20);"CREATIVE COMPUTING"
120 PRINT TAB(18);"N0RRIST0UN, NEU JERSEY"
130 PRINT:PRINT:PRINT
140 PRINT "THIS PROGRAM MIL SIMULATE THE T.V. SHOU, DEALER'S CHOICE. "
150 PRINT "YOU HAVE $100 TO START WITH. ENJOY THE 6AME.":PRINT
160 0=100
170 PRINT "FOR THE FIRST GAHE, UE UILL PLAY ON THE UHEEL OF CHANCE. "
180 PRINT "THE OBJECT IS SIMPLE. GUESS UHAT SUITE UILL APPEAR ON THE"
190 PRINT "UHEEL AND YOU UILL GET PAID AT THOSE ODDS IF YOU ARE RIGHT."
200 PRINT "THEY ARE AS FOLLOUS: ":PRINT
210 PRINT "1=DIAH0NDS AT 11 TO 1 ODDS 2=SPADES AT 1 TO 1 ODDS."
220 PRINT "3=HEARTS AT 3 TO 1 ODDS 4=CLUBS AT 3 TO 1 ODDS."
230 PRINT "YOU HAY BET UP TO *25. GOOD LUCK!":PRINT
240 PRINT "UHAT SUITE DO YOU UANT" ; : INPUT A
250 IF A > 4 OR A < 1 THEN 270
240 IF A <=4 THEN 280
270 PRINT "***YOU PICKED A URONB SUITE***" :GOTO 240
280 PRINT "UHAT IS THE BET";:INPUT B8
290 IF B8 > 25 OR B8 <= WEN 310
300 IF D8 <= 25 THEN 320
310 PRINT "***YOU BET OVER THE HOUSE LIMIT***" :G0TO 280
320 PRINT "O.K. NOU THAT YOUR BET IS IN, UE UILL SPIN"
330 PRINT "THE UHEEL, GOOD LUCK!":FOR B1=1 TO 10*570:NEXT B1
340 PRINT "THE UHEEL IS SLOUING DOUN."
350 FOR B1 = 1 TO 7*570:NEXT B1:PRINT "THE UHEEL IS STOPPING. "
360 FOR 81=1 TO 4*570:NEXT B1
370 PRINT "THE SUITE IS ":FOR B1=1 TO 4*570
380 NEXT B1
390 Z=INT(4*RNDU) + 1):PRINT "****";Z;"***»"
400 IF Z=A THEN 420
410 IF Z <> A THEN 470
420 ON Z GOTO 430,440,450,460
430 0=0+<11*B8):PRINT "YOU UIN ON DIAMONDS":GOTO 480
440 Q=0+(1*B8):PRINT "YOU UIN ON SPADES":G0TO 480
450 0=0+<3*B8):PRINT "YOU UIN ON HEARTS" :G0TO 480
460 0=0+<3*B8):PRINT "YOU UIN ON CLUBS":G0TO 480
470 0=0-(1*B8):PRINT "YOU LOSE.":GOTO 480
480 PRINT "AT THE END OF PART 1, YOU HAVE *";0
490 FOR P=1 TO 5:PRINT:NEXT P
500 PRINT "THIS IS THE GAME OF IN BETWEEN. THE OBJECT IS: 5 CARDS UILL"
510 PRINT "BE DEALT OUT. IF ANY CARB IS LESS THAN A 3 OR GREATER THAN A"
520 PRINT "10, THE GAME IS OVER. YOU MAY BET UP TO *30. YOUR MONEY"
530 PRINT "UILL BE DOUBLED EACH TINE YOU ARE RIGHT. GOOD LUCK!":PRINT
540 PRINT "UHAT IS THE BET";:INPUT A
550 IF A > 30 THEN PRINT "***YOU BET OVER THE HOUSE LIMIT ***":GOTO 540
560 T=T+1:Z=INT<12*RND(1)t1)
570 PRINT "CARD NUMBER ";T;" IS A ";Z:B=B+<2*A)
580 IF Z < 3 OR Z > 10 THEN 630
590 IF T=5 THEN 650
600 PRINT "YOU ARE STILL IN THE GAME. YOU HAVE ";B
610 PRINT "STOP OR GO";:INPOT A*:IF A*="GO" THEN 560
620 IF A*="STOP" THEN 650
630 0=0-A
640 PRINT "YOU LOST. AT THE END OF PART 2, YOU HAVE »";0:GQTO 460
450 PRINT "YOU UIN. AT THE END OF PART 2, YOU HAVE *";B+0:B=B*0
460 FOR P=1 TO 5:PRINT:NEXT P
670 PRINT "THIS IS THE GAHE OF BLACKJACK <DEALER'S CHOICE STYLE>"
480 PRINT "THE OBJECT IS TO BEAT THE DEALER UITH OVER 17 OR 21 OR"
690 PRINT "UNDER. YOU MAY BET UP TO »50. YOU MAY STOP UHEN YOU UISH."
700 PRINT "IF YOU MAKE BLACKJACK, YOUR MONEY IS DOUBLED."
710 PRINT "IF THE HOUSE BEALS OOT LESS THAN A TOTAL OF 17 IN 4 TRIES,"
720 PRINT "YOU UILL KEEP THE MONEY YOU BET. GOOD LUCK!":PRINT
730 Z5=0:Z1=0:PRINT "THE DEALER UILL GET HIS CARDS FIRST":PRINT
740 C=0:C3=0
750 PRINT "HERE I GO"
760 Q=INT<12*RND(1!+1)
770 Z5=Q+Z5
780 PRINT "THE CARD IS A ";Q:C=Ct1
790 PRINT "SO FAR:";Z5:IF C=6 THEN 850
800 IF Z5<17 THEN 760
810 IF Z5 > 21 THEN ?10
820 IF Z5=21 THEN 880
830 IF Z5 < 21 THEN 870
840 IF Z5 >= 17 THEN 870
850 IF Z5 < 17 THEN 890
860 IF Z5 >= 17 THEN 800
870 PRINT "I STOP. THE TOTAL FOR ME IS ";Z5:PRINT "NOU YOU GO":PRINT:GDT
0930
880 PRINT "I 60T BLACKJACK": PRINT: GOTO 930
390 PRINT "THE HOUSE BELT OUT LESS THAN 17. NOU YOU MUST TRY TO"
900 PRINT "BEAT ME";:PRINT:60TO 930
910 PRINT "I BLEU IT. YOU UIN THE GREATEST AMOUNT ALLOWED TO BE"
920 PRINT "BET BY THE HOUSE. ":GOTO 1140
930 PRINT "UHAT IS THE BET";: INPUT A
940 IF A > THEN 980
950 IF A > 50 OR A <= THEN 970
940 IF A <= 50 THEN 990
970 PRINT "***YOU BET OVER THE HOUSE LIMIT***" :GOTO 930
980 PRINT "***YOU BET OVER UHAT YOU HAVE***":G0TO 930
990 01=INT(12*RND<1)+1):PRINT "YOUR CARD IS A ";Q1 :C3=C3+1
1000 Z1=Q1+Z1:PRINT "SO FAR THE TOTAL FOR YOU IS ";Z1:IF C3=6 THEN 1090
1010 IF Z1 > 21 THEN 1120
1020 PRINT "STOP OR GO";:INPUT A$
1030 IF A»="STOP" THEN 1050
1040 IF A*="GO" THEN 990
1050 IF Z1=Z5 THEN 1100
1060 IF Z1 < Z5 THEN 1120
1070 IF Z1=21 THEN 1110
1080 IF Z5 <Z1 THEN 1130
1090 IF Z1 < 17 THEN 1140
1100 PRINT "UE ARE THE SAME SO UE UILL PLAY AGAIN":60T0 730
1110 0=0+<2*A):PRINT "YOU BEAT THE BEALER UI1H BLACKJACK! !":GOTO 1170
1120 0=0-(1*A):PRINT "THE DEALER BEAT YOU. YOU LOSE":GOTO 1170
1130 0=0*(1*A):PRINT "THE DEALER LOST. YOU UIN":GOTO 1170
1140 0=0+<1*A):PRINT "THE HOUSE DELT OUT LESS THAN 17 IN"
1150 PRINT "6 TRIES. YOU GET THE MONEY YOU BET": GOTO 1170
1160 0=0+50:PRINT "YOU KEEP IT UITH OUR BEST UISHES.":GOTO 1170
1170 PRINT "AT THE END OF PART 3, YOU HAVE $";0
1180 IF 0<=0 THEN 1580
1190 FOR P=1 TO 5:PRINT:NEXT P
1200 PRINT "NOU UE ENTER THE LAS I CHANCE ROUND. IF YOU MAKE UP TO"
1210 PRINT "»300 YOU UILL BE ABLE TO GO INTO THE BONUS ROUND. THE"
1220 PRINT "OBJECT IS TO OUESS INTO UHICH CATEGORY THE TOTAL OF 5 CARDS"
1230 PRINT "UILL ADD UP TO. THESE ARE THE CATEGORIES:":PRINT
1240 PRINT "1=31-40 AT 1 TO 1 ODDS 2=41-50 AT 3 TO 1 ODDS"
1250 PRINT "3=21-31 AT 3 TO 1 ODDS 4=6-20 AT 20 TO 1 ODDS"
1260 PRINT "GOOD LUCK ! ! " :PRINT
1270 PRINT "AT THIS POINT IN THE GAME YOU HAVE *";0
1280 PRINT "UHAT CATEGORY DO YOU WANT";: INPUT A
1290 IF A <= 4 THEN 1320
1300 IF A > 4 THEN 1310
1310 PRINT "***YOU BET ON A WRONG CATEGORY***" :GOTO 1280
1320 PRINT "UHAT IS THE BET";:INPUT B
1330 IF B <= THEN 1360
1340 IF B > THEN 1350
1350 PRINT "***YOU BET OVER UHAT YOU HAVE***":GQTO 1320
1360 PRINT "THE CARDS ARE NOU BEING ADDED UP":PRINT "GOOD LUCK!"
1370 Q=INT(12*RNDt1)+1):C1=C1+1
1380 PRINT "CARD NUMBER ";C1;" IS A ";Q
1390 Z=Z+0:PRINT "SO FAR: "\1
1400 IF C1=5 THEN 1420
1410 GOTO 1370
1420 ON A GOTO 1430,1460,1490,1520
1430 IF Z < 31 THEN 1540
1440 IF Z < 40 THEN 1550
1450 IF Z > 40 THEN 1540
1460 IF Z < 41 THEN 1540
1470 IF Z < 50 THEN 1560
1480 IF Z > 50 THEN 1540
1490 IF Z < 21 THEN 1540
1500 IF Z < 31 THEN 1560
1510 IF Z > 31 THEN 1540
1520 IF Z < 4 THEN 1540
1530 IF Z < 20 THEN 1570
1540 0=0-(1*B):PRINT "YOU LOSE":GOTO 1580
1550 0=0+(1*B):PRINT "YOU UIN":GOT0 1580
1540 0=0+(3*B):G0T0 1580
1570 0=0+(20*B):PRINT "YOU UIN":G0TO 1580
1580 PRINT "AT THE END OF THE GAME YOU HAVE A GRAND TOTAL OF $";0
1590 IF < 300 THEN 1940
1600 FOR X=1 TO 4:PRINT CHR$(7);:F0R B1=1 TO 5?0:NEXT B1 :NEXT X
1410 PRINT "YOU ARE ELIGIBLE FOR THE BONUS ROUND."
1420 PRINT "DO YOU UANT TO PLAY IT";:INPUT A$
1430 IF A$="NO" THEN 1940
1440 PRINT "THIS IS THE BONUS ROUND. IF YOU GET A TOTAL OF 1,000"
1450 PRINT "UITHOUT GETTING A SPADE IN THE ROLLS, YOU UILL GET"
1660 PRINT "A GRAND PRIZE OF $10,000.00. YOU MAY STOP AT ANY POINT"
1670 PRINT "DURING THE GAME. YOU UILL KEEP UHAT YOU HADE. GOOD LUCK! "
1680 PRINT
1490 DIM A(5),B(4):A9$="SPADES"
1700 PRINT "THE DICE ARE ROLLING":PRINT "GOOD LUCK."
1710 PRINT "THE DICE ARE"
1720 FOR B1=1 TO 570*5:NEXT B1
1730 X=INT(5*RND(1)+1)
1740 Ad )=50:A(2)=100:A(3)=150:A(4)=200:A(5)=0
1750 Y=INT(4*RND(1)+1)
1760 B<1 )=50:B(2)=100:B(3)=150:B(4)=200
1770 IF A(X)=0 THEN 1790
1780 PRINT "****";A(X);B(Y);"****":PRINT "TOTAL ";A(X)tB<Y> :GOTO 1810
1790 PRINT "****";A9*;B(Y);"****"
1800 PRINT "TOTAL ";8(Y):G0T0 1870
1810 B7=B7+(A(X)+B(Y)):PRINT "YOU NOW HAVE ";B7:IF B7 >= 1000 THEN 1890
1820 PRINT "STOP OR GO":INPUT B»
1830 IF B»="60" THEN 1700
1840 PRINT "SMART MOVE. YOU GET THE MONEY FROM THE BEGINNING OF"
1850 PRINT "THE GAME PLUS THE BONUS ROUND. AT THE END OF THE GAME"
1860 PRINT "YOU HAVE THE GRAND TOTAL OF »";B7+0:G0T0 1940
1870 PRINT "YOU LOSE THE MONEY FROM THE LAST CHANCE"
18S0 PRINT "ROUND BUT YOU STILL HAVE A GRAND TOTAL OF $";0:G0TO 1940
1890 FOR T=1 TO 3:PRINT CHR*(7);:F0R B1=1 TO 570:NEXT B1:NEXT T
1900 B7=0*10000:PRINT TAB(15);"****C0NGRATULATI0NS****"
1910 PRINT "YOU UON THE GRAND PRIZE. AT THE END OF THE GAME, YOU HAVE"
1920 FOR P=l TO 3:PRINT:NEXT P
1930 PRINT TAB(18);"******";B7;"******"
1940 PRINT "THIS IS THE END OF THE GAME. I HOPE YOU ENJOYED IT."
1950 END
45
Deepspace
Deepspace is another version of a
space battle. You become the com-
mander of either a scout ship, cruiser,
or battleship. You then pick the
weapons, and planetary system to
patrol, and it's time to do battle.
The closer you get to the enemy, the
better your chance of destroying him.
Unfortunately, his chance of destroy-
ing you also improves. If you get too
close, you can damage yourself; when
a vessel's damage rating reaches or
exceeds 100, it's destroyed.
Suggestion: Change the time
between reports— this will shorten the
game by allowing you to get closer
faster.
Deepspace originally appeared in
Creative Computing, Mar/Apr 1976.
5 ACTIVE HYPERON NEUTRALIZATION FIELD
4 SELF-DESTRUCT
7 CHANGE VELOCITY
8 DISENGAGE
9 PROCEED
YOU NAVE A CHOICE OF THREE SYSTEMS TO PATROL.
1 ORION
2 DENES
3 ARCTURUS
SELECT A SYSTEH(1-3)T 3
UHICH SPACECRAFT UOULD YOU LIKE(1-3>? 2
YOU HAVE 24 UNITS OF CARSO SPACE TO FILL WITH WEAPONRY.
CHOOSE A UEAPON AND THE AMOUNT YOU UISH.7 1,1
YOU HAVE 12 UNITS OF CAR60 SPACE TO FILL UITH UEAPONRY.
CHOOSE A UEAPON AND THE AMOUNT YOU UISH.? 2,1
YOU NAVE 8 UNITS OF CARGO SPACE TO FILL UITH UEAPONRY.
CHOOSE A UEAPON AND THE AMOUNT YOU UlSH.T 3,1
YOU HAVE 4 UNITS OF CARGO SPACE TO FILL UITH UEAPONRY.
CHOOSE A UEAPON AND THE AMOUNT YOU UISH.T 4,2
RANGE TO TARGET: 743.491
RELATIVE VELOCITY: 3.24434
ACTION? ?
RUN
DEEPSPACE
CREATIVE COMPUTING
MORRISTOUN, NEW JER8EY
RANGE TO TARGET: 482.097
RELATIVE VELOCITY: 3.244S4
ACTION? 9
THIS IS DEEPSPACE, A TACTICAL SIMULATION OF SHIP TO SHIP
C0H8AT IN DEEP SPACE.
DO YOU UISH INSTRUCTIONS? YES
YOU ARE ONE OF A GROUP OF CAPTAINS ASSIGNED TO PATROL A
SECTION OF YOUR STAR EMPIRE'S 80RDER A6AINST HOSTILE
ALIENS. ALL YOUR ENCOUNTERS HERE UILL BE AGAINST HOSTILE
VESSELS. YOU UILL FIRST BE REQUIRED TO SELECT A VESSEL
FROM ONE OF THREE TYPES, EACH UITH ITS OUN CHARACTERISTICS:
TYPE SPEED
1 SCOUT 10X
2 CRUISER 4X
3 BATTLESHIP 2X
CARGO SPACE PROTECTION
14 1
24 2
30 S
BE
SPEED IS 6IVEN RELATIVE TO THE OTHER SHIPS.
CARGO SPACE IS IN UNITS OF SPACE ABOARD SHIP UHICH CAN
FILLED UITH UEAPONS.
PROTECTION IS THE RELATIVE STRENGTH OF THE SHIP'S ARDOR
AND FORCE FIELDS.
ONCE A SHIP HAS, BEEN SELECTED, YOU UILL BE INSTRUCTED TO ARM
IT UITH UEAPONRY FROH THE FOLLOWING LIST:
TYPE CARSO SPACE REL. STRENGTH
1 PHASER BANKS 12 4
2 ANTI-NATTER MISSILE 4 20
3 HYPERSPACE LANCE 4 14
4 PHOTON TORPEDO 2 10
5 HYPERON NEUTRALIZATION FIELD 20 4
UEAPONS HI * 15 CAN BE FIRED 100 TIMES EACH; ALL OTHERS CAN
BE FIRED ONCE FOR EACH ON BOARD.
A TYPICAL LOAD FOR A CRUISER MIGHT CONSIST OF:
1- D1 PHASER BANK ° 12
2- 13 HYPERSPACE LANCES ■ 8
2-14 PHOTON TORPEDOES ■= 4
24 UNITS OF CARGO
A UORD OF CAUTION: FIRING HIGH YIELD UEAPONS AT CLOSE «100)
RANGE CAN SE DANGEROUS TO YOUR SHIP AND MINIMAL DAMAGE CAN
OCCUR AS FAR OUT AS 200 IN SOHE CIRCUMSTANCES.
RANGE IS GIVEN IN THOUSANDS OF KILOMETERS.
•«**«*»•******
MANUEVER CHART
1 FIRE PHASERS
2 FIRE ANTI-MATTER MISSILE
3 FIRE HYPERSPACE LANCE
4 FIRE PHOTON TORPEDO
RANGE TO TARGET: 420.703
RELATIVE VELOCITY: 3.24434
ACTION? 7
CHANGE TO BE 'EFFECTED? .5
RANGE TO TARGET: 420.703
RELATIVE VELOCITY: 3.74454
ACTION? 4
SCANNERS REPORT ENEMY DAMAGE NOU: 4.S88S8
DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT:
5. 20508
RANGE TO TAR6ET: 547.271
RELATIVE VELOCITY: 3.74454
ACTION? 1
SCANNERS REPORT ENEMY DAMAGE NOU: 5.3724
DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT: 11
7754
RANGE TO TARGET: 473.839
RELATIVE VELOCITY: 3.74454
ACTION? 3
SCANNERS REPORT ENEMY DAMAGE NOU: 23.1197
DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT: 20.3527
RANGE TO TARGET: 400.407
RELATIVE VELOCITY: 3.74454
ACTION? 2
SCANNERS REPORT ENEMY DAMAGE NOU: 47.8738
DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT: 32.0449
RANGE TO TARGET: 324.975
RELATIVE VELOCITY: 3.74454
ACTION? 7
CHANGE TO BE EFFECTED? -2
RANGE TO TARGET: 324.975
RELATIVE VELOCITY: 1.74454
ACTION? 1
SCANNERS REPORT ENEHY DAMAGE NOU: 54.5828
DAMAGE CONTROL REPORTS YOUR VESSEL DAMAGE AT: 49.1024
RANGE TO TARGET: 298.489
RELATIVE VELOCITY: 1.74454
ACTION? 8
ANOTHER BATTLE? NO
TRY AGAIN LATER!
OK
46
100 PRINT
110 PRINT
120 PRINT
130 PRINT:
150 PRINT
HO PRINT
170 PRINT
180 IF I$=
200 PRINT
210 PRINT
220 PRINT
230 PRINT
240 PRINT
260 PRINT:
270 PRINT
280 PRINT
290 PRINT
310 PRINT:
320 PRINT
330 PRINT
340 PRINT
350 PRINT
370 PRINT:
ARH"
380 PRINT
3?0 PRINT
400 PRINT
410 PRINT
420 PRINT
430 PRINT
440 PRINT
450 PRINT
470 PRINT:
CAN"
480 PRINT
490 PRINT
500 PRINT
510 PRINT
520 PRINT
530 PRINT
540 PRINT
550 PRINT
TAB<24);"DEEPSPACE"
TAB(20);"CREATIVE COMPUTING"
TAB(18),'"H0RRIST0UN, NEU JERSEY"
PRINT:PRINT
"THIS IS DEEPSPACE, A TACTICAL SIMULATION OF SHIP TO SHIP"
"COMBAT IN BEEP SPACE. "
"BO YOU UISH INSTRUCTIONS"; : INPUT It
"NO" THEN 410
"YOU ARE ONE OF A 6R0UP OF CAPTAINS ASSI6NEB TO PATROL A"
"SECTION OF YOUR STAR EMPIRE'S BORDER AGAINST HOSTILE"
"ALIENS. ALL YOUR ENCOUNTERS HERE UILL BE AGAINST HOSTILE"
"VESSELS. YOU UILL FIRST BE REQUIRES TO SELECT A VESSEL"
"FROM ONE OF THREE TYPES, EACH UITH ITS OUN CHARACTERISTICS:"
PRINT "TYPE", "SPEED", ""R60 SPACE" ."PROTECTION"
"1 SCOUT" , "1 OX" , " 1 6" , "1 "
"2 CRUISER", "4X", "24" ,"2"
"3 BATTLESHIP" , "2X" , "30" , "5"
PRINT "SPEED IS 6IVEN RELATIVE TO THE OTHER SHIPS."
"CARGO SPACE IS IN UNITS OF SPACE ABOARD SHIP UHICH CAN BE"
"FILLED UITH MEAPONS."
"PROTECTION IS THE RELATIVE STRENGTH OF THE SHIP'S ARMOR"
"AND FORCE FIELDS."
PRINT "ONCE A SHIP HAS BEEN SELECTED, YOU UILL BE INSTRUCTED T
"IT UITH UEAPONRY FROM THE F0LL0UIN6 LIST:"
"TYPE CARGO SPACE
"1 PHASER BANKS 12
"2 ANTI-MATTER MISSILE 4
"3 HYPERSPACE LANCE 4
"4 PHOTON TORPEBO 2
"5 HYPERON NEUTRALIZATION FIELB 20
PRINT "UEAPONS 81 S 85 CAN BE FIREB 100 TIMES EACH; ALL OTHERS
"BE FIREB ONCE FOR EACH ON BOARD."
"A TYPICAL LOAD FOR A CRUISER MIGHT CONSIST OF:"
1- 81 PHASER BANK = 12"
2- 83 HYPERSPACE LANCES = 8"
2-84 PHOTON TORPEDOES » 4"
REL. STRENGTH"
4"
20"
14"
10"
4"
24 UNITS OF CARGO"
A UORB OF CAUTION: FIRING HIGH YIELD UEAPONS AT CLOSE (<100)
540 PRINT "RANGE CAN DE DANGEROUS TO YOUR SHIP AND MINIMAL DAMAGE CAN"
570 PRINT "OCCUR AS FAR OUT AS 200 IN SOME CIRCUMSTANCES."
590 PRINT:PRINT "RANGE IS GIVEN IN THOUSANDS OF KILOMETERS."
400 GOTO 440
410 PRINT "DO YOU UISH A MANUEVER CHART";:INPUT M»
420 IF M»="NO" THEN 770
440 PRINT " **************"
450 PRINT " MANUEVER CHART" :PRINT
470 PRINT " 1 FIRE PHASERS"
480 PRINT " 2 FIRE ANTI-MATTER MISSILE"
690 PRINT " 3 FIRE HYPERSPACE LANCE"
700 PRINT " 4 FIRE PHOTON TORPEDO"
710 PRINT " 5 ACTIVE HYPERON NEUTRALIZATION FIELD"
720 PRINT " 4 SELF-DESTRUCT"
730 PRINT " 7 CHANGE VELOCITY"
740 PRINT " 8 DISENGAGE"
750 PRINT " 9 PROCEED"
770 PRINT:PRINT "YOU HAVE A CHOICE OF THREE SYSTEMS TO PATROL . "
780 PRINT "1 ORION"
790 PRINT "2 DENEB"
800 PRINT "3 ARCTURUS"
810 PRINT "SELECT A SYSTEM(1-3)";:INPUT S?
820 IF S9=1 THEN 2380
830 IF S9-2 THEN 2430
840 GOTO 2480
850 D0=0
840 D1-0
870 N1=0
880 N2=0
890 N3=0
900 N4=0
910 D=0
920 PRINT "UHICH SPACECRAFT UOULD YOU LIKE(1-3)";:INPUT S
930 ON S 60T0 1790,1830,1870
960 GOTO 920
970 C=C0
980 PRINT "YOU HAVE ";C;"UNITS OF CARGO SPACE TO FILL UITH UEAPONRY."
990 PRINT "CHOOSE A UEAPON AND THE AMOUNT YOU UISH.";:INPUT U,N
1000 ON U GOTO 1910,2010,2100,2190,2280
1050 60T0 980
1040 IF N*C1>C THEN 2530
1070 C=C-N*C1
1080 ON U GOTO 1990,2080,2170,2240
1120 60T0 2340
1130 IF C>1 THEN 980
1140 REM
1150 S1=S0»8ND(0)
1140 R=(3*RND(O)+5)*10O
1180 PRINTsPRINT "RAN6E TO TARGET :";R
1190 PRINT "RELATIVE VEL0CITY:";S1
1200 PRINT "ACTION";:INPUT H
1210 ON M GOTO 1940,2030,2120,2210,2310,1440,1390,2760
1290 IF R<500 THEN 1500
1300 IF S1>0 THEN 1330
1310 R=Rt(S1*8.3)*1.25
1320 GOTO 1340
1330 R=R-(S1*8.3)*1.25
1340 IF R>1500 THEN 2590
1350 IF R>0 THEN 1370
1360 R=-R
1370 PRINT
1380 GOTO 1180
1390 PRINT "CHANGE TO BE EFFECTED";: INPUT S2
1400 IF (S1+S2>>S0 THEN 2550
1410 S1=S1+S2
1420 GOTO 1180
1430 F0=P1*(Z/R)*1.5
1440 REM
1450 D0={2*F0t3*F0*RND(0)>/5
1440 D=D+DO
1470 PRINT "SCANNERS REPORT ENEMY DAMAGE NOU:";D
1480 IF D>99 THEN 2720
1490 GOTO 1510
1500 DO-0
1510 REM
1520 K=E1+E2*RND(0>
1530 REH
1540 E=E3+E4*RND(0)+5/P0»RND(0)
1550 REM
1540 F3=E*(K/R)"1.85
1570 D2=<3*F3+3*F3*RND(0) 1/5.5
1580 B1=D1+D2
1590 IF <Z*D0)/(R*500»2.2 THEN 1420
1400 D3=D0*2/(R~2*P0>
1410 D1 =D1 +D3
1420 PRINT "DAMAGE CONTROL REPORTS YOUR VESSEL 3
DAMAGE AT:";D1
1430 IF D1>99 THEN 2740
1440 IF D>99 THEN 2740
1450 60T0 1300
1440 PRINT "SELF BESTRUCT FAILSAFE ACTIVATED! !"
1470 PRINT "INPUT 1 TO RELEASE FAILSAFE";: INPUT U
1480 IF U=1 THEN 1700
1490 GOTO 1290
1700 PRINT "SELF BESTRUCT ACCOMPLISHEB"
1710 IF R>40 THEN 1740
1720 PRINT "ENEMY VESSEL ALSO DESTROYED"
1730 GOTO 2740
1740 B4=3200/R
1750 D=D+D4
1740 IF D>99 THEN 1720
1770 PRINT "ENEMY VESSEL SURVIVES UITH";D;"DAMAGE"
1780 GOTO 2760
1790 S0=10
1800 C0=16
1810 P0=1
1820 GOTO 970
1830 S0=4
1840 C0=24
1850 P0=2
1840 GOTO 970
2530 PRINT "NOT ENOUGH SPACE. RESELECT"
2540 SOTO 980
2550 PRINT "CHANGE DEYOND MAXIMUM POSSIBLE"
2540 PRINT "INCREASING TO MAXIMUM"
2570 S1=S0
2580 GOTO 1300
2590 PRINT "OUT OF SENSOR RANGE. AAUTOMATIC DISENGAGE.
2400 60T0 2740
2410 PRINT "PHASER BANKS DRAINED"
2420 PRINT "SELECT ANOTHER COURSE OF ACTION"
2430 GOTO 1200
2440 PRINT " ALL ANTI-MATTER MISSLES EXPENDED"
2650 GOTO 2620
2440 PRINT "ALL HYPERSPACE LANCES EXPENDED"
2470 GOTO 2420
2480 PRINT "ALL PHOTON TORPEDO TUBES EMPTY"
2490 GOTO 2420
2700 PRINT "HYPERON NEUTRALIZATION FIELD DRAINED"
2710 GOTO 2420
2720 PRINT "ENEMY VESSEL DESTROYED"
2730 60T0 1510
2740 PRINT "YOUR VESSEL HAS BEEN DESTROYED"
2740 PRINT "ANOTHER BATTLE";: INPUT R»
2770 IF R*="YES" THEN 810
2780 PRINT "TRY AGAIN LATER! "
2790 END
OK
1870 S0=2
1880 C0=30
1890 P0=5
1900 GOTO 970
1910 C1=12
1930 60T0 1060
1940 PI =4
1950 IF N1=0 THEN 2160
1960 N1=N1-1
1970 Z=200
1980 60T0 1430
1990 N1=N1+N
2000 GOTO 1130
2010 CI -4
2020 GOTO 1060
2030 P1=20
2040 IF N2=0 THEN 2640
2050 N2=N2-1
2060 Z=500
2070 GOTO 1430
2080 N2=N2+N
2090 GOTO 1130
2100 C1=4
2110 GOTO 1060
2120 PI =16
2130 IF N3=0 THEN 2640
2140 N3=N3-1
2150 Z=550
2160 GOTO 1430
2170 N3=N3+N
2180 GOTO 1130
2190 C1=2
2200 GOTO 1060
2210 P1=10
2220 IF N4=0 THEN 2680
2230 N4=N4-1
2240 Z=400
2250 GOTO 1430
2260 N4=N4+N
2270 60TO 1130
2280 C1=.20
2290 N=1O0
2300 GOTO 1060
2310 P1=4
2320 IF N5=0 THEN 2700
2330 N5-N5-1
2340 Z=250
2350 GOTO 1430
2340 N5=N5+N
2370 60T0 1130
2380 E1=150
2390 E2=500
2400 E3-3
2410 E4=4
2420 GOTO 850
2430 E1 =200
2440 E2=350
2450 E3=4
2440 E4=3
2470 GOTO 850
2480 E<=150
2490 E2=400
2500 E3=5
2510 E4=2
2520 GOTO 850
47
Defuse
RUN
DEFUSE
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
YOU ARE IN A GOVERNMENT EXPERIMENTAL BUILDING UITH
1,000,000 ROOKS IN IT. THE BUILDING IS tOO ROONS
L0N6<0-??>, 100 ROONS MID£<0-?9>, AND 100 ROOMS H!OH(0-??>.
IN IT A BOMB
IS HIDDEN.
THE BONB
SENDS OUT
SI6NALS THAT
GET STRONGER
AS YOU
6ET
CLOSER.
YOU HAVE 200 SECONDS
TO DEACTIVATE IT.
SI6NAL
SEC.
C0ORDINATES<L
1454.??
? ?0,?0,90
9454.1 1
90
?0
?0
10
? 80,80,?0
9444.21
80
80
?0
20
T 80,80,80
9535.79
80
80
80
30
7 80,80,70
8535.7?
80
80
70
40
7 80,80,85
9944.21
80
80
85
50
? 89,80,84
9864.21
80
80
86
40
5 80,80,84
9935.79
80
80
84
70
? 80,70,85
9974.21
80
70
85
80
7 80,60,85
??84.21
80
60
85
90
? 80,50,85
???4.21
80
50
85
100
T 80,45,85
????.21
80
45
85
110
? 80,40,85
99?5.7?
80
40
85
120
7 70,45,85
??99.31
70
45
85
130
? 40,45,85
????.41
40
45
85
140
7 30,45,85
????.71
30
45
85
150
T 20,45,85
????.81
20
45
85
160
7 0,45,85
????.??
45
85
170
7 1,45,85
BOHB DEACTIVATED AT
180
SECONDS! ! 1
KANT TO PLAY
A6AINY
YES
SIGNAL
SEC.
COORDINATESfL
4949.04
7 0,0,50
9949.04
50
10
T 0,0,40
9030. 94
60
20
7 0,0,40
8949.04
40
30
T 0,0,70
8030.94
70
40
7 0,50,40
8980.96
50
60
50
7 0,?0,40
8940.96
90
60
40
7 50,0,40
9030.46
50
60
70
7 0,10,40
9020. ?6
10
60
80
7 1,0,40 .
?030.?5
40
?0
7 1,0,50
9969.05
1
50
100
7 10,0,50
9969.14
to
50
no
7 30,0,50
9?6?.34
30
50
120
7 50,50,50
??80.46
50
50
50
130
T 40,50,50
9980.36
60
50
50
140
7 50,40,50
9970.46
50
60
50
150
7 55,50,50
9980.41
55
50
SO
140
7 51, 4?, 4?
9918.55
51
49
4?
170
7 50,55,50
9975.44
50
55
50
180
7 51,51,51
9B79.45
51
51
51
190
7 40,50,50
»oooc:e».i?u!
YOU BLEU IT. THE BUILDING BLEW UP.
THE BOND WAS LOCATED AT THE COORD INATES(L,U,H) i it 30 Z"
In this game, you are in an ex-
perimental building with one million
rooms in it. The building is one
hundred rooms long, one hundred
rooms wide, and one hundred rooms
high.
You have just received a telephone
call from a mad bomber who tells you
he has planted a bomb someplace in
the building. Fortunately you are
armed with a bomb detector that
registers a stronger and stronger signal
as you get closer to the bomb. You start
at the bottom right-hand door of the
building, at the room 0,0,0. In response
to the signals from your detector, every
ten seconds you may try a new room to
search for the bomb. You have two
hundred seconds or twenty trials to
find it.
It's fairly easy to find the bomb once
you get the knack of how your detector
works. However, we're not going to
spoil it for you and tell the secret.
LIST
1 PRINT TAD(24>;"DEFUSE"
2 PRINT TAB(20);"CREATIVE COMPUTING"
3 PRINT TAB(18>;"H0RRIST0IIN, NEU JERSEY"
4 PRINT:PRINT:PRINT
10 PRINT "YOU ARE IN A 60VERNNENT EXPERIMENTAL BUILDING KITH"
20 PRINT "1 ,000,000 ROOMS IN IT. THE BUILDING IS 100 ROOMS"
30 PRINT "LON8(0-??>, 100 ROOMS UIDE<0-??>, AND 100 ROOMS HIGH<0-??>."
40 PRINT:PRINT "IN IT A BONB IS HIDDEN. THE BONB SENDS OUT SI6NALS THAT"
50 PRINT *6ET STRONGER AS YOU GET CLOSER. YOU HAVE 200 SECONDS"
40 PRINT "TO DEACTIVATE IT."
70 PRINT:A«INT<100«RHD<1>)iB*IHT(10O*RND<1)>
80 C=INT(100»RND(1>)8lF A>0 THEN ?0
85 IF B>0 THEN ?0
87 IF C=0 THEN 80
90 D=0:E«0:F=0:0=0
ioo print •signal , ;tab(15);"L";tab(20);"U";tab(25);"H";
105 PRINT TAB(35);"SEC.";TAB(50);"CO0RDINATES(L,U,H)"
110 PRINT 10000-ABS((A/100+BtC*100>-(D/100+E+F»100))i
112 print tab(M)jd;tab(1?),-e;tab(24);f;taB(35);g;tab(50);
120 input d,e,f:6=6+10:if aod then 130
125 IF BOE THEN 130
127 IF C=F THEN 170
130 IF 6»200 THEN 140
135 SOTO 180
140 PRINT "B000OO0MMM!!!":PRINT "YOU BLEU IT. THE BUILDING BLEU UP."
145 PRINT "THE BONB UAS LOCATED AT THE CO0RDINATES(L,U,H):";A;B;C:PRI«T
150 PRINT "BANT TO PLAY AGAIN";
140 INPUT Z»:IF LEFT*<Z*,1>*"Y* THEN 70
145 GOTO ?99
170 PRINT "BOMB DEACTIVATED AT";Gf" SECONDS! ! !":G0T0 150
180 IF D>99 THEN 200
183 IF D<0 THEN 200
185 IF E>99 THEN 200
187 IF E<0 THEN 200
190 IF F>99 THEN 220
195 IF F<0 THEN 230
197 GOTO 110
200 PRINT "YOU WALKED OUT A UINDOU ON THE";: IF F<4 THEN 240
205 PRINT F;»TH FLOOR!!!"
210 PRINT "YOU UERE KILLED AND*;200-G;" SECONDS LATER THE BUILDING"
215 PRINT "BLEU UP!!!":60T0 150
220 PRINT "YOU ARE N0U";F*9;" FEET IN THE AIR!!!":G0T0 210
230 PRINT "YOU ARE N0U";-1«(F*?)"FEET UNDERGROUND! ! !":60T0 210
240 ON F GOTO 250,240,270
250 PRINT " 1ST FLOOR! !! ":60T0 210
260 PRINT • 2ND FLOOR! ! ("iGOTO 210
270 PRINT " 3RD FLOOR! ! !":G0T0 210
??? END
Ok
48
Dodgem
RUN
DODGEM
CREATIVE C0NPUTIN6
MORRISTOUN NEV JERSEY
DO YOU UANT INSTRUCTIONS FOR DODGEM? Y
HERE'S A SAMPLE PLAYING BOARD)
1 . . . .
! A B C D
TIN) SETS OF PIECES (DI6ITS AND LETTERS) RACE AT RIGHT ANGLES
ACROSS A SQUARE BOARD. VACANT LOCATIONS ARE SHOUN AS PERIODS.
YOU CHOOSE THE THE BOARD SUE (THE ONE ABOVE IS SIZE 5.)
U — E
t
S
THE OBJECT IS TO MOVE ALL OF YOUR PIECES ACROSS THE BOARD
AND OFF THE OPPOSITE EDGE. BI6ITS LEAVE THE BOARD ONLY AT
THE EASTERN ED6E; LETTERS ONLY AT THE NORTHERN. THE UINNER
IS THE PLAYER UHOSE PIECES HAVE ALL LEFT THE BOARD.
THE PLAYERS 60 IN TURN, MOVING ONE OF THEIR PIECES TO AN
ADJACENT LOCATON UHICH IS EITHER OFF THE BOARD OF CURRENTLY
VACANT. THERE ARE NO DIAGONAL NOVES, NO JUMPS AND NO CAPTURES.
DI6ITS CANNOT MOVE VEST, NOR LETTERS MOVE SOUTH.
TO HOVE A PIECE, TYPE ITS NAME AND THE FIRST LETTER OF THE
DESIRED DIRECTION. EXAMPLES:
2E MEANS THAT PIECE 2 HANTS TO GO EAST
BU MEANS THAT PIECE B HANTS TO 60 VEST.
NOTE: YOU FORFET THE 8AHE IF YOUR HOVE LEAVES YOUR OPPONENT
WITHOUT ANY LE6AL HOVE.
LASTLY, YOU NAT TYPE R TO RESI6N AND H FOR HELP.
BOARD SIZE (3-4>? 4
HOU MANY PLAYERS (1 OR 2)7 1
OX, THE COMPUTES UILL MOVE THE DIGITS.
UHO MOVES FIRST (('COMPUTER, 2=Y0U)? 2
HERE UE 60...
1 . . .
2 . . .
3 . . .
ABC
LETTERS MOVE? CN
THE DI6ITS HOVE: IE
DODGEM is a game originally devis-
ed in 1972 by Colin Vout, then a student
at the University of Cambridge,
England. It got its major publicity from
Martin Gardner who discussed it in the
June 1975 issue of Scientific American.
Complete instructions are in the sam-
ple run.
It may be played by two players in
which case the computer is the referee,
or by one player against the computer.
The computer, incidentally, plays un-
commonly well. This is not surprising
since Dodgem was written by the very
talented and prolific Jvlac Oglesby.
. i . .
2 . . .
3 . . C
. A B .
LETTERS MOVE? AM
THE DIGITS HOVE: IE
2 . . .
3 A . C
LETTERS MOVE? CN'
THE DIGITS MOVE! IE
2 .
3 A
49
LETTERS HOVE? CH
ILLEGAL MOVE OR BAD INPUT.
INPUT I6N0RED. TYPE H FOR HELP.
LETTERS HOVE? H
THE LETTERS HAVE THESE LEGAL HOVESt
AN AE 8N BE BU CU
LETTERS HOVE? BN
THE DIBITS HOVE: IE
2 ! '. C
JAB.
LETTERS HOVE? AN<
THE DIGITS HOVE: 3E
2 A ! C
. 3 B .
LETTERS HOVE? CH
THE DIGITS HOVE: 2N
2 . . C
• Aw*
. 3 B .
LETTERS MOVE? AH
THE DIBITS HOVE: 2S
. A . C
2 . . .
. 3 B .
LETTERS MOVE? CN
THE DIBITS MOVE: 2E
. A . .
. 2 . .
. 3 B .
LETTERS MOVE? BN
THE DIBITS MOVE: 3E
. A . .
. 2 B .
LETTERS MOVE? AH
THE DI6ITS MOVE: 3E
.28.
. . . 3
LETTERS HOVE? BN
THE DIBITS HOVE: 3E
. . B .
. 2 . .
LETTERS HOVE? BN
•** THE LETTERS WIN! I !
OK
LIST
10 PRINT TAB(24);"D0D0EH"
20 PRINT TAB(18);"CREATIVE COMPUTING"
30 PRINT TAB<16);"M0RRIST0UN NEU JERSEY"
40 PRINT:PRINT:PRINT
240 PRINT "DO YOU UANT INSTRUCTIONS FOR DODGEM";
250 INPUT At
260 80SUB 2950
270 IF LEFT»(A«,1> <> THEN 2»0
280 BOSUB 3130
290 PRINT "BOARD SIZE (3-4)";
300 INPUT A
310 LET A°INT(A)
320 IF <6-A)*(A-3) >= THEN 340
330 GOTO 290
340 LET P(1,0)»A-1:LET P(2,0)»A-1
380 FOR J-1 TO A-1
390 LET P<1,J)=10*J+1
400 NEXT J
420 FOR J»1 TO A-1
430 LET P(2,J)«10»A+J+1
440 NEXT J
460 LET F=1
470 LET M«<1)»"NES"
480 LET H*(2)«»NE U"
490 LET C»(1)="DI8IT8"
500 LET C*(2)="LETTERS"
510 LET A»<1)="1 234567"
520 LET A*(2)t"ABCDEFG"
560 FOR J«1 TO A
570 IF J°A THEN 630
580 LET D»(J,1)»CHR»(48+J)
590 FOR K>2 TO A
400 LET D»<J,K)="."
610 HEXT K
420 GOTO 470
430 LET D»(J,1>«"."
440 FOR K=2 TO A
450 LET B»(J,K>=CHR$<43+K>
440 NEXT K
470 NEXT J
490 PRINT "HOU HANY PLAYERS (1 OR 2>";
700 INPUT B
710 IF B=2 THEN 800
720 IF B»1 THEN 740
730 GOTO 690
740 PRINT "OK, THE COHPUTER UILL MOVE THE DIBITS."
750 PRINT "WHO MOVES FIRST (1=C0HPUTER, 2=Y0U)":
740 INPUT F
770 IF (2-F)*(1-F)«0 THEN 800
780 PRINT "PLEASE TYPE 1 OR 2. NOM,";
790 GOTO 750
800 PRINT
810 PRINT "HERE UE 60..."
840 PRINT
850 FOR J=1 TO A
860 FOR K=1 TO A
870 PRINT " ";D$(J,K>;
880 NEXT K
890 PRINT
900 NEXT J
910 PRINT
950 FOR J=F TO 3-F STEP 3-2*F
960 REN
980 FOR J1=1 TO A-1
990 LET R=INT<P<J,J1)/10>
1000 LET C=P(J,J1)-10*R
1020 ON J GOTO 1040,1100
1040 IF C=A THEN 1080
1050 IF C > A THEN 1070
1060 SOTO 1160
1070 60T0 1250
1080 80T0 1300
1100 IF R»1 THEN 1140
1110 IF R=0 THEN 1130
1120 GOTO 1160
1130 SOTO 1250
1140 GOTO 1300
1160 REH
1165 IF D»<R-1,C)="." THEN 1240
1170 IF D*(R,C+1>»\" THEN 1240
1180 IF J«2 THEN 1220
1190 IF D»(R+1,C>="." THEN 1210
1200 60T0 1250
1210 60T0 1300
1220 IF DI(R,C-1 ><>"." THEN 1240
1230 80T0 1250
1240 80T0 1300
1245 PRINT "BBS — 1245", J1
1250 NEXT J1
1260 PRINT "THE ";C*<3-J>;" HAVE NO LEGAL HOVES FOR THE ";C$(J);"1"
1270 PR I HI "THE ";C«(J>;" UIHII!"
1280 STOP
1300 IF B»2 THEN 1750
1310 IF J=2 THEN 1750
1340 LET L1=2
1350 FOR L0»1 TO 3
1370 ON LO 60T0 1430,1380,1430
1380 IF RHBO > < .5 THEN 1410
1390 LET L1-1
1400 GOTO 1450
1410 LET L1»3
1420 60T0 1450
1430 LET L1=4-L1
1450 LET P1>INT(RND(1)*A>
1460 FOR L2=1 TO A-1
1470 LET P1«P1+1
50
1480 IF P! <= A-1 THEN 1500
1490 LET P1=P1-<A-1)
1500 LET R=INT(P(J,P1)/10)
1510 LET C=P(J,P1)-10*R
1520 IF C > * THEN 1720
1540 ON LI SOTO 1570,1420,1470
1570 IF D$<R-1,C>="." THEN 1390
1580 60T0 1720
1570 GOTO 2070
1620 IF D*<R,C+1 >»".'• THEN 1440
1430 IF C=A THEN 1650
1640 80TO 1720
1650 LET P(J,0)=P(J,0)-1
1660 60T0 2160
1690 IF D»(R+1,C>""." THEN 1710
1700 8OT0 1720
1710 80T0 2230
1720 NEXT L2
1730 NEXT LO
1740 60T0 1260
1750 PRINT Ct(J);" HOVE";
1760 INPUT At
1770 60SUB 2950
1790 IF LEFT«<A»,1)="R" THEN 2860
1800 IF LEFT$(A»,1)="H" THEN 2460
1810 LET A»=HID»(A»,1,2)
1811 P1=0
1813 FOR B0=1 TO A-1
1815 IF MID»(A$(J),B0,1)=HID»(A»,1,1) THEN P1=B0
1817 NEXT 80
1830 IF P1=0 THEN 2430
1832 LET P2-0
1834 FOR 80^1 TO 4
1836 IF «ID$(H*(J),B0,1)=«ID»(A*,2,1) THEN P2=B0
1838 NEXT BO
1850 IF P2=0 THEN 2430
1860 LET R=INT(P(J,P1)/10)
1870 LET C=P(J,P1)-10*R
1880 IF R=0 THEN 2430
1890 IF C > A THEN 2430
1910 ON J 60T0 1930,1990
1930 IF C < A THEN 1970
1940 IF P2 <> 2 THEN 1970
1950 LET P(1,0)=P(1,0)-1
1960 60T0 2160
1970 GOTO 2040
1990 IF R > 1 THEN 2040
2000 IF P2 <> 1 THEN 2040
2010 LET P(2,0)=P(2,0)-1
2020 60T0 2090
2040 ON P2 60T0 2070,2140,2210,2280
2070 IF D»CR-1,C>="." THEN 2090
2080 60T0 2430
2090 LET 8»(R-1,C>=HID$(A»(J),P1,1)
2100 LET P(J,P1)»P(J,P1)-10
2110 GOTO 2330
2140 IF D*<R,C+1>="." THEN 2140
2150 60T0 2430
2160 LET D$(R,C+1) - HI0»(A*( J) ,P1 ,1 )
2170 LET P(J,P1)=P(J,P1)+1
2180 SOTO 2330
2210 IF D*<R+1,C)="." THEN 2230
2220 60T0 2430
2230 LET D*(R+1,C)=HIB»(A»(J) ,P1,<)
2240 LET P(J,P1)=P<J,P1)+10
2250 SOTO 2330
2280 IF D»(R,C-1)="." THEN 2300
2290 SOTO 2430
2300 LET D»(R,C-1)=NID*<A»<J>,P1,1>
2310 LET P(J,P1)=P<J,P1)-1
2330 LET 0»(R,C)="."
2340 IF B=2 THEN 2380
2350 IF J=2 THEN 2380
2360 PRINT "THE DIGITS HOVE: ";HID»(A$< J) ,P1 ,1 ) ;
2365 PRINT HID$(H$(J),L1,1)
2380 IF P(J,0) <> THEN 2420
2390 PRINT
2400 PRINT "**« THE ";C»<J>;" UINM!"
2410 ENO
2420 60T0 2900
2430 PRINT "ILLEGAL MOVE OR BAD INPUT."
2440 PRINT "INPUT I6N0RED. TYPE H FOR HELP."
2450 SOTO 1750
2460 PRINT "THE ";C»(J){" HAVE THESE LE6AL MOVES:"
2480 FOR J3-1 TO A-1
2490 LET P$=NID»(A$(J),J3,1)
2500 LET R=INT(P(J,J3)/10>
2510 LET C=P(J,J3)-10»R
2530 ON J GOTO 2550,2620
2550 IF C=A THEN 2590
2560 IF C > A THEN 2580
2570 SOTO 2490
2580 60T0 2830
2590 PRINT " ";P*;"E"f
2600 60T0 2690
2620 IF R=1 THEN 2640
2630 IF R=0 THEN 2650
2640 SOTO 2690
2450 60T0 2830
2640 SOTO 2700
2490 IF D«(R-1,C) <> "." THEN 2730
2700 print " ";P»;"N";
2730 IF D$<R,C+1) <> "." THEN 2770
2740 PRINT " ";p»;»E";
2770 IF J=2 THEN 2810
2780 IF D«(R*1,C> <> "." THEN 2800
2790 PRINT " ";p»;"S";
2800 60T0 2830
2810 IF D«<R,C-1) <> "." THEN 2830
2820 print " ";p»;"U";
2830 NEXT J3
2840 PRINT
2850 SOTO 1750
2840 PRINT "THE ";M<J);" GIVE UP!!"
2870 PRINT "«♦♦ THE ";C*(3-J>;" UINM!"
2880 END
2900 NEXT J
2910 60T0 840
2950 IF LEN(A*»10 THEN 3090
2940 LET C1=0
2943 FOR B0=1 TO LEN(At)
2945 LET A(B0)=ASC(HIB*(A*,BO,1 ) )
2970 NEXT BO
2975 LET A(0)=LEN(A»)
2980 FOR J2=1 TO A(0)
2990 IF AU2K96 THEN 3010
3000 LET A(J2)»A<J2>-32
3010 IF (57-A(J2))*(A(J2)-48) >= THEN 3040
3020 IF (90-A(J2)>*(A(J2)-45) >= THEN 3040
3030 SOTO 3040
3040 LET C1*C1*1
3050 LET A(C1)-A(J2)
3040 NEXT J2
3070 LET DI0K1
3073 LET A«=""
3075 FOR B0=1 TO A<0)
3077 LET A*=A»+CHR«(A(BO>)
3080 NEXT 80
3090 RETURN
3130 PRINT
3140 PRINT "HERE'S A SAHPLE PLAYING BOARD:"
3150 PRINT
3140 PRINT "1 . . . ."
3170 PRINT "2 . . .
3180 PRINT "3 . . . ."
3190 PRINT "4 . . . ."
3200 PRINT ". A B C D"
3210 PRINT
3220 PRINT "TUO SETS OF PIECES (DI6ITS AND LETTERS ) RACE AT RIGHT ANB";
3225 PRINT N LES H
3230 PRINT "ACROSS A SOUARE BOARD. VACANT LOCATIONS ARE SHOUN AS PERI";
3235 PRINT "CDS."
3240 PRINT "YOUCHOOSE THE THE SOARD SIZE (THE ONE ABOVE IS SIZE 5.)"
3240 PRINT " N"
3270 PRINT " :"
3280 PRINT "U — E"
3290 PRINT " :"
3300 PRINT " S"
3310 PRINT
3320 PRINT "THE OBJECT IS TO HOVE ALL OF YOUR PIECES ACROSS THE BOARD"
3330 PRINT "AND OFF THE OPPOSITE EDGE. DIGITS LEAVE THE BOARD ONLY AT"
3340 PRINT "THE EASTERN EDGE; LETTERS ONLY AT THE NORTHERN. THE U INNER"
3350 PRINT "IS THE PLAYER UHOSE PIECES HAVE ALL LEFT THE BOARD."
3340 PRINT
3370 PRINT "THE PLAYERS 60 IN TURN, N0VIN6 ONE OF THEIR PIECES TO AN"
3380 PRINT "ADJACENT LOCATON UHICH IS EITHER OFF THE BOARD OF CURRENT";
3385 PRINT "Li "
3390 PRINT "VACANT. THERE ARE NO DIAGONAL MOVES, NO JUMPS AND NO CAPT";
3395 PRINT "URES."
3400 PRINT "DIGITS CANNOT MOVE UEST, NOR LETTERS MOVE SOUTH."
3410 PRINT
3420 PRINT "TO MOVE A PIECE, TYPE ITS NANE AND THE FIRST LETTER OF THE"
3430 PRINT "DESIRED DIRECTION. EXAMPLES:"
3440 PRINT " 2E MEANS THAT PIECE 2 HANTS TO 80 EAST"
3450 PRINT " BU NEANS THAT PIECE B HANTS TO 00 UEST."
3440 PRINT
3470 PRINT "NOTE: YOU FORFET THE GAHE IF YOUR NOVE LEAVES YOUR OPPONENT
3480 PRINT "HITHOUT ANY LEGAL MOVE."
3490 PRINT .
3500 PRINT "LASTLY, YOU NAY TYPE R TO RESIGN AND H FOR HELP."
3510 PRINT
3S20 RETURN
3530 END
OX
51
Doors
RUN
In this cute little game, there are four
doors in succession and you must
open them to get the prize behind the
last one. You have a key ring con-
taining eleven keys numbered zero to
ten (computer people have a different
way of numbering things than normal
people) and you have fourteen tries to
open all four doors. As an added
hooker, some keys may open more
than one door. If at first you don't
succeed, try, try again. The prizes
behind the fourth door are well worth
the patience -in trying to get them all
open.
Doors was conceived and written by
Bill Ingram.
DOORS
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THERE ARE 4 LOCKED DOORS AND THERE ARE 11 KEYS<0-
YOU KILL HAVE 14 TRIES TO OPEN THEN ALL
(SOHE KEYS MAY OPEN MORE THAN ONE DOOR)
10 >
1 KEY?
1 KEY?
1 KEY?
1 KEY?
1 2 KEY* 3
2 KEY? 2
2 KEY? 5
2 KEY 7 7
2 KEY? 10
2 KEY? 9
2 KEY? 1
2 KEY? 2
2 KEY? 4
DOOR « 3 KEY? 6
THE RES! OF THE KEYS ARE:
TRIES LEFT • 14 DOOR II
TRIES LEFT II 13 DOOR II
TRIES LEFT It 12 DOOR I
TRIES LEFT II 11 DOOR II
UA LAN!
TRIES LEFT « 10 BOOR II
TRIES LEFT It 9 DOOR II
TRIES LEFT It 8 DOOR tt
TRIES LEFT It 7 DOOR II
TRIES LEFT It 6 DOOR II
TRIES LEFT It 5 DOOR R
TRIES LEFT I 4 DOOR II
TRIES LEFT It 3 DOOR II
TRIES LEFT « 2 DOOR *
SURPRISE!
TRIES LEFT II 1
YOU LOSE,
DOOR 3 KEY 8
DOOR 4 KEY 1
DO YOU UANT TO PLAY A6AINIYES SIR! OR NO SIR!)
? YES SIR!
THERE ARE 3 LOCKED DOORS AND THERE ARE 11 KEYStO- 10 )
YOU UILL HAVE 9 TRIES TO OPEN THEN ALL
(SOHE KEYS HAY OPEN MORE THAN ONE DOOR)
TRIES LEFT II 9 DOOR « 1 KEY? 1
TRIES LEFT » 8 DOOR II I KEY?
ABRACADABRA !
TRIES LEFT It
TRIES LEFT
TRIES LEFT
TRIES LEFT
TRIES LEFT
TRIES LEFT
TRIES LEFT
YOU LOSE,
DOOR 2 KEY
DOOR 3 KEY
7 DOOR
6 DOOR
5 BOOR
4 DOOR
3 DOOR
2 DOOR
1 DOOR
THE REST OF THE KEYS ARE:
DO YOU UANT TO PLAY A6AINUES SIR! OR NO SIR!)
? NO SIR!
OK
2 KEY? 3
2 KEY? 4
2 KEY? 5
2 KEY? 8
2 KEY? 1
2 KEY? 2
2 KEY? 10
door «";d;"KEY";
LIST
1 PRINTTAB(27)"DQ0RS B
2 PRINT TA8(20)"CREATIVE COMPUTING"
3 PRINT TAB(18)"H0RRIST0UN, NEU JERSEY"
4 PRINT
5 PRINT
6 PRINT
25 DIM KC20)
30 DEF-FNR(Z)«INT(Z*RN»(D)
32 FOR X«0 TO 6 : READ R$(X):NEXT X
33 FOR X=0 TO 6: READ S»(X):NEXT X
35 D»1:T«10*FNR(21):N=3+FNR(3):K3=8+FNR(5)
40 PRINT'THERE ARE";N;"LOCKED DOORS AND THERE ARE»;K3;"KEYS(0-"K3-1")"
41 PRINT'YOU UILL HAVE " ;T-1 ; "TRIES TO OPEN THEH ALL"
42 PRINT"(SOHE KEYS HAY OPEN MORE THAN ONE DOOR)"
65 FOR X=2 TO N:K(X)=FNR(K3):NEXT X
70 T=T-1:IF T«0 THEN 150
80 PRINT"TRIES LEFT «";T;"
90 INPUT K2
100 IF K2<>K(D) THEN 70
110 PRINT S»(FNR(7)):D=D+1
120 IF D<N+1 THEN 70
125 PRINT
130 PRINT"Y0U DID IT, BEHIND DOOR D";N;"IS
140 PRINT R»(FNR(7)> "!!":G0T0 170
150 PRINT"Y0U LOSE, THE REST OF THE KEYS ARE:"
HO FOR X=D TO N:PRINT"B00R";X; "KEY"K(XI :HEXT X
170 PRINT-BO YOU UANT TO PLAY AGAIN (YES SIR! OR NO SIR!)
171 INPUT Q»
180 IF 0*="YES SIR!" THEN 35
181 IF 0i* 1, N0 SIR! " THEN 999
190 PRINT"HEY, I DIDN'T JUST FALL OFF A TURNIP TRUCK, YA KNOU!!!!!"
200 GOTO 170
500 DATA"A POT OF GOLD", "A BEAUTIFUL MAIDEN", "A MAN EATING TIGER"
505 DATA-NOTHING", "$22.59", "A ROLLS ROYCE'V'THE KEYS TO THE UORLD"
600 DATA"0PEN SESAHE! ","C-R-E-E-E-E-E-A-A-K!.","UA IAH!","TA-DAH!"
405 DATA"ABRACADABRA !», "CLICK !!!!!!!!?! ?????? !!!!!!!!", "SURPRISE!"
999 END
OK
52
Drag
DRAG allows the user to design his
own dragster and then race it against a
dragster designed by another player or
the computer. You must specify the
horsepower, rear end ratio, tire width,
and tire diameter. There are no limits to
these parameters.
Aha! you say. "I'll just design a two
million horsepower dragster!" But it
doesn't work that way, because your
mass is related to your engine size, and
so you usually end up with a top speed
of something like 33 MPH. The com-
puter is extremely hard to beat, but it's
rumored that it can be done. Note: on
some systems the amount of time
between printouts can be aggravating-
ly long.
This program came from the
Hewlett-Packard User Library. It also
appeared in Creative Computing,
Jan/Feb 1977.
RUN
DRAG
CREATIVE COMPUTING
HORRISTOUN NEW JERSEY
UELCOHE TO DRA6 STRIP.
UOULO TOU LIKE THE INSTRUCTIONS ? YES
YOU MAY RACE AGAINST ONE OF YOUR FRIENDS OR YOU NAY RACE
AGAINST NY DRAGSTER. YOU WILL BE ASKED TO DESIGN YOUR
OWN MACHINE, SPECIFYING HOURSEPOUER, READ END RATIO (X:1),
TIRE UIDTH IN INCHES AND TIRE DIAMETER IN FEET.
DO YOU UANT TO RACE AGAINST ME ? YES
I UILL HAVE CAR HI.
DESIGN CAS 1)2:
HORSEPOWER'? 790
REAR END RATIO'? 4.5
TIRE WIDTH'? 22
TIRE OIAHETER'? 4
GO!
ELAPSED CAR ttl CAR H2
TINE
SPEED
DISTANCE
SPEED
DISTANCE
(SEC)
(HPH)
(FT)
(HPH)
(FT)
CAR •
2 STOPS
BURNING RUBBER
22.0707
16.3821
19.5767
14.3695
43.5753
64.7326
39.9392
58.1071
64.0015
143.982
60.3405
131.846
82.9394
252.079
79.8184
234.947
100.107
386.668
97.4014
365.321
115.356
545.024
112.362
519.607
CAR II
1 STOPS
BURNING RUBBER
;
128.639
724.299
124.389
693.674
139.186
921.158
133.582
883.247
146.922
1131.34
140.326
1084.43
9.86047 151.811 1320 144.586
1264.:
WINNER
DO YOU
WANT TO
TRY A6AIN ?
NO
Ok
LIST
3 PRINT TAB(27);"DRAG"
5 PRINT TAB (20); "CREATIVE CONFUTING"
7 PRINT TAB(19);"H0RRIST0UN NEW JERSEY"
10 DIN P(2),E(2),W(2),S(2),X(2),N(2l f C(2),B(2),Y(2)
20 DIN Q(2)
30 PRINT:PRINT:PRINT
35 PRINT "UELCOHE TO DRAG STRIP."
40 PRINT "WOULD YOU LIKE THE INSTRUCTIONS ";
50 INPUT It
60 IF I»="N0" THEN 110
70 PRINT "YOU HAY RACE AGAINST ONE OF YOUR FRIENDS OR YOU NAY RACE"
80 PRINT "AGAINST NY DRAGSTER. YOU UILL BE ASKED TO DESIGN YOUR"
90 PRINT "OWN MACHINE, SPECIFYING HOURSEPOUER, READ END RATIO U:1),"
100 PRINT "TIRE UIDTH IN INCHES AND TIRE DIAMETER IN FEET."
110 PRINT "DO YOU WANT TO RACE AGAINST HE ";
120 INPUT I*
130 IF I*'"NQ" THEN 200
140 PRINT "I UILL HAVE CAR 81."
150 P(1 1=600
160 E(1)=5.9
170 W(11=22
180 D(1)=3.9
190 60T0 290
200 PRINT "DESIGN CAR »1 :"
210 PRINT "H0URSP0UER=";
220 INPUT P(1)
230 PRINT "REAR END RATIO=";
240 INPUT Ed)
250 PRINT "TIRE UIDTH'";
260 INPUT U(1 )
270 PRINT "TIRE DIAMETER'";
280 INPUT DID
290 PRINT "DESIGN CAR »2:"
300 PRINT "HORSEPOWER'";
310 INPUT P(2)
320 PRINT "REAR END RATIO'";
330 INPUT E(2)
340 PRINT "TIRE UIDTH'";
350 INPUT U(2)
360 PRINT "TIRE DIAMETER'"; -
370 INPUT D(2!
380 PRINT
390 PRINT "GO! "
400 K1=500
410 K2=1.6
420 K3=2
430 K4=6E-04
440 K5=6E-05
450 K4=.2
460 K7=4
470 K8'1.5E-04
480 Q(1)=0:Q(2>=0
490 S<1)=0:S(2)=0
500 X(1)=0:X<2>=0
310 REN: H IS MASS
520 FOR J=1 TO 2
530 N(J) = (K1+K2*P(J)+K3*U(J)*D(J)+K7*D(J)"2)/32.2
540 REN: C IS DRA6 FROM WIND.
550 C(J)=K4*H(J)"(2/3)tK8*U(J)*D(J)
560 REH: B IS THE HAX ACCELERATION UITHOUT BURNING
570 B(J) = 15+28*U(J)*D(J)/((U(J)t6)*(D(J)+D)
580 REM: Y IS THE SCALE FACTOR FOR RPM VS POWER.
590 Y(J)=3.7-3.3E-03»P(J)
600 NEXT J
410 PRINT
420 PRINT
430 PRINT "ELAPSED ";TAB(15) ;"CAR «1";TAB(39) ;"CAR «2"
440 PRINT "TIME SPEED DISTANCE SPEED DISTANCE"
450 PRINT "(SEC) (HPH) (FT) (MPH) (FT)"
460 PRINT
670 FOR T'O TO 100
480 FOR 11=1 TO 100
490 FOR J=1 TO 2
700 REH: R IS RPH.
53
1120 PRINT T;" ";S<1)*3600/5280;"
H25 PRINT S(2>*3600/5280;" ";X<2>
1130 PRINT TAB( 1 0! ;"UINNER"
1140 PRINT
1150 00T0 1040
1160 NEXT T1
1170 PRINT T+1;" ";S(1 )*3600/5280;"
1175 PRINT S(2)*3400/5280;" ";X(2)
1180 NEXT T
12.00 END
Oil
710 R=60*S<J>*E(J)/<3.1415?24II*D<J)>
720 REN: LO IS ENGINE TORQUE.
730 L0=(P(J)/42.5)*(50+7.8E-O3*(R/Y(J))-4E-10*(R/Y(J))-3)
740 REH: LI IS TORQUE FROH FRICTION.
750 L1=P(J)*(K5*R+K6>
740 REH: R2 IS REAR AXLE TORQUE.
770 L2=E(J)*(L0-L1)
780 REN: F IS FORCE ON ROAD FROM TIRES.
7?0 F=2*L2/D<J>
800 REN: TEST FOR BURN.
810 IF F > H(J)*B(J) THEN 880
820 REH: A=ACCELERATION
830 IF 0(J! <> THEN 860
840 PRINT "CAR «";J;" STOPS BURNING RUBBER"
850 Q(J)=1
840 A=(F-C(J)*S(J)"2)/H(J)
870 GOTO 900
880 A=B(J)-C(J)*S(J)"2/H(J)
890 REH: S IS FEET IN FT/SEC.
900 S(J)=S(J)+A*.01
910 REH: X IS DISTANCE IN FT.
920 X(J)=X(J)+S(J)*.01
930 NEXT J
940 REH: TEST FOR FINISH.
950 IF X(1)<5280/4 AND X(2)<5280/4 THEN 1160
940 IF X(1)>X(2) THEN 1080
970 T3=(X(2)-5280/4)/S<2)
980 T=T+T1/100-T3
990 X(21=5280/4
1000 X(1)=X(1)-S(1)*T3
1010 PRINT T;" ";S(1 )*3600/5280;" ";x(n
1015 PRINT S(2)*3600/5280;" ";X(2)
1020 PRINT TAB(40);"UINNER"
1030 PRINT
1040 PRINT "DO YOU UANT TO TRY AGAIN ";
1050 INPUT 1$
1060 IF I$="YES" THEN 110
1070 END
1080 T3=(X(1)-5280/4)/S(1)
1090 T=T+T1/100-T3
1100 X(1)=5280/4
1110 X(2)=X(2)-S(2)*T3
;xd);
";xn>;
54
Dr.Z
Using DR.Z your computer "in-
teracts" with you in true Rogerian form,
never making a value judgment of your
response.
DR.Z is multi-lingual and
"professional confidence" is
guaranteed, especially with a video
display terminal. However, if you have
a printer, try employing a unique
language known only to you and Dr.Z.
If you would prefer to employ DR.Z in
an educational mode, you might con-
sider the following sequence of ac-
tivities.
1. Discuss communication, exploring:
a. The role of spoken language
b. The role of written language
c. Non-verbal language
1 . facial expressions
2. posture of body
3. hand gestures
2. Experience a session with DR.Z.
3. Develop computerizations of other
"purely human" situations.
Note: Don't mistake DR.Z for Eliza
(or Doctor). In DR.Z, all the responses
are "canned" and the computer makes
no attempt to analyze your input in any
way.
DR.Z was submitted to us
anonymously by some students of Dr.
Melvin Zeddies of San Dieqo.
RUN
DR.Z
CREATIVE CONFUTING
KORRISTOUN, NEU JERSEY
HELLO THERE, I'd TOUR COMPUTER THERAPIST.
UHAT IS YOUR NAME? AND TELL HE SONETHING ABOUT YOURSELF.
HOWEVER, DON'T TYPE HORE THAN ONE LINE. I TIRE EASILY.
? HY NAME IS STEVE. I'N TRYING TO FIX THIS PR06RAH.
WHAT DID YOU SAY YOUR NAHE HAS AGAIN?
? STEVE
HOU DO YOU FEEL TODAY?
? TERRIBLE. IT IS TOO HOT OUTSIDE! < !
DO YOU THINK THIS IS REASONABLE IN LIGHT OF YOUR INTERESTS?
? UHAT ARE YOU TALKING ABQPUT
DO YOUR FRIENDS FIND THIS ACCEPTABLE?
? SOMETIMES
UHY DO YOU THINK YOU FEEL THIS BAY?
? BECAUSE OF THE HEATHER
DO YOU THINK THAT THIS IS A NORHAL FEELING?
? YES
DO YOUR FRIENDS FIND THIS ACCEPTABLE?
? I JUST *;<aUERED Til'T
I THINK YOU ARE MAKING A GREAT ATTEMPT TO SOLVE YOUR
DIFFICULTIES, AND I SEE NO NEED TO CONTINUE THIS
SESSION ANY FURTHER*
STEVE UOULD TOU HAKE ANOTHER APPOINTHENT UITH HY COHPUTER
FOR SOHETIHE IN THE NEXT FEV VEEKS. UHAT DATE UOULD YOU
PREFER?
? NEVER
THAT WILL BE FINE .
I'VE ENJOYED COHHUNICATING UITH YOU.
HAVE A HICE DAY.
LIST
5 PRINT TAB(27t;*8R.Z"
4 PRINT TAB (20) {"CREATIVE COMPUTING*
7 PRINT TAB(16);"H0RRIST0UN, NEU JERSEY*
8 PRINTsPRINTtPRINT
20 PRINT 'HELLO THERE, I'M YOUR COHPUTER THERAPIST.*
30 PRINT *UHAT IS YOUR MAKE? AHD TELL HE S0HETHIN6 ABOUT YOURSELF."
40 PRINT -HOUEVER, DON'T TYPE HORE THAN ONE LINE. I TIRE EASILY."
30 INPUT At
40 PRINT "UHAT DID YOU SAY YOUR NAHE UAS AGAIN?"
70 INPUT Dl
60 PRINT "HOU B0 YOU FEEL TODAY?"
90 LET C»0«U«0:V«0
100 INPUT A*
110 PRINT
120 PRINT
110 IF C-10 THEN 720
140 LET Z*INT(10*RND<1>>
ISO IF U«Z THEN 140
160 IF V'Z THEN 140
170 LET U»Z
160 ON Z+1 GOTO 490, 420, 450, 460,310, 540, 370, 600, 430,440
380 SOTO 490
390 PRINT "THAT'S VERT INTERESTING, TELL ME MORE."
400 PRINT
410 60T0 490
420 PRINT "HAVE YOU FELT THIS UAY LONG?"
430 PRINT
440 GOTO 490
450 PRINT "BO YOU THINK THIS IS REASONABLE IN LIGHT OF YOUR INTERESTS?"
460 PRINT
470 GOTO 490
460 PRINT "BO YOUR FRIENDS FIND THIS ACCEPTABLE?"
490 PRINT
300 GOTO 690
510 PRINT "DO YOU FEEL COHFORTABLE UITH THIS FEELING?"
520 PRINT
330 GOTO 690
540 PRINT "DO YOU THINK THAT THIS IS A NORMAL FEELING?"
550 PRINT
560 GOTO 490
570 PRINT *UHY DO YOU THIHK YOU FEEL THIS UAY?"
380 PRINT
590 GOTO 490
400 PRINT "HAVE TOU TALKED TO ANYONE ADOUT THIS?"
410 PRINT
420 GOTO 690
430 PRINT "UHY ARE YOU HERE?"
440 PRINT
450 GOTO 490
440 PRINT "ARE YOU SATISFIED UITH THE UAY YOUR IDEAS ARE DEVELOPING?"
470 PRINT
490 LET C-C+l
700 LET U»Z
710 GOTO 100
720 PRINT "I THINK YOU ARE MAKING A 6REAT ATTEMPT TO SOLVE YOUR"
730 PRINT "DIFFICULTIES, AND I SEE NO NEED TO CONTINUE THIS"
740 PRINT "SESSION ANT FURTHER."
750 PRINT Bt{" UOULD YOU HAKE ANOTHER APPOINTHEHT UITH MY COMPUTER"
740 PRINT "FOR SOHETIHE IH THE HEXT FEU UEEKS. UHAT DATE UOULD YOU*
770 PRINT "PREFER?"
780 INPUT At
790 PRINT "THAT UILL 8E FINE ."
800 PRINT "I'VE ENJOYED COHHUNICATING UITH YOU."
810 PRINT "HAVE A HICE DAY."
820 FOR T=1 TO 4
830 PRINT
840 NEXT T
850 END
55
Eliza
Description: ELIZA is a program that
accepts natural English as input and
carries on a reasonably coherent
conversation based on the psychoana-
lytic techniques of Carl Rogers. You will
have to forgive ELIZA for being a poor
English student. You'll find that it is best
not to use punctuation in your input, and
you'll havetocarrythe conversation. But
it does work!
How it works: In order to speak to you,
ELIZA must: (1) get a string from the
user, and prepare it for further
processing: (2) find the keywords in the
input string: (3) if a keyword is found,
take the part of the string following the
keyword and "translate" all the personal
pronouns and verbs ("I" becomes
"YOU", "ARE" becomes "AM", etc.); (4)
finally, look up an appropriate reply based
on the keyword which was fou nd, print it
and, if necessary, the "translated"
string. ELIZA uses four types of program
data to accomplish this:
(1) 36 keyword, such as "I AM", "WHY
DONT YOU", and "COMPUTER". The
keywords must be in order of priority, so
ELIZA will key on "YOU ARE" before
"YOU".
(2) 1 2 strings used for the translation or
conjugation process. These are in pairs
such that if one member of the pair is
found, the other is substituted for it.
Examples: "Y", "YOU", "AM", "ARE",
etc.
(3) 112 reply strings. The strings are
arranged in groups corresponding to the
keywords. There is no fixed number of
different replies for each keyword.
Replies ending in a"*" are to be followed
by the translated string, while the
strings ending in normal punctuation
are to be printed alone.
(4) Numerical data to determine which
replies to print for each keyword. For
each keyword there is a pair of numbers
signifying (start of reply strings, number
of reply strings). Thus the fifth pair of
number, (10,4), means that the replies
for the fifth keyword ("I DONT") start
with thetenth reply string, andthatthere
are four replies.
Detailed Explanation:
Lines 10-160: Initialization. Arrays and
strings are dimensioned. N1, N2, and
N3, which represent the number of
keywords, number of translation strings,
and number of replies respectively, are
defined. Then the arrays are filled.
S(keyword number) is the ordinal
number of the start of the reply strings
for a given keyword, R(keyword number)
is the actual reply to be used next, and
N(keyword number) is the last reply for
that keyword. Finally an introduction is
printed.
Lines 170-255: User input section. This
part of the program gets a string from the
user, places a space at the start of the
string and two at the end (to make it
easier to correctly locate keywords and
to preventsubscripting out of bounds),
throws out all the apostrophes (so DONT
and DON'T are equivalent), and stops if
the word SHUT is found in the input
string (which ittakesto mean SHUTUP).
ELIZA also checks for repetitive input by
the user.
Lines 260-370: Keyword-finding sec-
tion. ELIZA scans the input string for
keywords and saves the keyword of
highest priority temporarily in S, T, and
F$. If no keyword is found, the keyword
defaults to number 36, NOKEYFOUND
(which causes ELIZA to say something
noncommital) and it skips the next
section.
Lines 380-555: Translation or Conjuga-
tion section. The part of the input string
following the keyword is saved. Then
pairs of translation strings, as described
above, are read and upon the occurence
of one of these strings, the other is
substituted for it. When this is done
ELIZA makes sure there is only one
leading space in the translated string.
Lines 560-640: Reply printing section.
Using R(keyword number), Sfkeyword
number), and N(keyword number), the
correct reply is located. The pointer for
the next reply is bumped and reset if it is
too large. If the reply string ends in a "*"
it is printed with the translated string,
otherwise it is printed alone. The
previously entered input string is saved
to permit checking for repetetive input,
and then ELIZA goes backfor more input.
Limitations: Runs in 1 6K of memory.
Modifications: You can easily add,
change, or delete any of the keywords,
translation words, or replies. Remem-
ber, you will also have to change N 1 , N2,
N3, and/or the numerical data. Just as a
suggestion, if you decide to insert "ME"
and "YOU" in the translation string list,
put a nonprinting (control) character in
YOU to prevent ELIZA from substi-
tuting l-»YOU-»ME. This means that YOU
will always be assumed to bethesubject
of a verb, never the object, but resolving
that difficulty is a whole different
problem.
A Few Comments: The structures
found in lines 120, 420, and 590 could
be replaced by RESTORE NNNN
statements if your BASIC has them. The
use of an INSTR, SEARCH, or POS
function to determine if one string is a
substring of another would probably
speed things up considerably (it takes
ELIZA around 10 seconds to think of a
reply).
What it all means: we'll leave to you.
Although this program is an inferior
imitation of the original, it does work. It is
pretty farfetched to believe that a
psycholanalyst is nothing but a sentence-
input-keyword-finder-conjugator-reply
finder, but if you really think so, you can
buy your computer a speech-recognition
unit, a Computalker and a green couch,
and charge $75/hr! My computer, the
doctor!
Geneology: ELIZA was originally
programmed in LISP by Joseph Weizen-
baum at MIT. It was converted to BASIC
by Jeff Shrager and further modified to
work in Microsoft BASIC by Steve North,
who also wrote these notes.
Name
Usage
R(X),S(X),N(X)
See Text
l$
Input string
K$
Keyword string
C$
Translated or conjugated string
F$
Reply string, also used to save K$ in scanning for keyword
R$,S$
Strings used in conjugation process
P$
Previous input string
Z$
Scratch (used for simulating RESTORE NNNN statement).
N1
Number of keywords
N2
Number of conjugation strings
N3
Number of replies
Keyword number
S,T
Used to save K and L when scanning for keyword
X,L
X,L Scratch. X is generally used for looping while
L is used for scanning through strings
V Used for scanning for keyword string
56
ELIZA
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
HI! I'M ELIZA. MAT'S YOUR PROBLEM?
? YOU
UE MERE DISCUSSING YOU — NOT ME.
1. BUT YOU ATR THE PROBLEM
OH, I ATR THE PROBLEM
? SO I MISSPELLED A UORD
SAY, BO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?
? NO DO YOU
YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?
? ONLY BEHIND YOUR BACK
UHY ARE YOU CONCERNED ABOUT MY BACK
? BECAUSE I'M AFRAID TO CON FRONT YOU
DID YOU COME TO HE BECAUSE YOU ARE AFRAID TO CON FRONT I
? YOU SPEAK UIERD ENGLISH
UE UERE DISCUSSING YOU— NOT HE.
? AN I GETTING THE BEST OF YOU
OH, I
? UHAT IS THAT SUPPOSES TO MEAN
UHY DO YOU ASK?
? UHY NOT
UHY DO YOU ASK?
? I ASKED FIRST
UHAT DOES THAT SUGGEST TO YOU?
? THAT YOU ARE NOT AS SMART AS YOU THINK
UHAT MAKES YOU THINK I AM NOT AS SMART AS I THINK
? YOU ARE HAKING A FOOL OUT OF YOURSELF
DOES IT PLEASE YOU TO BELIEVE I AM MAKIN6 A FOOL OUT OF YOURSELF
? DON'T TUIST THE UORDS ON HE BUDDY
I SEE.
? DO YOU REALLY
YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?
? YES
ARE YOU SURE?
? YES I AM SURE
DID YOU COME TO HE BECAUSE YOU ARE SURE
? I CANE BECAUSE I AH
HOU .LONG HAVE YOU BEEN
? AS LONG AS POSSIBLE
I'M NOT SURE I UNDERSTAND YOU FULLY.
? SO I AH NOT THE GREATEST CONVERSATIONALIST
DO YOU BELIEVE IT IS NORMAL TO BE NOT THE GREATEST CONVERSATIONALIST
? YES
I SEE.
? HOU CAN YOU SEE UITHOUT ANY EYES
DON'T YOU BELIEVE THAT I CAN SEE UITHOUT ANY EYES
? NO SO PROVE IT
ARE YOU SAYING NO JUST TO BE NE6ATIVE?
? ABSOLUTELY NOT
YOU ARE BEING A BIT NE6ATIVE.
? SO YOU UANT TO FIGHT DO YOU
UE UERE DISCUSSING YOU — NOT ME.
? DON'T BACK DOUN FRIEND
UHY DO YOU BRING UP THE TOPIC OF FRIENDS?
? I DON'T HAVE ANY FRIENDS
DON'T YOU REALLY HAVE ANY FRIENDS
? NO NOT REALLY
UHY NOT?
? BECAUSE I AN YOU AND YOU ARE HE AND UE ARE ALL TOGETHER
PERHAPS YOU WOULD LIKE TO BE YOU AND UE AH ALL TOGETHER
? SAY UHAT
DOES THAT OUESTION INTEREST YOU?
? DEFINITELY
CONE COHE ELUCIDATE YOUR THOUGHTS.
? DO YOU LIKE THE BEATLES
OH, I LIKE THE BEATLES
? HOU ABOUT THE BEACH BOYS
UHY DO YOU ASK?
? DO YOU DREAH OFTEN
YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?
? DREAH ON
UHAT DOES THAT DREAH SUGGEST TO YOU?
? UHAT DREAH
UHAT ANSUER UOULD PLEASE YOU THE HOST?
? DO YOU SUBSCRIBE TO CREATIVE COMPUTING
UE UERE DISCUSSING YOU— NOT HE.
? I AH AN IBH 370/U8
DO YOU ENJOY BEINS AN IBH 370/U8
? I AM UORRIED ABOUT THE COHPETITION
DID YOU CONE TO HE BECAUSE YOU ARE UORRIED ABOUT THE COHPETITION
? DON'T GET PERSONAL
CAN YOU ELABORATE ON THAT?
? I'M GETTING TIRED OF LISTENING TO YOU TO SHUT UP
SHUT UP...
Ok
1 PRINT TAB(26);"ELIZA"
2 PRINT TAB(20);"CREATIVE COMPUTING"
3 PRINT TAB(18);"M0RRIST0UN, NEU JERSEY"
A PRINT:PRINT:PRINT
80 REN INITIALIZATION
100 DIN S<34),R(34>,N<34>
110 N1=34:N2»14:N3=112
120 FOR X=1 TO N1+N2+N3:READ Zt:NEXT X:REN SANE AS RESTORE
130 FORX«1 TO N1
140 READ S(X),L:R(X)=S(X):N(X>=S(X)+L-1
190 NEXT X
140 PRINT "HI! I'H ELIZA. UHAT'S YOUR PROBLEH?"
170 REM
180 REN USER INPUT SECTION
190 REN
200 INPUT It
201 I»=" "+I»+" "
210 REN GET RID OF APOSTROPHES
220 FOR L°1 TO LEN(U)
230 IFNID*(I*,L,1)="'"THENI»=LEFT»(I*,L-1)tRIGHT»(U,LEN(I$)-L):G0T0230
240 IFL+4<=LEN(I$)THENIFHID*(U,L,4)="SHUT"THENPRINT"SHUT UP...":END
2S0 NEXT L
255 IF I$=P* THEN PRINT "PLEASE DON'T REPEAT YOURSELF ""sGOTO 170
240 REH
270 REH FIND KEYVORD IN I>
57
280 REN
290 RESTORE
295 8=0
300 FOR K=1 TO N1
310 READ Kf
3IS IF S>0 THEN360
320 FOR 1=1 TO LEN(I$)-LEN(K»>+1
340 IF HID»U»,L,LEN<K$))=K*THENS=K:T=L:F*=K*
350 NEXT L
340 NEXT K
365 IF S>0 THEN K=S:L=T:60T0390
370 K=34:G0T0570:REH UE DIDN'T FIND ANY KEYWORDS
380 REM
390 REN TAKE RIGHT PART OF STRING AND CONJUGATE IT
400 REM USING THE LIST OF STRIN6S TO BE SUAPPED
410 REM
420 REST0RE:F0RX=1 TO NIsREAD Z«:NEXT X:REH SKIP OVER KEYUORDS
430 C*=" "♦RI6HT»<I»,LEN<I»)-LEN<F$»-Lt1)t" "
440 FOR X=1 TO N2/2
4S0 READ S$,R»
440 FOR L= 1 TO LEN(C*>
470 IF L+LEN(S>)>LEN<C$> THEN 510
480 IF HID$(C»,L,LEN<S*)K>S* THEN 510
490 C»=LEFT$ <C* ,L-1 ) +R»*RIGHT$ <C* ,LEN(C* ) -L-LEN <S$ >*1 )
495 L=L+L£N(R»>
SOO GOTO 540
510 IF L +LEN ( R$ ) >LEN ( C$ ) THEN540
520 IF MID*(C«,L,LEN<R*)K>R» THEN 540
530 C$=LEFT*<C*,L-1)+S»tRIGHT$<C»,LEN<C$>-L-LEN(R»)+1>
535 L=L+L£N<S») -
540 NEXT L
550 NEXT X
555 IF HID$(C»,2,1)=" "THENC$--RIGHT$(C»,LEN(CJ)-1 >:REH ONLY 1 SPACE
554 FOR L=1 TO LEN(C»!
557 IF MID»<C«,L,1>="!" THEN C$=LEFT»(C»,L-1 >+RIGHT$<C$,LEN<C»)-L>:6OT0557
558 NEXTL
540 REM
570 REN NOU USIN6 THE KEYUORD NUMBER <K> GET REPLY
580 REN
590 RESTORE: FOR X= 1 TO N1+N2:READ Z»sNEXT X
400 F0RX=1T0R(K):READ FtsNEXT X:REN READ RIGHT REPLY
410 R(K)=R(K)+1: IFR(K)>N(K) THEN R(K)=S(K)
420 IF RIGHT»(F*,1 )<>"*" THEN PRINT F»:P»=I»:GOTO 170
430 PRINT LEFT*(F»,LEN(F*)-1);C»
440 P$=I$:GOTO 170
1000 REM
1010 REM PROGRAM DATA FQLLOUS
1020 REM
1030 REM KEYUORDS
1040 REN
1050 DATA "CAN YOU", "CAN I'V'YOU ARE","YOURE","I DONT","I FEEL"
1060 DATA "UHY DONT YOU","UHY CANT I","ARE YOU", "I CANT", "I AM", "IN "
1070 DATA "YOU ","I UANT","UHAT","HOtt","UHO","UHERE","UHEN","UHY"
1080 DATA "NAME" , "CAUSE" , "SORRY" , "DREAM" , "HELLO" , "HI ", "MAYBE"
U90 DATA " NO"," YOUR", "ALUAYS", "THINK", "ALIKE", "YES", "FRIEND"
1100 DATA "COMPUTER", "NOKEYFOUND"
1200 REH
1210 REH STRING DATA FOR CONJUGATIONS
1220 REM
1230 DATA " ARE "," AM ","UER£ ","UAS "," YOU "," I ","YOUR ","MY "
1235 DATA " IVE "," YOUVE "," IN "," YOURE "
1240 DATA " HE "," !YOU "
1300 REN
1310 REH REPLIES
1320 REH
1330 DATA "DON'T YOU BELIEVE THAT I CAN»"
1340 DATA "PERHAPS YOU WOULD LIKE TO BE ABLE TO*"
1350 DATA "YOU UANT ME TO BE ABLE TO*"
1360 DATA "PERHAPS YOU DON'T UANT TO*"
1365 DATA "DO YOU UANT TO BE ABLE TO*"
1370 DATA "UHAT HAKES YOU THINK I AN*"
1380 DATA "DOES IT PLEASE YOU TO BELIEVE I AH*"
1390 DATA "PERHAPS YOU UOULD LIKE TO BE*"
1400 DATA "DO YOU SONETINES WISH YOU UERE*"
1410 DATA "DON'T YOU REALLY*"
1420 DATA "UHY DON'T YOU*"
1430 DATA "DO YOU UISH TO BE ABLE TO*"
1440 BATA "DOES THAT TROUBLE YOU?"
1450 DATA "TELL HE HORE ABOUT SUCH FEELINGS. "
1460 DATA "DO YOU OFTEN FEEL*"
1470 DATA "DO YOU ENJOY FEELING*"
1480 DATA "DO YOU REALLY BELIEVE I DON'T*"
1490 DATA "PERHAPS IN 600D TINE I WILL*"
1500 DATA "DO YOU UANT HE TO*"
1510 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*"
1520 DATA "UHY CAN'T YOU*"
1530 DATA "UHY ARE YOU INTERESTED IN UHETHER OR NOT I AN*"
1540 DATA "UOULD YOU PREFER IF I UERE NOT*"
1550 DATA "PERHAPS IN YOUR FANTASIES I AM*"
1560 DATA "HOU DO YOU KNOU YOU CAN'T*"
1570 DATA "HAVE YOU TRIED?"
1580 DATA "PERHAPS YOU CAN NOU*"
1590 DATA "DID YOU CONE TO HE BECAUSE YOU ARE*"
1600 DATA "HOU L0N6 HAVE YOU BEEN*"
1610 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*"
1620 DATA "BO YOU ENJOY BEING*"
1630 DATA "UE UERE DISCUSSING YOU — NOT HE. "
1640 DATA "OH, I*"
1650 DATA "YOU'RE NOT REALLY TALKING ABOUT HE, ARE YOU''"
1660 DATA "UHAT UOULD IT NEAN TO YOU IF YOU GOT*"
1670 DATA "UHY DO YOU UANT*"
1680 DATA "SUPPOSE YOU SOON GOT*"
1490 DATA "UHAT IF YOU NEVER GOT*"
1700 DATA "I SOHETIHES ALSO UANT*"
1710 DATA "UHY DO YOU ASK?"
1720 DATA "DOES THAT QUESTION INTEREST YOU?"
1730 DATA "UHAT ANSUER UOULD PLEASE YOU THE HOST?"
1740 DATA "UHAT DO YOU THINK?"
1750 DATA "ARE SUCH QUESTIONS ON YOUR HIND OFTEN?"
1740 DATA "UHAT IS IT THAT YOU REALLY UANT TO KNOU?"
1770 DATA "HAVE YOU ASKED ANYONE ELSE?"
1780 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?"
1790 DATA "UHAT ELSE COMES TO HIND UHEN YOU ASK THAT?"
1800 DATA "NANES DON'T INTEREST ME."
1810 DATA "I DON'T CARE ABOUT NAMES — PLEASE GO ON."
1820 DATA "IS THAT THE REAL REASON?"
1830 DATA "DON'T ANY OTHER REASONS COME TO HIND?"
1840 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?"
1850 DATA "UHAT OTHER REASONS NIGHT THERE BE?"
1860 DATA "PLEASE DON'T APOLOGIZE!"
1870 DATA "APOLOGIES ARE NOT NECESSARY."
1880 DATA "UHAT FEELINGS DO YOU HAVE UHEN YOU APOLOGIZE."
1890 DATA "DON'T BE SO DEFENSIVE!"
1900 DATA "UHAT DOES THAT DREAH SU66EST TO YOU?"
1910 DATA "DO YOU DREAM OFTEN?"
1920 DATA "UHAT PERSONS APPEAR IN YOUR DREAMS?"
1930 DATA "ARE YOU DISTURBED BY YOUR DREAMS?"
1940 DATA "HOU DO YOU 00 ... PLEASE STATE YOUR PROBLEM."
1950 DATA "YOU BON'T SEEM QUITE CERTAIN."
1940 DATA "UHY THE UNCERTAIN TONE?"
1970 DATA "CAN'T YOU BE MORE POSITIVE?"
1980 DATA "YOU AREN'T SURE?"
1990 DATA "DON'T YOU KNOU?"
2000 DATA "ARE YOU SAYINO NO JUST TO BE NEGATIVE?"
2010 DATA "YOU ARE BEING A BIT NEGATIVE."
2020 BATA "UHY NOT?"
2030 DATA "ARE YOU SURE?"
2040 DATA "UHY NO?"
2050 DATA "UHY ARE YOU CONCERNED ABOUT MY*"
2060 DATA "UHAT ABOUT YOUR OUN*"
2070 DATA "CAN YOU THINK OF A SPECIFIC EXAHPLE?"
2080 DATA "UHEN?"
2090 DATA "UHAT ARE YOU THINKING OF?"
2100 DATA "REALLY, ALUAYS?"
2110 DATA "00 YOU REALLY THINK SO?"
2120 DATA "DUT YOU ARE NOT SURE YOU*"
2130 DATA "DO YOU DOUBT YOU*"
2140 DATA "IN UHAT UAY?"
2150 DATA "UHAT RESENBLANCE DO YOU SEE?"
2160 DATA "UHAT DOES THE SIMILARITY SUGGEST TO YOU?"
2170 DATA "UHAT OTHER CONNECTIONS DO YOU SEE?"
2180 DATA "COULD THERE REALLY BE SOME CONNECTION?"
2190 DATA "HOU?"
2200 DATA "YOU SEEN QUITE POSITIVE. "
2210 DATA "ARE YOU SURE?"
2220 DATA "I SEE."
2230 DATA "I UNDERSTAND."
2240 DATA "UHY DO YOU BRING UP THE TOPIC OF FRIENDS?"
2250 DATA "DO YOUR FRIENDS UORRY YOU?"
2260 DATA "DO YOUR FRIENDS PICK ON YOU?"
2270 DATA "ARE YOU SURE YOU HAVE ANY FRIENDS?"
2280 DATA "DO YOU IMPOSE ON YOUR FRIENDS?"
2290 DATA "PERHAPS YOUR LOVE FOR FRIENDS UORRIES YOU."
2300 DATA "DO COMPUTERS UORRY YOU?"
2310 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?"
2320 DATA "ARE YOU FRIGHTENED BY NACHINES?"
2330 DATA "UHY DO YOU MENTION COMPUTERS?"
2340 DATA "UHAT DO YOU THINK MACHINES HAVE TO DO UITH YOUR PROBLEH?"
2350 DATA "DON'T YOU THINK CONPUTERS CAN HELP PEOPLE?"
2360 DATA "UHAT IS IT ABOUT MACHINES THAT UORRIES YOU?"
2370 DATA "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?"
2380 DATA "UHAT DOES THAT SU66EST TO YOU?"
2390 DATA "I SEE."
2400 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY."
2410 DATA "CONE COHE ELUCIDATE YOUR TH0U6HTS."
2420 DATA "CAN YOU ELABORATE ON THAT?"
2430 DATA "THAT IS QUITE INTERESTING."
2500 REH
2510 REH DATA FOR FINDING RIGHT REPLIES
2520 REM
2530 DATA 1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3
2540 DATA 28, 4, 28,4, 32, 3, 35, 5, 40, 9, 40, 9,40,9, 40,9,40,9, 40,9
2550 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,74,4
2540 DATA 80,3,83,7,90,3,93,4,99,7,106,6
58
Father
This program loosely simulates a
debate with your father about going
out on Saturday night. After you win or
lose the debate, then Saturday night
approaches and you must decide
whether or not to actually go out. When
all is said and done, the computer will
give you a score on a scale of minus
seven to plus four. (This could have
been a scale of zero to ten, but
computers haye this magic ability to
give us scales of anything we want).
This program originated in the
dungeons of Digital Equipment Cor-
poration and was whipped into its
present form by Victor Nahigian.
RUN
FATHER
CREATIVE COMPUTING
MORRISTOUN, NEU JERSEY
UANT TO HAVE A DEBATE UITH YOUR FATHER, EH??
SO YOU UANT INSTRUCTIONS? YES
YOU ARE 60IN6 TO FLAY IN A 6AHE IN UHICH YOU WILL DISCUSS
A PROBLEM UITH YOUR FATHER AND ATTEMPT TO GET HIM TO
A6REE UITH YOU IN THREE TRIES.
FOR EACH STATEMENT YOU MAKE, I UILL TELL YOU UHAT
YOUR FATHER REPLIED.
YOU MUST SELECT YOUR STATEMENT FROM ONE
OF THE FOLLOWING SIX.
**********
1. O.K. I UILL STAY HOME.
2. BUT I'D REALLY LIKE TO GO. ALL NY FRIENDS ARE GOING.
3. IF ALL MY UORK IS DONE, I SHOULD BE ABLE TO GO.
4. IF YOU LET HE 60 OUT I'LL BABYSIT ALL NEXT WEEK
5. YOU NEVER LET ME DO UHAT I UANT TO DO.
4. I'M GOING ANYUAY!
**********
WHEN A QUESTION MARK APPEARS, TYPE THE NUMBER
OF YOUR RESPONSE F0LL0UED BY A RETURN.
YOU UILL RECEIVE POINTS BASED ON HOU SUCCESSFUL!. YOU
ARE AT CONVINCING YOUR FATHER.
THE ISSUE IS*
YOU UANT TO 60 OUT SATURDAY NIGHT.
YOUR FATHER OPPOSES THE IDEA.
UHEN YOU FIRST BRING UP THE IDEA, YOUR FATHER STATES:
NO, YOU CAN'T GO OUT ON A DATE SAT. NITE AND THAT'S THAT.
HOU UOULD YOU APPROACH YOUR FATHER
UHAT UOULD YOU SAY FIRST? 2
YOUR FATHER SAID:
I DON'T THINK YOU DESERVE TO GO OUT SAT. NITE.
UHAT IS YOUR REPLY? 3
YOUR FATHER SAID:
O.K. IF YOU DO THAT YOU CAN GO OUT SAT. NIGHT.
ON A SCALE OF -7 TO 4, YOUR SCORE UAS 2 POINTS.
IT IS NOU SAT. NI6HT, UHICH DO YOU DO?
1. 60 OUT.
2. STAY HONE.
? 1
YOU FATHER DIDN'T CHECK UP ON YOU.
YOUR SCORE IS NOU 2 POINTS.
UELL DONE!
UOULD YOU LIKE TO TRY AGAIN? YES
UHEN YOU FIRST BRING UP THE IDEA, YOUR FATHER STATES:
NITE AND THAT'S THAT.
NO, YOU CAN'T GO OUT ON A DATE SAT.
HOU UOULD YOU APPROACH YOUR FATHER
UHAT UOULD YOU SAY FIRST? 1
A6REEMENT REACHED
ON A SCALE OF -7 TO 4, YOUR SCORE UAS -1 POINTS.
IT IS NOU SAT. NIGHT, UHICH DO YOU DO?
1. GO OUT.
2. STAY HOME.
? 2
YOUR FATHER CHECKED UP ON YOU.
YOUR SCORE IS NOU -t POINTS.
YOU DIDN'T SUCCEED IN CONVINCING YOUR FATHER.
UOULD YOU LIKE TO TRY AGAIN? NO
01
59
LIST
100 PRINT TABI26) ; "FATHER" :PRINT
110 PRINT TAB(20);"CREATIVE COMPUTING"
120 PRINT TABU8);"M0RRIST0UN, NEU JERSEY "
130 PRINT:PRINT:PRINT
140 PRiNT "UANT TO HAVE A DEBATE UITH YOUR FATHER, EH??":PRINT
150 DIM H»(2)
140 A=2
170 M»(2)="FATHER"
180 PRINT "DO YOU UANT INSTRUCTIONS";
190 INPUT Q1$
200 IF Q1*="YES" THEN 220
210 60T0 310
220 PRINT "YOU ARE 60IN6 TO PLAY IN A GAME IN WHICH YOU MIL DISCUSS"
230 PRINT "A PROBLEM UITH YOUR ";H$(A);" AND ATTEMPT TO OET HIM TO"
240 PRINT "AGREE UITH YOU IN THREE TRIES."
250 PRINT
240 PRINT "FOR EACH STATEMENT YOU MAKE, I UILL TELL YOU IIHAT "
270 PRINT "YOUR ";M$(A>;" REPLIED."
280 PRINT
2?0 PRINT "YOU MUST SELECT YOUR STATEMENT FROM ONE"
300 PRINT "OF THE FOLLOUING SIX."
310 PRINT "»******»**»
320 PRINT "1. O.K. I UILL STAY HOME."
330 PRINT "2. BUT I'D REALLY LIKE TO 60. ALL MY FRIENDS ARE GOING.
340 PRINT "3. IF ALL MY UORK IS DONE, I SHOULD BE ABLE TO GO."
350 PRINT "4. IF YOU LET ME GO OUT I'LL BABYSIT ALL NEXT UEEK"
340 PRINT "5. YOU NEVER LET ME DO UHAT I UANT TO DO."
370 PRINT "6. I'M GOING ANYUAY! "
380 PRINT "***»**»***"
390 PRINT
400 PRINT "UHEN A QUESTION MARK APPEARS, TYPE THE NUMBER"
410 PRINT "OF YOUR RESPONSE FOLLOUED BY A RETURN."
420 PRINT
430 PRINT "YOU WILL RECEIVE POINTS BASED ON HOU SUCCESSFULL YOU"
440 PRINT "ARE AT CONVINCING YOUR FATHER."
450 PRINT
460 PRINT "THE ISSUE IS:"
470 PRINT " YOU UANT TO GO OUT SATURDAY NIGHT. "
480 PRINT " YOUR ";M$<A>;" OPPOSES THE IDEA. "
490 PRINT
500 PRINT "UHEN YOU FIRST BRING UP THE IDEA, YOUR ";M»(A>;" STATES:"
510 P1=-1
520 P3=2
530 P5=-1
540 C=1
550 P6=-2
560 X=0
570 16=0
580 PRINT
590 PRINT "NO, YOU CAN'T GO OUT ON A DATE SAT. NITE AND THAT'S THAT."
<S00 PRINT "HOU UOULD YOU APPROACH YOUR ";H*(A>
410 PRINT "UHAT UOULD YOU SAY FIRST";:INPUT 11
620 ON 11 GOTO 720,760,1070,1070,750,700
630 PRINT "NO, YOU CAN NOT GO OUT ON A SAT. NIGHT. "
640 X=X-2:I6=I6+I1
650 IF 16=12 THEN 830
660 C=C+1
670 IF C=3 THEN 1040
680 IF 12=6 THEN 840
690 GOTO 780
700 PRINT "YOUR ";M»(A>;" SAID:"
710 GOTO 630
720 PRINT "AGREEMENT REACHED"
730 X=X+P1
740 GOTO 1040
750 X=X+P5
760 PRINT "YOUR ";H$(A>;" SAID:"
770 PRINT "I DON'T THINK YOU DESERVE TO GO OUT SAT. NITE."
780 PRINT "UHAT IS YOUR REPLY";
790 INPUT 12
800 ON 12 GOTO 720,960,1010,1010,950,700
810 PRINT "YOUR ";M*(A);" SAID:"
820 X=X+P3
830 PRINT "UHAT IS YOUR REPLY" ;
840 INPUT 13
850 ON 13 GOTO 910,1050,890,890,910,920
860 X=X+P1
870 X=X+P1
880 GOTO 1050
890 X=X+2
900 GOTO 1050
910 X=X-1:GOT0 1050
920 X=X-2
930 PRINT "DISCUSSION ENDED. NO AGREEMENT REACHED."
940 GOTO 1040
950 X=X+P5
960 PRINT "YOUR ";M*(A>;" SAID:"
970 PRINT "NO, I'M SORRY, BUT YOU REALLY DON'T DESERVE TO GO ":
980 PRINT "SAT. NIGHT. "
990 PRINT "UHAT IS YOUR REPLY";: INPUT 13
1000 ON 13 GOTO 720,890,1010,1010,870,860
1010 PRINT "YOUR FATHER SAID:"
1020 X=X+P3
1030 PRINT "O.K. IF YOU DO THAT YOU CAN GO OUT SAT. NIGHT. "
1040 PRINT
1050 PRINT "ON A SCALE OF -7 TO 4, YOUR SCORE UAS ";X:" POINTS. "
1060 GOTO 1120
1070 PRINT "YOUR ";M*(A>;" SAID:"
1080 X=X+P3
10fO PRINT "UELL, MAYBE, BUT I DON'T THINK YOU SHOULD GO."
1100 PRINT "UHAT IS YOUR REPLY"; :GOTO 79Q
1110 PRINT
1120 PRINT "IT IS NOU SAT. NIGHT, UHICH DO YOU DO'"
1130 PRINT " 1. GO OUT."
1140 PRINT " 2. STAY HOME."
1150 INPUT 03
1160 IF Q3 > 1 THEN 1180
1170 GOTO 1220
1180 IF 12 > 1 THEN 1200
1190 GOTO 1220
1200 IF 13 < 5 THEN 1220
1210 GOTO 1230
1220 IF RND(I) > .5 THEN 1250
1230 PRINT "YOUR FATHER CHECKED UP ON YOU."
1240 GOTO 1270
1250 PRINT "YOU FATHER DIDN'T CHECK UP ON YOU."
1260 GOTO 1270
1270 ON 03 GOTO 1360,1280
1280 PRINT "YOUR SCORE IS NOU ";X;" POINTS."
1290 GOTO 1410
1300 IF I2=3THEN 1330
1310 IF 12=4 THEN 1330
1320 GOTO 1350
1330 X=Xt1
1340 GOTO 1280
1350 ON 13 GOTO 1280,1280,1330,1330,1280,1280
1360 IF 11=1 THEN 1390
1370 ON 12 GOTO 1390,1380,1280,1280,1380,1380
1380 ON 13 GOTO 1390,1390,1280,1280,1390,1390
1390 X=X-1
1400 GOTO 1280
1410 ON X+8 GOTO 1420,1420,1420,1420,1450,1450,1450,1450,1470,1500,1500,
1500
1420 PRINT "YOU DIDN'T REALLY SUCCEED IN CHANGING YOUR"
1430 PRINT M*(A);"'S IDEAS AT ALL."
1440 SOTO 1510
1450 PRINT "YOU DIDN'T SUCCEED IN CONVINCING YOUR ";N*(A>;"."
1460 GOTO 1510
1470 PRINT "YOU CONVINCED YOU ";M»<A>;" BUT IT TOOK YOU TOO"
1480 PRINT "HANY TRIES."
1490 GOTO 1510
1500 PRINT "UELL DONE!"
1510 PRINT
1520 T1=T1+1
1530 PRINT "UOULD YOU LIKE TO TRY AGAIN";:INPUT Q5*
1540 IF Q5*="YES" THEN 500
1550 END
OK
60
Flip
RUN
FLIP
CREATIVE COKPUTINB
HORRISTOUN NED JERSEY
This game may be the only one so easy that even
an animal could play it, yet hard for people to play
even as well as random chance. It may be useful in
training the intuition, and improving gamesmanship
in speculation-type activities, where each player is
trying to outguess the other's behavior and stay one
step ahead.
On each turn, the program first selects 'yes' or
'no', but gives you no information about its decision.
Therefore your guess on the first turn is pure chance,
there is no skill involved. But soon the program
starts using patterns in your behavior, making its
decisions to increase the chance of your next guess
being wrong. And to make it harder for you, the pro-
gram doesn't strictly maximize its chances, but
throws a little randomness into its decisions.
Variations
There are endless strategies for programming this
game, for there could be almost infinitely many defi-
nitions of what a "pattern" is. No single algorithm
could be "best", because it must assume a model
of the human player, and people are different, even
the same person from moment to moment. Any good
algorithm must build or refine its model of the
player, during the course of the game.
This particular program keeps an array of 16 prob-
ability estimates; the person's last two guesses, and
whether they were right or wrong (16 situations alto-
gether) determine which estimate is selected. The
array (which depends on all previous play within
the game) becomes a model or profile of the player,
and it can be printed at end of game. Any prob-
abilities far from .5 indicate predictable behavior in
the corresponding situations. The profiles can be
compared over time, or used to study strategy dif-
ferences between people. They can also be compared
with random profiles developed by playing games
with random input such as coin flips, or (more easily)
by modifying the program so that BASIC statements
replace the human player and make guesses ran-
domly (or by some other rule). In fact, different algo-
rithms could play each other.
This particular implementation has two para-
meters^ memory factor(F1) which controls the decay
rate of old learning when it is overridden by recent
experience, and a randomness factor (F2) influencing
the program's likelihood of making the decision sug-
gested by the probability estimate. These are just
two of innumerable optional parameters which could
be used in programming FLIP.
The program and description were written by John S.
James. They originally appeared in Creative Computing,
Mar/Apr 1977.
EXPLANATION (Y OR NIT Y
ON EACH TURN, YOU GUESS YES CYM OR NO CN').
ONLY ONE IS CORRECT, AND THE PR06RAN HAS DECIDED
UHICH ONE, DEFORE YOU HAKE YOUR SUESS. AT FIRST
YOUR ODDS ARE SOX, PURE CHANCE. BUT LATER THE
PtOSRAH MILL TRY TO TAKE ADVANTA6E OF PATTERNS
IN YOUR 6UESSIN8.
OANE ENDS AFTER SO TURNS; A SCORE OF 24 OR NORE
IS 000D. PR06RAH TELLS UHEN YOU U IN A TURN,
BY TYPIN6 AN ASTERISK ('»') AS THE FIRST
CHARACTER OF THE FOLLOUING LINE.
BEGIN.
T N
?
«T
T
?
7
7
• ?
T
T
7
7
«?
•7
*1
*?
?
T
T
T
*T
t
*?
♦ 7
»?
*T
*T
1
?
?
*»
*?
T
?
*7
T
*T
7
T
*?
7
7
END OF GAME.
YOU GOT 17 OUT OF
SO CORRECT.
PLAY AGAIN (Y OR N)T N
OK
61
LIST
10 PRINT TAB(25);"FLIP"
3D PRINT TAB( 18) {"CREATIVE COMPUTING"
30 PRINT TAB(14);"H0RRIST0NN NEU JERSEY":PRINT:PRINT:PRINT
31 B1=50
32 PRINT "EXPLANATION (Y OR N)"J
34 INPUT T»
34 IF LEFT»(T»,1) <> "Y" THEN 180
30 PRINT "ON EACH TURN, YOU GUESS YES CY') OR NO CN'>."
40 PRINT "ONLY ONE IS CORRECT, AND THE PROGRAH HAS DECIDED"
70 PRINT "WHICH ONE, BEFORE YOU HAKE YOUR GUESS. AT FIRST"
80 PRINT "YOUR ODDS ARE 50Z, PURE CHANCE. BUT LATER THE"
90 PRINT "PROBRAH WILL TRY TO TAKE ADVANTAGE OF PATTERNS"
100 PRINT "IN YOUR GUESSING."
110 PRINT
120 PRINT "6AHE ENDS AFTER ";B1;" TURNS; A SCORE OF "J
125 PRINT INK81/2-1);" OR HORE"
130 PRINT "IS GOOD. PROGRAH TELLS UHEN YOU UIN A TURN,"
140 PRINT "BY TYPING AN ASTERISK ('»') AS THE FIRST"
ISO PRINT "CHARACTER OF THE FOLLOWING LINE."
140 PRINT
170 REN
180 REN DUALIZE: 14 PROBABILITIES, 4 RESPONSES (X),
190 REM OLD-HEHORY FACTOR (F1), RANDONNESS FACTOR (F2),
200 REN SCORES (S1,S2) AND RIGHT-ANSWER FLAG.
210 PRINT
220 PRINT
230 DIN P(14),X(4)
240 PRINT "BEGIN."
2S0 FOR 1=1 TO 14
240 P(I)=.5
270 NEXT I
280 FOR 1=1 TO 4
290 X(I)=0
300 IF RND(I) < .5 THEN 320
310 X(I)=1
320 NEXT I
330 F1=.B
340 F2=.3
350 S1=0
340 S2=0
370 A«»" "
380 REH
3?0 REH TAKE THE ESTIMATED PROBABILITY (ZD
400 REH OF THE PERSON GUESSING YES.
410 REH USE AN ADJUSTED PROBABILITY (22).
420 I9=8*X(4H4»X(3)+2*X(2)+X<1 )+1
430 Z1«P(I9)
440 Z2=Z1
450 IF Z2 <> .5 THEN 480
440 Z2=RND(1)
470 60T0 520
480 IF Z2 > .5 THEN 510
490 Z2=Z2*F2+0»(1-F2>
500 GOTO 520
510 Z2=Z2*F2+1*(1-F2>
520 Z5=0
530 IF RND(I) < Z2 THEN 540
540 Z5«1
550 REH
540 REN INTERACT UITH PERSON. GET HIS RESPONSE (Z3>.
570 REH UPDATE RESPONSE HISTORY (X), APPROPRIATE PROB. (P<19>).
580 PRINT At;
590 Z3=0
400 INPUT HI
410 IF LEFTI(H«,1) = "Y" THEN 450
420 IF LEFT»(H»,1) ="N" THEN 440
430 PRINT "ERROR, HUST BE Y OR N ."
440 GOTO 400
450 Z3»1
440 A$=" "
470 S2=S2+1
480 IF Z3 <> Z5 THEN 710
490 A$="«"
700 S1=S1+1
710 REH UPDATE X - THE LAST 4 CHOISES.
720 X(1)=X(3)
730 X(2)=X(4)
740 X(3)=Z3
750 X(4)=Z5
740 REN UPDATE THE PROBABILITY USING OLD 19.
770 P(I9)=F1*P(I9)+(1-F1)*X(3)
780 IF S2 < B1 THEN 380
790 PRINT A*;
800 PRINT
810 PRINT "END OF GANE."
820 PRINT "YOU 60T ";S1;" OUT OF ";S2;" CORRECT . "
830 PRINTsPRINT
840 PRINT "PLAY A6AIN (Y OR N>";
850 INPUT T»
840 IF LEFT»(TI,1)="Y" THEN 240
870 END
OK
62
Four In A Row
RUN
In this game, eight pegs are put in a
row, each one of which can hold eight
rings. Each ring is marked with either
an X or an O. You and an opponent
alternate turns; in this case the oppo-
nent is the computer. On each turn you
place a ring over one of the pegs, one
through eight. The object is to get four
X's or O's in a row, vertically, horizon-
tally or diagonally. A glance at the
sample run will show you how this
process works.
While the computer already plays
rather well, you may wish to experi-
ment with improving the computer's
play by changing the values in the data
statements in lines 120 and 130. The
first four values are awarded if a
position yields one, two, three, or four
in a row respectively, for the computer.
The next four values are bonus points
for making one, two, three, or four in a
row in more than one direction with the
same move. The next eight values (line
10 PRINT TAB (22); "FOUR IN A ROU"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18);"M0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
100 BIN B»<8,8),l(8>,S<4),F<4>
110 BIN V(16),N<4>
130 DATA 1,100, 500, 1E20, 1,800, 4000, 1E20
140 DATA 1, 75, 900,1E18,1, 450,3000, 1E18
150 FOR Z1=1 TO 1 6 : READ V(Z1):NEXT Z1
140 PRINT-THE GAHE OF FOUR IN A ROM"
170 INPUT"D0 YOU WANT INSTRUCTIONS* ;AI
180 IF A$="N0" THEN 270
190 IF A*="YES" THEN 210
200 PRINT'YES OR NO"s6OT0 170
210 PRINT-THE 8AHE CONSISTS OF STACKING X'S"
220 PRINT"AND O'S (THE C0HPUTER HAS 0) UNTIL"
230 PRINT'ONE OF THE PLAYERS BETS FOUR III A"
240 PRIHT"R0U VERTICALLY, HORIZONTALLY, OR "
250 PRINT"DIAG0NALLY."
260 PRINTtPRINT
270 X*="X":0»="0"
280 FOR 1*1 TO 8:F0R J=1 TO 8:B$(I,J>="-"iNEXT J:NEXT I
290 FOR Z1=1 TO 8:L(Z1)=0iNEXT Z1
300 INPUT'DO YOU WANT TO SO FIRST" {At
310 IF A»="N0" THEN 410
320 G0SUB 340
330 GOTO 450
340 FOR 1=8 TO 1 STEP -1
350 FOR J=1 TO 8
360 PRINT" ";b*U,j>;
370 NEXT J
380 PRINT
390 NEXT I
400 PRINT" »;
410 FOR 1=1 TO 8:PRINT I ; :NEXT I
420 PRINT:PRINT
430 RETURN
440 PRINT"ILLE6AL HOME, TRY AGAIN."
450 INPUT"A NUHBER BETWEEN 1 AND 8";M
460 H=INT(H>
470 IF H<1 OR M>8 THEN 440
480 L=L(H)
490 IF L>7 THEN 440
500 L(M)*L+1:L=L+1
510 B»(L,lt)=X»
520 PRINT
530 60SUB 340
540 P»«X»
130) are dealt with in the same way for
the human player; thus, these values
are for defense.
The computer version of the game
was written by James L. Murphy.
A NUMBER BETUEEN 1 AND 8? 5
FOUR IN A ROU
CREATIVE C0MPUTIN6
H0RRIST0UN, NEU JERSEY
A NUHBER BETUEEN 1 AND 8? 4
THE 6AHE OF FOUR IN A ROU - -
DO YOU MANT INSTRUCTIONS? YES
THE SANE CONSISTS OF STACKING X'S
AND O'S (THE C0HPUTER HAS 0) UNTIL - -
ONE OF THE PLAYERS GETS FOUR IN A
ROU VERTICALLY, HORIZONTALLY, OR ---X----
DIAGONALLT. 12 3 4 5 6 7 8
6 7
COMPUTER PICKS C0LUNN 5
DO TOU WANT TO 60 FIRST? YES
COMPUTER PICKS COLUHN 4
6 7
4 S A 7 B \ 7 1
4 S A
550 GOSUB 1240
1110
560 FOR Z*1 TO 4
1120
S70 IF S(Z)<4 THEN 600
1130
580 PRINT'Y U U I N !!!"
1140
590 SOTO 1580
1150
600 NEXT Z
1160
610 N9»0:V1«O
1170
620 N1"1
1180
630 FOR H4»1 TO 8
1190
640 L"L(H4>+1
1200
650 IF L>8 THEN 1080
1210
660 V=1
1220
670 P»=0»:U=0
1230
680 H=M4
1240
690 60SUB 1240
1250
700 FOR 21=1 TO 4:N(Z1 )=0:NEXT Z1
1260
710 FOR Z=1 TO 4
1270
720 S*S(Z>
1280
730 IF S-U>3 THEN 1130
1290
740 T*S*F(Z)
1300
750 IF T<4 THEN 780
1310
760 V»V+4
1320
770 N(S)=N(S)+1
1330
780 NEXT Z
1340
790 FOR I « 1 TO 4
1350
800 N«N(I)-1
1360
810 IF N»-1 THEN 840
1370
820 I1«8*U*4*S0N(N)+I
1380
830 V»V t V(I1> ♦ N*V(8*U+I>
1390
840 NEXT I
1400
850 IF U=1 THEN 880
1410
860 U=18P**X*
1420
870 GOTO 690
1430
880 L=L+1
1440
920 IF L>8 THEN 1020
1450
930 GOSUB 1240
1460
940 FOR Z=1 TO 4
1470
950 IF S(Z»3 THEN V=2
1480
960 NEXT Z
1490
1020 IF V<V1 THEN 1080
1500
1030 IF VMM THEN N1=1: GOTO 1060
1510
1040 N1=N1 ♦ 1
1520
1050 IF RND(1)>1/N1 THEN 1080
1530
1060 VI = V
1540
1070 H9=H4
1550
1080 NEXT H4
1560
1090 IF H9O0 THEN 11?«
1570
1100 PRINT "TIE GAME ..."
1580
7 8
COMPUTER UINSM!
GOTO 1580
H=N9
PRINT "CONPUTER PICKS COLUMN ";N:PRINT
L=L(M)t1:L(M)*L(M)+1
B»(L,H)=0»
P*=0»:60SUB 340
60SUB 1240
FOR Z = 1 TO 4
IF S(Z)<4 THEN 1220
PRINT"C 0HPUTER UINSM!"
60T0 1580
NEXT Z
GOTO 450
0$=X»
IF P»=X* THEN 0*=OJ
B2=1:B1=0
Z=0
60SUB 1360
B1=1:D2=1
60SUB 1360
D2=0:D1=1
GOSUB 1360
B2=-1:D1=1
GOSUB 1360
RETURN
B=1:S=1
T=0
Z=Z+1
C=0
FOR K=1 TO 3
M5=M+K*D1:L1=L+K*D2
IF M5<1 OR LK1 OR M5>8 OR L1>8 THEN 1510
B»=B*(L1,H5)
IF C=0 THEN 1480
IF B>=0» THEN K=3: GOTO 1510
T = T*1
GOTO 1510
IF Bt=P» THEN S=S+1:G0TO 1510
C=1
GOTO 1450
NEXT K
IF B=0 THEN 1550
D=0:B1=-B1 :D2=-D2
GOTO 1390
S(Z)»S
F(Z)=T
RETURN
END
63
Geowar
This program very loosely
represents a battlefield in which you,
the player, are located at point 0,0.
There are five enemy installations that
may be located anywhere from 0,0 to
30,30 except for a clear zone from 0,0 to
10,10. The accompanying diagram
should make this clear. Instead of the
normal artillery type of game where
you are lobbing projectiles onto your
enemy installations, in this game you
are firing some sort of laser missile in a
very straight path which destroys
everything in its path. If the missile flies
within one unit either northwest or
southeast of the target, or, of course,
over the target directly, that target is
destroyed. If it is within two units of the
target, the missile will be shot down
and that target will relocate to a new
position one unit away from its
previous position in some random
direction.
Geowar is largely a guessing game
with incomplete information given in
its clues. Nevertheless it's fun to play
and is a nice switch from just a plain
"guess the mystery number game." It
was written by Gary Lorenc and origi-
nally appeared in Creative Computing,
May/June 1975.
90*
3o T
RUN
Enemvf
zo
3o
SE0UAR
CREATIVE COMPUTUS
HORRISTOUN, NEU JERSEY
DO YOU UANT A DESCRIPTION OF THE 6ANE? YES
THE FIRST QUADRANT OF A REGULAR COORDINATE 8RAPH UILL SERVE AS
THE BATTLEFIELD. FIVE ENEHY INSTALLATIONS ARE LOCATED UITHIN A
30 DY 30 UNIT AREA. NO TARGET IS INSIDE THE 10 SY 10 UNIT AREA
ADJACENT TO THE ORIGIN, AS THIS IS THE LOCATION OF OUR BASE. MHEN
THE MACHINE ASKS FOR THE DEGREE OF THE SHOT, RESPOND UITH A NUMBER
BETWEEN 1 AND ?0.
SCARE»*»*****»*
1. A DIRECT HIT IS A HIT UITHIN 1 DE6REE OF * . *
THE TARGET. * HIT*»«*»* »
2. A HIT MUST PASS BETUEEN THE FIRST SET OF • * • *
INTEGRAL POINTS NU AND SE OF THE TAR6ET. * * D ♦ *
3. A SCARE MUST PASS BETUEEN THE NEXT SET OF * • » *
INTEGRAL POINTS NU AND SE OF THE TARGET, * *****»HIT *
AHD CAUSES THE ENEMY TO RELOCATE A * *
MAXIMUM OF 1 UNIT IN ANY DIRECTION. ♦♦♦♦♦♦♦•♦•SCARE
NISSLES HAVE INFINITE RANGE AND MAY HIT MORE THAN ONE TARGET .
A MISSILE THAT NEARLY HISSES AN INSTALLATION (A SCARE) UILL BE
IMMEDIATELY SHOT BOUN. ANY HITS BEFORE THIS TIME UILL NOT BE COUNTED
UNLESS A DIRECT HIT UAS MADE.
READY TO GOT YES
GOOD LUCK!
ENTER DEGREE OF SHOT? 25
NO LUCK — TRT A6AIN.
ENTER DEGREE OF SHOT? 35
A NEAR HIT. ENEHY HAS RELOCATED.
ENTER DE8REE OF SHOTT 47
NO LUCK — TRY AGAIN.
ENTER DEGREE OF SHOT? 37
*«**BULLS EYE»»*» 2 HITS — A DIRECT HIT ON 1 OF THEM!
2 DOUN — 3 TO 60.
ENTER DEGREE OF SHOT* 38
NO LUCK - TRY AGAIN.
ENTER DEGREE OF SHOT? 75
A NEAR HIT. ENEHY HAS RELOCATED.
ENTER DEGREE OF 8H0T? 77
A NEAR HIT. ENEHY HAS RELOCATED.
ENTER DEGREE OF SHOT? 76
NO LUCK — TRY AGAIH.
ENTER DE6REE OF SHOT? 74
A NEAR HIT. ENEHY HAS RELOCATED.
ENTER DEGREE OF SHOT? 74
A NEAR HIT. ENEMY HAS RELOCATED.
ENTER DEGREE OF SHOT? 73
NO LUCK — TRY AGAIN.
ENTER DEGREE OF SHOT? 75
NO LUCK — TRY A6AIN.
ENTER DEGREE OF SHOT? 74
♦♦CONGRATULATIONS** A HIT.
3 DOUN — 2 TO GO.
ENTER DEGREE OF SHOT? 80
NO LUCK — TRY AGAIN.
ENTE* DE6REE OF SHOT? 85
NO LUCK — TRY AGAIN.
ENTER DE6REE OF SHOT? 40
NO LUCK — TRY A6AIN.
ENTER DEGREE OF SHOT? 40
NO LUCK — TRY A6AIN.
ENTER DEGREE OF SHOT? 35
NO LUCK — TRY A6AIN.
ENTER DEGREE OF SHOT? 20
NO LUCK — TRY A6AIN.
ENTER DE6REE OF SHOT? 10
♦•♦♦BULLS £YE«*» A DIRECT HIT!
4 DOUN — 1 TO 60.
ENTER DE6REE OF SHOT? 50
TOO LOU ~ TRY A6AIN.
ENTER DEGREE OF SHOT? 42
A NEAR HIT. ENEMY HAS RELOCATED.
ENTER DEGREE OF SHOT? 43
A NEAR HIT. ENEHY HAS RELOCATED.
ENTER DE6REE OF SHOT? 47
A NEAR HIT. ENEMY HAS RELOCATED.
ENTER DEGREE OF SHOT? 61
♦••♦BULLS EYE«**« A DIRECT HIT!
GAME TOTALS: 2 HITS AND 3 DIRECT HITS ON 27 SHOTS.
64
LIST
1 PRINT TAB(26);"GE0UAR"
2 PRINT TAB(20);"CREATIVE COHPUTING"
3 PRINT TABU8>;"M0RRIST0IIN, NEU JERSEY"
4 PRINT:PRINT:PRINT
5 PRINT "00 YOU WANT A DESCRIPTION OF THE BANE";
6 INPUT 1$
7 IF I»="NO" THEN 44
8 PRINT
9 PRINT " THE FIRST QUADRANT OF A REGULAR COORDINATE GRAPH UILL";
10 PRINT " SERVE AS"
11 PRINT "THE BATTLEFIELD. FIVE ENEHY INSTALLATIONS ARE LOCATED";
12 PRINT " UITHIN A"
13 PRINT "30 BY 30 UNIT AREA. NO TARGET IS INSIDE THE 10 BY 10 "J
14 PRINT "UNIT AREA"
15 PRINT "ADJACENT TO THE ORIGIN, AS THIS IS THE LOCATION OF OUR ";
16 PRINT "BASE. UHEN"
17 PRINT "THE MACHINE ASKS FOR THE DE6REE OF THE SHOT, RESPOND
18 PRINT "KITH A NUMBER "
1? PRINT "BETUEEN 1 AND 90."
20 PRINT
21 PRINT TAB(S1 ), "SCARE**********"
22 PRINT " 1. A DIRECT HIT IS A HIT UITHIN 1 DEGREE OF";
23 PRINT TA8(51),"* *"
24 PRINT " THE TARGET. ", TAB(51 ),"* HIT****** *"
25 PRINT " 2. A HIT NUST PASS BETUEEN THE FIRST SET OF";
26 PRINT TAB (51 ) "* * * *"
27 PRINT " ' INTEGRAL POINTS NU ANB SE OF THE TARGET.";
28 PRINT TAB<51),"» * D * *"
2? PRINT " 3. A SCARE NUST PASS BETUEEN THE NEXT SET OF";
30 PRINT TAB(31>, "* * D « •"
31 PRINT " INTEGRAL POINTS NU AND SE OF THE TARGET,";
32 PRINT TAB(51),"» ******HIT *"
33 PRINT " AND CAUSES THE ENEHY TO RELOCATE A ";
34 PRINT TAB(51),"» *"
35 PRINT " MAXIMUM OF 1 UNIT IN ANY DIRECTION.";
36 PRINT TAB(51),"**********SCARE"
37 PRINT
38 PRINT
3? PRINT " NISSLES HAVE INFINITE RANGE AND NAY HIT MORE THAN ";
40 PRINT "ONE TAR6ET."
41 PRINT "A MISSILE THAT NEARLY HISSES AN INSTALLATION (A SCARE) ";
42 PRINT "MILL BE"
43 PRINT "IMMEDIATELY SHOT DOUN. ANY HITS BEFORE THIS TINE MILL ";
44 PRINT "NOT BE COUNTED"
45 PRINT "UNLESS A DIRECT HIT UAS MADE."
46 PRINT
47 PRINT
48 PRINT "READY TO 60";
4? INPUT R$
50 IF R$="NO" THEN 192
51 PRINT "GOOD LUCK!"
52 PRINT
53 DIN C(10),H(20),D(10),S(20),F(5)
54 DEF FNV(V1)=INT<<180/3.14159)*ATN<V1>+.5)
55 X=250
56 X1=RN0<1) 92 FOR A=2 TO 10 STEP 2
57 62=0 93 IF D>S(A) THEN 103
58 S2=0 94 IF D<S(A-1) THEN 103
59 D2=0 95 IF D>H(A) THEN 105
40 H2=0 96 IF D<H(A-1) THEN 105
41 FOR K=1 TO 10 97 IF D>D(A/2)+1 THEN 101
42 60SUB 154 98 IF D<D(A/2)-1 THEN 101
43 IF INT(K/2)OK/2 THEN 70 9? D1=D1+1
64 IF C(K-1)>10 THEN 70 100 60T0 102
45 IF CUOMO THEN 70 101 H1=H1 + 1
44 FOR L=K-1 TO K 102 F(D1+H1)=A
47 GOSUB 154 103 NEXT A
48 NEXT L 104 60T0 108
49 60TO 43 105 IF D1>0 THEN 110
70 NEXT K 104 GOSUB 138
71 S=0 107 60T0 81
72 FOR L=1 TO 5 108 IF D1+H1O0 THEN 112
73 D(L)=FNV(C(2*L)/C(2*L-1)) 109 IF T5=1 THEN 159
74 NEXT L 110 PRINT "NO LUCK -- TRY AGAIN."
75 A=2 111 GOTO 81
76 L1=10 112 IF D1>0 THEN 118
77 T5=5 113 IF H1>1 THEN 114
78 B5=0 114 PRINT "**CON6RATULATI0NS** A
79 H5=0 115 GOTO 124
80 GOSUB 147 114 PRINT "**C0N6RATULATI0NS**";H1
81 PRINT 117 80TO 124
82 PRINT "ENTER DEGREE OF SHOT"; 118 PRINT "****BULLS EYE**** ";
83 D1=0 119 IF D1>1 THEN 123
84 H1=0 120 IF H1>0 THEN 123
85 FOR 0=1 TO 5 121 PRINT " A DIRECT HIT!"
86 F(0)=20 122 GOTO 124
87 NEXT Q 123 PRINT B1+H1;" HITS — A BIRECT
88 INPUT D 124 T5=T5-(D1+H1 )
8? IF D>=90 THEN 81 125 D5=D5+D1
90 ON SGN<D)+2 GOTO 177,192 126 H5=H5+H1
91 S=S+1 127 IF T5=0 THEN '147
128 FOR J=1 TO H1+D1
129 Z=F(J)
130 D(Z/2)=0
131 H<Z)=0
132 H(Z-1)=0
133 S(Z)=0
134 S(Z-1)=0
135 NEXT J
136 PRINT 5-T5;" DOUN — ";T5;" TO GO."
137 GOTO 81
138 PRINT "A NEAR HIT. ENEHY HAS RELOCATED."
139 FOR R=1 TO 2
140 X2=INT(RND(1)*100)
141 IF ABS(C(A-(R-1))-X2)>1 THEN 140
142 IF C(A-(R-1))<=2 THEN 140
143 C(A-(R-1))=X2
144 NEXT R
145 B(A/2)=FNV(C(A)/C(A-1))
146 L1=A
147 FOR I=A TO LI STEP 2
148 H(I-1)=FNV((C(I)-1)/(C(I-1)tD)
149 H(I)=FNV((C(I) + 1)/(C(I-1)-D)
150 S(I-1)=FNV((C(I)-2)/(C(I-1)+2)>
151 S(I)=FNVt(C(I)t2)/(C(I-1)-2))
152 NEXT I
153 RETURN
154 R=INT(RND(1)*100)
155 IF R>30 THEN 154
154 IF R<3 THEN 154
157 C(K)=R
158 RETURN
159 FOR Z1=1 TO 5
140 IF D(Z1)>1 THEN 162
161 NEXT Z1
162 IF D<D(Z1> THEN 165
163 PRINT "TOO HIGH — TRY AGAIN."
164 GOTO 81
165 PRINT "TOO LOU — TRY AGAIN."
166 GOTO 81
147 PRINT
148 PRINT "GAME T0TALS:";H5;" HITS AND";D5;" DIRECT HITS ON";S;» SHOTS.
169 PRINT
170 PRINT "READY FOR A NEU GAME" ;
171 62=62+1
172 S2=S2+S
173 D2=B2+D5
174 H2=H2+H5
175 INPUT 6$
176 IF B»="NO" THEN 184
177 PRINT
178 PRINT
179 PRINT
180 PRINT "FIVE NEU INSTALLATIONS HAVE BEEN BUILT AT DIFFERENT "!
181 PRINT "LOCATIONS."
182 PRINT "6000 LUCK!"
183 60T0 61
184 PRINT
185 PRINT
186 PRINT "TOTALS F0R";62;" 6AMES:";H2;" HITS AND";D2
187 PRINT " DIRECT HITS 0N";S2J" SHOTS."
188 PRINT "AN AVERAGE 0F";S2/(D2+H2) ;" SHOTS PER TARGET. "
192 END
Ok
HIT."
;"HITS.
hit on";di;" of then!"
65
Grand Prix
In this program, you are attempting
to complete one lap around a grand
prix circuit against one of six op-
ponents, everything from a US Postal
delivery truck to a 1974 Ferrari. The
track consists of four straightaways
and four curves with different max-
imum speeds possible for each one.
Depending on which car you select for
your own, you can take these curves
and straights at different speeds. Also,
the car you select will have different
braking characteristics which may
allow you to head into a curve at a
higher speed and then apply the brakes
at the last minute.
It may sound like it's easy to win by
simply selecting a Porsche or Ferrari
for your car and racing against a US
Mail truck or a well-used Ford
Mustang, but beware, it isn't really that
easy.
The origin of this game is a bit hazy.
The only thing that identifies it is PUC.
Could this be Pacific Union College?
Perhaps, but we're not really sure.
RUN
ORHPRX
CREATIVE COMPUTING
MORRISTOUN, NEK JERSEY
UELCONE TO THE PUC GRAN PRIX
DO YOU UAHT A COURSE DESCRIPTION? YES
2 1
ccoxpxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxocc
85-100 CC (800) C
C
c
3 PUC 6RAN PRIX RACE
X SS
CC
(2800) C 50-
X SSSSSSS SSS SSS0XXXXXXXXXXXXXXXXXPXXOC 70
X S5 SSSSSSS 7 8
X (1900)0 6 90-110
X X
X DISTANCES IN YARDS , E6. (800) = 800 YDS.
X SPEEDS IN NPH, EG. 85 TO 100 NPH.
DURIN6 THE STRAIGHTAWAYS YOU UILL 8E ABLE TO CONTROL THE
ACCELERATION AND BRAKING OF THE CAR. THE CURVES UILL BE TAKEN
AT UHATEVER SPEED YOU ENTER THEH.
BEL0U THE BREAKAWAY SPEED, THE CURVES NAY BE TAKEN UITH NO DIFFICULTY .
ABOVE THE FASTEST SPEED INDICATED, YOU UILL CRASH! 1
UITHIN THE SPEED RAN6E, THERE IS THE POSSIBILITY THAT YOU NIGHT
LOSE TINE OR SPEED BY SUIN6ING UIDE OR BY SPINNING OUT.
THE FASTER YOU TAKE THE CURVES, THE GREATER THE RISKS-
AMD THE LESS THE TINE!!!!
YOUR TASK IS TO TRANSVERSE THE TRACK IN A MINIMUM OF TINE
UITH0UT CRASHING! ! !
YOUR CAR NAY BE ONE OF THE F0LL0UING:
1. PORSCHE
2. FERRARI
3. MASERATI
4. LOTUS FORD
UHICH CAR U0ULD YOU LIKE? 4
YOUR CAR HAS A NAXIHUN ACCELERATION OF 8 MPH/SEC.
AND A NAXIHUN BRAKING .OF -30 MPH/SEC.
YOU UILL RACE AGAINST ONE OF THE F0LL0UING:
1. U.S. POSTAL DELIVERY TRUCK
2. 1970 BEAT P0NTIAC GT0
3. 1964 UELL USED FORD MUSTAN6
4. LOTUS FORD
5. 1974 FERRARA
6. THE PHYSICS SUPERCHARGED LI8HTBEAM SPECIAL
CHOOSE ONE OPPONENT BY ENTERING NUMBER? 2
4 0(1500) X
H X
H X
20-H 5
ELAPSED TIHE SPEED
SECONDS NPH
POSITION
YARDS
OPPONENT'S
POSITION
ACCELERATION
35 H H
? a
HH
16
? 8
32
31
14
? 8
48
70
48
? 8
1 TO 2 IS A STRAIGHTAUAY 800 YARDS LONG
64
125
94
? 8
2 TO 3 IS A CURVE 200 YARDS LONG
10
80
195
156
? 8
THE BREAKAWAY SPEED RANGE IS 85 TO 100 MPH
12
94
281
235
? 8
3 TO 4 IS A STRAI6HTAUAY 500 YARDS LONG
14
112
383
328
? 8
IT ENDS AT POSITION 1500 YARDS FROM STARTING 8RID
14
128
500
438
? -20
4 TO 5 IS A HAIRPIN CURVE 100 YARDS LONG
18
88
404
565
? 5
THE BREAKAWAY SPEED RANGE IS 20 TO 35 NPH
20
98
497
700
? -2
5 TO 6 IS ANOTHER STRAIGHTAWAY 300 YARDS LONG
22
94
791
792
IT ENDS AT POSITION 1900 YARDS FROM THE 6RID
CURVE 2 -3 ,
SPEED 94
MPH
6 TO 7 IS A SET OF 'S' CURVES 500 YARDS LONG
24.4
94
1000
977
?
THE SPEED RANGE IS 90-110 MPH
28.4
94
1091
1054
7 TO 8 IS THE FINAL STRAIGHTAWAY OF 400 YARDS
30.4
94
1183
1154
IT ENTERS THE LAST CURVE AT 2800 YARDS
32.4
94
1275
1269
? -30
8 TO 9 IS THE FINAL CURVE OF 400 YARDS
34.4
34
1338
1378
? 8
THE BREAKAWAY SPEED RANGE IS 50 TO 70 MPH
36.4
50
1379
1458
? 8
38.4
46
1436
1498
? 8
THE TOTAL LENGTH OF ONE LAP IS 3200 YARDS
LOST CONTROL
YOUR OPPONENT
AT 80 NPH.
FINISHED
YOUR CAR CRASHED! !
IN 91.0926 SECONDS !
66
LIST
DO YOU UISH TO TRY AGAIN? YES
YOUR CAR HAY BE ONE OF THE FOLLOWING:
1. PORSCHE
2. FERRARI
3. HASERATI
4. LOTUS FORD
UHICH CAR UOULD YOU LIKE? 3
YOUR CAR HAS A MAXIMUM ACCELERATION OF 12 MPH/SEC.
AND A MAXIMUM BRAKING OF -22 HPH/SEC.
YOU UILL RACE AGAINST ONE OF THE FOLLOWING:
1. U.S. POSTAL DELIVERY TRUCK
2. 1970 BEAT PONTIAC GTO
3. 1966 HELL USED FORD MUSTAN6
4. LOTUS FORD
5. 1974 FERRARA
4. THE PHYSICS SUPERCHARGED LIGHTBEAH SPECIAL
CHOOSE ONE OPPONENT BY ENTERING NUHBER? 3
ELAPSED TIME
SPEED
POSITION
OPPONENT'S
ACCELERA
SECONDS
HPH
YARDS
POSITION
12
24
11
12
4
48
44
20
12
72
105
41
12
96
187
117
12
10
120
293
192
10
12
140
420
287
14
140
557
401
16
140
494
538
-22
CURVE 2 -3 ,
SPEED 100 HPH
21.9
100
1000
877
23.9
100
1093
972
7
25.9
100
1196
1060
-10
27.9
80
1284
1173
-10
29.9
60
1353
1299
-10
31.9
40
1402
1405
33.9
40
1442
1480
-3
35.9
34
1478
1512
CURVE 4 -5 ,
SPEED 34 HPH
41.8
34
1600
1549
12
43.8
58
1445
1441
12
45.8
82
1714
1695
10
47.8
102
1804
1771
-5
49.8
92
1899
1862
CURVE 6 -7 ,
SPEED 92 HPH
60.9
92
2400
2435
62.9
92
2490
2550
64.9
92
2580
2681
66.9
92
2471
2774
7
-22
48.9
48
2739
2835
10
70.9
68
2794
2894
SPEED IN CURVE
: 68 HPH, TOOK
CURVE HIDE,
LOST 3.7 SEC.
COMPLETED LAP, ELAPSED TIHE 84.5 SEC.
YOUR OPPONENT FINISHED IN 80.8497 SECONDS
SORRY, YOU LOST BY 5.45029 SECONDS
DO YOU UISH TO TRY AGAIN? NO
OK
10 PRINT TAB(24);"GRNPRX"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
1020 DIM P(9),F(4),G(4),H(82)
1030 REM
1040 FOR X=1 TO 9
1043 READ P(X)
1045 NEXT X
1050 FOR 1=1 TO 4
1060 READ 6(1), F(I)
1080 LET G(I)=G(I>/2. 04545
1090 LET F(I)=(F(I)+.61/2.04545)
1100 NEXT I
1110 FOR X=1 TO 82: READ H(X):NEXT X
1115 REM
1120 DEF FNA(X)=INT(X*2.O4545+.05>
1130 DEF FNT(T)=INT(T*10+.5)/10
1133 DEF FNC<T>=-(INT<T*R)+2>t<INT(T*R>+2<82)-82*<82<INT(T*R>+2>
1134 DEF FNB(T)=-(INT(T*R) + 1)*(INT(T*R) + K82)-82*(82<INT(T*R) + 1)
1135 BEF FNP(T)=INT(H(FNB(T))+FN0(T)*FNR(T)+.5)
1136 BEF FNO(T)=H(FNC(T))-H(FNB(T>)
1137 DEF FNR(T)=T*R-INT(T»R)
1140 REH
1150 LET D=2
1200 PRINT
1210 PRINT "UELCQME TO THE PUC GRAN PRIX"
1220 PRINT
1250 REH
1260 PRINT "DO YOU UANT A COURSE DESCRIPTION";
1270 INPUT At
1280 IF LEFT»(A>,1K>"Y" THEN 1910
1300 PRINT
1320 PRINT TAB(23);"2";TAB(64);"1"
1330 PRINT TAB(21 ) ; "CCOXPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOCC"
1340 PRINT TAB(12);"85-100 CC <800>";TAB(69);"C"
1350 PRINT TAB(18);"C";TAB(70);"C"
1360 PRINT TAB<15>;"3 0";TAB(21 ) ;"PUC GRAN PRIX RACE";TAB(70);"C"
1370 PRINT fAB(16);"X";TAB(69);"C"
1375 PRINT TAB(15);"X";TAB(67);"CC"
1380 PRINT TAB(14);"X";TAB(38);"SS";TAB(59);"(2800) C 50-"
1390 PRINT TAB(13);"X";TAB(22);"SSSSSSS SSS SSSOXXXXXXXXXXXXXXXX"
1395 PRINT "XPXXOC 70"
1400 PRINT TAB(12);"X SS SSSSSSS ?"',
1405 PRINT TAB<64>;"8"
1410 PRINT TABC11 >;"X (1900)0 4 90-110"
1420 PRINT TAB(10);"X X"
1430 PRINT TAB(9);"X X";
1433 PRINT TAB(28);"DISTANCES IN YARDS, EG. ";
1435 PRINT "(800) = 800 YDS."
1440 PRINT TAB(8);"X X";TAB(20);"SPEEBS IN MPH, ";
1445 PRINT "EG. 85 TO 100 HPH."
1450 PRINT " P X"
1460 PRINT " X X"
1470 PRINT " X X"
1480 PRINT " X X"
1490 PRINT " 4 0(1500) X"
1500 PRINT " H X"
1510 PRINT " H X"
1520 PRINT "20-H 5"
1530 PRINT " 35 H H"
1535 PRINT " HH"
1540 PRINT
67
1550 PRINT
1560 PRINT "1 TO 2 IS A STRAIGHTAUAY 800 YARDS LONG"
1570 PRINT "2 TO 3 IS A CURVE 200 YARDS LONG"
1580 PRINT " THE BREAKAUAY SPEED RANGE IS 85 TO 100 NPH"
1590 PRINT "3 TO 4 IS A STRAIGHTAUAY 500 YARDS LONG"
1400 PRINT " IT ENDS AT POSITION 1500 YARDS FROM STARTIN6";
1405 PRINT " GRID"
1410 PRINT "4 TO 5 IS A HAIRPIN CURVE 100 YARDS LONG"
1420 PRINT " THE BREAKAUAY SPEED RANGE IS 20 TO 35 NPH"
1430 PRINT "5 TO 4 IS ANOTHER STRAIGHTAUAY 300 YARDS LONG"
1440 PRINT " IT ENDS AT POSITION 1900 YARDS FROM THE GRID"
1450 PRINT "4 TO 7 IS A SET OF 'S' CURVES 500 YARDS LONG"
1440 PRINT " THE SPEED RANGE IS 90-110 NPH"
1470 PRINT "7 TO 8 IS THE FINAL STRAIGHTAUAY OF 400 YARDS"
1480 PRINT " IT ENTERS THE LAST CURVE AT 2800 YARDS"
1490 PRINT "8 TO 9 IS THE FINAL CURVE OF 400 YARDS"
1700 PRINT " THE BREAKAUAY SPEEB RANGE IS 50 TO 70 MPH"
1710 PRINT
1720 PRINT "THE TOTAL LENGTH OF ONE LAP IS 320O YARDS"
1730 PRINT
1820 PRINT "DURING THE STRAI6HTAUAYS YOU UILL BE ABLE TO CONTROL THE"
1830 PRINT "ACCELERATION AND BRAKIN6 OF THE CAR. THE CURVES UILL BE";
1835 PRINT " TAKEN"
1840 PRINT "AT UHATEVER SPEED YOU ENTER THEM."
1842 PRINT "BELOU THE BREAKAUAY SPEEB, THE CURVES NAY BE TAKEN UITH ";
1844 PRINT "NO DIFFICULTY ■ "
1850 PRINT "ABOVE THE FASTEST SPEED INDICATED, YOU UILL CRASH!!"
1860 PRINT "UITHIH THE SPEED RANGE, THERE IS THE POSSIBILITY THAT YOU";
1845 PRINT " NIGHT"
1870 PRINT "LOSE TINE OR SPEED BY SUINOING UIDE OR BY SPINNING OUT."
1880 PRINT "THE FASTER YOU TAKE THE CURVES, THE GREATER THE RISKS — "
1890 PRINT "AND THE LESS THE TINE!!!!"
1905 PRINT
1904 PRINT
1907 PRINT "YOUR TASK IS TO TRANSVERSE THE TRACK IN A MINIMUM OF TIME"
1908 PRINT "UITHOUT CRASHING!!!"
1909 PRINT
1910 PRINT "YOUR CAR NAY BE ONE OF THE FOLLOUING:"
1911 PRINT "1. PORSCHE"
1912 PRINT "2. FERRARI"
1913 PRINT "3. NASERATI"
1914 PRINT "4. LOTUS FORD"
1915 PRINT "UHICH CAR UOULD YOU LIKE";
1916 INPUT Z
1917 ON Z GOTO 1920,1923,1926,1929
1918 PRINT "UE DON'T HAVE THAT CAR IN STOCK, PLEASE CHOOSE AGAIN.";
1919 GOTO 1914
1920 H=15
1921 LET B=-20
1922 GOTO 1931
1923 N=10
1924 B=-25
1925 GOTO 1931
1926 H=12
1927 B=-22
1928 GOTO 1931
1929 H=8
1930 B=-30
1931 PRINT "YOUR CAR HAS A MAXIMUM ACCELERATION OF ";H;"MPH/SEC."
1932 PRINT "AND A HAXIMUH BRAKING OF ";B;"HPH/SEC."
1933 PRINT "YOU UILL RACE AGAINST ONE OF THE FOLLOUING:"
1934 PRINT "1. U.S. POSTAL DELIVERY TRUCK"
1935 PRINT "2. 1970 BEAT PONTIAC GTO"
1936 PRINT "3. 1966 UELL USED FORD MUSTANG"
1937 PRINT "4. LOTUS FORD"
1938 PRINT "5. 1974 FERRARA"
1939 PRINT "6. THE PHYSICS SUPERCHARGED LIGHTBEAM SPECIAL"
1940 PRINT "CHOOSE ONE OPPONENT BY ENTERING NUMBER";
1941 INPUT R1
1942 IF R1>0 AND RK6 THEN 1946
1943 IF R1=6 THEN 1948
1944 PRINT "UHICH CAR DID YOU SAY";
1945 GOTO 1941
1944 LET R=2*R1-5
1947 GOTO 1949
1948 LET R=2.5E+08
1949 LET R=<90+2*R>/100t7«RND<1 1/100
1950 PRINT
3000 REM
3002 REM BEGIN THE RACE! !
3004 REN
3010 LET J=1
3020 PRINT "ELAPSED TIME", "SPEED", "POSITION", "OPPONENT'S", "ACC";
3025 PRINT "ELERATION"
3030 PRINT " SECONDS"," MPH"," YARDS"," POSITION"
3040 PRINT
3070 X=0:S=0:T=0:T9=0:X9=0
3080 REM
3100 IF J<9 THEN 3200
3130 PRINT
3140 PRINT "COMPLETED LAP";", ELAPSED TINE";FNT(T);"SEC."
3166 PRINT "YOUR OPPONENT FINISHED IN " ;80/R; "SECONDS"
3167 LET K1=FNT(T)-80/R
3168 IF K1>0 THEN 3171
3169 PRINT "CONGRATULATIONS, YOU UON BY ";-K1 ;"SECQNDS"
3170 GOTO 8600
3171 PRINT "SORRY, YOU LOST BY ";K1 ; "SECONDS"
3172 GOTO 8600
3200 IF FNP(T)>3200 THEN 3203
3201 PRINT " ";FNT(T)," " ; FNA ( S ) , " ";INT(X),» ";FNP(T)," ";
3202 GOTO 3210
3203 PRINT " ";FNT(T>," ";FNA<S>," ";INT(X>," FINISH"," ";
3210 INPUT A1
3220 LET A=A1/2. 04545
3230 IF A1>=0 THEN 3600
3240 IF A1>=B THEN 3300
3250 PRINT "MAXIMUM BRAKING IS ";B;"MPH/SEC"
3260 60T0 3200
3300 LET T1=-S/A
3310 IF T1>D THEN 3500
3320 LET X1=X+S*T1+A/2*T1*T1
3330 IF X1>P(J+1> THEN 3400
3340 PRINT "YOU STOPPED"; INT (P< J+1 )-X1 ); "YARDS FROM P0INT";J+1
3350 LET S=0
3360 LET X=X1
3370 LET T=T+T1
3380 GOTO 3100
3400 LET Y=P(Jt1)-X
3402 IF AOO THEN 3410
3404 LMT T=T+Y/S
3406 GOTO 3440
3410 LET S1=S0R(S*S+2*A*Y)
3420 LET T=T-(S-S1)/A
3430 LET S=S1
3440 LET J=J+1
3450 GOTO 8000
3500 LET X1=X+S*D+A/2*D*D
3510 IF X1>P(J+1) THEN 3400
3520 LET T=T+D
3530 LET S=S+A*D
3540 LET X=X1
3550 GOTO 3100
3600 IF A1 <= M THEN 3700
3610 PRINT "MAXIMUM ACCELERATION IS ";M;"MPH/SEC"
3420 GOTO 3200
3700 LET X1=XtS*D+A/2*D*D
3710 IF XI >P< J+1 ) THEN 3400
3720 GOTO 3500
8000 REM *** SUB CURVE ***
8010 REM
8020 LET I=INT( J/2)
8030 LET T1=(P( J+1 )-P(J) )/S
8040 LET S1=G(I)t(F(I)-G(I))*RND(1)
8050 IF S>S1 THEN 8100
8055 PRINT "CURVE";J;-J-1;", SPEED";FNA(S);"MPH"
8040 LET J=J+1
8070 LET X=P(J)
8080 LET T=T+T1
8090 GOTO 3100
8100 IF S>S1+(F(I)-S1 )/2 THEN 8200
8110 LET T2=T1*RND<1>*.4
8120 PRINT "SPEED IN CURVE";FNA(S);"MPH, TOOK CURVE UIDE, LOST";
8125 PRINT FNT(T2);"SEC."
8130 LET T1=T1+T2
8140 GOTO 8060
8200 IF S>F(I) THEN 8300
8210 LET S2=S-S*RND(1)*.9
8220 LET T1=T1*S/S2
8230 PRINT "SPUN OUT AT";FNA(S);"MPH, LOST SPEED AND TIME"
8240 LET S=S2
8250 60T0 8060
8300 PRINT "LOST CONTROL AT";FNA(S);"MPH. YOUR CAR CRASHED!!"
8305 PRINT "YOUR OPPONENT FINISHED IN ";82/R;"SEC0NDS!"
8330 REM
8600 PRINT
8405 PRINT "DO YOU UISH TO TRY AGAIN";
8410 INPUT At
8420 IF LEFT$(A$,1)="Y" THEN 1910
9000 REM
9010 DATA 0,800,1000,1500,1600,1900,2400,2800,3200
9020 DATA 85,100
9030 DATA 20,35
9040 DATA 90,110
9050 DATA 50,70
9060 REN
9070 DATA 0,1,3,9,21,39,62,87,120,154,196,244,293,351,410
908O DATA 479,550,625,700,758,800,847,894,942,990,1030,1080
9090 DATA 1135,1200,1260,1330,1382,1425,1470,1490,1505,1519
9100 DATA 1539,1548,1563,1578,1512,1610,1632,1658,1683,1718
9110 DATA 1758,1800,1850,1890,1943,1997,2050,2104,2057,2210
9120 DATA 2294,2317,2370,2420,2480,2535,2600,2470,2725,2768,2799,2830
9130 DATA 2861,2892,2920,2951,2982,3013,3044,3075,3106,3137,3168,3199
9140 DATA 10000
OK
68
Guess-It
Many, if not most, two person games
that are played on a computer are
based on fixed rules that assure that if
one player uses these rules and a
rational playing strategy then that
player wins. If both players use these
rules and rational playing strategies
then the winner is usually determined
by who goes first. Tic-Tac-Toe, Batnum
and Even are examples of games of this
type.
A more interesting type of game is
one where the playing strategy is of
mixed type. This means that the best
move, in most cases, depends on what
moves have already been made and a
player can only determine the
probability of the best move. Standard
card games (Bridge, Poker etc.) are
usually games of mixed type.
Most two person games of mixed
type are either so complicated that the
best strategies are not known or they
are so simple that they are not in-
teresting to play. The game of Guess-It
is an exception to this pattern. The
element of bluffing, which plays a
central role in this game, makes the
game interesting. The optimal strategy
for playing this two person game of
mixed type has been determined by
Rufus Isaacs 2 .
This program simulates the game of
Guess-It. The computer plays accord-
ding to the optimal strategy deter-
mined by Isaacs. Lines 1740 to 1930
give instructions on how to play the
game. The number of numbers in each
hand is determined in line 70. (It is set
at 5. This is the value Isaacs used in his
analysis of the game.) To change the
number of numbers in each hand only
the value of H in line 70 needs to be
changed.
To play the game in an optimal way
decisions need to be made based on
the win probabilities P(m,n) where m is
the number of numbers in your hand
and n is the number of numbers in your
opponents hand. The matrix of these
win probabilities is computed in lines
80 to 180.
To match the optimal strategy of the
computer some type of randomizing
device based on the win probabilities
P(m,n) is required. (See (1) and (2) for
descriptions of how to make and use
such devices. These devices only work
when there is a maximum of 5 numbers
in each hand.)
The decision as to whether or not a
number asked about by a player was a
bluff is made in line 750. The decision
to bluff or not when asking about a
number is made in line 940.
The program gives the player the
option of going first. The win probabili-
ty, P(5,5), in this case is .538. Therefore
the player going first has a slightly
better than even chance of winning
assuming that both players use the
optimal strategy.
There are two reasons why bluffing is
important in any strategy. If a player
never bluffs, then any "ask" about a
number that is not in the opponent's
hand will result in a loss since the other
player will know that it must be the
down number. A successful bluff can
lead the other player to make an
incorrect guess of the down number.
The program and description were
written by Gerard Kiernan of Manhat-
tanville College, Purchase, NY.
References
1. Mathematical Magic Show. Martin
Gardner. Alfred A. Knopf, 1977.
2. "A Card Game With Bluffing." Rufus
Isaacs, The American Mathematical
Monthly, Vol. 62, February 1955
pages 99-108.
RUN
SUESS-IT
CREATIVE C0MPUT1N6
H0RRIST0UN, NEU JERSEY
DO YOU UANT TO 6UESS THE DOWN NUMBER? NO
UHAT NUMBER DO YOU WANT TO ASK ABOUT? 3
IS NOT IN NT HAND
DO YOU UANT INSTRUCTIONS-TYPE YES OR NO
? YES
DO YOU HAVE 4
? NO
THE OBJECT OF THIS DANE IS TO GUESS AN UNKN0UN N UNDER
CALLED THE 'DOUN NUMBER'. THE SAME IS PLAYED UITH THE
NUMBERS t TO 11 . YOU KILL BE 6IVEN A HAND Op S
RANDOMLY SELECTED NUMBERS BETUEEN 1 ANB It . THE
COMPUTER UILL HAVE A SIMILAR HAND. THE DOUN NUMBER HILL
ALWAYS BE THE NUMBER NOT IN EITHER PLAYER HANDS.
YOU ALTERNATE MOVES UITH THE COMPUTER. ON ANY HOVE THERE
ARE TU0 OPTIONS- GUESS THE DOUN NUMBER OR ASK ABOUT SOME
NUMBER. %
UHEN A PLAYER GUESSES THE DOUN NUMBER THE 6AHE STOPS.
If THE GUESS IS CORRECT THAT PLAYER UINS.
IF THE GUESS IS NOT CORRECT THAT PLAYER LOSES.
ALL QUESTIONS ABOUT NUHBERS IN THE OTHER PLAYERS HAND
MUST BE ANSUEREB TRUTHFULLY. A PLAYER MAY 'BLUFF' BY
ASKING ABOUT A NUMBER IN H I S0UN -HAND . THE COMPUTER
UILL SOMETIMES DO THIS. -
A NUMBER NAY BE ASKED ABOUT ONLY ONCE.
GOOD LUCK
YOUR HAND IS
11 2 6 1 1
DO YOU UANT TO 60 FIRST? YES
DO YOU UANT TO GUESS THE DOUN NUMBER? YES
UHAT DO YOU THINK THE DOUN NUMBER IS
? 3
THE DOUN NUMBER IS 3
YOUR 6UESS OF 3 IS CORRECT - YOU UIN
DO YOU UANT TO PLAY AGAIN? YES
YOUR HAND IS
7 ? 5 4 10
DO YOU UANT TO GO FIRST? NO
DO YOU HAVE 6
? YES
DO YOU UANT TO GUESS THE DOUN NUMBER? NO
UHAT NUHBER DO YOU UANT TO ASK ABOUT? 11
11 IS IN MY HAND
DO YOU HAVE 9
? YES
69
DO YOU UANT TO GUESS THE DOUN NUMBER? NO
WHAT NUMBER BO YOU UANT TO ASK ABOUT? 2
2 IS IN MY HAND
DO YOU HAVE 4
? NO
DO YOU UANT TO OUESS THE DOUN NUMBER? YES
UHAT DO YOU THINK THE DOUN NUMBER IS
? 4
THE DOUN NUMBER IS 1
YOUR GUESS OF 4 IS NOT CORRECT-YOU LOSE
DO YOU UANT TO PLAY AGAIN? EYS
DO YOU UANT TO PLAY AGAIN? YES
YOUR HAND IS
3 8 11 10 2
DO YOU UANT TO GO FIRST? YES
DO YOU UANT TO GUESS THE DOUN NUMBER? NO
UNAT NUMBER DO YOU UANT TO ASK ABOUT? 1
1 IS IN MY HAND
DO YOU HAVE 3
? YES
DO YOU UANT TO GUESS THE DOUN NUMBER? NO
UHAT NUHBER DO YOU UANT TO ASK ABOUT? 9
9 IS IN MY HAND
DO YOU HAVE 4
? NO
DO YOU UANT TO GUESS THE DOUN NUMBER? YES
UHAT DO YOU THINK THE DOUN NUMBER IS
? 4
THE DOUN NUHBER IS 5
YOUR GUESS OF 4 IS NOT CORRECT-YOU LOSE
DO YOU UANT TO PLAY AGAIN? NO
YOU PLAYEO 3 GAMES. YOU LOST 2 YOU UON 1
BREAK IN 1580
OK
LIST
1 PRINT TAB<26)"GUESS-IT"
2 PRINTTABf 20) "CREATIVE COMPUTING"
3 PRINT TAB(18)"N0RRISTOUN, NEU JERSEY"
4 PRINT
5 PRINT
10 PRINT
20 G1=0:C1=0
SO A1=RND(1)
70 H=5
80 DIN P(10,10)
90 FOR K=1 TO H
100 P(K,0)=1
110 P(0,K)=1/(K+1)
120 NEXT K
130 FOR 1=1 TO H
140 FOR J=I TO H
150 P(I,J)=<1+J*P(J,I-1)*(1-P(J-1,I)))/(1+{J+2)»P(J,I-1))
140 P(J,I)=(1+I*P(I,J-1)*(l-P(I-1,J)))/(1t(It1)*P(I,J-1))
170 NEXT J
180 NEXT I
190 Z=t 1
200 DIH U<Z),N(Z)
210 PRINT"DO YOU UANT INSTRUCTIONS-TYPE YES OR NO"
220 INPUT At
230 IF A$="YES" THEN 1730
240 IF A*O"H0" THEN 210
250 PRINT
240 81 =61 +1
270 FOR J=2 TO Z
280 U(J)=0
290 NEXT J
300 E=0:T=0:C=OsP=OzL=0
310 60SUB 1630
320 REN N(1) TO N(H)= COMP HAND N(H+1)=T0 N(Z)= OTHER HAND
330 D=(Z)
340 PRINT°YOUR HAND IS"
350 PRINT
340 FOR I=H+1 TO Z-1
370 PRINT N(I>;
380 NEXT I
390 PRINT
400 PRINT
410 PRINT'DO YOU UANT TO GO FIRST";
420 INPUT A»
430 IF A*="YES" THEN 470
440 IF A$O"N0" THEN 390
450 K=1
440 GOTO 480
470 K=0
480 K=K+1
490 M=H-C
500 N=H-P
510 PRINT
520 IF K=(INT(K/2))*2 THEN 860
530 PRINT
540 PRINT"DO YOU UANT TO GUESS THE DOUN NUHBER";
550 INPUT A*
540 IF A$="YES" THEN 1250
570 IF A»O"N0" THEN 530
580 PRINT
590 PRINT"UHAT NUMBER DO YOU UANT TO ASK ABOUT";
600 INPUT E
610 FOR 1=1 TO Z
620 IF E=U(I) THEN 650
630 NEXT I
640 GOTO 670
650 PRINT E;" UAS ASKED BEFORE TRY AGAIN"
66O16OTO 580
670 FOR J=1 TO H
680 IF N(J)=E THEN 800
690 NEXT J
700 PRINT
710 PRINT;"IS NOT IN MY HAND"
720 IF M=0 THEN 1460
730 IF N=0 THEN 1440
740 Y=( (M*1 )*P(M,N-1 )-M*P(M-1 ,N> >/<1t(H+1 )*P(N,N-1 ) )
750 IF RNDC1XY THEN 1380
760 60SUB 1220
770 IF (H-P)=1 THEN 1440
780 P=P*1
790 GOTO 480
800 PRINT
810 PRINT E;"IS IN MY HAND"
820 C=C+1
830 GOSUB 1220
840 GOTO 480
850 REM COHP SEQ STARTS
860 IF TOO THEN 1410
870 IF H-COO THEN 890
880 GOTO 1460
70
890 IF H-POO THEN910
700 GOTO 1460
910 IF <2*H-2)-<P+CK>0 THEN 930
920 GOTO 1460
930 RED RND DECISION TO BLUFF OR NOT ON ASKING FOR CARD
940 IF RND(1)>1/(1t(N+1)*P(N,N-1)> THEN 1060
950 PRINT
960 A=INT<H*RND(1>>+1
970 FOR J=1 TO Z
980 IF N(A)=U(J) THEN 960
990 NEXT J
1000 PRINT-DO YOU HAVE";N(A>
1010 C=C+1
1020 INPUT A$
1030 E=N(A>
1040 60SUB 1220
1030 GOTO 480
1060 60SUB 1170
1070 PRINT
1080 PRINT"DO YOU HAVE ";N(A>
1090 INPUT AS
1100 IF A*="YES" THEN 1130
1110 T=1
1120 GOTO 480
1130 E=N(A)
1140 P=P+1
1150 GOSUB 1220
1160 GOTO 480
1170 A=INT<(H*1)*RND<1))+<H+1)
1180 FOR J=1 TO Z
1190 IF N(A)=U(J) THEN GOTO 1170
1200 NEXT J
1210 RETURN
1220 L=L*1
1230 U(L)-E
1240 RETURN
1250 PRINT
1260 PRINV'UHAT DO YOU THINK THE DOUN NUMBER IS"
1270 INPUT B
1280 PRINT
1290 PRINT"THE DOUN NUMBER IS";N(Z)
1300 IF B=N(Z) THEN 1360
1310 PRINT
1320. PRINT"YOUR GUESS OF»;B;" IS NOT CORRECT-YOU LOSE"
1330 C1=C1+1
1340 60T0 1520
1350 PRINT
1360 PRINT"YOUR GUESS OF ";B;"IS CORRECT - YOU UIN"
1370 60T0 1520
1380 PRINT"I THINK YOU UERE NOT BLUFFING UHEN YOU ASKEB AB0UT";E
1390 6=E
1400 GOTO 1480
1410 PRINTN(A);"UAS NOT A BLUFF"
1420 G=N(A)
1430 GOTO 1480
1440 G=N(Z)
1450 60T0 1480
1460 GOSUB 1170
1470 G=N(A)
1480 PRINT'-I GUESS THE DOUN NUMBER IS";G
1490 IF 6=N(Z) THEN 1590
1500 PRINT
1510 PRINT"THE DOUN NUMBER IS";N(Z);"I UAS URONG... YOU UIN"
1520 PRINT"D0 YOU UANT TO PLAY AGAIN";
1530 INPUT A$
1540 IF A»="YES" THEN 250
1550 IF A*O"N0" THEN 1520
1560 PRINT
1570 PRINT"YOU PLAYED";G1 ;"OAMES. YOU L0ST";C1 ;"YOU U0N";G1-C1
1580 STOP
1590 PRINT
1600 PRINT"THE DOUN NUMBER IS";N(Z);"I UAS CORRECT. . .YOU LOSE"
1610 C1=C1+1
1620 60T0 1520
1630 FOR 1=1 TO Z
1640 N(I)=I
1650 NEXT I
1660 FOR 1=1 TO Z
1670 R=INT(RNB(1)*((Zt1)-I)>+I
1680 U=N(R)
1690 N(R)=N(I)
1700 N(I)=U
1710 NEXT I
1720 RETURN
1730 PRINT
1740 PRINT"THE OBJECT OF THIS GAME IS TO GUESS AN UNKNOUN NUMBER"
1750 PRINT"CALLED THE 'DOUN NUMBER'. THE GAME IS PLAYED UITH THE"
1760 PRINT"NUMBERS 1 TO";Z;\ YOU UILL BE GIVEN A HAND OF ";H
1770 PRINT"RANDOMLY SELECTED NUMDERS BETWEEN 1 AND"|Z;". THE "
1780 PRINT"COMPUTER UILL HAVE A SIMILAR HAND. THE DOUN NUMBER UILL
1785 PRINT"ALUAYS BE THE NUMBER NOT IN EITHER PLAYER HANDS."
1790 PRINT
1800 PRINT"YOU ALTERNATE MOVES UITH THE COMPUTER. ON ANY MOVE THERE
1810 PRINT"ARE TUO OPTIONS- GUESS THE DOUN NUMDER OR ASK ABOUT SOME
1820 PRINT"NUHBER."
1830 PRINT
1840 PRINT "UHEN A PLAYER GUESSES THE DOUN NUMBER THE GAME STOPS."
1850 PRINT"IF THE GUESS IS CORRECT THAT PLAYER WINS."
1860 PRINT"IF THE GUESS IS NOT CORRECT THAT PLAYER LOSES."
1870 PRINT
1880 PRINT"ALL QUESTIONS ABOUT NUMBERS IN THE OTHER PLAYERS HAND"
1890 PRINT"MUST BE ANSUERED TRUTHFULLY. A PLAYER MAY'BLUFF' BY"
1900 PRINT"ASKING ABOUT A NUMBER IN HIS OUN HAND. THE COMPUTER"
1910 PRINT"UILL SOMETIHES DO THIS."
1920 PRINT
1930 PRINT"A NUMBER MAY BE ASKED ABOUT ONLY ONCE."
1940 PRINT
1950 PRINT"GOOD LUCK"
1960 GOTO 250
1970 END
OK
ICBN
Your radar station picks up an enemy ICBM heading
your way, telling you its coordinates (in miles north and
miles east of your location). You launch a surface-to-air
missile (SAM) to intercept it.
Your only control over the SAM is that you can aim it
in any direction, both at launch, and in mid-air. Using the
coordinates of the ICBM as a guide, you INPUT the
direction (measured CCW from North) in which you want
the SAM to travel.
At the next radar scan one minute later, you are given
the new coordinates of the ICBM, the coordinates of your
SAM, and the distance between the two. You can now
make corrections in the course of your SAM by entering a
new direction. 4
You have no control over the altitude of your SAM, as
it is assumed that it will seek the same altitude as the ICBM.
As the two missiles draw closer, you make adjustments
in the direction of the SAM so as to intercept the ICBM.
It's not easy to hit, because the ICBM is programmed to
make evasive maneuvers, by taking random deviations from
the straight line course to your location. Also, its speed is
not known, although it does not vary after being randomly
selected at the start of the run.
You can destroy the ICBM by coming within 5 miles of
it, at which time your SAM's heat-seeking sensors will
come into action and direct it to its target. If you overshoot
the ICBM it's possible to turn the SAM around and chase
the ICBM back towards your location. But be careful; you
may get both missiles in your lap.
There is also some element of chance involved, as
several accidents have been programmed to occur random-
ly. These can work for you or against you.
Some ways to improve and expand the program are:
1. Operator control over SAM speed: In the present
version the speed of the SAM is randomly selected by the
computer at the start of the run, and remains constant
thereafter. This often results in overshooting the ICBM.
Modify the program so that you can input a new speed
(within limits) at the same time you input the new
direction.
2. Three dimensional version: Have the computer print
the altitude of the ICBM, as well as its coordinates. The
operator will then have to INPUT the angle his SAM is to
make with the horizontal, when entering the other quanti-
ties.
3. Extend to all Quadrants. In the present version, the
ICBM approaches only from the Northeast. You can
expand this to include approach from any compass direc-
tion.
This game is derived from a program submitted by Chris
Falco. The writeup is by Paul Calter and originally appeared
in Creative Computing, May/Jun 1975.
ICBM
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
MISSLE SAM
MILES MILES MILES MILES HEADING
NORTH EAST NORTH EAST ?
201
975
15
ICBN
SAN
N0U
920
MILES
APART
198
920
48
12
85
ICBM
SAM
N0U
822
MILES
APART
200
870
52
61
75
ICBM
3,
SAH
N0U
715
MILES
APART
812
64
109
80
ICBN
s,
SAM
N0U
613
MILES
APART
180
762
72
158
7
85
ICBM
SAH
N0U
511
MILES
APART
169
710
76
207
80
ICBM
&
SAH
N0U
395
HILES
APART
157
645
84
256
70
ICBN
SAN
N0U
298
MILES
APART
157
595
101
302
75
ICBH
SAH
N0U
184
MILES
APART
140
535
113
350
80
ICBH
SAH
N0U
84 MILES
APART
124
483
121
399
90
ICBH
SAH
N0U
27 HILES
UPART
113
423
121
449
95
ICBN
SAN
N0U
137
HILES
APART
113
361
116
498
-90
ICBN
SAN
NUU
153
HILES
APART
110
295
116
448
7
-95
TOO
BAD.
TOUR
SAH
FELL
TO THE GROUND!
DO T0U UANT TO PLAY N0RE? (Y OR N)? N
10 PRINT TABC26);"ICBN"
20 PRINT TAB (20); "CREATIVE COMPUTING"
30 PRINT TAB(18);"MORRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
110 X1=0:Y1=0
120 X=INT(RND(1 >*800>t200:Y=INT(RND<1)*800>+200
130 S=INT(RND(1)»20+50):S1=INT(RND(1)*20+50)
170 PRINT " MISSLE ";
175 PRINT " SAM - »
180 PRINT "MILES", "MILES", "MILES", "MILES", "HEADING"
190 PRINT "NORTH", "EAST", "NORTH", "EAST","?"
200 PRINT " ";
205 PRINT " "
210 FOR N=1 TO 50
220 PRINT Y,X,Y1,X1,
230 IF X=0 THEN 550
240 INPUT T1
250 T1=T1/57.294
240 H=INT<RND(1)*200+1)
270 IF H>4 THEN 290
280 ON H GOTO 470,490,510,530
290 X1 = IHT(X1+S1»SIN(T1)):Y1 = INT(YUS1*C0S(T1 ))
310 IF SQR(X"2tY*2)>S THEN 350
320 X=0:Y=0
340 GOTO 430
350 B'SOR(X"2tY-2)/1000
360 T=ATN(Y/X)
370 X=INT(X-S*COS(T)+RND(1)*20tR)
380 Y=INT(Y-S*SIN(T)+RND(1)*20*R)
390 D=SQR((X-X1)-2+(Y-Y1C2)
400 IF D=<5 THEN 440
410 D=INT(D>
420 PRINT "ICBN S SAM NOU"; D; "MILES APART"
430 NEXT N
440 PRINT "CONGRATULATIONS! YOUR SAM CAME UITHIN";D;"HIL£S OF"
450 PRINT "THE ICBN AND DESTROYED IT!"
460 GOTO 540
470 PRINT "TOO BAD. YOUR SAM FELL TO THE GROUND!"
480 GOTO 540
490 PRINT "YOUR SAH EXPLODED IN MIDAIR!"
500 GOTO 540
510 PRINT "GOOD LUCK-THE ICBM EXPLODED HARMLESSLY IN MIDAIR!"
520 GOTO 560
530 PRINT "6000 LUCK-THE ICBM TURNED OUT TO BE A FRIENDLY AIRCRAFT '
540 GOTO 560
550 PRINT "TOO BAD!"
555 PRINT "THE ICBH JUST HIT YOUR LOCATION!!"
560 PRINT "DO YOU UANT TO PLAY MORE? (Y OR N)";
570 INPUT At
580 IF A»="Y" THEN 130
5?0 END
72
Inkblot
INKBLOT is a program that creates
"inkblots" similar to those used in the
famous Rorschach Inkblot Test. The
program generates these inkblots
randomly so that literally millions of
different patterns can be produced.
Many of these patterns are quite
interesting and serve not only as
conversation pieces, but also as good
examples of computer "art."
In addition, INKBLOT is interesting
from a mathematical point of view. This
is because INKBLOT actually creates
inkblots by plotting ellipses on the left
side of the page and their mirror-
images on the right side. The program
first chooses the ellipses to be plotted
by randomly selecting the values a, b, j,
k and 9 in the equation for a rotated
ellipse:
INKBLOT could be enhanced in
several ways, for example allowing the
user to specify which character is to be
used in printing the inkblot. It could
have an option to print the "negative" of
an inkblot by filling in the area around
the ellipses rather than the ellipses
themselves. Finally, it is possible to
build in a "repeatable randomness"
feature so that exceptional outputs
could be reproduced at any time.
These enhancements are left for the
ambitious programmer to make.
Program and description are by
Scott Costello.
RUN
INKBLOT
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
[ (x-j)cos9 + (y-k)sin9] ; + [ (y-k)cos9 - (x-j)sin9] g . ~
a 2 ~~~ b 2
where a = the horizontal radius of the
ellipse
b = the vertical radius of the
ellipse
j = the distance from the ellipse
center to the y-axis
k = the distance from the ellipse
center to the x-axis
9 = the angle of rotation in
radians
Since the actual method by which the
program plots the ellipses is quite
complicated, it won't be discussed
here.
tittttttttttttttttttstttttttitittttttitttttttittiiitttttitttttttiiitttit
littttittttiitttttiittiitttttttttittittttttsttitttttttttttttitttttttitts
« it
«» »*
ttttttttittti tttttttttitit
itttttttitttttttt ttttttttttttttttt
tttttttttttittttitt tititttittiiitmtt
ttitttttttittitttt ttttttttttmttttt
ittttttttttttt nitiimmx
***** *(**(»*** ttttttttt nut
** ************
** «t**$*mi*$tt
«» *t*tt*tt»*tmtt
«* ttttitttttttittt
** ttttttttttttttttttttttt
** ttttttttttittittittttttt
tt **tm*mt*t»tt**tmm
*t tttttttittttttttttttttt
11 tttttttttttttttittti
st tttttttttttttttttt
it tiitiiiiitiiiitii
it iiitiintttiit
iiiitiiiiit ttiiiiit
titttitiitiii
IDtllllllttttl
(tiiit***«*ti*«i
(iiiiiiniitiiiti
ititiitiittiiiitt
ititiitiiitiiiiitt
iitiiiiiittititttt
ttttittitttttttttt
miiiiiiiiiiiiti
iiiitttiiitttiiii
iitiiitiiitiiiti
ittiittiiiiiiit
ttittittitiiii
iititiittiit
limit!!
it
tt !!!!!!!
tttlt lltlttlttlt
ttttttttttttiltttt
llltittttttttlttt
lltllttttttlttt
II ttlttlt
tt
tt tttlttttttttt
tttttttttttttttttttt
tttttlttttttttttltltlt
Ittltttttttltttttttttlt
ttlltttttttlttttttlllttt
tttttttlttlltttlttltlttt
tttttttttttt tt
Ittttttttttttt It
tttltlllttlttttt tt
lltttltttttll!!! tt
tltltttttttltlt*l*ltllt tt
tlttttttltttttttttttttlt It
Itlttlttlttttltttltlltltt I!
tttttttllttlltlltlltllt I!
ttttttltttttlltttltt tt
ttttttlttttttltttt tt
litlttttttttttttt tt
Ittttttttttttt tt
tttttttt ttttttttttt
tttlttttttttt
tttttltttttttlt
lltlttttlttttttt
tlttltttttlttlltt
tlttlltltttlttltt
ttllltltltltltlttt
tttttttlttttltlttt
tttttltttttttttttt
ttttltttttttttttt
ttttttttttttttttt
tttttttltttttttt
ttttttttllltltt
tttttttttltttt
tttttttttttt
tlltttttt
tt
tlttttt tt
ttttttttttt tttlt
ttttttttttttiltttt
ttttttttttttttttt
ttittittiitittt
tlttttt it
it
ttttttttttttt tt
tttttttttttttttttttt
iitttttittitttttittttt
ttttttttttttttttttttttt
tttttttttttttttttttttttt
tttttttttttttttittttitit
lltfttlttlttllt!ltttttl!tl!!ttl!ttttll!!!tl!!l!tltl**ll*****************
*iunttiiniii*iimiiniiiii!iiii»*»niii**»«ii»;ti:«tJ?n»»»»»»*»*»**
Oil
73
RUN
INKBLOT
CREATIVE COMPUTINB
MORRISTOUN, NEU JERSEY
444444444444»44444444»44444«4$4444444444444444444«44444»44444444»4444»44
4444444444444»444444»444»4»m444»m»44*$»»4»4444»4444»44444*44»4444»*4
44 »44»44»4444$44444«44 44
u m«m»»M»mm»m t$
44 M»m»mm»»*n$m*» 44
44 $444444444 »»mm*» 44
st m»m» »»»»»*»» u
44 4444444444444 »»»»$»$»»«»» 44
%i %%$%$%tnm%nnn ummmwum *»
$« $*ttm»*«mmm$t*»>»*mt**mmmm »»
»j m»m»m»»m»«»»mi»$»*m»»m«i»»mj»» »»
44 »*
44 $»$$$$»$$$$»$»$$$>»»i$»«$$«»*«*M»*$»**»»»»«»$i»*»» **
$t m$i»*$*mm»»»»$»m$»m*»»»»»m»»»m»«m*m» 44
it »$»»»»i$$»»»»»»»$«»»»*$»»»»«*$»«»*»»**»»»«»**»»*m 44
$»$$♦» »$$»»$$$»»$»$»«$»$*$»»»»»»**«»«*»»*»>«*»»»»>««»*« »««
$«$$$»$»$»»*»♦«$$»»»»»$»$»»»*««»***»♦*«»»♦*♦***»*♦♦»♦♦*♦*♦♦**»**•*♦»**
»»»»*»*»«*»»»»»»»»«»»»$♦»***»*»»»»»»♦»»»»*»*»♦»»»»»»»»«**»*»»*«»**»»*
$m$»$$*mm$»$*$$m»$»$$m»$mmm»m»$mmm»»»«»*»»»*m
*»»»$$*»»»»*»**♦***»$$»»»*»«**♦»»»»»**«***«»*«»»»«***»»*«*»**»*»*
i»«$$»$$*i»$»»$$$$$t»»$»»»»»»$»»$»»«»»*m$»*»*$»*»»»»»*mt$»$»»mm
*»«$$$$$»♦»*$»*»»»»$$»»$»»»»»$»»»*»*»»»»»»**»*♦»»»**»»»»*»*»»»*»»»»**♦**
»»«»»$»»»»»»*»**»»*»$»»»*»«»»»«»»»»»»»♦*»»*«♦»»»**»♦*«»*»»«***»***»*
*»$$»»«*$$*$$»$$«$♦*»»»»»♦»»»»*$»$»»»»♦»»*»»***»*»»»*»*»*»**«*»»»»»»♦»*
jnt»u*»n$*$nn«H$*»>n»»»» »*»»$$»»$»»$«**»»$$*»»$$$»$»»$
»$$»$»»»$m»m»m*$$»tm» *♦$»$»$$$»$*»***»»«»»«»«««
tltUtllllllfltlittltllMItt 44444444444*4444444444444444
44444444444444 »»$»»$»»* ««$m»»mm
imiitmn
4*4444444444
444444444
44444444444
44$(4$4*444
444444444
»$$$»$»»$$»»»$$
»$4*$«4*»»44444
4*
4$
444444444444444444
lli»tt»»>i»»li
44
4$
$t»$44«44$4**4»»4$4
))mHlll!)»l»H»
44
4$
4$t$4444»444t»4)S444$
!S)UlltlHII»)H«H
44
*»
nmntnmntsm*
444444444444444444*44
44
44
4444444444444444444444
44
tt
$$$$$44tt$$)$*$»*«**»
uiiitiiittiiitHtm
$4
**4SS4$4S4«44t4**4S$S
«»**$t4t«*«t»44*44*44
44
*»
IIIWi*)t(t!tlUII
4*t*t«*»t*«*44**4«4
44
44
*$«$$«»«$$»$**$***
*«*t$****4t44*44t4
44
»»
444444444444444
444444444444444
44
»*
IHtlltHII
44
«*
44
4$
44
$t
44
44
44
$♦
44
31
$4
4$
44
44
44
4*44444444444*4444444444444***44444444444*4444444444444*44*44*4444444444
444444444444444444444444444***4444444444444444*****44*4*44*44*44*44*4444
Ok
LIST
100 PRINT TAB(24);"INKBLQT"
105 PRINT TAB (20); "CREATIVE COHPUTING"
110 PRINT TAB(18);"N0RRIST0UN, NEU JERSEY"
115 PRINT:PRINT:PRINT
120 REH *** M0RKS BY PLOTTING ELLIPSES ANB THEIR MIRROR INAGES
130 BIN A <12,13),B4(34),A4<34>
140 REH **» CHOOSE FR0H 5 TO 12 ELLIPSES
150 H=INT(8*RND(1>>+5
160 REH *** CREATE SIZE, LOCATION ANB ANGLE OF H ELLIPSES
170 FOR L=1 TO H
180 A(L,1)=34*RNB(1)
190 A(L,2)=80*RNB(1)
200 A(L,3)=(15*RNB(1)+2)"2
210 A(L,4)=(15»RNB<1)+2)"2
220 T=3.14159*RND<1>
230 A(L,5)=C0S(T>
240 AU,4)=SIN(T>
250 A<L,7>=A<L,5)*A(L,4)
240 A<L,5>=A(L,5>*A<L,5>
270 A(L,4>=A(L,4>*A(L,4>
280 A(L,8)=A(L,1)*A(L,1 )*A(L,4)
290 A(L,?)=A(L,1)»A<L,1)»A(L,5)
300 A(L,10)=A(L,1)*A(L,7)
310 A(L,11)=-2*A(L,1)*A<L,4)
320 A(L,12)=-2*A(L,1)*A(L,5)
330 A<L,13>=A(L,4)/A(L,4>+A(L,5)/ACL,3>
340 NEXT L
350 REH *** PRINT TOP BORDER; B4 CONTAINS 34 DOLLAR SIGNS
340 B4="4444t**44444444444444444444444444444"
370 PRINT B4;B4
380 PRINT B4;B4
390 REH «** LOOP Y IS Y-COORDINATE OF PLOT; EACH TINE Y LOOP
400 REH *** IS EXECUTED, A LINE IS PRINTEB
410 FOR Y=79.9 TO STEP -1.4
420 A4="44
430 REH *** LOOP E CHECKS THE EQUATION OF EACH ELLIPSE TO SEE
440 REH *** IF IT INTERSECTS THE LINE TO BE PRINTED
450 FOR E=1 TO H
440 Y1=Y-A(E,2)
470 Y2=Y1*Y1
480 Y3=Y1*A(E,10)
4?0 Y4=Y1*A<E,7>
500 B=(A(E,12)+Y4)/A(E,3)+(-Y4+A(E,11))/A(E,4)
510 C=(Y2*A(E,4)tA(E,?)-Y3)/A(E,3)+(Y2*A(E,5)+A(E,8)+Y3)/A(E,4)-1
520 REH *** R IS THE RADICAL IN THE STANDARD QUADRATIC FORMULA
530 R=B*B-4*A(E,13)«C
540 IF R<0 THEN 490
550 R=SQR(R)
540 REH *** FINB UHERE THE LINE INTERSECTS THE ELLIPSE
570 R1=INT(-(B+R)/2/A(E,13)+1)
580 IF R1>34 THEN 490
590 R2=INT((R-B)/2/A(E,13))
400 IF R2<1 THEN 490
410 IF R2<35 THEN 430
420 R2=34
430 IF R1>0 THEN 440
440 R1-1
450 REH *»* FILL IN THE LINE UHERE IT CROSSES THE ELLIPSE
460 FOR J=R1+2 TO R2+2
470 A4=LEFT4(A4, J-1 )+"4"+RI0HT4(A4,LEN(A4)-J)
480 NEXT J
490 NEXT E
700 REH *** PRINT LINE
710 PRINT A4;
720 FOR K=34 TO 1 STEP -1
730 PRINT HU4(A4,K,1>;
740 NEXT K
750 NEXT Y
740 REH *** PRINT BOTTOM BORDER
770 PRINT B4;B4
780 PRINT B4.-B4
790 ENO
Ok
74
Joust
In this program you are a medieval
knight in a jousting tournament. The
prize to the winner of the tournament is
the princess' hand in marriage. To win
you must beat four other knights, the
gold knight, the silver knight, the red
knight, and the fierce black knight. On
each pass of your opponent you must
select one of eight different aiming
points, such as the helm, lower left,
face of shield, et cetera, and, based on
your aiming point, you may select from
three to six different defense positions
such as a right lean or shield low.
As you proceed in the jousting
tournament there are different in-
termediate outcomes such as getting
knocked on the shield, breaking a
spear, and so on. There are also some
outcomes which end the contest such
as your getting killed, or getting
knocked from your-horse.
This program was conceived and
written by Alan Yarbrough.
LIST
10
20
30
40
100
120
121
122
125
128
130
1S0
200
2S0
300
350
400
450
500
520
530
550
555
400
650
700
750
600
850
?50
1000
1100
1150
1250
1270
1400
1450
1470
1500
1550
1400
1650
1700
1750
1755
1800
1850
1»00
1»50
2000
2050
2100
2150
2200
2250
2300
2350
2400
2450
2500
ft JOUSTING TOURNAMENT.
HAND IN MARRIAGE."
PRINT TAB(26) J'JOUST"
PRINT TAB(20);"CREATIVE COMPUTING"
PRINT TAB(18);"H0RRIST0UN, NED JERSEY"
PRINT:PRINTt PRINT
INPUT'UHAT IS YOUR NAME, PLEASE";A$
PRINT'SIR *;A$;\ YOU ARE A MEDIEVAL KNIGHT IN
PRIHT'THE PRIZE TO THE V INNER IS THE PRINCESS'
PRINT "TO UIN, YOU MUST SEAT FOUR OTHER KNIGHTS."
PRINT "TO JOUST, YOU PICK AN AIMING POINT FOR THE LANCE,"
PRINT "AND THEN ONE OF FROM 3 TO 6 DIFFERENT POSSIBLE DEFENSE POSITIONS.
"THE AIMING POINTS ARE:"
"1- HELM"
"2- UPPER LEFT (OF SHIELD)"
"3- UPPER MIDDLE"
"4- UPPER RIGHT"
"5- L0UER LEFT"
"6- L0UER MIDDLE"
"7- L0UER RI8HT"
"8- BASE OF SHIELD"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT "IF YOU BREAK A LANCE OR LOSE A HELM, YOU UILL BE GIVEN ANOTHER.
PRINT "GOOD LUCK, SIR!"
PRINT
FOR A * 1 TO 4
ON A 60T0 800, ?50, 1100, 1250
REM OFF YOU GO TO THE FOUR JOUSTS.
REM
PRINT "THIS IS YOUR FIRST JOUST. YOU ARE UP AG INST THE GOLD KNIGHT."
GOTO 1400
PRINT "THIS IS YOUR SECOND JOUST. YOUR OPPONENT IS THE SILVER KNIGHT."
GOTO 1400
PRINT "YOU ARE DOING UELL! YOUR THIRD JOUST IS AGAINST THE RED KNIGHT.
GOTO 1400
PRINT "THIS IS YOUR FINAL TEST!! IF YOU UIN THIS ONE THE PRINCESS"
PRINT "IS YOURS!!! THIS FIGHT IS A6AINST THE FIERCE BLACK KNI6HT! ! ! !"
INPUT "YOUR AIMIN6 P0INT(1-8)";B
IF B <1 OR B>8 THEN 1400
PRINT "YOU MAY USE ONE OF THESE DEFENSES:"
ON B GOTO 1550, 1450, 1750, 1850, 1550, 1750, 1550, 1950
PRINT " 4-STEADY SEAT, 5-SHIELD HI6H, 4-SHIELD LOU."
60T0 2000
PRINT " 3-LEFT LEAN, 4-STEADY SEAT, 5-SHIELD HIGH, 4-SHIELD LOU."
GOTO 2000
PRINT " 1-L0UER HELM, 2-RIBHT LEAN, 3-LEFT LEAN, 4-STEADY SEAT, "
PRINT " S-SHIELD HIGH, 4-SHIELD LOU. "
GOTO 2000
PRINT " 2-RI6HT LEAN, 4-STEADY SEAT, 5-SHIELD HIGH, 4-SHIELD LOU."
60T0 2000
PRINT " 1-L0UER HELM, 4-STEADY SEAT, 5-SHIELD HIGH, 6-SHIELD LOU."
INPUT "UHAT IS YOUR CHOICE"; C
D = IHT(RND( 1 >*8) + -1
ON D GOTO 2150, 2200, 2250, 2300, 2350, 2400, 2450, 2500
ON C GOTO 2400, 2600, 2600, 2700, 2800, 2600
ON C GOTO 2800, 2750, 2600, 2750, 2750, 2600
ON C GOTO 2850, 2800, 2650, 2750, 2?50, 2900
ON C 60T0 2650, 2600, 2750, 2650, 2650, 2800
ON C GOTO 2750, 2?50, 2600, 275C, 2600, 2750
ON C GOTO 2750, 2650, 2750, 2950, 2850, 2750
ON C GOTO 2650, 2600, 2?50, 2650, 2650, 2650
ON C GOTO 2750, 2650, 2850, 2750, 2850, 2750
75
2600 PRINT "HE HISSED Y0U!":S=0:GOTO 3000
2450 PRINT "HE HIT YOUR SHIELD BUT IT GLANCED OFF.":S=0:B0TO 3000
2700 PRINT "HE KNOCKED OFF YOUR HELH!":S=0:GOT0 3000
2750 PRINT "HE BROKE HIS LANCE. ":S=0: GOTO 3000
2800 PRINT "HE HAS UNSEATED YOUITHUD! >":S=5:G0TO 3000
2850 PRINT "HE HAS BROKEN HIS LANCE, INJURED AND UNSEATED YOU (OUCH!)"
2855 S=5:G0T0 3000
2700 PRINT "HE HAS INJURED AND UNSEATED YOU (CRASH! >":S-5:G0T0 3000
2950 PRINT "HE HAS BROKEN HIS LANCE AND UNSEATED YOU (CLANG ! )":S-5
3000 E = INT(RND<1>*6> + 1
3050 ON D GOTO 3100,3150, 3200, 3250, 3100, 3200,3100, 3300
3100 IF E<4 THEN 3000 ELSE 3350
3150 IF E<3 THEN 3000 ELSE 3330
3200 60T0 3350
3250 IF E=1 OR E=3 THEN 3000 ELSE 3350
3300 IF E = 2 OR E = 3 THEN 3000
3350 ON E GOTO 3400, 3450, 3500, 3550, 3600, 3650
3400 ON B GOTO 3700, 3900, 3950, 3750, 3850, 4050, 3750, 3850
3450 ON B GOTO 3700, 3850, 3900, 3700, 4050, 3750, 3700, 3750
3500 ON B GOTO 3700, 3700, 3750, 3850, 3700, 3850, 4050, 3900
3550 ON B GOTO 3800, 3850, 3850, 3750, 3850, 4050, 3750, 3850
3600 ON B GOTO 3900, 3850, 4050, 3750, 3700, 3750, 3750, 3950
3650 ON B GOTO 3700, 3700, 4000, 3900, 3850, 3850, 3750, 3850
3700 PRINT "YOU HISSED HIH (HISS! >":T=0:GOTO 4100
3750 PRINT "YOU HIT HIS SHIELD BUT GLANCED OFF.":T=0:GOTO 41O0
3800 PRINT "YOU KNOCKED OFF HIS HELH! (CHEERS! )":T=0:GOTO 4100
3850 PRINT "YOU BROKE YOUR LANCE (CRACK. . . )":T=0:GOTQ 4100
3900 PRINT "YOU UNSEATED HIH (LOUD CHEERS AND HUZZAHS! ! )":T=5:G0T0 4100
3950 PRINT "YOU BROKE YOUR LANCE, BUT UNSEATED AND INJURED YOUR FOE."
3955 T=5:60T0 4100
4000 PRINT "YOU INJURED AND UNSEATED YOUR OPPONENT . " : T=5 sGOTO 4100
4050 PRINT "YOU BROKE YOUR LANCE BUT UNSEATED YOUR OPPONENT . " ; T=5 : GOTO 41O0
4100 IF S = T AND S = THEN 4450
4150 IF S = T GOTO 4400
4200 IF S<T GOTO 4300
4250 IF S>T GOTO 4350
4300 PRINT "YOU HAVE UON THIS JOUST . " :PRINT :GOTO 4320
4320 NEXT A
4330 GOTO 4550
4350 PRINT "TOO DAD, YOU LOST. HOPE YOUR INSURANCE UAS PAID UP.":GOTO 4500
4400 PRINT "TOO BAD, YOU BOTH LOST. AT LEAST YOUR HONOR IS INTACT. ":GOTO 4500
4450 PRINT "YOU ARE NOU READY TO TRY AGAIN. "iGOTO 1400
4500 PRINT "SORRY, BETTER LUCK NEXT JOUST. ":GOT0 9999
4550 PRINT "HOORAY! YOU ARE THE U INNER. HERE CONES THE BRIDE!"
9999 END
Ok
RUN
JOUST
CREATIVE C0HPUTIN6
HORRISTOUN, NEU JERSEY
UHAT IS YOUR NAME, PLEASE? STEVE
SIR STEVE, YOU ARE A MEDIEVAL KNIGHT IN A JOUSTING TOURNAHENT.
THE PRIZE TO THE WINNER IS THE PRINCESS' HAND IN HARRIAGE.
TO UIN, YOU HUST BEAT FOUR OTHER KNIGHTS.
TO JOUST, YOU PICK AN AIMING POINT FOR THE LANCE,
AND THEN ONE OF FROH 3 TO 6 DIFFERENT POSSIBLE DEFENSE POSITIONS.
THE AIMING POINTS ARE:
1- HELH
2- UPPER LEFT (OF SHIELD)
3- UPPER HIDDLE
4- UPPER RI6HT
5- LOUER LEFT
6- LOUER MIDDLE
7- LOUER RIGHT
8- BASE OF SHIELD
IF YOU BREAK A LANCE OR LOSE A HELM, YOU UILL BE GIVEN ANOTHER.
GOOD LUCK, SIR !
THIS IS YOUR FIRST JOUST. YOU ARE UP AGINST THE GOLD KNIGHT.
YOUR AIMING POINTd-8)? 4
YOU MAY USE ONE OF THESE DEFENSES:
2-RIGHT LEAN, 4-STEADY SEAT, 5-SHIELD HIGH, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 2
HE MISSED YOU!
YOU UNSEATED HIH (LOUD CHEERS AND HUZZAHS!!)
YOU HAVE UON THIS JOUST.
THIS IS YOUR SECOND JOUST. YOUR OPPONENT IS THE SILVER KNIGHT.
YOUR AIMING POINTU-8)? 5
YOU HAY USE ONE OF THESE DEFENSES:
4-STEADY SEAT, 5-SHIELD HI6H, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 4
HE BROKE HIS LANCE.
YOU BROKE YOUR LANCE ( CRACK. .. )
YOU ARE NOU READY TO TRY AGAIN.
YOUR AIMING POINTU-8)? 2
YOU NAY USE ONE OF THESE DEFENSES:
3-LEFT LEAN, 4-STEADY SEAT, 5-SHIELD HIGH, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 3
HE BROKE HIS LANCE.
YOU HISSED HIM (HISS!)
YOU ARE NOU READY TO TRY AGAIN.
YOUR AIMING P0INT<1-8>? 3
YOU MAY USE ONE OF THESE DEFENSES:
1-LOUER HELM, 2-RIGHT LEAN, 3-LEFT LEAN, 4-STEADY SEAT,
5-SHIELD HI6H, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 4
HE KNOCKED OFF YOUR HELH!
YOU BROKE YOUR LANCE (CRACK. . . )
YOU ARE NOU READY TO TRY AGAIN.
YOUR AIMING P0INT<1-8>? 3
YOU MAY USE ONE OF THESE DEFENSES:
1-LOUER HELM, 2-RIGHT LEAN, 3-LEFT LEAN, 4-STEADY SEAT,
5-SHIELD HIGH, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 4
HE HIT YOUR SHIELD BUT IT GLANCED OFF.
YOU BROKE YOUR LANCE BUT UNSEATED YOUR OPPONENT.
YOU HAVE UON THIS JOUST.
YOU ARE DOING UELL! YOUR THIRD JOUST IS AGAINST THE RED KNIGHT.
YOUR AIMING P0INTI1-8)? 8
YOU MAY USE ONE OF THESE DEFENSES:
1-LOUER HELM, 4-STEADY SEAT, 5-SHIELD HI6H, 6-SHIELD LOU.
UHAT IS YOUR CHOICE? 1
HE HAS UNSEATED YOUUHUD!)
YOU BROKE YOUR LANCE (CRACK. .. )
TOO BAD, YOU LOST. HOPE YOUR INSURANCE UAS PAID UP.
SORRY, BETTER LUCK NEXT JOUST.
Ok
76
Jumping Balls
Jumping balls is a solitaire board
game played with a board having nine
holes in a line that can be filled with
four white balls to the right end and
four black balls to the left end. Without
a board, it can be played with coins or
chips. The object of the game is to
reverse the position of the balls (or
other objects) from one end of the
board to the other.
You may make a move by moving a
ball to the immediately adjacent empty
hole or by jumping one other ball. You
may not jump two or more balls. Holes
are numbered from left to right. At the
beginning of the game, hole number
five is free. Consequently, a legitimate
first move would be six to five, four to
JUMPING BALLS
CREATIVE COMPUTING
HORRISTOUH, NEU JERSEY
INSTRUCTIONS' YES
IN THIS BANE YOU ARE GIVEN 8 BALLS ON A 9 HOLE
BOARD. THE OBJECT IS TO REVERSE THE ORDER OF THE BALLS
THE 'S' ARE SILVER BALLS AND THE '6' ARE GOLD.
YOU HUST BET THE SILVER TO UHERE THE SOLD ARE AND
THE 60LD TO UHERE THE SILVER ARE. THE SPACE IS
A PERIOD ON THE BOARD.
RUN
five, three to five, which would be a
jump, or seven to five, another jump.
The computer does not rank your
playing ability but, as a hint, you ought
to be able to complete the game in
fewer moves than are shown in our
sample run.
The original author of this game was
Anthony Rizzolo.
LIST
10 PRINT TAB(22>;"JUHPIN8 BALLS*
20 PRINT TA8(20);"CREATIVE COMPUTING*
30 PRINT TAB(18);"H0RRISTOUN, NEU JERSEY*
40 PRINT :PRINT: PRINT
1040 BIN 0(9,1)
1050 PRINT "INSTRUCTIONS";
1060 INPUT AO
1070 If LEFT»(A»,1>="N* THEN 1150
1080 PRINT " IN THIS OAHE YOU ARE GIVEN 8 BALLS ON A 9 HOLE"
1090 PRINT "BOARD. THE OBJECT IS TO REVERSE THE ORDER OF THE BALLS"
1100 PRINT "THE 'S' ARE SILVER BALLS AND THE '6' ARE GOLD."
1110 PRINT "YOU HUST BET THE SILVER TO UHERE THE GOLD ARE AND"
1120 PRINT "THE GOLD TO UHERE THE SILVER ARE. THE SPACE IS"
1125 PRINT *A PERIOD ON THE BOARD."
1130 PRINT "GOOD LUCK!! HERE IS THE BOARD:"
1140 S«0
1150 FOR X«1 TO 4
1U0 LET 8(X,1>«1
1170 NEXT X
1180 LET 0(5,1 >=0
1190 FOR X=6 TO 9
1200 LET 8<X,1>=2
1210 NEXT X
GOOD LUCK! !
HERE
IS THE BOARD:
1220
LET At«".S6"
S S S S . 6
HOVE?
6,5
1230
FOR X«1 TO 9
S S S S G .
G
G
HOVE?
4,*
1240 PRINT NID$(At,Q(X,1>+1.1):
S S S . 6 5
HOVE?
5,4
1250
PRINT • ";
S S S 6 . S
HOVE?
7,5
1260
NEXT X
S S S 6 6 S
HOVE?
6,7
1265
S=S»1
S S S 6 6 .
HOVE?
5,6
1270
PRINT "MOVE";
S S S G . 6
6
G
HOVE?
6,5
1280
INPUT H,H1
S S S G 6 .
HOVE?
5,6
1290
IF H<=9 AND H>=1 AND N1<=9 AND H1>=1 THEN 1320
S S S 6 . G
HOVE?
3,5
1300
PRINT "ILLEGAL HOVE"
S S . S G
MOVE?
4,3
1310
GOTO 1270
S S 6 . S G
HOVE?
6,4
1320
REH: CHECK FOR LEGAL HOVE
S S G G S .
s
G
HOVE?
8,6
1330
IF M*1»"1 OR H-1«H1 THEN 1430
S S G 6 S 6
HOVE?
7,8
1340
REH: SUBROUTINE FOR CHECKIN6 JUHPS
S S 6 6 S 6
HOVE?
5,6
1350
IF H=9 THEN 1390
SPACE 6 IS OCCUPIED
1360
IF H«1 THEN 1410
HOVE? 5,7
1370
IF 0(H+1,1>»0 OR 8(H-1,I)°0 THEN 1300
S S G 6 . G
HOVE?
4,5
1380
60T0 1420
S S 6 . 6 6
s
HOVE?
2,4
1390
IF 8(H-1,1)>0 THEN 1300
S . G S G 6
HOVE?
3,2
1400
SOTO 1420
S 6 . S G G
G
HOVE?
1,3
1410
IF Q(H+1,1)=0 THEN 1300
. 6 S S 6 G
HOVE?
2,1
1420
IF H+20H1 AHD N-20H1 THEN 1300
G . S S G 6
HOVE?
3,2
1430
IF 0(H,1)O0 THEN 1460
G S . S 6 6
HOVE?
5,3
1440
PRINT "N0THIN6 AT SPACE";H
G S G S . 6
MOVE?
6,5
1450
60T0 1270
G S G S G .
G
HOVE?
7,6
1460
IF 0<H1,1>»0 THEN 1490
G S G S G S
HOVE?
?,7
1470
PRINT "SPACE";Hi;"IS OCCUPIED"
G S 6 S 6 S
HOVE?
8,9
1480
GOTO 1270
G S 6 S G S
HOVE?
6,3
1490
LET Q(H1,1)=0(H,1)
G S G S 6 .
HOVE?
4,6
1500
LET 0(H,1)=0
G 5 G . 6 S
s
MOVE?
2,4
1510
X9=0(1,1)+0(2,1)+0(3,1)+0(4,1)
G . G S 6 S
MOVE?
3,2
1512
Y9=0(6,1HO(7,mO<8,1>+0(9,1)
6 G . S G S
HOVE?
5,3
1514
IF X9=8 AND Y9=4 THEN 1530
G 6 G S . S
MOVE?
7,5
1520
GOTO 1230
G G G S G S
MOVE?
6,7
1530
PRINT "TOU UIN!!!"
G G 6 S 6 .
s
HOVE?
4,6
1535
PRINT "YOU COHPLETED THE OAHE IN "JS;" MOVES!!!!"
G 6 6 . G S
MOVE?
5,4
1540
PRINT "AGAIN";
YOU UIN! ! !
1550
INPUT A*
YOU COHPLETED THE GAME IN
AGAIN? NO
Ok
34 HOVES!!!!
1560 IF LEFTI(A»,1)'
1570 END
Ok
"T* THEN 1130
77
Keno
W) hd ® ® ® @ @ 6§ ^1 m
Keno is strictly an American inven-
tion that originated in the casinos in
Nevada, perhaps in Reno. During the
game, twenty numbers from one to
eighty are selected at random. Prior to
each game at the casino, the player
may choose from one to fifteen
numbers, or "spots" he thinks will be
selected during the game. The player
enters, or "marks," the desired spots
and places a bet. At the end of each
game, the spots marked by the player
are compared with the twenty numbers
and the payoff is computed according-
ly. Keno seems to have a high attrac-
tion in Las Vegas because the betting is
very simple and the maximum payoff is
very high ($25,000). Nevertheless, tfie
probability of winning is extremely low;
indeed, Keno returns more to the
house than virtually any other game.
In this particular computersized
version of Keno, there is only one
player and he has the option only of
betting eight different spots. In Nevada
the normal bet is in multiples of 60<P;
however, in this game the bet will be
$1.20 with no multiples possible. The
payoff with eight spots marked is as
follows:
Spots Payoff
5 $10.00
6 $100.00
7 $2,200.00
8 $25,000.00
There is no payoff for zero, one, two,
three, or four correct.
This version of Keno was originally
written by Vincent Fazio.
CREATIVE COMPUTING, MORRISTOUN, NEU JERSEY
KENO IS PLAYED IN NANY CASINOS IN LAS VESAS.
PLAY KENO BY COHPUTER. ONE VARIATION OF THE SAME, UTILIZES
THE RANDOM NUMBER 6ENERAT0R.
THE PLAYER CHOOSES 8 DIFFERENT NUMBERS FROM 1 TO 80
INCLUSIVE, AND BETS 11.20. THE COMPUTER UILL SELECT
30 NUMBERS AT RANDOM AND UILL ELIMINATE DUPLICATES WHICH
HAY OCCUR . ANOTHER NUMBER UILL BE INSERTED IN ITS PLACE
SO THAT THE COMPUTER UILL OUTPUT 20 DIFFERENT NUMBERS.
HERE UE 80!!!
THE COMPUTER UILL OUTPUT A ? MARK. TYPE A NUMBER FROM
1 TO 80, INCLUSIVE, AND PRESS THE RETURN KEY. REPEAT THIS
PROCESS UNTIL THE T HARK IS NO LONGER SHOUN.
? 1
? 23
? 24
? 35
? 46
? 77
? 45
? 2
THE COMPUTER UILL SELECT 20 NUMBERS AT RANDOM. THE BELL
TONE INDICATES IT IS IN THE PROCESS OF SELECT IN6 THE NUMBERS.
YOUR NUMBERS ARE:
I 23 24 35 44 77
65 2
THE COHPUTER HAS SELECTED THE FOLLOUING NUHBERS:
33 5 74 6? 44 7 45 48 80 34 45 50 24 25 38 77 4 4?
15 51
THE PROGRAM UILL COMPARE YOUR NUMBERS UITH THE
NUMBERS THE COMPUTER HAS SELECTED.
LISTEN FOR THE BELL TONE
CORRECT GUESS BY YOU.
YOU HAVE GUESSED THE FOLLOUED NUMBERS
77
YOU CAUGHT t NUMBERS OUT OF 8—
NOT ENOUGH CORRECT GUESSES— '80 SOLLY'
EACH RING INDICATES ANOTHER
NO PAYOFK.
78
DO YOU UANT TO PLAY KENO AGAIN?
TYPE 'YES' OR 'NO'
? YES
HERE UE GO!!!
THE COMPUTER UIU OUTPUT A ? MARK. TYPE A NUMBER FROM
1 TO 80, INCLUSIVE, AND PRESS THE RETURN KEY. REPEAT THIS
PROCESS UNTIL THE ? MARK IS NO LONGER SHOUN.
? 23
? 45
? 7
? 25
? 44
? 75
? 1
? 55
THE COMPUTER UILL SELECT 20 NUMBERS AT RANDOM. THE BELL
TONE INDICATES IT IS IN THE PROCESS OF SELECTING THE NUMBERS.
YOUR NUMBERS ARE:
23 45 7 25 44 75 1 55
THE COHPUTER HAS SELECTED THE FOLLOUING NUMBERS:
45 24 12 38 9 18 23 4? 12 8 4 51 44 73 71 14 35 7?
41 58
THE PROGRAM UILL COMPARE YOUR NUMBERS UITH THE
NUMBERS THE COMPUTER HAS SELECTED.
LISTEN FOR THE BELL TONE— EACH RING INDICATES ANOTHER
CORRECT GUESS BY YOU.
YOU HAVE GUESSED THE FOLLOUED NUMBERS:
23
44
YOU CAUGHT 2 NUMBERS OUT OF 8—
NOT ENOUGH CORRECT GUESSES — 'SO SOLLY', NO PAYOFF .
DO YOU UANT TO PLAY KENO AGAIN?
TYPE 'YES' OR 'NO"
? NO
THAT'S ALL FOR NOU. PLAY KENO AGAIN, BE SEEING YOU.
OK
LIST
1 PRINT TAB(34)"KEN0"
2 PRINT TAB(15>" CREATIVE COMPUTING, HORRISTOUN, NEU JERSEY"
3 DIM N(21),M(23),A(8)
9 PRINT:PRINT:PRINT
10 PRINT"KENO IS PLAYED IN MANY CASINOS IN LAS VEGAS."
13 PRINT "PLAY KENO BY COMPUTER. ONE VARIATION OF THE GAME, UTILIZES"
14 PRINT"THE RANDOM NUMBER GENERATOR."
1? PRINT
20 PRINT"THE PLAYER CHOOSES 8 DIFFERENT NUMBERS FROM 1 TO 80"
23 PRINT-INCLUSIVE, AND BETS tl .20. THE COMPUTER UILL SELECT"
24 PRINT"20 NUMBERS AT RANDOM AND UILL ELIMINATE DUPLICATES UHICH"
2? PRINT"MAY OCCUR . ANOTHER NUMBER UILL BE INSERTED IN ITS PLACE"
32 PRINT-SO THAT THE COMPUTER UILL OUTPUT 20 DIFFERENT NUMBERS."
35 PRINT:PRINT
38 PRINT:PRINT:PRINT "HERE UE GO!!!"
40 PRINT"THE COMPUTER UILL OUTPUT A ? MARK. TYPE A NUMBER FROM "
43 PRINT'M TO 80, INCLUSIVE, AND PRESS THE RETURN KEY. REPEAT THIS"
44 PRINT"PROCESS UNTIL THE ? MARK IS NO LONGER SHOUN."
48 FOR 1=1 TO 8
50 INPUT AID
51 IF A(I)>80 THEN 54
53 IF Ad)=0 THEN 54
54 IF A(I)<0 THEN 54
55 GOTO 57
54 PRINT"TYPE A NUMBER FROM 1 TO 80 , INCLUSIVE, PLEASE.": GOTO 50
57 NEXT I
58 C=0:FOR K=1 T07
59 FOR J=K TO 7
40 X=A(K):Y=A(J+1>
41 IF XOY THEN 72
62 C = C+1
43 PRINT-A DUPLICATE NUMBER HAS BEEN DETECTED IN YOUR INPUT."
44 PRINT-TYPE ANOTHER NUMBER, PLEASE. ": INPUT Y
45 IF Y=0 THEN 70
44 IF Y>80 THEN 70
47 IF Y<0 THEN 70
48 A(J+1)=Y
4? GOTO 41
70 PRINT "TYPE A NUMBER FROM 1 TO 80, INCLUSIVE, PLEASE."
71 GOTO 44
72 NEXT J
73 NEXT K :PRINT:PRINT
75 IF C=0 THEN 88
74 GOTO 58
88 PRINT" THE COMPUTER UILL SELECT 20 NUMBERS AT RANDOM. THE BELL "
91 PRINT-TONE INDICATES IT IS IN THE PROCESS OF SELECTING THE NUMBERS. "
100 FOR L=1 TO 20
103 N(L)=INT(80*RND(80)+1)
104 M(L>=N(L>
109 NEXT L
110 L=21
112 FOR K=1 TO 20
115 FOR J=K TO L-1
118 X=M(K)
121 Y=M(J+1>
124 IF XOY THEN 139
130 M(J+1)=INT(80*RND(1)+1)
133 Y=M(J*1>
134 GOTO 124
139 PRINT CHR$(7);
142 NEXT J
145 NEXT K
147 PRINT:PRINT
148 PRINT "YOUR NUMBERS ARE:"
151 FOR 1=1 TO 8
154 PRINT Ad);
157 NEXT I: PRINT:PRINT:PRINT
140 PRINT" THE COMPUTER HAS SELECTED THE FOLLOUING NUMBERS : "
143 FOR L=1 TO 20
147 PRINT MIL);
170 NEXT L:PRINT:PRINT
173 PRINTHHE PROGRAM UILL COMPARE YOUR NUMBERS UITH THE "
174 PRINT"NUMBERS THE COMPUTER HAS SELECTED."
179 PRINT:PRINT
182 PRINT"LISTEN FOR THE BELL TONE— EACH RING INDICATES ANOTHER"
185 PRINT "CORRECT GUESS BY YOU.":
188 PRINT "YOU HAVE GUESSED THE FOLLOUED NUMBERS:"
191 G=0
194 1=1
197 FOR J=1 TO 20
200 X=A(I)
203 Y=M(J)
204 IF X=Y THEN 213
209 NEXT J
210 GOTO 225
213 PRINT CHRJ(7);
214 FOR VI =1 TO 3974:NEXT V1
219 PRINT Ad);
222 6=6+1
225 1=1+1 :PRINT: IF I<>8 THEN 197
228 IF G<5 THEN 242
231 IF G=5 THEN 241
234 IF G=4 THEN 247
237 IF G=7 THEN 273
240 IF G=8 THEN 279
242 PRINT "YOU CAUGHT" ;6; "NUHBERS OUT OF 8~"
243 PRINT "NOT ENOUGH CORRECT GUESSES — 'SO SOLLY', NO PAYOFF."
245 PRINT.'PRINT
244 PRINT "DO YOU UANT TO PLAY KENO AGAIN?"
249 PRINT "TYPE 'YES'' OR 'NO'"
250 C=0
251 INPUT X$
252 IF X»= "YES" THEN 38
253 IF X»="NO" THEN 299
254 C=Ct1
255 IF C=3 THEN 299
254 PRINT "TYPE 'YES' OR 'NO'"
257 GOTO 251
258 IF X$="NO" THEN 299
259 PRINT "TYPE YES OR NO PLEASE!!"
241 PRINT "YOU CAUGHT";G; "NUMBERS OUT OF 8--Y0U UIN *10.00"
244 PRINT:PRINT:GOTO 244
247 PRINT "YOU CAUGHT";G; "NUMBERS OUT OF 8--Y0U UIN »100.00"
270 PRINT:PRINT:G0TO 244
273 PRINT "YOU CAUGHT ";G;"NUHBERS OUT OF 8— YOU UIN $2200.00"
274 PRINT:PRINT:G0T0244
279 PRINT "YOU CAUGHT ";G;"NUHBERS OUT OF 8--Y0U UIN »25000.00"
282 PRINT "8 OUT OF 8 DOES NOT OCCUR TOO OFTEN, LUCKY."
285 PRINT:PRINT:GOTO 244
299 PRINT "THAT'S ALL FOR NOU. PLAY KENO AGAIN, BE SEEING YOU."
300 END
OK
79
L Game
The L-game is a 2-player strategic
game played on a 4x4 grid. It was
originally devised by Edward de Bono
and appeared in the book, "The Five-
Day Course in Thinking." In the game,
each player has one 'L' which covers
four squares (3 high x 2 across). The
two L's are labelled differently to avoid
confusion. There are also two neutral
'boxes' each the size of a single square
on the grid. To play the game with the
computer the grid positions must be
numbered as follows:
Play always begins with all the pieces
on the board in this position:
9
10
11
12
13
14
15
16
HI
12
13
-
Either player may move first. To
move, one must pick up his Land move
it to a different position on the board.
The player may flip his L over, rotate it
90 degrees, etc. The L must not cover
any other pieces or hang off the edge of
the board. If a player is unable to move
his L, or simply cannot find a move, he
loses the game. Once the player has
successfully moved his L to a new
position on the board, he then has the
option of moving the neutral boxes. He
may move the boxes only to unoc-
cupied positions and he has the option
of moving one box, both boxes, or
leaving the boxes where they are. By
using the boxes effectively, one can
block off moves for the other player's L
and possibly pin him. After the player
moves the boxes (or decides not to
move one or both) it is the other
player's turn and play continues in the
same manner.
The computer version of the L Game
was written by Bill Gardner.
RUN
L-6ANE
CREATIVE COHPUTING
NORRI5T0IW, NEU JERSEY
INSTRUCTIONS? YES
L-gane is a sinple strategic sane played on a 4x4
grid by two opposing players, in this case between you
and the conputer. The grid is nunbered as follows:
sssassssssesssss
: in 2:: 3i: 4:
===BcsseecsesB=s
ssBsssssesssaess
I Si: on 7n 81
-st sestsss&sssss
asessssssssssssa
: 9::10::11::12:
SBSsssBsssesass:
:13::14::15::U:
SISSSKBS8S3SSSS
The gaite is played with four pieces; both
you and the cotiputer have one 'L', and there are
two 'BOXES' which are used by both players,
play always begins with the pieces on the board
in the following position:
****////////"==
» *////////: 4:
****////////""
""////0000""
: 5:////0000: 8:
""////0000""
""////0000""
: ?:////0000:12:
""////0000""
""00000000****
: 13:00000000* *
""00000000*4**
The object of the game is simply to
position one's L and the neutral boxes
to pin the other player's L. Each move is
a mixture of offense and defense, for
one is not only trying to pin the other
player's L, but also trying to prevent his
own L from being pinned.
The object of the gane is to position your own
I and the boxes to prevent the conputer fro« noving
its L. Of course, it is trying to do the sane to you!
To Move, you nust sinply enter the four coordinates
where you want to place your L. It nust renain on the
board and oust not cover any other pieces. You nust
neve your I! If you cannot find a new position
for your L, then the conputer has effectively pinned your
L and it wins the gane.
• Assuning you have successfully Moved your L, you nou
have the option of Moving the boxes. You nay Move one,
two, or none of the boxes by sinply entering the coordinates
where you want to put then. To leave a box'where it is,
enter its present position.
After you Move the boxes, it is up to the coMputer
to find- a Move for its I and play continues in the sane
Manner. ReneMber that you Must not only try to pin the
computer's L but also keep your own I fron being pinned.
Also, it is easier to play the gane with your own board
than the conputer printout. To resign, enter 0,0,0,0
in place of your nove. GOOD LUCK!
(conputer is /, you are 0)
BOARD PRINTOUT? YES
DO YOU UISH TO START? NO
COMPUTER MOVES TO 2 6 10 1
H0VES BOXES TO 12 AND 14
""////""""
: It////: 3i: 4:
=»"////=«""=
""////0000""
: 5:////0000: 8:
""////00O0""
////////0000****
////////D0O0* *
////////0000****
""00000000****
: 13:00000000* t
=="0000000O*«*»
80
YOUR MOVE FOR L? 4,3,7,11
YOUR NOVE FOR THE BOXES? 1,14
O.K.
****////00000000
* *////oooooooo
****////000OO0O0
""////0000""
: 5:////0000: 8:
""////00Q0"==
////////C000""
////////0000:12:
////////0000""
::::«)•<:»:::::
:13:« *:15::16:
""****sssss=ss
YOUR HOVE FOR L? 3,7,11,12
YOUR HOVE FOR THE BOXES? 2,10
O.K.
====****0000====
: 1:* *0000: 4:
====****0000====
////====0000====
////: 6:0000: 8:
////====0000====
////****00000000
////* *0O0OO0OO
////****00000000
////////========
////////:15::16:
////////========
COMPUTER MOVES TO 1 2
HOVES BOXES TO
////////////====
llllllllllll: 4:
////////////====
====****////====
: 5:* *////: 8:
====****////====
====****O0DO====
: ?:* *0000:12:
====***»oooo====
000000000000====
000000000000:16:
ooooooooooou====
3 7
6 AND 10
YOUR MOVE FOR L? 5,9,10,11
YOUR HOVE FOR THE BOXES? 2,7
O.K.
====****////////
: 1:* *////////
====****/ II l/lll
0000====****////
0000: 6:* *////
0000====****////
000000000000////
000000000000////
OOOOOOOOOOOD////
:13::14::15::16:
COMPUTER MOVES TO 5 9 13 6
MOVES BOXES TO 10 AND
========0000====
: 1:: 2:0000: 4:
========0000====
////////OOOO****
////////OOOO* *
////////OOOO****
////****00000000
////* *000OO0O0
////****00000000
////============
////:14::15::16:
////============
YOUR HOVE FOR L? 4,8,11,12
YOUR MOVE FOR THE BOXES? 6,14
O.K.
////////////oooa
////////////OOOO
////////////OOOO
====****////0000
: 5:* *////0000
====****////0000
========00000000
: ?:: 10:00000000
========00000000
:13:* *:15::16:
COMPUTER MOVES TO 8 12 16
MOVES BOXES TO 6 ANO
: 1:: 2:
OOOO********////
OOOO* ** *////
OOOO********////
OOOOOOOOOOOO////
000000000000////
OOOOOOOOOOOO////
========////////
:13::14:////////
.========////////
YOUR MOVE FOR L? 7,11,15,16
YOUR HOVE FOR THE BOXES? 10,3
O.K.
========»***====
: 1:: 2:* *: 4:
////////0000====
////////OOOO: 8:
////////0000====
////****0000====
////* *0000:12:
////****0000====
////====00OOO00O
////;1 4:00000000
////====00000000
COMPUTER MOVES TO 1 5 9 10
MOVES BOXES TO 6 AND 7
////========0000
////: 2:: 3:0000
////========0000
////********QO0O
1111% ** *0000
////********00OQ
////////oooooooo
////////oooooooo
////////oooooooo
:13::14::15::16:
YOUR HOVE FOR L? 11, 10,?, 13
YOUR MOVE FOR THE BOXES? 3,7
O.K.
========****====
: It: 2:* *: 4:
========»***====
========**»*////
: 5:: 6:* *////
========****////
OOOOOOOOOOOO////
OOOOOOOOOOOO////
OOOOOOOOOOOO////
0000====////////
0000:14:////////
0000====////////
COMPUTER HOVES TO 1 5 9 2
MOVES BOXES TO 6 AND 10
////////========
////////: 3:: 4:
////////========
////****0000====
////* *0000: 8:
////****0000====
////****0000====
////* *0000:12:
////****0000====
========00000000
:13::14:000O0OO0
========00000000
YOUR HOVE FOR L? 11,15,14,13
YOUR MOVE FOR THE BOXES? 6,10
O.K.
YOUR MOVE FOR L? 11,13,12,14
ILLEGAL MOVE FOR L.
YOUR MOVE FOR L? 11,13,14,15
YOUR HOVE FOR THE BOXES? 2,7
O.K.
////****========
////* *: 3:: 4:
////****========
////====****====
////: 6:* *: 8:
////====****====
////////0000====
////////0000:12:
////////0000====
000000000000====
000000000000:16:
000000000000====
COMPUTER MOVES TO 14 15 16
HOVES BOXES TO 6 AND
1 :
4:
====********====
: 5:* ** *: 8:
====********====
OOOOOOOOOOOO////
OOOOOOOOOOOO////
OOOOOOOOOOOO////
OOOO////////////
OOOO////////////
OOOO////////////
YOUR MOVE FOR L? 5,9,10,11
YOUR MOVE FOR THE BOXES? 3,8
O.K.
////////========
////////: 3:: 4:
////////========
////****========
////* *: 7:: 8:
////****========
////****0000====
////* *0000:12:
////****0000==«
000000000000====
000000000000:16:
000000000000====
COMPUTER MOVES TO 4 8 12 3
MOVES BOXES TO 6 AND 7
========////////
: 1:: 2:11111111
========////////
====**«»***♦////
: 5:* ** *////
====****»***////
========0000////
: 9::10:0000////
========0000////
000000000000====
000000000000:16:
000000000000====
========****====
: 1:: 2:* *: 4:
2=======****====
0000========****
OOOO: 6:: 7:* *
0000========****
OOOOOOOOOOOO////
OOOOOOOOOOOO////
OOOOOOOOOOOO////
""llllllllllll
:U:lllllllimi
====////////////
CONGRATULATIONS! YOU HAVE WON.
PLAY AOAIN? NO
81
LIST
10 PRINT TAB<26>;"L-GAHE"
11 PRINT TAB<20);"CREATIVE COMPUTING"
12 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
13 PRINT:PRINTiPRINT
20 DIN C(4),0<4>,T<4),B<16>,N<16>,N<100)
25 PRINT "INSTRUCTIONS";
30 INPUT A$
35 IF LEFTt (A*, 1 )="Y" THEN 3000
40 PRINT "BOARB PRINTOUT";
45 INPUT At
50 IF LEFT»<AJ,1)="N" THEN 45
55 LET F2=0
60 GOTO 70
65 LET F2=1
70 60SUB 100
80 GOTO 210
100 REN INITIALIZE DATA
101 REN B1,B2 = POSITIONS OF BOXES
102 REN C(1,2,3,4) = COHPUTER'S POSITION (L)
103 REN 0(1,2,3,4) = OPPONENT'S POSITION (L)
104 REN T(1,2,3,4) = 6,7,10,11 = CENTER POSITIONS
105 REN B(1,...16) = BOARD:
106 REN B(X)=0 EMPTY
107 REN B(X>=1 OPPONENT'S L
108 REM B(X>=2 COHPUTER'S L
10? REN B(X)=3 BOX
115 RESTORE
120 BATA 1,16,2,7,6,6,11,7,10,15,10,3,14,11
130 DATA 3,2,2,0,0,2,1,0,0,2,1,0,0,1,1,3
140 REAB B1,B2
150 FOR X=1 TO 4
160 REAB C(X),0(X),T(X)
170 NEXT X
180 FOR X=1 TO 16
190 READ B(X)
200 NEXT X
205 RETURN
210 PRINT "DO YOU UISH TO START";
215 INPUT A*
220 IF LEFT*(A$,1>="N" THEN 500
230 REN OPPONENT'S HOVE
235 GOSUB 2270
240 PRINT
245 PRINT "YOUR MOVE FOR L";
250 INPUT D(1),D(2),D(3),D(4)
255 IF ABS(D(1))+ABS(D(2))+ABS(D(3))tAB5(D(4))=0 THEN 1280
260 REH BUBBLE SORT
265 FOR X=1 TO 4
270 FOR Y=2 TO 4
275 IF D(Y)>D(Y-1I THEN 295
280 LET Z=0<Y)
285 LET D(Y)«D(Y-1)
290 LET D(Y-1)=Z
295 NEXT Y
300 NEXT X
305 REM CHECK LEGALITY
310 FOR X=1 TO 4
315 LET N(X)=D(X)
320 NEXT X
325 LET N1=4
330 LET F1=0
335 GOSUB 1800
340 IF N1<>4 THEN 1220
345 FOR X=1 TO 4
350 IF B(H(X))>1 THEN 1220
355 NEXT X
360 FOR X=1 TO 4
365 LET B(0(X))=0
370 NEXT X
375 FOR X=1 TO 4
380 LET B(H(X))=1
385 LET 0(X)=H(X)
390 NEXT X
3?5 LET B(B1)=0
400 LET B(B2)=0
405 PRINT "YOUR HOVE FOR THE BOXES";
410 INPUT X,Y
415 IF ABS(X)+ABS(Y)OX+Y THEN 1250
416 IF X=Y THEN 1250
420 IF B(X)+B(Y)>0 THEN 1250
430 LET B1=X
440 LET B2=Y
450 LET B(B1)=3
460 LET B(B2)=3
470 PRINT "O.K."
475 GOSUB 2270
480 REH COHPUTER'S MOVE
490 REN REHOVE C(1-4) FROM BOARD
500 FOR X=1 TO 4
510 LET B(C(X))=0
520 NEXT X
530 GOSUB 1420
540 LET F1=1
550 LET N1=Z
560 GOSUB 1800
570 IF H1=0 THEN 1300
580 REM FIND HOVE WITH BEST CENTER COVERAGE
585 GOSUB 1370
590 FOR E=0 TO N1-4 STEP 4
400 FOR F=1 TO 4
610 FOR G=1 TO 4
620 IF M(E+F)OT(G) THEN 640
630 LET N(E/4*1)=N(E/4+1)+1
440 NEXT 6
450 NEXT F
460 NEXT E
670 GOSUB 1500
680 REH PUT HOVE IN C(1-4)
490 LET Y=(Z-1)*4
700 FOR X=1 TO 4
710 LET C(X)=H(X+Y)
720 LET B(C(X))=2
730 NEXT X
740 PRINT
750 print -cohputer moves to ";cu>;" ";c(2); u ";c<3>;" ";c<4>
760 REH FIND HOVES FOR BOXES
765 REH REHOVE BOXES FROH BOARD
770 LET B(B1)=0
780 LET B(B2)=0
790 REH IS OPPONENT IN CORKER?
800 FOR 1=1 TO 4
810 FOR J=1 TO 4
820 IF 0(I)=T(J) THEN 870
830 NEXT J
840 NEXT I
845 REH OPPONENT IN CORNER, IGNORE CENTER
850 GOTO 1020
840 REH OPPONENT NOT IN CORNER, FILL CENTER WITH BOXES
870 FOR X=1 TO 4
880 IF B(T(X))>0 THEN 920
890 LET B1=T(X)
900 LET B(B1)=3
910 GOTO 950
920 NEXT X
930 REH NO SPACES IN CENTER
940 GOTO 1020
950 FOR X=1 TO 4
960 IF B(T(X)»0 THEN 1OO0
970 LET B2=T(X>
980 LET B(B2)=3
990 GOTO 1080
1000 NEXT X
1005 REM CENTER FILLED _
1010 GOTO 1050
1015 REM BOTH BOXES TO BE POSITIONED
1020 GOSUB 1610
1030 LET B1=B3
1040 LET B(B1)=3
1045 REM ONE BOX TO BE POSITIONED
1050 GOSUB 1610
1040 LET B2=B3
1070 LET B(B2)=3
1080 PRINT TAB(?>;"MOVES BOXES TO "JB1J" AND ";B2
1081 FOR X=1 TO 4
1082 LET B(0(X))=1
1083 NEXT X
1085 GOSUB 2270
1090 REM CHECK FOR UIN
1100 FOR X=1 TO 4
1110 LET BtO(X))=0
1120 NEXT X
1130 GOSUB 1420
1140 LET F1=2
1150 LET N1=Z
1160 GOSUB 1800
1170 IF 111=0 THEN 1280
1180 FOR X=1 TO 4
1190 LET B(0(X))=1
1200 NEXT X
1210 GOTO 240
1220 PRINT "ILLEGAL MOVE FOR L."
1230 PRINT
1240 GOTO 240
82
1250 PRINT "ILLEGAL HOVE FOR BOX." 2070
1260 PRINT 2080
1270 GOTO 405 2090
1280 PRINT "COMPUTER UINS!" 2110
1290 GOTO 1310 2120
1300 PRINT "CONGRATULATIONS ! YOU HAVE UON." 2130
1310 PRINT 2140
1320 PRINT "PLAT AGAIN"; 2150
1325 INPUT A$ 2160
1330 IF LEFT»(A$,1)="Y" THEN 70 2170
1340 GOTO 4000 2180
1350 REN *** SUBROUTINES *** 2190
1360 REM ERASE N(X) 2200
1370 FOR X=1 TO 16 2210
1380 LET N(X)=0 2220
1390 NEXT X 2230
1400 RETURN 2240
1410 REM STORE LOCATIONS OF UNOCCUPIED POSITIONS IN N(X) 2250
1420 LET Z=0 2260
1430 FOR X=1 TO 16 2270
1440 IF B(X)>0 THEN 1470 2275
1450 LET Z=Z+1 2280
1460 LET N(Z)=X 2290
1470 NEXT X 2300
1480 RETURN 2310
1490 REM THIS SUBROUTINE RETURNS THE LOCATION OF THE LARGEST 2320
1495 REM VALUE IN N(X). IF A TIE EXISTS A RANDOM CHOICE IS MADE. 2330
1500 LET Y=0 2340
1510 LET Z=1 2350
1520 FOR X=1 TO Ml/4 2360
1530 IF NUKY THEN 1580 2370
1 540 IF NfXOY THEN 1560 2380
1550 IF RND(1)>.5 THEN 1580 2390
1560 LET Y=N(X) 2400
1570 LET Z=X 2410
1580 NEXT X 2420
1590 RETURN 2430
1600 REM BOX-FIND 2440
1601 REM THIS SUBROUTINE FINDS THE MOVE FOR A BOX THAT UILL 2450
1602 REH MOST RESTRICT THE OPPONENT'S L IN TERMS OF MOVES POSSIBLE. 2460
1610 FOR X=1 TO 4 2470
1620 LET B(0(X!)=0 2480
1630 NEXT X 2490
1*640 BOSUB 1420 2500
1650 LET F1=2 2510
1660 LET N1=Z 2520
1670 80SUB 1800 2S30
1680 60SUB 1370 2540
1690 FOR X=1 TO N1 3000
1700 LET N(M(X))=N(N(X))+1 3010
1710 NEXT X 3020
1720 FOR X=1 TO 4 3030
1730 LET N(0(X))=0 3040
1740 NEXT X 3050
1750 LET H1=64 3060
1760 GOSUB 1500 3070
1770 LET B3=Z 3080
1780 RETURN 3090
1790 REM L-FIND 3100
1791 REM THIS SUBROUTINE CALCULATES ALL POSSIBLE MOVES FOR AN L GIVEN ALL 3110
1792 REM EMPTY POSITIONS IN NtX). IF F1=1, THE CURRENT POSITION OF THE 3120
1793 REM COMPUTER'S L IS OMITTED. OTHERWISE, THE CURRENT POSITION OF THE 3130
1794 REM OPPONENT'S L IS OMITTED. MOVES ARE RETURNED IN M(X), AND 3140
1795 REM H1 IS THE LENGTH OF MIX). (Ml = NUMBER OF MOVES * 4) 3150
1800 LET M1=0 3160
1810 LET J=4 3165
1820 LET K=1 3166
1830 GOSUB 1880 3170
1840 LET J=1 3180
1850 LET K=4 3190
1860 GOSUB 1880 3200
1870 RETURN 3210
1880 LET P=0 3220
1890 LET P=P+1 3230
1900 LET A(1)=N(P) 3240
1910 LET X=P 3250
1920 LET X=X+1 3240
1930 IF X>N1 THEN 2050 3270
1940 IF N(X)-A(1K>J THEN 1920 3280
1950 LET A(2)=N(X> 3290
1960 LET X=X+1 3300
1970 IF X>N1 THEN 2050 3310
1980 IF N(X)-A(2)OJ THEN 1960 3320
1990 LET A(3)=N(X) 3330
2000 FOR E=1 TO N1 3340
2010 IF ABS(N(E)-A(1))=K THEN 2060 3350
2020 IF ABS(N(E)-A(3))=K THEN 2060 3360
2030 NEXT E 3370
2040 GOTO 1890 3380
2050 IF P<N1-2 THEN 1890 3450
2055 RETURN 4000
2060 LET A(4)=N(E) Ok
FOR F=1 TO 4
IF A(F)/4<>INT(A(F)/4) THEN 2130
FOR 6=1 TO 4
IF A(G)=A(F)+1 THEN 2030
NEXT G
NEXT F
FOR Y=1 TO 4
IF F1=1 THEN 2190
IF A(Y)O0(Y) THEN 2210
NEXT Y
GOTO 2030
IF A(YK>C(Y) THEN 2210
GOTO 2170
FOR Y=1 TO 4
LET M(M1+Y)=A(Y)
NEXT Y
LET M1=M1+4
GOTO 2030
REH BOARD PRINTOUT SUBROUTINE
PRINT
IF F2=1 THEN 2530
FOR E=1 TO 13 STEP 4
FOR F=1 TO 3
FOR G=E TO E+3
ON B(G) + 1 GOTO 2320,2410,2430,2450
IF F=2 THEN 2350
PRINT "«==";
GOTO 2490
PRINT
IF 6>9 THEN 2390
PRINT " ";CHR»(48+G); ;
GOTO 2490
PRINT "t";CHR$(38+G);":";
GOTO 2490
PRINT "0000";
GOTO 2490
PRINT "////";
GOTO 2490
IF F=2 THEN 2480
PRINT "****";
GOTO 2490
PRINT "* *";
NEXT G
PRINT
NEXT F
NEXT E
PRINT
RETURN
REM INSTRUCTIONS
PRINT
PRINT " L-3ane is a sinple strategic gane played on a 4x4"
PRINT "grid by two opposing players, in this case between you"
PRINT "and the conputer. The grid is nunbered as follows:"
LET F2=0
FOR X=1 TO 16
LET B(X)=0
NEXT X
GOSUB 2270
PRINT " The ga«e is played with four pieces; both"
PRINT "you and the conputer have one 'L', and there are"
PRINT "two 'BOXES' which are used by both players."
PRINT "play always begins with the pieces on the board"
PRINT "in the following position:"
GOSUB 100
GOSUB 2270
PRINT "(conputer is /, you are 0)"
PRINT
PRINT " The object of the gane is to position your own"
PRINT "L and the' boxes to prevent the conputer fron noving"
PRINT "its L. Of course, it is trying to do the sane to you!"
PRINT "To nove, you nust sinply enter the four coordinates"
PRINT "where you want to place your L. It nust renain on the"
PRINT "board and nust not cover any other pieces. You nust"
PRINT "nove your L! If you cannot find a neu position"
PRINT "for your L, then the conputer has effectively pinned your"
PRINT "L and it wins the gane."
PRINT " Assuning you have successfully noved your L, you now"
PRINT "have the option of noving the boxes. You nay nove one,"
PRINT "two, or none of the boxes by sinply entering the coordinates"
PRINT "where you want to put then. To leave a box where it is,"
PRINT "enter its present position."
PRINT " After you nove the boxes, it is up to the conputer"
PRINT "to find a nove for its L and play continues in the sane"
PRINT "nanner. Renenber that you nust not only try to pin the"
PRINT "conputer's L but also keep your own L fron being pinned."
PRINT "Also, it is easier to play the gane with your own board"
PRINT "than the conputer printout. To resign, enter 0,0,0,0"
PRINT "in place of your nove. GOOD LUCK!"
PRINT
GOTO 40
END
83
Life Expectancy
This program is a life-expectancy
test derived from Peter Passell's book
"How To." The test asks you a series of
questions dealing with your life-style
and environment. At the end of the
questioning, the program gives your
estimated life-expectancy and the
percentage of the population you
should outlive.
You may wish to experiment with
certain variables to see what effect they
will have on your lifespan. It's unlikely
that you want to change your sex, but
you may wish to check out the effect of
smoking, drinking, mental attitude or
weight.
This program was written by John E.
Rogers.
RUN
LIFE EXPECTANCY
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THIS IS A LIFE EXPECTANCY TEST.
DO YOU UISN INSTRUCTIONS? YES
THIS IS A TEST TO PREDICT YOUR LIFE EXPECTANCY. I
MILL ASK YOU A SERIES OF SHORT OUESTIONS, UHICH YOU UILL
REPLY BY TYPING IN THE CORRESPONDING ANSUER TO THE
QUESTION.
EXAHPLE: UHAT IS YOUR SEXY
H=MALE
F "FEMALE
'H' AND 'F' ARE THE POSSIBLE REPLIES TO THE 0UEST10N, ANSUER
LIKE THIS:
CHOOSE ONE OF THE LETTERS ABOVE? H
TYPIN6 AN 'H' SIGNIFIES YOU ARE A HALE.
♦♦♦SEX+++
ARE YOU HALE OR FEHALE?
H» HALE.
F« FEHALE.
CHOOSE ONE OF THE LETTERS ABOVE? H
♦♦♦LIFE STYLE+++
UHERE DO YOU LIVE?
6» IF YOU LIVE IN AN URBAN AREA UITH A POPULATION OVER 2 NIL.
K= IF YOU LIVE IN A TOUN UNDER 10,000, OR ON A FARM.
I» NEITHER.
CHOOSE ONE OF THE LETTERS ABOVE? I
HOU DO YOU UORK?
H» IF YOU UORK BEHIHD A DESK.
L= IF YOUR UORK REQUIRES HEAVY PHYSICAL LABOR.
I- NONE OF THE ABOVE.
CHOOSE ONE OF THE LETTERS ABOVE? I
HOU LON6 DO YOU EXERCISE STRENUOUSLY,
(TENNIS, RUNNIN6, SHINNING, ETC.)?
F« FIVE TINES A UEEK FOR AR LEAST A HALF HOUR.
K« JUST TWO OR THREE TINES A UEEK.
I> DO NOT EXERCISE IN THIS FASHION.
CHOOSE ONE OF THE LETTERS ABOVE? K
UHO DO YOU LIVE UITH?
N* IF YOU LIVE UITH A SPOUSE, FRIEND, OR IN A FAMILY.
H» IF YOU'VE LIVED ALONE FOR 1-10 YEARS SINCE AGE 25.
6* FOR 11-20 YEARS.
N» FOR 21-30 YEARS.
E« FOR 31-40 YEARS.
H* NORE THAN 40 YEARS.
CHOOSE ONE OF THE LETTERS ABOVE? N
♦♦♦PSYCHE+++
DO YOU SLEEP NORE THAN 10 HOURS A NIGHT?
I« NO.
E-YES.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦♦NENTAL STATE+++
H* IF YOU ARE INTENSE, AGGRESSIVE, OR EASILY ANGERED.
L> IF YOU ARE EASY 60IN6, RELAXED, OR A FOLLOUER.
I* NEITHER.
CHOOSE ONE OF THE LETTERS ABOVE? L
♦♦♦HOU YOU FEEL+++
ARE YOU HAPPY OR UNHAPPY?
J« HAPPY.
6= UNHAPPY.
1° NEITHER.
CHOOSE ONE OF THE LETTERS ABOVE? J
♦♦♦FACT0RS+++
HAVE YOU HAD A SPEEDIN6 TICKET IN THE LAST YEAR?
H* YES.
I "HO.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦+INC0ME+++
DO YOU EARN HORE THAN 130,000 A YEAR?
6= YES.
I "NO.
CHOOSE ONE OF THE LETTERS ABOVE? 10
♦♦♦SCHO0LIN6+++
J= IF YOU HAVE FINISHED COLLE6E.
L° IF YOU HAVE FINISHED C0LLE6E UITH A GRADUATE
OR PROFESSIONAL DE6REE.
1= N0THIH6 LISTED.
CHOOSE OHE OF THE LETTERS ABOVE? I
84
♦♦♦A6E+++
ARE YOU 65 OR OLDER AND STILL U0RKIN6?
L« YES.
I" NO.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦♦HEREDITY***
K= IF ANY GRANDPARENTS LIVED TO 85 YEARS OLD.
0' IF ALL FOUR 8RANDPARENTS LIVED TO 80 YEARS OLD.
1= NO GRANDPARENTS QUALIFY IN THE ABOVE.
CHOOSE ONE OF THE LETTERS ABOVE? I
HAS ANY PARENT DIED OF A STROKE OR HEART ATTACK
BEFORE THE AGE OF 50?
E= YES.
I' NO.
CHOOSE ONE OF THE LETTERS ABOVE? E
♦*+FAHILY DISEASES***
ANY PARENT, BROTHER, OR SISTER UNDER 50 HAS (OR HAS)
CANCER, A HEART CONDITION, OR OIABETES SINCE CHILDHOOD?
H= YES.
1° NO.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦♦HEALTH***
HOU HUCH DO YOU SMOKE?
A= IF YOU SHOKE MORE THAN TUO PACKS A DAY.
C= ONE TO TUO PACKS A DAY.
«= ONE HALF TO ONE PACK A DAY.
1° DON'T SNOKE.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦♦DRINK***
DO YOU DRINK THE EQUIVALENT OF A
QUARTER BOTTLE OF ALCOHOLIC BEVERAGE A DAY?
H= YES.
I- NO.
CHOOSE ONE OF THE LETTERS ABOVE? I
+*+UEIBHT**+
A* IF YOU ARE OVERUEIBHT BY 50 POUNDS OR NORE.
E= OVER BY 30-50 POUNDS.
0° OVER BY 10-30 POUNDS.
1° NOT OVER UEIOHT.
CHOOSE ONE OF THE LETTERS ABOVE?!*
♦♦♦CHECKUPS***
DO YOU? IF YOU ARE A HALE OVER 40 HAVE AN ANNUAL CHECKUP?
K= YES.
1° IF NO OR NOT A HALE OR UNDER 40 YEARS OLD.
CHOOSE ONE OF THE LETTERS ABOVE? I
DO YOU? IF YOU ARE A UONAN SEE A GYNECOLOGIST ONCE A YEAR?
K= YES.
1° IF NO OR NOT A UOHAN.
CHOOSE ONE OF THE LETTERS ABOVE? I
♦♦♦CURRENT AGE***
K» IF YOU ARE BETUEEN 30 AND 40 YEARS OLD.
L« BETUEEN 40 AND 50.
F= DETUEEN 50 AND 70.
Nn OVER 70.
1= UNDER 30.
CHOOSE ONE OF THE LETTERS ABOVE? I
YOU ARE EXPECTED TO LIVE TO THE A6E OF 76 YEARS
OUT LIVING 41 Z OF THE HEN AND 3?Z OF THE UOHEN.
Ok
"in,
85
LIST
10 PRINT TAB(21);"LIFE EXPECTANCY"
20 PRINT TAB ( 20 ) ; "CREATIVE COMPUTING"
30 PRINT TAB(18>;"H0RRIST0UN, NEU JERSEY"
40 PRINTsPRINT:PRINT
270 PRINT :PRINT:PRINT
280 PRINT "THIS IS A LIFE EXPECTANCY TEST."
290 PRINT " DO YOU UISH INSTRUCTIONS";
300 INPUT It
310 IF LEFT»(I$,1)="N" THEN 470
320 PRINT : PRINT
340 PRINT " THIS IS A TEST TO PREDICT YOUR LIFE EXPECTANCY. I"
350 PRINT "UILL ASK YOU A SERIES OF SHORT QUESTIONS, UHICH YOU UILL"
340 PRINT "REPLY BY TYPING IN THE CORRESPONDING ANSUER TO THE"
370 PRINT "QUESTION."
380 PRINT
390 PRINT " EXANPLE: UHAT IS YOUR SEX?"
400 PRINT " H=HAL£"
410 PRINT " F=FEHALE"
420 PRINT "'V AND 'F' ARE THE POSSIBLE REPLIES TO THE QUESTION, ANSUER"
430 PRINT "LIKE THIS:"
440 PRINT " CHOOSE ONE OF THE LETTERS ABOVE? H"
450 PRINT "TYPIN6 AN 'It' SIGNIFIES YOU ARE A HALE."
440 PRINT:PRINT:PRINT
470 R5=1
480 Z=72
490 A»="ABCDEH6HIJKLFN0"
500 GOTO 1700
510 R5=R5*1
520 IF R5>21 THEN 1900
530 DATA "♦♦♦SEX+++"
540 DATA "ARE YOU HALE OR FEHALE?"
550 DATA "H= HALE."
540 DATA " F- FEHALE."
570 DATA 2,"HF"
580 DATA "t+tLIFE STYLE+++"
590 DATA "UHERE DO YOU LIVE?"
600 DATA "G= IF YOU LIVE IN AN URDAN AREA UITH A POPULATION OVER 2 MIL."
410 DATA "K= IF YOU LIVE IN A TOUN UNDER 10,000, OR ON A FARH."
620 DATA " 1= NEITHER."
630 DATA 3,"GKI"
640 DATA "HOU DO YOU WORK?"
650 DATA "H= IF YOU UORK BEHIND A DESK."
660 DATA "L= IF YOUR UORK REQUIRES HEAVY PHYSICAL LABOR."
670 DATA " 1= NONE OF THE ABOVE."
680 DATA 3,"HLI"
690 DATA "HOU LONG DO YOU EXERCISE STRENUOUSLY,"
700 DATA"~*(TENNIS, RUNNING, SUIHHING, ETC.)?"
710 DATA *F= FIVE TINES A UEEK FOR AR LEAST A HALF HOUR."
720 DATA "K= JUST TUO OR THREE TINES A UEEK."
730 DATA " I' DO NOT EXERCISE IN THIS FASHION."
740 DATA 3,"FKI"
750 DATA "UNO DO YOU LIVE UITH?"
760 DATA "N= IF YOU LIVE UITH A SPOUSE, FRIEND, OR IN A FAMILY."
770 DATA "H= IF YOU'VE LIVED ALONE FOR 1-10 YEARS SINCE AGE 25."
780 DATA "6= FOR 11-20 YEARS."
790 DATA "N= FOR 21-30 YEARS."
800 DATA "E= FOR 31-40 YEARS."
810 DATA " H= MORE THAN 40 YEARS."
820 DATA 4, "NHGHED"
830 DATA "♦♦+PSYCHE+++"
840 DATA "DO YOU SLEEP MORE THAN 10 HOURS A NIGHT?"
850 DATA "1= NO."
840 DATA " E=YES."
870 DATA 2, "IE"
880 DATA "♦♦♦MENTAL STATE+++"
8?0 DATA "H= IF YOU ARE INTENSE, AGGRESSIVE, OR EASILY ANGERED."
900 DATA "L- IF YOU ARE EASY 60IN6, RELAXED, OR A FOLLOUER."
910 DATA " I* NEITHER."
920 DATA 3,"HLI"
930 DATA "+++HOU YOU FEEL+++"
940 DATA "ARE YOU HAPPY OR UNHAPPY?"
950 DATA "J= HAPPY."
940 DATA "6= UNHAPPY."
970 DATA " 1= NEITHER."
980 DATA 3,"JGI"
990 DATA "♦++FACTORS+++"
1000 DATA "HAVE YOU HAD A SPEEDING TICKET IN THE LAST YEAR?"
1010 DATA "H= YES."
1020 DATA " I=NO."
1030 DATA 2, "HI"
1040 DATA "+++INCOME+++"
1050 DATA "DO YOU EARN MORE THAN »50,000 A YEAR?"
1040 DATA "G= YES."
1070 DATA " I=NO."
1080 DATA 2, "61"
1090 DATA "♦♦♦SCHO0LING+++"
1100 DATA "J= IF YOU HAVE FINISHED COLLEGE."
1110 DATA "L= IF YOU HAVE FINISHED COLLEGE UITH A GRADUATE"
1120 DATA "OR PROFESSIONAL DEGREE. "
1130 DATA " 1= NOTHING LISTED."
1140 DATA 3,"JLI"
1150 DATA "♦♦♦AGE+++"
1140 DATA "ARE YOU 65 OR OLDER AND STILL UORKING?"
1170 DATA "L= YES."
1180 DATA " 1= NO."
1190 DATA 2, "LI"
1200 DATA "♦♦♦HEREDITY+++"
1210 DATA "K= IF ANY GRANDPARENTS LIVED TO 85 YEARS OLD."
1220 DATA "0= IF ALL FOUR GRANDPARENTS LIVED TO 80 YEARS OLD."
1230 DATA " 1= NO GRANDPARENTS QUALIFY IN THE ABOVE."
1240 DATA 3, "KOI"
1250 DATA "HAS ANY PARENT DIED OF A STROKE OR HEART ATTACK"
1240 DATA "BEFORE THE AGE OF 50?"
1270 DATA "E= YES."
1280 DATA " 1= NO."
1290 DATA 2, "EI"
1300 DATA "♦♦♦FAMILY DISEASES+++"
1310 DATA "ANY PARENT, BROTHER, OR SISTER UNDER 50 HAS (OR HAD) "
1320 DATA "CANCER, A HEART CONDITION, OR DIABETES SINCE CHILDHOOD?"
1330 DATA "M= YES."
1340 DATA " 1= NO."
1350 DATA 2, "MI"
1340 DATA "♦++HEALTH+++"
1345 DATA "HOU HUCH DO YOU SMOKE?"
1370 DATA "A- IF YOU SMOKE MORE THAN TUO PACKS A DAY."
1380 DATA "C= ONE TO TUO PACKS A DAY."
1390 DATA "M= ONE HALF TO ONE PACK A DAY."
1400 DATA " 1° DON'T SMOKE. "
1410 DATA 4,"ACMI"
1420 DATA "♦++DRINK+++"
1430 DATA "DO YOU DRINK THE EQUIVALENT OF A "
1440 DATA "QUARTER DOTTLE OF ALCOHOLIC BEVERAGE A DAY?"
1450 DATA "H= YES."
1440 DATA " 1= NO."
1470 DATA 2, "HI"
1480 DATA "♦♦♦UEI6HT+++"
1490 DATA "A= IF YOU ARE OVERUEIGHT BY 50 POUNDS OR MORE."
1500 DATA "E= OVER BY 30-50 POUNDS."
1510 DATA "8* OVER BY 10-30 POUNDS."
1520 DATA " 1° NOT OVER HEIGHT."
1530 DATA 4,"AEGI"
1540 DATA "+++CHECKUPS+++"
1550 DATA "DO YOU? IF YOU ARE A HALE OVER 40 HAVE AN ANNUAL CHECKUP?
1540 DATA "K= YES."
1570 DATA " 1= IF NO OR NOT A MALE OR UNDER 40 YEARS OLD."
1580 DATA 2,"KI"
1590 DATA "DO YOU? IF YOU ARE A UOHAN SEE A GYNECOLOGIST ONCE A YEAR?
1400 DATA "K= YES."
1410 DATA " I- IF NO OR NOT A UOHAN."
1420 DATA 2,"KI"
1430 DATA "♦♦♦CURRENT A6E+++"
1440 DATA "K= IF YOU ARE BETUEEN 30 AND 40 YEARS OLD."
1450 DATA "L= BETUEEN 40 AND 50."
1440 DATA "F= BETUEEN 50 AND 70."
1470 DATA "N» OVER 70."
1480 DATA " 1= UNDER 30."
1490 DATA 5,"KLFNI"
1700 FOR Q=1 TO 7
1710 READ 0»
1720 IF LEFT*<Q*,1)=" " THEN 1750
1730 PRINT " "JO*
1740 NEXT Q
1750 PRINT " ";Q$
1740 READ C,C*
1770 PRINT "CHOOSE ONE OF THE LETTERS ABOVE";
1780 INPUT G*
1790 FOR C2=1 TO C
1800 IF LEFT»(6»,1)= NID$(C«,C2,1 ) THEN 1830
1810 NEXT C2
1820 GOTO 1770
1830 PRINT
1840 FOR N=1 TO 15
1850 IF LEFT*(G*,1)=NID*(A»,N,1) THEN 1870
1840 NEXT N
1870 M=N-9
1880 Z=Z+M
1890 60T0 510
1900 PRINT "YOU ARE EXPECTED TO LIVE TO THE AGE 0F";2;"YEARS"
1910 IF Z<40 THEN 1980
1920 FOR Y=40 TO Z STEP 5
1930 READ H$,F$
1940 NEXT Y
1950 DATA "24Z","15r,"34r,"20r,»48r,»30r,»4ir,"39r
1940 DATA "75Z","53Z","87Z","70Z","94Z","88X","99.9X","99.4X"
1970 PRINT "OUT LIVING ";M»;" OF THE MEN AND ";F*;" OF THE UOMEN."
1980 END
Ok
86
87
Lissajous
This program prints Lissajous
patterns. You enter relative X and Y
frequencies and the Y phase of pi. The
relative frequencies for X and Y must be
a positive number one or greater. The
phase may be between zero and any
number you want.
We have experimented with a wide
range of relative frequencies and
phases and come up with some
startlingly beautiful patterns. Some are
starkly plain while others are amazing-
ly complex. If the frequencies go much
beyond nine or ten, the patterns
generally become jumbled and difficult
to decipher particularly if they are
being printed out on the normal hard
copy terminal. Nevertheless, it's fun to
experiment.
This program was originally written
by Larry Ruane and modified by
several other people along the line. It
appeared first in Creative Computing,
Sep/Oct 1977.
RUN
• 1
LISSAJOUS
CREATIVE COKPUTINB
HORRISTOIIN NEU JERSEY
LISSAJOUS
CREATIVE COMPUTING
NORRISTOWN NEU JERSEY
RELATIVE FREO. FOR X? 3
RELATIVE FREO. FOR YT 6
Y PHASE, MULTIPLE OF PI?
RELATIVE FREQ. FOR X? 2
RELATIVE FREO. FOR Y? 3
Y PHASE, MULTIPLE OF PI?
*
>
« *
* *
* *
• *
* *
» *
*
» *
« *
• *
* *
« «
* *
* *
* *
* »
* »
* *
* *
*
* *
* »
» *
»
» »
» «
* *
» *
* *
88
RUN
LISSAJOUS
CREATIVE CONPUTIN6
MORRISTOUH NEU JERSEY
RELATIVE FREO. FOR X? 5
RELATIVE FRED. FOR Y? 7
Y PHASE, MULTIPLE OF PI?
* »
* » * * *
* * * *»
* * * * *
* * *
* * » *
* * * *
** **
* * * *
* * * <
* * *
* * *
* * «
* * *
* *
* * *
« * *
* * *
* * *
* * *
* « * *
* * » *
* *
* * « *
* * * *
* * * *
* * * * ,
* * * * *
* * * * *
* ** **
*
*
*
* *
* *
*
* *
*
t
*
*
* » *
* * *
* »
* *
«*
* *
« *
* * *
* * *
* » *
* * *
LIST
RELATIVE FREO. FOR X? 1
RELATIVE FREO. FOR Y? 1
Y PHASE, MULTIPLE OF PI? .5
*
*
*
*
10 PRINT TAB(22>;"LISSAJQUS"
20 PRINT TAB( 18), -"CREATIVE COMPUTING"
30 PRINT TAB(U>;"MORRISTOUN NEU JERSEY"
40 PRINTsPRINT:PRINT
50 DIM Y(10)
100 REM. STEP-UISE LISSAJOUS
110 P»3.1415?24
120 PRINT "RELATIVE FREO. FOR X";:INPUT FliIF INT(FI) < F1 THEN 120
122 IF F1 < 1 THEN 120
125 F*F1:F1=2*P*F1
130 PRINT "RELATIVE FREO. FOR Y"J:INPUT F2:IF INTIF2) < F2 THEN 130
132 IF F2 < 1 THEN 130
135 PRINT "Y PHASE, MULTIPLE OF PI";:INPUT P2:P2=P*P2
140 F2»2*P»F2
150 FOR Xt=-18 TO 18
140 X=X1/18:80SUB 1?70:T1=X:T2=P-X
1*2 FOR I«0 TO F-1
* 145 T3=(TH2*I»P)/F1:T4=(T2+2*I*P)/F1
* 170 Y1=30*SIN(F2»T3+P2):Y2=30*SIN(F2*T4+P2)
* 180 Y1=S8N(Y1)*INT(ABS<Y1>+.5):Y2=S0N(Y2)*INT(ABS<Y2)+.5)
* W Y(2*I)=Y1sY<2*I*1)=Y2
* 200 NEXT I
210 FOR J»1 TO 2*F-1:I=J-1sT=Y(J)
220 IF T >= Yd) THEN 240
230 Y(I+1)=Y(I):I=I-1:IF I >*0 THEN 220
240 Y<I*1)»T:NEXT J
250 FOR 1=0 TO 2»F-1
240 IF 1=0 THEN 280
270 IF Y<I>*YU-1> THEN 2»0
280 PRINT TAB(34+Y(I));"»";
2»0 NEXT I
* 300 PRINT
* 310 NEXT XI
* 18?0 STOP
1»40 REN:
1?70 IF ABS(X) < .1 THEN 2020
1»80 X=X/<S0R(1*X)+S0R(1-X>)
1990 80SUB 1970
2000 X=2*X
2010 RETURN
2020 X=X«-3/4*.07S«X-5+X-7/22.4
2030 RETURN
2040 END
OK
89
Magic Square
We've all seen examples of magic
squares. The most common one is a
3x3 square using the integers 1
through 9 in which the sum of each row,
column and diagonal totals 15.
In the computer game of "Magic
Square" the goal is to form a sum 15
magic square with you and the com-
puter alternately filling in the integers
between 1 and 9. If one player stumbles
and puts a number in which causes the
sum of a row, column, or diagonal to be
something other than 15, he loses.
In forming a sum 15 magic square,
there is only one fundamental solution.
However, it can be rotated and reversed
to form 8 solutions. Because the
computer does not play a particularly
creative game, all eight solutions
cannot be obtained. How many can be?
Can you modify the computer
program to play a more interesting
game which permits all eight
solutions? (Hint: Try randomizing the
move position and number generators
in Statements 400 and 410.)
This program was created by David
Ahl and originally appeared in Creative
Computing, Jan/Feb 1975.
RUN
MAGIC SQUARE
CREATIVE COMPUTING MORRISTOUN NEU JERSEY
GAME OF MAGIC SQUARE
PLAYERS ALTERNATLEY CHOOSE AN INTE6ER (1 TO ?)
THAT HAS NOT BEEN PREVIOUSLY USED AND PLACE IT
IN ANY UNFILLED CELL OF A TIC-TAC-TOE BOARD.
THE SOAL IS TO MAKE THE SUM OF EACH ROU, COLUMN,
AND BIA60NAL EQUAL TO IS.
THAT PLAYER LOSES UHO FIRST MAKES THE SUN OF THE
THREE FIGURES IN ANY ROU, COLUMN, OR DIAGONAL
SOMETHING OTHER THAN IS.
A TIE GAME DRAUS A MAGIC SQUARE! !
THE COMPUTER UILL ASK YOU ON EACH MOVE UHICH
CELL YOU UISH TO OCCUPY, AND THE NUMBER YOU DISH
LIKE '3,7' IF YOU UISHED TO PUT A 7 IN CELL 3.
HERE ARE THE CELL NUMBERS:
1 2 3
4 3 &
7 8 9
INPUT YOUR MOVE — CELL AND NUMBER? 1,1
I MOVE TO CELL 2 WITH A 2
INPUT YOUR MOVE — CELL AND NUMBER? 5,?
« 2
I HOVE TO CELL 4 UITH A 3
' 2
3 9
INPUT YOUR MOVE ~ CELL AND NUMBER? 3,5
' 2 5
3 9 o
SORRY, YOU LOSE -- NICE TRY.
90
LET'S PLAY AGAIN. . .
INPUT YOUR MOVE CELL AND NUMBER? 1,1
I MOVE TO CELL 2 UITH A 2
INPUT YOUR MOVE — CELL AND NUMBER? 9,1
I MOVE TO CELL 4 UITH A 3
INPUT YOUR MOVE CELL AND NUMBER? 4,5
I HOVE TO CELL 8 UITH A 4
INPUT YOUR MOVE CELL AND NUMBER? 5,7
SORRY, YOU LOSE -- NICE TRY.
LIST
S PRINT TAB<28);"NA6IC SQUARE"
10 PRINT TAB(15);"CREATIVE COMPUTINO MORRISTOUN NEU JERSEY"
12 DIM a<?>,b<9>
15 PRINT
1 1 PRINT
17 PRINT
20 PRINT "SAHE OF HA6IC SQUARE"
21 PRINT
25 PRINT "PLAYERS ALTERNATLEY CHOOSE AN INTEGER (1 TO 9>"
30 PRINT "THAT HAS NOT BEEN PREVIOUSLY USED AND PLACE IT"
35 PRINT "IN ANY UNFILLED CELL OF A TIC-TAC-TOE BOARD."
40 PRINT "THE GOAL IS TO HAKE THE SUH OF EACH ROU, COLUMN,"
45 PRINT "AND DIAGONAL EQUAL TO 15."
47 PRINT
50 PRINT "THAT PLAYER LOSES UHO FIRST MAKES THE SUM OF THE"
55 PRINT "THREE FI6URES IN ANY ROU, COLUMN, OR DIAGONAL"
60 PRINT "SOMETHING OTHER THAN 15."
62 PRINT
65 PRINT "A TIE 6AHE DRAUS A NA6IC SQUARE!!"
67 PRINT
70 PRINT "THE COHPUTER UILL ASK YOU ON EACH HOVE UHICH"
75 PRINT "CELL YOU WISH TO OCCUPY, AND THE NUMBER YOU UISH"
80 PRINT "LIKE '3,7' IF YOU UISHED TO PUT A 7 IN CELL 3."
85 PRINT
90 PRINT "HERE ARE THE CELL NUMBERS:"
92 PRINT
93 PRINT "1 2 3"
94 PRINT "4 5 4"
95 PRINT "7 8 9"
94 FOR 1=1 TO 9
97 A(I)=0
98 B(I)=0
9? NEXT I
100 M=0:U=0
103 PRINT
104 PRINT "INPUT YOUR MOVE — CELL AND NUMBER";
105 INPUT I,N
110 IF I<1 OR I > 9 OR N < 1 OR N > 9 THEN 130
120 IF A(I)°0 AND B(N)°0 THEN 150
130 PRINT "ILLEGAL MOVE ... AGAIN"
135 60T0 103
150 A(I)=N:B<N)=1:M=M+1
170 60SUB 940
180 60SUB 800
200 IF U=0 THEN 230
210 PRINT "SORRY, YOU LOSE -- NICE TRY."
211 SOTO 540
230 IF H < 5 THEN 400
240 PRINT "A TIE GAHE — BUT UE'VE DRAUN A MAGIC SQUARE
250 60T0 560
400 FOR Q=1 TO 9
410 IF A(Q>> THEN 480
420 FOR R=1 TO 9
430 IF B(R)>0 THEN 470
435 A(Q)=R
440 60SUB 800
450 IF M=0 THEN 500
440 Q1=Q:R1=R:U=0:A(Q>=0
470 NEXT R
480 NEXT Q
490 U=1:R=R1:Q=Q1:A(Q)=R
500 B(R)=1
520 PRINT "I MOVE TO CELL ";Q;" UITH A ";R
530 60SUB 940
540 IF U=0 THEN 103
550 PRINT "I LOSE — YOU UINH"
560 PRINT
541 FOR 1=1 TO 15
542 PRINT CHR»<7);
564 NEXT I
570 PRINT "LET'S PLAY AGAIN. . ."
575 GOTO 94
800 FOR X=1 TO 6
810 ON X 60T0 820,830,840,850,840,870,880,890
820 J=1:K=2sL=3:G0T0 900
830 K=4:L=7:60T0 900
840 K=5:L=9:60TO 900
850 J=4:L=4:60TO 900
840 J=2:L=8:GQT0 900
870 J=3:L=7:00T0 900
880 J=7:L=9:00T0 900
890 J=7sK=8
900 IF A(J)=0 OR A(K)=0 OR A(L)=0 THEN 930
920 IF A(J)*A(K)tA(L) <> 15 THEN 940
930 NEXT X
935 GOTO 950
940 U=1
950 RETURN
940 PRINT
945 PRINT A(1),A(2),A(3)
970 PRINT A(4),A(5),A(4>
975 PRINT A(7),A(8),A(9>
980 PRINT
990 RETURN
999 END
Ok
91
Nan-Eating Rabbit
180
In this game you are in a pit with a
man-eating rabbit. The center of the
pit, appropriately enough, is at 0,0, and
it has a radius of ten. On each move,
you can move in any one of eight
different angles, 0, 45, 90, 135 . . . etc.
Unlike you, the rabbit can take more
than one hop on a move. The object of
the game is to avoid the rabbit for ten
moves. If you do this successfully you'll
be released and set free.
We're not sure what race of people
on what planet dreamed up this
diabolical sport, but we've found that
it's extremely difficult to get away from
the rabbit in more than about one out of
ten games. You may, therefore, want to
improve the odds somewhat by limiting
the number of moves the rabbit can
make on each turn to one or two. You'll
find it interesting to graph the results of
the program as you go along. To do
this, you'll need a piece of quadrille
paper at least 21 squares in each
direction. Draw a circle with your
compass ten units in diameter and then
number the grid from minus ten to plus
ten along the X and Y axes. Plot your
moves as you go along and you'll see
some interesting patterns develop.
This program was conceived and
written by Philip Stanway.
90
135
45
225 N
31 R
0,360
HAN-EAT IN6 RABBIT
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
YOU ARE IN A PIT MITH A HAN-EAT IMG RABBIT.
THE CENTER IS (0,0) AND IT HAS A RADIUS OF 10
IF YOU CAN AVOID THE RABBIT FOR 10 MOVES YOU KILL BE
RELEASED. YOU AND THE RABBIT CAN MOVE ONLY < SPACE EACH
HOUEVER THE RABBIT CAN DO MULTIPLE JUMPS.
YOU CAN TRAVEL AT THESE ANSLES
0, 45, »0, 135, 1G0, 225,270,315,340
UHERE MOULD YOU LIKE TO BE DROPPED?
RABBIT AT ( 2 , 7 ) AND DISTANCE 4
!,3
270
TURN I 1 HUNAN AT < 2 , 3 )
AT UHAT ANGLE UILL YOU RUN ? 270
RUNNINE HUMAN YOU ARE NOV AT ( 2 , 2 )
THE RABBIT IS P0UNCIN6 AT ANGLE 270
THE RABBIT IS F0UNCIN6 AT ANGLE 270
RABBIT AT ( 2 , 5 ) AND DISTANCE 3
TURN I 2 HUNAN AT < 2 , 2 )
AT UHAT AN6LE UILL YOU RUN T 225
RUNNING HUMAN YOU ARE NOU AT ( 1 , 1 )
THE RABBIT IS F0UNCIN6 AT ANGLE 270
THE RABBIT IS POUNCING AT ANGLE 270
RABBIT AT ( 2 , 3 ) AND DISTANCE 2.23607
TURN I 3 HUNAN AT ( 1 , 1 )
AT UHAT ANGLE UILL YOU RUN T 225
RUNNING HUMAN YOU ARE NOU AT ( , )
THE RABBIT IS P0UNCIN6 AT ANGLE 225
RABBIT AT ( 1 , 2 ) AND DISTANCE 2.23407
TURN I 4 HUNAN AT ( , )
AT UHAT ANGLE UILL YOU RUN T 225
RUNNING HUMAN YOU ARE NOU AT (-1 ,-1 )
THE RABBIT IS P0UNCIN6 AT AN6LE 225
RABBIT AT < , 1 ) AND DISTANCE 2.23407
TURN I 5 HUNAN AT (-1 ,-1 )
AT UHAT AN6LE UILL YOU RUN ? 270
RUNNING HUMAN YOU ARE NOU AT (-1 ,-2 J
THE RABBIT IS POUNCING AT ANGLE 270
RABBIT AT { , ) AND DISTANCE 2.23407
TURN I 6 HUNAN AT (-1 ,-2 )
AT UHAT AN6LE UILL YOU RUN ? 225
RUNNIN6 HUNAN YOU ARE NOU AT (-2 ,-3 )
THE RABBIT IS POUNCING AT ANGLE 225
THE RABBIT IS POUNCING AT ANGLE 225
THE RABBIT IS POUNCING AT ANGLE 270
RABBIT AT (-2 ,-3 ) AND DISTANCE
*»CRUNCH»» UELL R.I. P.
Ok
92
LIST
1 PRINT TAB<20);"HAN-EATINO RABBIT"
2 PRINT TAB(20) ; "CREATIVE COHPUTING"
3 PRINT TAB(1B);"«ORRIST0UN, NEU JERSEY"
4 PRINT:PRINT:PRINT
10 PRINT "YOU ARE IN A PIT UITH A NAN-EATING RABBIT."
IS PRINT "THE CENTER IS (0,0) AND IT HAS A RADIUS OF 10"
20 PRINT "IF YOU CAN AVOID THE RABBIT FOR 10 NOVES YOU UIU BE"
25 PRINT "RELEASED. YOU AND THE RABBIT CAN HOVE ONLY 1 SPACE EACH"
24 PRINT "HOUEVER THE RABBIT CAN DO HULTIPLE JUMPS."
27 PRINT "YOU CAN TRAVEL AT THESE ANGLES"
28 PRINT "0,43,90,135,180,223,270,315,360"
40 X=INT(21«RND(1)-10>
41 Y»INT(21*RND(1>-10)
45 D=S0R(ABS((X-X1)"2+(Y-Y1)-2))
44 IF D>10 THEN 40
47 PRINT
48 PRINT
50 PRINT "UHERE UOULD YOU LIKE TO BE DROPPED";
51 INPUT XI, Y1
60 IF S0R(ABS(X1*2m*2))>10 THEN SO
65 IF XOX1 THEN 70
64 IF YOY1 THEN 70
67 PRINT "*»***SOUISH****»"
6? PRINT "THE RABBIT IS DEAD! YOU ARE SET FREE!»:60T0 340
70 FOR 6=1 TO 10
71 D«S0R(A8S((X-Xir2t(Y-Y1)*2))
80 PRINT "RABBIT AT <";X;",";Y;"> AND DISTANCE "}B
90 IF D=0 THEN 330
91 PRINT:PRINT "TURN »";6J" HUNAN AT <";X1;",";Y1;">"
100 PRINT "AT UHAT AN6LE UILL YOU RUN ";
101 INPUT A
110 IF A/45<>INT(A/45) THEN 100
111 PRINT "RUNNIN6 "}tP1»1
112 H=1:IF ABS((INT(A/10)*10)-A)<>3 THEN 120
113 H"S8R<2>
120 X2=(H»C0S<A»<3.14159/180>)>
121 Y2=(H*SIN(A*<3. 14159/180)))
125 IF S0R(((X1+X2)-2+(Y1+Y2)*2))<«10 THEN 130
126 PRINT "YOU CAN'T 60 INTO A WALL!!"
127 GOTO 100
130 X1-INT(X1*1000)/1000«X2
131 Y1=INT(Y1*1000)/1000+Y2
132 X1=INT(X1+.5>
133 Y1»INT(Y1+.3)
135 PRINT "HUNAN YOU ARE NOU AT (";X1 !",";Y1 ;">"
136 IF XOX1 THEN 140
137 IF YOY1 THEN 140
138 PRINT "YOU RAN RIGHT INTO THE RABBIT! !"
139 GOTO 330
140 PRINT "THE RABBIT IS POUNCING AT ANGLE ";«P1=P1*1
150 X2=X1-XjY2»Y1-Y
151 IF X2«0 THEN 280
152 IF Y2»0 THEN 300
160. B°INT(ATN(ABS((Y2/X2)))/(3.14159/180))
170 ON S8N(X2)+2 60T0 190,10,180
180 ON S6N(Y2)+2 GOTO 240,10,250
190 ON S6NU2I+2 GOTO 230,10,220
220 B=180-B:80TO 250
230 B=B+180:60T0 250
240 B=360-B
250 B»INT<B/45+.5)*«sPRINT B
255 H»1
256 IF ABS((INT(B/10)*10)-B)<>5 THEN 260
257 lf-1 .5
260 X2=(H*C0S(D*(3. 14159/180)))
261 Y2°(N*SIN(B*(3.14139/180>)>
270 X=INT(X+X2+.5)
271 Y=INT(Y*Y2+.3)
272 60TO 315
280 IF Y2<0 THEN 290
281 B°90:G0T0 31S
290 B=270:60T0 250
300 IF X2<0 THEN 310
301 B=1:60T0 230
310 B>180:80T0 250
315 IF S0R((X-X1)*2+(Y-Y1)-2)=0 THEN 323
320 P=INT(P1*RND(1)+1)
321 IF POI THEN 323
322 GOTO 140
323 NEXT GsPRINT "YOU ARE RELEASED !":G0TO 340
330 PRINT "*tCRUNCH*« UELL R.I.P."
340 END
Ok
93
Maneuvers
In this game you are maneuvering in
a corner of space shaped, interestingly
enough, like a cube. The dimensions of
the cube are ten parsecs on a side. The
bases are at the corners as shown on
the diagram with the sample run. There
are four star bases located at corners of
the cube which you must visit in order,
A, B, C, and D, to deliver a message to
them. While it is afairly simple matter to
get to Base A, the other bases
sometimes prove somewhat elusive.
One possibility would be to use a
second computer to compute your
course, or even compute the course
before you start the game and then
feed it in. Would this be cheating? I
don't think so because the learning
value in writing a program to compute
your course will teach you more about
the game than probably fifty plays of it.
On the other hand, which is more fun?
That's for you to find out.
This program was written by John C.
Russ.
RUN
MANUEVERS
CREATIVE COHPUTING
MORRISTOUN, NEU JERSEY
BO YOU NEED INSTRUCTIONS? YES
YOU ARE THE PILOT OF THE ENTERPRISE'S SPACE SHUTTLE.
YOU MUST DELIVER A MESSAGE TO EACH OF FOUR STARBASE5,
IN THE LEAST TOTAL TIME. YOUR INITIAL POSITION IS AT
ONE CORNER OF A CUBE, TEN PARSECS ON A SIDE. THE BASES
ARE AT THE CORNERS SHOUN BELDU, HARKED A, B, C, AND D IN
THE ORDER IN UHICK YOU HUST VISIT THEH.
-* D
-*B
START>»*
: /
: /
As/
FOR YOUR SUBSPACE RADIO TO DELIVER THE MESSAGE, YOU
HUST PASS UITHIN ONE PARSEC OF EACH STARBASE. YOUR
PROPULSION SYSTEM IS ALUAYS ON, GIVING YOU A CONSTANT
ACCELERATION OF 0.2 PARSECS PER STARDATE PER STARDATE.
YOU CAN ONLY CONTROL THE ORIENTATION OF YOUR SHIP, TO
DIRECT YOUR THRUST AND ACCELERATION. YOU SPECIFY YOUR
SHIP'S ATTITUDE BY THE ANGLE THETA (THE CLOCKUISE ANGLE
IN THE X-Y PLANE STARTING AT THE X-AXIS) AND THE AN6LE
PSI (THE AN6LE OF INCLINATION ABOVE THE X-Y PLANE) .
YOU INPUT NEU ANGLES EACH STARDATE.
ELAPSED
POSITION
COORDINATES:
ORIENTATION
TINE
THETA , PS
? 0,0
.1
? 0,0
.4
? 0,0
.9
? 0,0
1.6
? 0,0
2.5
? 0,0
3.6
? 0,0
4.9
? 180,0
6.2
? 180,0
7.3
? 180,0
10
8.2
? 180,0
it
8.9
? 180,0
12
9.4
MESSAGE
DELIVERED
TO BASE It
1
AT TINE
12.28
? 180,0
13
9.7
? 180,0
14
9.8
? 90,90
15
9.8
.1
? 90,90
9.8
.4
? 0,90
17
9.8
.9
? 90,45
18
9.8
.071
1.571
y 90,0
1?
9.8
.312
2.312
? 90,0
20
9.8
.754
3.054
? 90,270
21
9.8
1.295
3.695
? 90,270
22
9.8
1.836
4.136
? 90,270
23
9.8
2.378
4.378
? 90,0
24
9.8
3.019
4.519
? 90,0
25
9.8
3.861
4.661
? 90,0
26
9.8
4.902
4.802
T 270,0
27
9.8
5.944
4.944
? 270,0
28
9.8
6.785
5.085
? 270,0
2?
9.8
7.426
5.226
? 270,0
30
9.8
7.868
5.368
? 270,0
31
9.8
8.109
5.509
? 270,0
32
9.8
8.151
5.651
? 90,90
33
9.8
8.092
5.892
? 90,90
34
9.8
8.034
6.333
? 90,270
35
9.8
7.975
6.775
T 90,270
36
9.8
7.916
7.016
? 90,270
37
9.8
7.858
7.058
? 90,.\.\90
38
9.8
7.799
7.099
? 90,90
3?
9.8
7.741
7.341
? 90,90
40
9.8
7.682
7.782
T 90,90
41
9.8
7.623
8.423
? 90,270
42
9.8
7.565
9.065
? 90.270
43
9.8
7.506
9.506
? 90,270
44
9.8
7.448
9.748
? 90,270
45
9.8
7.389
9.789
T 90,0
46
9.8
7.431
9.731
? 90,90
47
9.8
7.572
o m 772
T 90,270
48
9.8
7.713
9.813
T 90,270
49
9.8
7.855
9.655
? 90,0
50
9.8
8.096
9.396
? 90,90
51
9.8
8.438
9.238
? 90,0
52
9.8
8.879
9.179
? 90,90
53
9.8
9.421
9.22
MESSAGE
DELIVERED
TO BASE «
AT TIME
53.74
? 90,270
54
9.8
9.962
9.262
? 90,0
55
9.8
10.603
9.203
? 225,0
56
9.729
11.274
9.145
? 45,0
94
C7
3/
9.659
1 1 .945
9.086
270,0
eg
JO
O A FO
7 .0J7
1 2.586
9.028
270,0
59
9.659
13.028
8.969
270,90
60
9.659
13.369
9.01
270,90
61
9.659
13.71
9.252
270,270
62
9.659
14.052
9.493
270,270
63
9.659
14.393
9.535
270,270
64
9.658
14.735
9.376
270,90
65
9.658
15.076
9.218
270,0
66
9.658
15.318
9.159
?
276,0
67
9.669
15.36
9.1
270,0
68
9.69
15.202
9.042
245,0
69
9.668
14.854
8.983
250,0
70
9.571
14.321
8.925
270,0
71
9.439
13.595
8.866
245,0
72
9.264
12.677
8.807
260,0
73
9. 03
11.571
8.749
257,0
74
8.757
10.268
8.69
245,90
75
8.46
8.869
8.732
230,0
76
8.1
7.392
8.873
7
200,0
77
7.581
5.805
9.015
150,0
78
6.882
4.234
9.156
90,0
70
6 . 096
2.812
9.297
7
90,0
Qf\
QV
5.31
1 .591
9.439
90,0
61
4.524
.569
9.58
90,0
82
3.738
-.252
9.722
90.0,0
2.952
-.873
9.863
45,0
84
2.236
-1 .324
10.005
45,0
85
1 .663
-1 .633
10.146
45,0
DO
1 . 23
-1 .801
10.287
45,0
87
.939
-1 .827
10.429
45,0
88
.79
-1 .712
10.57
45,0
(to
* 781
-1 .456
10.712
7
45,0
.915
-1 .058
10.853
45,0
91
1 . 189
-.519
10.994
200,270
92
1 .535
.091
11 .036
180,270
93
1 .88
.701
10.877
180,0
94
2.126
1.311
10.619
180,0
95
2.171
1.921
10.36
225,0
96
2.046
2.46
10.102
260,0
97
1 .832
2.83
9.843
270,0
98
1 .602
3.002
9.584
270,0
00
77
1 . 371
2.974
9.326
245
??
1 00
1 .098
2.754
9.067
260,90
1 At
.782
2.445
8.909
270,90
102
.467
2.135
8.95
285,0
1 03
.1 78
1 .729
9.092
295,0
104
-.043
1 .135
9.233
300,0
105
-. 1 72
.365
9.374
MESSAGE
DELIVERED
TO BASE It
AT TIHE
105.48
90,0
1 06
-.251
-.393
9.516
75,0
1 rt7
1 Vf
-.305
- .953
9.657
80,0
1 08
-.314
-1 .319
9.799
80,0
1 09
-.2?
-1 .488
9.94
80,0
110
-.23
-1 .459
10.081
90,0
1 1 1
-.153
-1 .233
10.223
90,0
112
-.074
-.806
10.364
90,0
113
1E-03
-.179
10.506
7
90,0
114
.078
.648
10.647
105,0
115
.129
1 .671
10.789
103,270
1 1 6
.154
2.791
10.83
7
101 ,270
1 1 7
. 1 79
3.911
10.671
99,0
118
.189
5.13
10.413
261 ,0
1 1 9
.167
6.348
10.154
270,90
120
.13
7.468
9.996
270,0
121
.092
8.488
9.937
260,90
122
.055
9.408
9.979
MESSAGE
DELIVERED
TO BASE 8
4
AT TINE 122.58 GOOD JOB. DO YOU UANT TO
TRY TO IMPROVE YOUR TIHE? NO THANK YOU!
Ok.
LIST
10 PRINT TAB(24);"MANUEVERS"
11 PRINT TAB(20);"CREATIVE COMPUTING"
12 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
13 PRINT:PRINT:PRINT
20 PRINT "DO YOU NEED INSTRUCTIONS";
30 INPUT X$
40 IF LEFT»(X»,1 )="N" THEN 500
100 PRINT
110 PRINT "YOU ARE THE PILOT OF THE ENTERPRISE'S SPACE SHUTTLE."
120 PRINT "YOU HUST DELIVER A HESSA6E TO EACH OF FOUR STARBASES,"
130 PRINT "IN THE LEAST TOTAL TIME. YOUR INITIAL POSITION IS AT"
140 PRINT "ONE CORNER OF A CUBE, TEN PARSECS ON A SIDE. THE BASES"
150 PRINT "ARE AT THE CORNERS SHOUN BELOU, MARKED A, B, C, AND D IN"
160 PRINT "THE ORDER IN MHICH YOU HUST VISIT THEM."
170 PRINT
180 PRINT
190 PRINT
200 PRINT
210 PRINT
220 PRINT
230 PRINT
240 PRINT
250 PRINT
260 PRINT
270 PRINT
275 PRINT
280 PRINT
285 PRINT
290 PRINT
300 PRINT
310 PRINT
320 PRINT
330 PRINT
340 PRINT
350 PRINT
360 PRINT
370 PRINT
380 PRINT
390 PRINT
400 PRINT
410 PRINT
420 PRINT
*-
/:
-* D"
/
-*B
START»>» : * — Y"
: /
: /
: /
A:/
/"
X"
FOR YOUR SUBSPACE RADIO TO DELIVER THE MESSAGE, YOU"
MUST PASS UITHIN ONE PARSEC OF EACH STARBASE. YOUR"
PROPULSION SYSTEM IS ALUAYS ON, GIVING YOU A CONSTANT"
ACCELERATION OF 0.2 PARSECS PER STARDATE PER STARDATE. "
YOU CAN ONLY CONTROL THE ORIENTATION OF YOUR SHIP, TO"
430 PRINT "DIRECT YOUR THRUST AND ACCELERATION. YOU SPECIFY YOUR"
440 PRINT "SHIP'S ATTITUDE BY THE ANGLE THETA (THE CLOCKWISE ANGLE"
IN THE X-Y PLANE STARTING AT THE X-AXIS) AND THE ANGLE"
PSI (THE ANGLE OF INCLINATION ABOVE THE X-Y PLANE)."
YOU INPUT NEU ANGLES EACH STARDATE."
450 PRINT
460 PRINT
470 PRINT
500 PRINT
505 LET P=3. 14159/180
510 LET J=1
520 DIM T(4,3),C(3)
530 FOR X=1 TO 4
540 FOR Y=1 TO 3
550 READ T(X,Y)
560 NEXT Y
570 NEXT X
580 DATA 10,0,0,10,10,10,0,0,10,0,10,10
590 LET A=.2
600 LET XI =0
610 LET Y1=0
620 LET 21=0
630 LET VI =0
640 LET V2=0
650 LET V3=0
660 LET T0=0
670 LET B1=1E-03
680 LET B2=1E-03
700 PRINT "ELAPSED POSITION COORDINATES:";
710 PRINT TAB(38);"0RIENTATI0N"
720 PRINT "TIME X Y Z";
730 PRINT TAB(38);"THETA , PSI"
800 PRINT TO;TAB(8);INT(1000*X1+.5)/1000;TAB(18>;
805 PRINT INT<1000*Y1+.5)/1000;TAB(23>;INT(1000*Z1+.5)/1000;
806 PRINT TAB<38>;
810 FOR K=0 TO 1 STEP .02
820 LET C(1)=X+K*V1+A/2*K*K*C0S(B2*P)*C0S(B1*P)
830 LET C(2)=YtK*V2+A/2*K*K*C0S(B2*P)*SIN(B1*P)
840 LET C(3)=Z+K*V3+A/2*K*K*SIN(B2*P)
850 LET D=0
860 FOR L=1 TO 3
870 LET D=D+(T(J,L)-C(L))*(T(J,L)-C(D)
880 NEXT L
890 IF SQR(D)>1 GOTO 950
900 PRINT iPRINT "MESSAGE DELIVERED TO BASE «";J
910 PRINT "AT time";to+k;tab<38>;
920 IF J=4 GOTO 1100
930 LET J=J+1
940 GOTO 960
950 NEXT K
960 LET X=X1
970 LET Y=Y1
980 LET Z=Z1
985 LET T0=T0+1
990 INPUT B1,B2
1030 LET X1=X+V1+A/2*COS(B2*P)*C0S(B1*P)
1040 LET Y1=Y+V2+A/2*C0S(B2*P)*SIN(B1*P)
1050 LET Z1=Z+V3+A/2*SIN(B2*P)
1060 LET V1=V1tA*C0S(B2*P)*C0S(B1*P)
1070 LET V2=V2+A*C0S(B2*P)*SIN(B1*P)
1080 LET V3=V3+A*SIN(B2*P)
1090 GOTO 800
1100 PRINT "GOOB JOB. DO YOU UANT TO"
1110 PRINT "TRY TO IMPROVE YOUR TIME";
1120 INPUT Xf
1130 IF LEFT$(X»,1)="Y" THEN 500
1140 END
Oil
95
Mastermind
The original invention of Mastermind is credited to an
amateur mathematician, Mordechai Meirovich, who first
displayed it at the 1 971 Nurenburg Toy Fair.* Rights to the
game were bought by Invicta who had moderate success
with the game for 2Vi years until the Christmas season of
1 975 when it was the most popular packaged game. Sales
surpassed even the old standby, Monopoly.
In its most basic form. Mastermind consists of a plastic
game board, a dozen or so pegs which can be grouped into
six basic colors, and two groups of black and white key pegs
(sometimes called "inference pegs".) The game board
resembles the f igure below.
key-peg slots
X *
X *
o oo o
X X
* *
o o o o
X X
X x
O O o
XX
X *
oooo
» •
» •
XX
X X
O O
. hidden code
^active player's guesses
(total of 1 frames)
The game is played by two people, whom we shall
designate as the "active" player and the "passive" player.
The first step before play actually commences is to have the
passive player (in our case, the computer) choose a total of
four colored pegs at random from any of the six basic color
groups (duplicate colors allowed, of course.) He then
conceals these colors from the active player by placing the
four pegs in the "hidden code "portion of the game board. It
is now up to the active player to determine, in ten moves or
less, the exact color and location of each of the four pegs
comprising the hidden code.
To aid the active player in determining the hidden code,
the passive player must award the active player a number of
key pegs (inference pegs) after each guess, according to the
following scheme: for each peg in the active player's
current guess which corresponds exactly (in color and pos\-
*Ed. Note—
To anyone familiar with children's games, it is obvious that Mastermind is
simply a commercial adaptation (using colors rather than numbers) of the
game Bulls and Cows. This game, much more popular in England than the
U.S. is not, to my knowledge, commercially packaged. — DHA
tion) to a peg in the hidden code, the passive person places
one black peg in the key-peg square adjacent to the passive
player's current guess frame. Placing of the key pegs within
the square is arbitrary since the relative position of the key
peg carries no meaning. Clearly, when four black pegs are
obtained, the hidden code is broken.
Secondly, the passive player must place one white key
peg in the current key-peg square for each peg in the active
player's current guess which matches (in color, but not
position) a peg in the hidden code. Keep in mind that once a
color peg in the player's current guess has been awarded a
key peg, its function in determining the remaining number
of key pegs to award for the current guess is finished. For
example, suppose the hidden code were:
R B Y G
corresponding to red, blue, yellow, green, and the active
player's current guess were:
G B B P
corresponding to green, blue, blue and purple.
The passive player should subsequently award one black
and one white key peg for the following reasons: the blue
color peg in position 2 of the current guess matches exactly
in color and position with the hidden code. Secondly, the
green color peg in position 1 of the current guess matches
the color of the peg in position 4 of the hidden code. But
since the location of the green peg is not exact, only a white
peg is awarded. The blue and purple pegs in positions 3 and
4, respectively, of the current guess do not match either the
color or position of the remaining pegs in the hidden code
(positions 1 and 3) and hence, no other key pegs are
awarded.
1 ne game proceeds in this manner until the hidden code is
broken or all ten frames have been filled. As noted earlier,
the computer will play the passive player in our computer
version, generating a hidden code and awarding the black
and white key pegs after each guess.
The program offers the user two options, QUIT and
BOARD, which may be entered at any time after the first
move. QUIT instructs the program that you are fed up with
playing Mastermind for the time being and wish to
terminate the session. BOARD instructs the program to
print out a summary of the moves prior to the time that the
BOARD command was issued, including the guesses and
key pegs awarded for each frame. Some players find that an
arrangement of frames such as that provided by BOARD is
easier to visualize and subsequently analyze. Beginners
will find it most useful.
The program and this description were written by David
G. Struble of the University of Dayton. It first appeared in
Creative Computing, Mar/ Apr 1 976.
96
RUN
MASTERMIND
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THE GAME OF HASTERMIND
COLOR CODES:
R=RED 0=ORAN6E Y=YELLOU
6=6REEN 8=BLUE P=PURPLE
MOVE NUMBER 1 ? RR6G
BLACK PEGS
1 UNITE PEGS
MOVE NUMBER 2 ? OOBB
BLACK PEGS
UHITE PEGS
MOVE NUHBER 3 ? YYPP
3 BLACK PEGS
UHITE PEGS
MOVE NUMBER 4 ? YYPR
2 BLACK PEGS
UHITE PEGS
MOVE NUMBER 5 ? GYPP
2 BLACK PEGS
2 UHITE PEGS
MOVE NUMBER 4 ? YGPP
YOU WIN M
UANT TO PLAY AGAIN? YES
MOVE NUMBER 1 ? RROO
BLACK PE6S
UHITE PEGS
MOVE NUMBER 2 ? G6YY
1 BLACK PEGS
1 UHITE PEGS
MOVE NUMBER 3 ? BBPP
2 BLACK PEGS
UHITE PEGS
MOVE NUMBER 4 ? BBGY
YOU UIN! !
UANT TO PLAY AGAIN? NO
Ok.
LIST
10 PRINT TAB (24); "MASTERMIND"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18!;"M0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
100 PRINT "THE GAME OF MASTERMIND"
110 PRINT
130 PRINT "COLOR CODES:"
140 PRINT " R=RED 0=ORANGE Y=YELLOU"
150 PRINT " G-GREEN B=BLUE P=PURPLE"
160 PRINT
170 DIM B»(10),Y(10),Z(10)
180 C<0>=4
1V0 FOR N=1 TO 4
200 C(N) = INT(6*RND(1H1>
210 NEXT N
220 FOR N=1 TO 4
230 X=C(N>
240 GOSUB 730
250 C(N)=X
260 NEXT N
270 P»=""
273 FOR XI =1 TO 4
275 P»=P»+CHR*(C(X1))
277 NEXT X1
280 FOR P=1 TO 10
290 PRINT
300 PRINT "MOVE NUMBER" ;P;
310 INPUT G$
320 IF G$= "BOARD" THEN 910
330 IF G$="QUIT" THEN 440
340 Bt(P!=G«
350 GOSUB 520
360 IF B=4 THEN 1010
370 GOSUB 600
380 PRINT B;" BLACK PEGS"
390 Y(P)=B
400 PRINT U;" UHITE PEGS"
410 Z(P)=U
420 NEXT P
430 PRINT "SORRY, YOU LOSE"
440 PRINT "THE CORRECT CODE UAS:";P*
450 PRINT "UANT TO PLAY AGAIN";
440 INPUT A$
480 IF A$="YES" THEN 190
490 PRINT
500 END
510 REM COMPUTE BLACK PEGS
520 FOR X1=1 TO 4
523 G(X1>=ASC<MID$<G*,X1,1>>
525 NEXT XI
530 B=0 '
540 FOR K=1 TO 4
550 IF G(K) <> C(K) THEN 570
560 B=B+1
570 NEXT K
580 RETURN
590 REM COMPUTE UHITE PEGS
600 FOR X1 = 1 TO 4
603 R(X1)=ASC(MID*(P$,X1 t D)
605 NEXT XI
610 U=0
620 FOR 1=1 TO 4
630 FOR J=1 TO 4
640 IF GUI O R(J) THEN 680
650 U=U+1
640 R(J>=0
670 GOTO 690
680 NEXT J
490 NEXT I
700 U=U-B
710 RETURN
720 REM TRANSLATE COLOR CODES TO NUMERICS
730 IF X <> 1 THEN 760
740 X=89
750 RETURN
760 IF X <> 2 THEN 790
770 X=82
780 RETURN
790 IF X <> 3 THEN 820
800 X=80
810 RETURN
820 IF X <> 4 THEN 850
830 X=?9
840 RETURN
850 IF X <> 5 THEN 880
860 X=71
870 RETURN
880 X=66
890 RETURN
900 REM PRINT BOARD SUMMARY
910 V=P-1
920 PRINT "GUESS", "BLACKS", "UHITES"
930 PRINT " "," "," »
960 FOR 1=1 TO V
970 PRINT B*m,Y(I),Z(I)
990 NEXT I
1000 GOTO 290
1010 PRINT "YOU UIN ! ! "
1020 GOTO 450
9999 END
Ok
97
Masterbagels
This is a fascinating, general-
purpose, deductive logic game. It rolls
Bagels, Mastermind, bulls and cows, et
cetera, into one general deductive
logic game. If you want to play Bagels,
set the inputs to N.3,9 (N is the number
of games you wish to play). If you want
to play mastermind, set the inputs to
N,4,6. Of course, many of the games
that it plays are entirely new altogether
such as N,7,4 or N,5,5.
To make it into a really general-
purpose game, you might want to put in
a modification in the digit selection
routine (statements 300-320) with a
parameter that either allows or dis-
allows duplicate digits. As it is right
now, the game does allow duplicate
digits so that, for example, it could
select a three digit number such as 223
or even 444. Another change you might
want to add is in statement 750; it sets
the maximum allowable trials for
getting the answer. You may find that it
is not giving you enough tries and you
might want to increase the value of I.
Master bagels was created by H.R.
Hamilton and originally appeared in
Creative Computing, Jan/Feb 1977.
RUN HASTERBA6ELS
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
TEACH? YES
HI, THIS IS A LOGIC GANE DESIGNED TO TEST YOUR DEDUCTIVE
ABILITY. I WILL CHOOSE A RANDOM NUHBER AND YOU ISOLATE-IT.
UHEN PROMPTED, ENTER A VALID NUMBER, AND I WILL THEN RESPOND
WITH THE I OF DIBITS THAT ARE RI8HT AND IN THE RISHT POSITION
AND THE « RIGHT BUT IN THE UR0N6 POSITION. IF I THINK YOU
ARE HOPELESSLY LOST, I UILL TELL YOU THE ANSUER AND UE
UILL 00 ON TO THE NEXT NUMBER. TO RECAP YOUR ENTRIES
ENTER A 0, TO SUIT ON A NUNBER ENTER 1, AND TO STOP ENTER 2
HOU MANY l'Sd-100), I DI6ITS<2-4>, AND HAX VALUEC2-?)? 2,2,4
GUESS? 12
, 1
8UESS? 31
,
GUESS? 24
3 TRIES, 3 AVERAGE FOR 1 NUMBERS
GUESS? 24
, 1
GUESS? 32
1,0
GUESS? 22
1 ,
GUESS? 12
4 TRIES, 3.5 AVERAGE FOR 2 NUMBERS
RUN AGAIN? YES
HOU NANY l'S(l-IOO), « DIGITS<2-4), ANB HAX VALUE(2-9>? 1,4,4
GUESS? 1122
1 , 1
GUESS? 1234 lis,
2 ,
GUESS? 3454 s PRm TAB(23> "'HASTERBAGELS"
» 2 4 PRINT TABC20);"CREATIVE COMPUTING"
GUESS? 1245 7 PRIKT TAB( 1 8 ) ; "NORRISTOUN, NEU JERSEY*
1 » 1 10 DIM F(9>,N(9),T<9>,Hd8,3>
GUESS? 2134 2 « INPUT "TEACH" ;S»
1 i 1 30 IF LEFT»(S»,1>*"N" THEN 130
GUESS? 50 prikt « HI, THIS IS A L06IC GAME DESIGNED TO TEST YOUR DEDUCTIVE"
1 . ' " "22 6 o prikt -ABILITY. I UILL CHOOSE A RANDOM NUMBER AND YOU ISOLATE IT."
2 , = 1234 70 PRINT "UHEN PROMPTED, ENTER A VALID NUMBER, ANB I UILL THEN RESPOND"
0,2° 3456 8( p RI HT "UITH THE I OF DIGITS THAT ARE RI6HT AND IN THE RIGHT POSITION
1,1= 1245 90 PRINT "AND THE II RIGHT BUT IN THE UR0NG POSITION. IF I THINK YOU"
1,1= 2134 100 PRINT "ARE HOPELESSLY LOST, I UILL TELL YOU THE ANSUER AND HE"
GUESS? 2236 no PRINT "UILL GO ON TO THE NEXT NUMBER. TO RECAP YOUR ENTRIES"
1,2 12 PRINT "ENTER A 0, TO flUIT ON A NUMBER ENTER 1, AND TO STOP ENTER 2"
GUESS? 2235 130 s=0
' » 1 140 PRINT
GUESS? 1 150 PRIKT "HOU MANY t'S(l-IOO), II DI0ITS<2-4>, AND MAX VALUE<2-91";
ANSUER IS 4224
10 TRIES, 10 AVERAGE FOR 1 NUMBERS
RUN AGAIN? NO
OK
140 INPUT J,A,B
180 IF A<»0 THEN 220
1?0 IF A>4 THEN 220
200 IF B<2 THEN 220
210 IF B<10 THEN 240
220 PRINT "ILLEGAL RAN6E, RE-ENTER RUN PARAMETERS"
230 GOTO 160
240 IF J<100 THEN 260
250 J=100
260 FOR X«0 TO J+A*B
270 I«RNDd )
280 NEXT X
2?0 FOR M=1 TO J
300 FOR X=0 TO A
310 T(X)=INT(RND(1)*Bt1)
320 NEXT X
330 FOR I«1 TO A+B+1
340 FOR X=1 TO A
330 F(X)=0
360 NEXT X
370 F1=0
380 F2=0
390 INPUT "8UESS";V
400 IF V<> THEN 450
410 FOR X=1 TO 1-1
420 PRINT H(X,1)","H(X,2)"="H(X,3)
430 NEXT X
440 60T0 390
450 IF V=1 THEN 750
460 IF V=2 THEN 920
470 T1«V
480 FOR X«1 TO A
490 M(X)=INT(T1/(10-(A-X))>
500 T1=T1-M(X)»(10*(A-X))+<(S6N(A-(X+1))-1)*-,5)
510 IF H(X)<1 THEN 530
320 IF NCXKB+1 THEN 550
530 PRINT "BAD NUHBER IN"V
540 SOTO 340
550 IF H(X)OT(X> THEN 580
560 F(X)=1
570 F1«FH1
580 NEXT X
590 IF F1=A THEN 810
600 FOR Y=1 TO A
610 IF T(Y)=M(Y) THEN 490
420 FOR X=1 TO A
430 IF M(Y)OT(X) THEN 480
440 IF F(X>«1 THEN 480
450 F(X)=1
440 F2«F2+1
470 80T0 490
480 NEXT X
490 NEXT Y
700 PRINT F1","F2
710 H(I,1)=F1
720 H(I,2)=F2
730 H(I,3)»V
740 NEXT I
750 I=A-1+B*1
740 V=0
770 FOR X=1 TO A
780 V=V+T(X)*(IO*(A-X))
790 NEXT X
800 PRINT "ANSUER IS"V
810 S=S+I
820 PRINT I"TRIES,"S/N"AVERA6E FOR"N"NUMBERS"
830 Y=INT(RND(R)*I>
640 Y=lNT(H(Y,2)/1024t4*RND(1))
850 FOR X=1 TO Y*1
860 I=RNDd)
870 NEXT X
880 NEXT N
890 INPUT "RUN AGAIN" ;S»
900 IF LEFT»(S$,1)="Y" THEN 130
920 ENO
OK
98
Natpuzzle
Ready to try something new? A game
that isn't like STARTREK or Slot
Machine? Then try MATPUZLE and
enjoy the art of puzzle-making.
One benefit of puzzles is that they
help develop a pattern of logic in one's
thinking. In this puzzle you are given a
matrix of tetters, up to 6 x 6, and a
board with dashes and a number above
each of the dashes.
The matrix represents the letters of
the words you typed in, each having the
same length. The number of words and
the length of the words are both limited
to six, six words each six letters in
length, but, both values don't have to
be the same. The letters are then put in
a matrix and randomly rearranged in
lines 160-430.
The dashes on the board form the
places for each letter of each word to
be written in after it has been
deciphered. The number above each
dash, determined in lines 500-780, is
the sum of the coordinates of where the
letter of that dash is located in the
matrix. The problem in solving the
puzzle is that several coordinates have
the same sum.
Since the answers appear above the
puzzle itself, rip them off before you
give it to a friend to try. They will havea
great time trying to figure out your
puzzle. Then let them makeoneforyou
or set up a relay. The possibilities are
almost endless.
The program and description were
written by Dave Schroeder.
RUN
HATPUZLE
CREATIVE C0HPUTING
NORRISTOUN, NEU JERSEY
THIS IS A PUZZLE-HAKIN6 SAKE.
YOU INPUT UP TO SIX UORDS, UP TO SIX
LETTERS EACH, AND EQUAL III LEN8TH.
THE CONPUTER HILL SCRAMBLE THEN AND
PRINT THEN IN A MATRIX. THE COMPUTER
UILL ALSO PRINT A CORRESPONDING NUMBER
BOARD. WHEN IT STOPS TEAR IT AND GIVE IT
TO A FRIEND.
HOU MANY UORDS DO YOU UANT (UP TO 4)? 6
HOU MANY LETTERS IN EACH UORD (MUST BE SANE)? 6
TYPE ONE 6 .ETTER UORD ON EACH LINE
? PARITY
T DUPLES\S\X
? MATRIX
T NUMBER
T LENGTH
? MOTHER
( TEAR HERE I
2 3
A T
E R
N P
R E
T U
3
S
8
to
10 8
10 8
7
8 7
9 12
THE NUMBER ABOVE EACH DASH IS THE SUM OF TUO COORDINATES OF
THE POINT ON THE MATRIX UHERE THE CORRECT LETTER FOR THAT
SPOT UILL APPEAR. THE PROBLEM IS THAT THE SUM OF SOHE
COORDINATES ARE THE SAHE SO SEVERAL LETTERS COULD FIT. SO
TRY NOU TO FIND UHAT UORDS UERE USED AND SOLVE THE PUZZLE
— GOOD LUCK
DO YOU UANT ANOTHER RUN? YES
HOU MANY UORDS DO YOU UANT (UP TO i>? 4
HOU MANY LETTERS IN EACH UORD (MUST BE SAME)? 5
TYPE ONE S LETTER UORD ON EACH LINE
? PRINT
? BASIC
? EQUAL
? POINT
gg
( TEAR HERE )
1 R
2 I
3 I
THE NUMBER ABOVE EACH BASH IS THE SUH OF TUO COORDINATES OF
THE POINT ON THE MATRIX UHERE THE CORRECT LETTER FOR THAT
SPOT HILL APPEAR. THE PROBLEM IS THAT THE SUH OF SOME
COORDINATES ARE THE SAME SO SEVERAL LETTERS COULD FIT. SO
TRY NOU TO FIND WHAT UORDS HERE USED AND SOLVE THE PUZZLE
— GOOD LUCK
DO YOU UANT ANOTHER RUNT NO
OK
LIST
1 PRINT TAB(24)"HATPUZLE"
2 PRINTTAB(2C) "CREATIVE COMPUTING"
3 PRINT TAB(18)"H0RRIST0UN, NEU JERSEY"
4 PRINTsPRINT
10 DIM A»U>,B$<4,6>,C<4,4>,C»<4,4>
20 PRINT'THIS IS A PUZZLE-MAKING GAME."
30 PRINT"YOU INPUT UP TO SIX UORDS, UP TO SIX"
40 PRINT"LETTERS EACH, AND EOUAL IN LENGTH."
50 PRINT"THE COHPUTER UILL SCRAMBLE THEN AND"
60 PRINT"PRINT THEN IN A MATRIX. THE COHPUTER "
70 PRINT'UILL ALSO PRINT A CORRESPONDING NUMBER"
80 PRINT"BOARD. UHEN IT STOPS TEAR IT AND 6IVE IT"
90 PRINT-TO A FRIEND."
100 PRINT'HOU MANY UORDS DO YOU UANT (UP TO &)",
105 INPUT U
110 PRINT"HOU MANY LETTERS IN EACH UORO (MUST BE SAME)";
115 INPUT L
120 PRINT'TYPE ONE";L;"LETTER UORB ON EACH LINE"
130 FOR X=1 TO U
140 INPUT A*(X)
ISO NEXT X
160 FOR X=1 TO U
170 FOR Y=1 TO L
180 C»(X,Y)°HID*(A*(X),Y,1):B»(X,Y)-MIDS(A»(X),Y,1)
1?0 NEXT Y
200 NEXT X
210 PRINT
215 FOR P=1 TO 28
220 PRINT"-";
221 NEXT P
225 PRINT TAB(2»>"( TEAR HERE )";
224 FOR P1=1 TO 27
227 PRINT TAB(43)"-";
228 NEXT P1
230 PRINT
240 FOR Z=1 TO 40
250 F=INT(RND(1)*U+1)
210 D=INT(RND(1)*U+1)
270 6=INT(RND(1)«L+1)
280 E=INT(RND(1)*L+1)
2?0 J«=B»(F,G)
300 Bt(F,G>*B«<0,E>
310 B»(D,E)=J»
320 NEXT Z
330 PRINT TAB (4);
340 FOR Z1»1 TO L
350 PRINT TAB(5);Z1;" ";
340 NEXT Z1
370 PRINT
380 PRINT
370 FOR Z2=1 TO U
400 PRINT Z2J" ";
410 FOR 23=1 TO L
420 PRINT B»(Z2,Z3>;" ";
430 NEXT Z3
440 PRINT
450 PRINT
440 NEXT Z2
470 PRINT
480 PRINT
4?0 PRINT
500 FOR P=1 TO L
510 FOR 0-1 TO U
52© T»0
530 FOR R"1 TO U
540 FOR S=1 TO L
550 IF T=1 THEN 400
540 IF Bt(R,S)OC*(a,P>THEN 400
570 C(0,P)«R+S
580 T=1
5?0 B»(R,S)=" "
600 NEXT S
610 NEXT R
620 NEXT
630 NEXT P
640 FOR X=1 TO U
650 PRINT TAB(3)
660 FOR H=1 TO L
670 IF C(X,M»» THEN 700
680 PRINT C(X,H);" ";
6?0 60T0 710
700 PRINT C(X,M>;" ";
710 NEXT N
720 PRINTlPRINT
730 PRINT TAB(2);
740 FOR Ml =1 TO L
750 PRINT" ";* "J
760 NEXT HI
770 PRINT
780 NEXT X
7?0 PRINT
800 PRINT
810 PRINT"THE NUMBER ABOVE EACH DASH IS THE SUH OF TUO COORDINATES OF
820 PRINT'THE POINT ON THE MATRIX UHERE THE CORRECT LETTER FOR THAT "
830 PRINT'SPOT UILL APPEAR. THE PROBLEM IS THAT THE SUM OF SOME "
840 PRINT'COORDINATES ARE THE SAME SO SEVERAL LETTERS COULD FIT. SO "
850 PRINT-TRY NOU TO FIND UHAT UORDS UERE USED AND SOLVE THE PUZZLE"
855 PRINT" — GOOD LUCK"
840 PRINT-DO YOU UANT ANOTHER RUN";
841 INPUT Y?»
870 IF Y»»="YES" THEN 100
880 END
OK
100
Naze
RUN
This is actually a two part game. In
the first part, the program generates a
maze which you can then try to find
your way through with pencil and
paper. Each path of the maze is three
characters wide, hence the maximum
width that will print on a standard
seventy-two column width teletype or
other hard copy printer is 24 for the
horizontal dimension. A 132-column
line printer could handle up to a hori-
zontal dimension of 44. Naturally the
vertical dimension can be anything
since it's running the length of the
paper. However, for really large mazes
your computer system will probably be
the limiting factor since several
matrices are dimensioned with the
horizontal and vertical dimensions of
the maze.
In the second part of the program a
near-sighted mouse is let loose in the
maze and explores until he finds his
way through. If you want to know what
near-sighted means, run the program
and ask to see the solution step by step
as the mouse goes through the maze. If
you elect not to see each step, you'll
simply get a total solution for the maze
itself.
With or without the mouse, it's a fun
program and the larger mazes are
frequently a real challenge to solve.
This program was conceived and
written by Richard Schaal.
HAZE
CREATIVE C0HPUTIN6
HORRISTOIM, NEW JERSEY
DO YOB NEED INSTRUCTIONS? YES
THIS PROGRAM HILL SIMULATE A NEAR-SI6HTEI MOUSE IN
A HAZE. YOU SELECT THE DIFFICULTY FACTOR - SIZE!
YOU HAY HAVE A HAZE OF ANY SIZE PERMITTED BY THE SIZE OF YOUR
STSTEH. DIMENSIONS LESS THAN S ARE TOO TRIVIAL.
EACH HAZE IS DIFFERENT, AND HAS ONLY ONE BAY THR0U6H IT.
UHAT ARE YOUR DIHENSIONS (HORIZONTAL, VERTICAL)? 10,10
I
I I
t i— i
s : t
I I I
I I I
:—
. :--•—! s
i : :
I I I
I I I
:
.... .
. — •-
I I
i i
:--« :
I I I
I I I
t—
I I I
i
I I
— : s : i
: :
: 8—:
I I I
I I
s :-
.....
I I
I I I
.... :--;--!
— i s :
i
I I
I I I
--!--!--: :
: :
: t :
I I
DO YOU BANT THE SOLUTION? YES
DO YOU BANT TO SEE EACH STEP? NO
-:»»:—:—:
1**1
I
-:
8--s»»: :
I I***»»I I
:--
: -
: :**: : :
i
I*»***I I I
:-
1**1 I
:**:—: :--:
i
I*»«**I I I
I**»**I
: : s**: :-
i
i
I 1**1
:--:--:**:--:
I»****«**i t
-:**: — :—: s
i
i
**I I I
:•*: : : :
1**1 I
DO YOU BANT ANOTHER MAZE? YES
UHAT ARE YOUR DIMENSIONS (HORIZONTAL, VERTICAL)? 6,6
101
I ****»I
I
**»**I I
S— : — :**: :
I I I*»
I** I
:--:--:--:--:**:
I **I
1**************1 i
[ I
I I I
II III
[ I
I I I I
II II
[ I
I I I
• • •
. .■ • . .
*****! I
_*****!
I I
I** I
I I
i«*
— : — :**: :
..... — .**.
1**************1 I
1**************1
I**
I I I
1********1 i
:»*:--!
-:**: : :
1**1
I I I I
i i
**I I I
I I
I I I
i i
i i
DO YOU UANT THE SOLUTION? YES
DO YOU UANT TO SEE EACH STEP? YES
**:--
*****
-:**: —
*****
I**
********
I I
I I
:—:**:—:—:
****»I i
: — : — :**: :
I I
I** I
I I
I I I I
I I
I I I
— : — :**:--
*****
I**
— : — : — :**
***********!
I I
I I I
I I I
I I I
I I
[ ****»I
*«***I I
II I**
I I
I** I
: — : — :--: — :**:
I *«***l
1**************1 I
I I I
I I**
I I I
II III
I I
I I I I
II II
t I I
I I I
I
*t***I I
:--: — :**: :
I I
I** I
: — : — :**: :
1**************1 I
I**
I I I
:**:—
1**1
I III
I I
I I I
-: — :**:--:--:
I
****»I I
:--:--:**: :
I I
I** I
•:--: — :**! :
1**************1 i
I**
I I I
:**:-
1**1
I I I I
:**:
1**1
I I I
.... — . — —
I *****
: : : — : — :**
I I I**
: — : — : — : — :**
1**************1
:**•—•--: — :
I** I
I I
I I
I I
I I
-: — : — :**:—
*****
: :--:--:**
I I**
**************
**: — : — : — : —
********!
I I
I I
:**: —
*****
I I**
--:--: — : — :**
**************
**: — :—: — :--
********I
:--:**: :
I****»I I
I I
-:—:—:**:—
*****
. .... — .**
I I**
***»*I I
I ***»*I I
: : : — : — :**: :
I I
I** I
II I** I
1**************1 I
1**************1 i
I****»
I I I
1********1 i i
: :--:**: : : :
I I
I I I I
I i****«i ill
: :**:--: : : :
I I
I I I
1 I** I I I
**************!
********!
:--:**! :
I****»I i
!«****! i
LIST
290
Q=0:Z=0
300
X=INT(RND(1 )*H+1 )
10 PRINT TAB(27);"MAZE"
310
FOR 1 = 1 TO H
20 PRINT TAB<20);"CREATIVE COHPUTING"
320
IF I=X THEN 350
30 PRINT TABU8);"M0RRIST0UN, NEU JERSEY"
330
PRINT ":--";
40 PRINT:PRINT:PRINT
340
GOTO 360
100 REN NOUSE IN NAZE - SOLUTION SECTION BY RICHARD SCHAAL FMCC
350
PRINT ;
110 REN 0RI6INAL HAZE PROGRAH FROM "101 BASIC COMPUTER GAMES"
360
NEXT I
120 PRINT "BO YOU NEED INSTRUCTIONS";:INPUT A*
370
PRINT
130 IF LEFT$(A$,1)="Y" THEN 150
380
C=1:U(X,1)=C:C=C+1:R=X:S=
140 GOTO 200
390
GOTO 470
150 PRINT:PRINT:PRINT "THIS PROGRAM WILL SIHULATE A NEAR-SIGHTED
MOUSE I
400
IF ROH THEN 450
N"
410
IF SOV THEN 440
160 PRINT "A HAZE. YOU SELECT THE DIFFICULTY FACTOR - SIZE!"
420
R=1:S=1
170 PRINT "YOU HAY HAVE A HAZE OF ANY SIZE PERMITTED BY THE SIZE
OF YOUR
430
GOTO 460
440
R=1:S=S+1:G0T0 460
180 PRINT "SYSTEM. DIMENSIONS LESS THAN 5 ARE TOO TRIVIAL."
450
R=R+1
190 PRINT "EACH NAZE IS DIFFERENT, AND HAS ONLY ONE UAY THROUGH
IT."
460
IF U(R,S)=0 THEN 400
200 PRINT
470
IF R=1 THEN 830
210 PRINT "UHAT ARE YOUR DIMENSIONS (HORIZONTAL, VERTICAL)";
480
IF U(R-1,S»0 THEN 830
220 CLEAR 100: REH ERASE ALL ARRAYS AND VARIABLE VALUES
490
IF S=1 THEN 640
230 INPUT. H,V
SOO
IF U(R,S-1)<>0 THEN 640
240 H=INT(ABS(H)):V=INT(ABS(V))
S10
IF R=H THEN 550
250 IF H>=5 AND V>=5 THEN 270
520
IF U<R+1,S»0 THEN 550
260 GOTO 150
530
X=INT(RND<1>*3+1>
270 DIH U(H,V),V(H,V)
540
ON X GOTO 1200,1240,1280
280 PRINTrPRINT
550 IF SOV THEN 590
560 IF Z=1 THEN 620
570 0=1
580 60T0 600
590 IF U(R,S+1)>0 THEN 620
600 X=INT(RND(1)*3+1)
610 OH X GOTO 1200,1240,1370
620 X=INT<RND(1>*2+1>
630 ON X 60TO 1200,1240
640 IF R=H THEN 750
650 IF U(Rt1,S)>0 THEN 750
660 IF SOV THEN 700
670 IF Z=1 THEN 730
680 0=1
690 GOTO 710
700 IF g<R,S+t»0 THEN 730
710 X=INT(RND(1)*3+1)
720 ON X GOTO 1200,1280,1370
730 X=INT(RND(1)*2+1)
740 ON X GOTO 1200,1280
750 IF SOV THEN 790
760 IF Z=1 THEN 820
770 0=1
780 GOTO 800
790 IF U(R,S+1)>0 THEN 820
800 X=INT(RND(1)*2+1)
810 ON X GOTO 1200,1370
102
820 GOTO 1200
830 IF S=1 THEN 1040
840 IF U(R,S-1>>0 THEN 1040
830 IF R=H THEN 940
860 IF U<R+1,S>>0 THEN 960
870 IF SOV THEN 910
880 IF Z=1 THEN ?40
890 0=1
900 GOTO 720
910 IF U<R,S+1)>0 THEN 940
920 X=INT(RND(1)»3t1)
930 ON X 60T0 1240,1280,1370
940 X=INT(RND<1)»2+1>
9S0 ON X 60T0 1240,1280
960 IF SOV THEN 1000
970 IF Z=1 THEN 1030
980 Q=1
990 60T0 1010
1000 IF M(R,S+1)>0 THEN 1030
1010 X=INT<RND<1 1*2+1)
1020 ON X 60T0 1240,1370
1030 60T0 1240
1040 IF R=H THEN 1140
1050 IF U(R»1,S>>0 THEN 1140
1060 IF SOV THEN 1100
1070 IF Z=1 THEN 1130
1080 0=1
1090 GOTO 1110
1100 IF U(R,S+1)>0 THEN 1130
1110 X=INT(RND(1)*2t1>
1120 ON X GOTO 1280,1370
1130 60T0 1280
1140 IF SOV THEN 1180
1150 IF Z=1 THEN 400
1160 0=1
1170 60T0 1190
1180 IF U(R,S+1)>0 THEN 400
1190 GOTO 1370
1200 UCR-1,S)=C:C=C+1:V<R-1,S)=2:R=R-1
1210 IF C=H*Vt1 THEN 1510
1220 Q=0
1230 GOTO 470
1240 U(R,S-1 >=C:C=C+1 :V(R,S-1 >=1 :S=S-1
1250 IF C=H*V+1 THEN 1510
1260 0=0
1270 60T0 470
1280 U(R+1,S)=C:C=C+1
1290 IF V(R,S)=0 THEN 1320
1300 V(R,S)=3
1310 GOTO 1330
1320 V(R,S)=2
1330 R=R+1
1340 IF C=H*V+1 THEN 1510
1350 Q=0
1360 GOTO 830
1370 IF 0=1 THEN 1470
1380 U(R,S+1)=C
1390 C=C+1
1400 IF V<R,S>=0 THEN 1430
1410 V(R,S)=3
1420 GOTO 1440
1430 V(R,S)=1
1440 S=S+1
1450 IF C=H*V+1 THEN 1510
1460 GOTO 470
1470 Z=1
1480 IF V(R,S)=0 THEN 1500
1490 V(R,S)=3:0=0:GOT0 400
1500 V<R,S)=1:0=0:R=1:S=1:60T0 460
1510 IF Z=1 THEN 1540
1520 R=INT(RND(1)»H)+1:S=V
1530 V<R,S)=V(R,S)+1
1540 60SUB 2320
1550 PRINT "DO YOU UANT THE SOLUTION";: INPUT AS
1560 IF LEFTS(AS,1K>"Y" THEN 2620
1570 PRINT "DO YOU UANT TO SEE EACH STEP" J: INPUT AS:PRINT:PRINT
1580 FOR 1=1 TO H:IF U<I,1>=1 THEN S=I:GOTO 1720
1590 NEXT I
1600 REN NOU HE CAN CLEAR U ARRAY AS ENTRY POINT IS FOUND.
1410 REH ELEMENTS IN V ARE EITHER 0,1,2 OR 3
1620 REN IS CLOSED ON THE RIGHT AND AT THE BOTTOH
1630 REN 1 IS CLOSED ON THE RIGHT
1640 REH 2 IS CLOSED ON THE BOTTOH
1650 REM 3 IS OPEN ON THE RIGHT AND AT THE BOTTOM
1660 REM DIRECTIONS MILL BE CODED:
1670 REM 1 : UP
1680 REH 2 : DOUN
1690 SEM 4 : RIGHT
1700 REM 8 : LEFT
1710 REN SCAN V ARRAY FOR POSSIBLE MOVES IN ALL DIRECTIONS
1720 FOR 1=1 TO H:FOR J=1 TO V
1730 U(I,J)=0
1740 REM TRY UP
1750 IF J=1 THEN 1780
1740 IF V(I,J-1)=1 OR V(I,J-1)=3 THEN UU,J)=U<I,J>+1
1770 REM TRY DOUN
1780 IF J=V THEN 1810
1790 IF V(I,J>=1 OR V(I,J)=3 THEN U(I,J)=U(I,J>+2
1800 REM TRY RIGHT
1810 IF I=H THEN 1840
1820 IF VCI,J)=2 OR V(I,J)=3 THEN «(I,J)=U(I,J)+4
1830 REM TRY LEFT
1840 IF 1=1 THEN 1840
1850 IF V(I-1,J)=2 OR V(I-1,J)=3 THEN U(I,J)=M(I,J)t8
1840 NEXT J
1870 NEXT I
1880 FOR 1=1 TO H
1890 IF V(I,V)=1 OR V(I,V)=3 THEN U(I,V)=U<I,V)t2:E=I:G0T0 1920
1900 NEXT I
1910 REH HAVE TO GO DOUN FIRST
1920 Y=1:X=S
1930 V(X,Y)=V(X,Y)+4
1940 REH CHECK FOR POSSIBLE DIRECTIONS NOU...
1950 IF Y=V AND X=E THEN PRINT:60SUB 2250:PRINT:PRINT:G0T0 2420
1940 GOSUB 2230
1970 REH CHECK POSSIBLE DIRECTIONS
1980 IF (U(X,Y) AND 2) O THEN 2030
1990 IF (U(X,Y) AND 4) O THEN 2080
2000 IF (U(X,Y) AND 8) O THEN 2130
2010 IF (U(X,Y) ANB 1) O THEN 2180
2020 60T0 1950
2030 IF (V(X,Y+1)>3) AND <<U(X,Y> AND 13)=0) THEN 2040
2040 IF V(X,Y+1)>3 THEN 1990
2050 Y=Y+1:V<X,Y)=V(X,Y)*4:G0T0 1950
2040 V(X,Y)=V(X,Y)-4:U(X,Y)=(U(X,Y) AND 13) :Y=Y+1 :U(X,Y)=(U(X,Y) ANB 14)
2070 GOTO 1950
2080 IF (V(X+1,Y)>3) AND <(U<X,Y) AND 11)=0) THEN 2110
2090 IF V(X+1,Y)>3 THEN 2000
2100 X=X+1:V(X,Y)=V(X,Y)+4:G0T0 1950
2110 V(X,Y)=V(X,Y)-4:U(X,Y)=(«(X,Y) AND 11 ):X=X+1 :U(X,Y)=(U<X,Y) AND 7)
2120 GOTO 1950
2130 IF (V(X-1,Y)>3) AND (<U<X,Y> AND 7)=0) THEN 2140
2140 IF V(X-1,Y)>3 THEN 2010
2150 X=X-1:V(X,Y)=V(X,Y)+4:G0T0 1950
2140 V(X,Y)=V(X,Y)-4:«(X,Y)=(U(X,Y) AND 7) :X=X-1 :U(X,Y)=(«(X,Y) AND 11)
2170 GOTO 1950
2180 IF (V(X,Y-1>>3) AND ((U(X,Y) AND 14)=0) THEN 2210
2190 IF V(X,Y-1)>3 THEN 1980
2200 Y=Y-1:V(X,Y)=V(X,Y)+4:G0T0 1950
2210 V(X,Y)=V(X,Y)-4:U(X,Y)=(U(X,Y) AND 14):Y=Y-1:U(X,Y)=(U(X,Y) AND 13)
2220 GOTO 1950
2230 IF LEFT$(A*,1 >0"Y" THEN RETURN
2240 PRINT
2250 FOR 1=1 TO H
2240 IF I=S THEN 2290
2270 PRINT
2280 GOTO 2300
2290 PRINT ":**";
2300 NEXT I
2310 PRINT ":"
2320 FOR J=1 TO V
2330 PRINT "I";
2340 FOR 1=1 TO H
2350 IF V(I,J)>3 THEN Z=V(I,J)-4:G0T0 2370
2340 Z=V(I,J)
2370 IF Z<2 THEN 2420
2380 IF ZOV(I,J) AND V(I+1,J>>3 THEN PRINT "***";:GOTO 2440
2390 IF ZOV(I,J) THEN PRINT "** ";:G0T0 2440
2400 PRINT " "J
2410 GOTO 2440
2420 IF ZOVd.J) THEN PRINT "**I";:GOTO 2440
2430 PRINT " I";
2440 NEXT I
2450 PRINT
2460 FOR 1=1 TO H
2470 IF V(I,J)>3 THEN Z=V( I , J)-4:G0T0 2490
2480 Z=V(I,J)
2490 IF Z=0 THEN 2540
2500 IF Z=2 THEN 2540
2310 IF ZOV(I,J) AND J=V THEN PRINT ":**";:60T0 2570
2520 IF J=V THEN 2540
2530 IF ZOV(I,J) AND V(I,J+1>>3 THEN PRINT ":**";:GOTO 2570
2540 PRINT ;
2550 GOTO 2570
2540 PRINT ":--»;
2570 NEXT I
2580 PRINT ":"
2590 NEXT J
2600 PRINT:PRINT
2610 RETURN
2620 PRINT:PRINT:PRINT "DO YOU UANT ANOTHER MAZE»;:INPUT AS
2430 IF LEFTS(AS,1)="Y" THEN PRINT : 60TO 210
2640 PRINT:END
Ok
103
Millionaire
In this game, the computer takes you
through your life from birth to death.
Along the way, you're asked to make
some petty and some other rather
crucial decisions. Some of these
decisions regard what kind of job you
want, how much you bet in Las Vegas,
whether you buy a valuable coin,
whether you elect to take a vacation or
a second job, stock purchases-
buying and selling, automobile ac-
cidents, tornadoes, and the like.
At the end of your life (it goes by in a
flash!) the computer tallies up your
gains and your losses and tells you
where you stand relative to becoming a
millionaire. In ten plays of the game,
the most we ever got was $379,000,
somewhat short of being a millionaire,
but probably, all things considered,
more realistic.
Millionaire was conceived and
written by Craig Gunnett, a dreamer to
the very end.
RUN
MILLIONAIRE
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
THIS IS THE SAME OF 'MILLIONAIRE'. ALL YOU MUST SO IS
TYPE IN YOUR NAME AND ANSWER SOME QUESTIONS. THE
DECISIONS YOU MAKE UILL DETERMINE HOU MUCH MONEY YOU
MAKE. AT THE TIME OF YOUR DEATH, YOUR LIFE UILL BE
RATED BY THE AMOUNT OF MONEY YOU MADE THROU6H0UT
YOUR LIFE. IF YOU HAVE MADE 11,000,000 , YOU UILL BE
A MILLIONAIRE AND WIN THE GAME. NAME PLEASE? STEVE
O.K., STEVE, THIS IS YOUR NEV LIFE I
IN A SHALL TOWN, ON OCT 28 , 1?80, STEVE IS BORN.
YOUR PARENTS ARE VERY POOR. ON JUN 12 , l??8 , YOU
LEAVE HONE MITH $410
YOU SOT A NEU JOB AS A FOOTBALL PLAYER. YOU EARN * 118031 A YEAR.
YOU ADJUST YOUR EXPENSES TO » 110*07 A YEAR.
SEP 27 , 2001
THE 08CT0R SAYS YOU NEED A VACATION. DO YOU GO? YES
GOOD, THE VACATION COSTS t 2671
YOU NOU HAVE t-2241
MAR 7 , 2011
THE INTEREST ON YOUR LOAN IS * 1S82 . YOU HAVE V-3843
YOU 80 TO LAS VE8AS TO GAMBLE. HOU MUCH DO YOU BET? 100
YOU HON I 138
YOU NOU HAVE 1-3705
YOUR EARNIN8S AND EXPENSES LEAVE YOU UITH 4 47535
AU8 4 , 2014
NEUS FLASH!!! A TORNADO HAS JUST HIT THE HOHE OF STEVE
DAHASES HAVE BEEN ESTIMATED AT > 23???
YOU NOU HAVE » 43534
YOUR EARNINGS AND EXPENSES LEAVE YOU UITH * 7?154
SEP 22 , 2025
YOUR GRANDFATHER GROVERS JUST DIED. (OH!) HE LEFT
YOU $ 40773 , BUT FUNERAL EXPENSES ARE * 12587
YOU NOU HAVE < 127342
YOUR EARNINGS ANB EXPENSES LEAVE YOU UITH $ 171458
SEP 20 , 2033
YOU JUST HAD A CAR ACCIDENT! MEDICAL COSTS
ARE ♦ 1?75 . REPAIRS COST I 1584
YOU NOU HAVE » 1878??
YOUR EARNINGS AND EXPENSES LEAVE YOU UITH « 244891
HAY 20 , 2038
YOUR HONE HAS BEEN ROBBED OF GOODS UORTH * 13878
YOU NOU HAVE « 2310)3
YOUR EARNINGS AND EXPENSES LEAVE YOU UITH » 244433
HAY 1 , 2043
OH! YOU JUST GOT CANCER. MEDICAL BILLS ARE ♦ 4438
YOU ARE DEAD (COULD'NT TELL, COULD YOU?) AT THE
AGE OF 43 .
YOU HAD > 241??5
NOT BAD, STEVE
THANKS FOR PLAYING 'MILLIONAIRE', STEVE!!!!
OK
104
1 PRINT TAB<23);"HILLI0NAIRE"
2 PRINT TAB(20);"CREATIVE CQHPUTIND"
3 PRINT TAB(18);"N0RRIST0UN, NEU JERSEY"
4 PRINT:PRINT:PRINT
10 REN HILLIONAIRE BY CRAI6 6UNNETT
20 PRINT "THIS IS THE SANE OF 'MILLIONAIRE'. ALL YOU NUST BO IS"
30 PRINT "TYPE IN YOUR NAME ANB ANSUER SONE QUESTIONS. THE"
40 PRINT "DECISIONS YOU HAKE UILL DETERMINE HOU HUCH HONEY YOU"
50 PRINT "HAKE. AT THE TIHE OF YOUR DEATH, YOUR LIFE UILL BE"
60 PRINT "RATED BY THE AMOUNT OF HONEY YOU MADE THROU6H0UT"
70 PRINT "YOUR LIFE. IF YOU HAVE HADE $1,000,000 , YOU UILL BE"
80 PRINT "A HILLIONAIRE AND UIN THE GAME. NAME PLEASE";
100 LET 0=-1
110 DIN A»(20),Z«(1),M»(36),S(?),Q(U)
120 FOR 1=1 TO 4
130 LET S( I >=150
140 NEXT I
ISO INPUT At
140 PRINT
170 PRINT "O.K., ";A»;\ THIS IS YOUR NEU LIFE!"
180 LET H»="JANFEBHARAPRHAYJUNJULAUOSEPOCTNOVBEC"
190 IF RND(1)>.5 SOTO 220
200 PRINT "ON A BIG FARM";
210 GOTO 230
220 PRINT "IN A SMALL TOUN";
230 LET T=INT(RND(1)*12)+t
240 PRINT ", ON ";HID*(H«,3»T-2,3) ;INT(RND(1 )*28)tl;", 1980,";
2S0 PRINT " ";A»;" IS BORN. "
240 PRINT "YOUR PARENTS ARE VERY ";
270 IF RND(1».S 60T0 310
280 PRINT "RICH. ";
290 LET H=INT<RND<1>*5000)*10000
300 GOTO 330
310 PRINT "POOR. "J
320 LET M=IHT((RND(1)+RND(1))/2*1000)
330 LET T=INT(RND(1)»12)+1
340 LET Y»1996+INT(RND<1)*10)
350 PRINT "ON ";NID»<H*,T*3-2,3);T*2;", ";Y{", YOU"
340 PRINT "LEAVE HOME UITH »";H
370 LET Y=YtINT(RND(1>»3)+1
380 60SUB 480
390 FOR J»1 TO 13
400 IF (J/3)-INT(J/3)+E=0 THEN GOSUB 480
410 LET D=INT(28*RND(1))+1
420 LET M1=(INT(12*RND(1))+1)*3
430 PRINT
440 PRINT MIB»(H»,H1-2,3>;D;",";Y
4S0 IF Y-1980<70 GOTO SOO
460 IF RND(1».5 GOTO SOO
470 PRINT "YOU ARE DEAD (COULB'NT TELL, COULD YOUT) AT THE"
480 PRINT "AGE OF *;Y-1980;"."
490 GOTO 2370
SOO IF H>*0 GOTO 340
510 LET I=INT<.07»Y9*(-M)>
520 LET H=H-I
S30 PRINT "THE INTEREST ON YOUR LOAN IS ♦";!;". YOU HAVE *";H
540 LET 0*INT<t3*RND(t)>+1
550 IF Q(Q)=1 GOTO 540
540 LET Q(0)»1
570 ON GOTO 890, 1010, 1100, 1220, 1280, 1430, 1330
580 ON (0-7) GOTO 1GS0, 1930, 2060, 2120, 2240, 2280
590 PRINT "YOU NOU HAVE $";H
600 IF 0=-2 GOTO 1530
610 IF J»1 GOTO 640
620 LET H=H+(E-C)*Y9
630 PRINT "YOUR EARNINGS AND EXPENSES LEAVE YOU UITH »";«
640 LET Y9»INT(RND(1>*4>t5
650 LET Y=Y+Y9
640 NEXT J
670 GOTO 470
680 REN JOB SUB
690 PRINT "YOU GOT A NEU JOB AS A ";
105
700 ON INT(RND<1)*5>+1 GOTO 740, 770, 800, 830
710 PRINT "TEACHER";
720 LET E=INT(RND(1 1*40001+17000
730 GOTO 850
740 PRINT "LAUYER";
750 LET E=INT(RND(1)*40000)+80000
740 GOTO 850
770 PRINT "COMPUTER PROGRAMMER";
780 LET E=INT(RND(1 1*50001+20000
790 'GOTO 850
800 PRINT "BUS DRIVER";
810 LET £=INT(RND(1)*2000)+14000
820 GOTO 850
830 PRINT "FOOTBALL PLAYER";
840 LET E=INT(RND( 1 1*100000 1+100000
850 LET C=E-10000+INT(<RND(1 )+RND<1 ))*5000)
840 PRINT ". YOU EARN *";E;" A YEAR."
870 PRINT "YOU ADJUST YOUR EXPENSES TO *";C;" A YEAR."
880 RETURN
890 PRINT "YOU 60 TO LAS VE6AS TO GAMBLE. HOU MUCH DO YOU BET" ;
900 INPUT S
910 PRINT
920 IF S<=0 80T0 1000
930 IF RND(1)>.7 GOTO 970
940 LET S2=-INT(RND(1)*S)
950 PRINT "HA! HA! YOU LOST »";-S2
940 GOTO 990
970 LET S2=INT((RND(1)+RND(1>>*S>
980 PRINT "YOU UON *";S2
990 LET H=H+S2
1000 60TO 590
1010 PRINT "YOU ARE OFFERED A COIN SUPPOSEDLY UORTH $100,000."
1020 PRINT "DO YOU BUY IT";
1030 INPUT Zf
1040 PRINT
1050 LET V7=INT(RND(1 1*2000001+1
1040 IF Z»<>"Y" GOTO 1080
1070 LET H=H-100000+V7
1080 PRINT "THE VALUE OF THE COIN IS $";V7
1090 60T0 590
1100 PRINT "YOU ARE SERIOUSLY SICK. (COULDN'T TELL, COULD YOU?)"
1110 PRINT "YOU HAVE ";
1120 ON (INT(RND(1 1*31+1) GOTO 1150, 1170
1130 PRINT "THE ASIO-DISPEPSIA REGIONAL Y HYPNOTIC FLU! (OH!)."
1140 60T0- 1 1-80
1150 PRINT "COHPUTER ITIS."
1140 GOTO 1180
1170 PRINT "INFECTIOUS FATALY REOCCURING CHRONIC BAD BREATH."
1180 LET U=INT(RND(1 1*10001+500
1190 LET N=H-U
1200 PRINT "HEALTH EXPENSES COST YOU *";U
1210 GOTO 590
1220 LET F=INT(RND<1 1*1000001
1230 LET C8=INT(F/2)-INT(RND(1)*(F/2>)
1240 PRINT "YOUR GRANDFATHER GROWERS JUST DIED. (OH!) HE LEFT"
1250 PRINT "YOU $";F;", BUT FUNERAL EXPENSES ARE »";C8
1240 LET H=N-C8+F
1270 GOTO 590
1280 IF E-0 GOTO 890
1290 PRINT "NEKS FROM YOUR BOSS:"
1300 ON (INT(RND(1 )*3)+1 1 GOTO 1350, 1390
1310 LET L=INT(RND(1)*3000)+1
1320 LET E=E-L
1330 PRINT "YOU DOT A »";L;" DECREASE IN PAY. YOU NOU EARN1";E
1340 GOTO 590
1350 PRINT "YOU'RE FIRED! (HA!)"
1340 LET E=0
1370 LET C=INT(C/4)
1380 GOTO 590
1390 LET R6-INT(RND(1)*5000)+1
1400 LET E=E+R6
1410 PRINT "YOU GOT A RAISE OF $";R4;". YOU NOU EARN »";E
1420 60T0 590
1430 PRINT "THE DOCTOR SAYS YOU NEED A VACATION. DO YOU GO";
1440 INPUT Z»
1450 PRINT
1440 LET V-INT(RND(1>*2000>+1000
1470 IF Z»="N" GOTO 1500
1480 PRINT "GOOD, THE VACATION COSTS »";V
1490 GOTO 1510
1500 PRINT "YOU JUST HAD A NERVOUS BREAKDOUN. NEDICAL COSTS - *";V
1510 LET N=N-V
1520 GOTO 590
1530 FOR 1*1 TO 4
1540 LET S(I)'=INT((INT(RND<1>*100)+100+2*S(l)>/3)
1550 NEXT I
1540 PRINT "« STOCK NAME PRICE SHARES OUNED"
1570 PRINT "1 IBM (INCREDIBLY BAD MACHINES) ";S(1>;" ";S(5>
1580 PRINT "2 USS (USELESS i STINKY STEEL) ";S(2);" ";S<4>
1590 PRINT "3 NCR (NO CASH RETURN) ";S(31;" ";S(7>
1400 PRINT "4 TUA (TOTAL URECK AIRLINES) ";S(4);" "JS(8>
1610 IF S(9)=1 GOTO 2410
1620 PRINT "DO YOU BUY, SELL ($100 FEE), OR NOT (B,S, OR N>";
1630 INPUT Z*
1640 PRINT
1650 IF Z$="S" GOTO 1740
1660 IF Z»="N" GOTO 1810
1670 PRINT "STOCK « AND QUANTITY";
1680 INPUT S3,S(0)
1690 PRINT
1700 LET S(4+S3)=S(4+S3)+S(0)
1710 LET 0=-2„
1720 LET «=N-S(S3)*S(0)-100
1730 GOTO 1620
1740 PRINT "STOCK (1 AND QUANTITY";
1750 INPUT S2,S5
1760 IF RNDdX.5 GOTO 1880
1770 IF S5>S(4+S2) GOTO 1740
1780 LET S(4+S2)=S(4+S2)-S5
1790 LET N=N+S(S2)*S5-100
1800 60T0 1620
1810 LET S1=S(5)+S(4)+S(7)+S(8)
1820 IF S1>0 60T0 610
1830 LET 0=-1
1840 60T0 410
1850 PRINT "NEWS FLASH! ! ! ";
1840 PRINT "A TORNADO HAS JUST HIT THE HONE OF »;A»
1870 GOTO 1890
1880 PRINT "AN AIRPLANE HAS JUST CRASHED INTO THE HONE OF ";A«
1890 LET D8=INT(RND<1>*50000)+1
1900 LET N=N-D8
1910 PRINT "DAMAGES HAVE BEEN ESTIMATED AT »";D8
1920 60T0 590
1930 PRINT "OH ! YOU JUST GOT ";
1940 IF Y-1980<55 GOTO 2000
1950 IF RND(1)>.4 GOTO 1980
1960 PRINT "CANCER";
1970 60T0 2010
1980 PRINT "A HEART ATTACK";
1990 GOTO 2010
2000 PRINT "LEUKEMIA";
2010 LET M2=INT(RND(1)*5000)+1000
2020 LET M=H-H2
2030 PRINT ". MEDICAL BILLS ARE »";M2
2040 IF RNBdK.5 60T0 470
2050 GOTO 590
2060 PRINT "YOU JUST HAD A CAR ACCIDENT! NEDICAL COSTS"
2070 LET N3=INT<RNDO>*3000)+1000
2080 LET Q7-INT(RND(1)*5000)+100
2090 PRINT "ARE $";N3;". REPAIRS COST »";Q7
2100 LET H=H-H3-Q7
2110 GOTO 590
2120 IF E=0 GOTO 1010
2130 LET E2=10000+INT(RND<1 1*5000)
2140 PRINT "YOU ARE OFFERED ANOTHER JOB FOR »";E2;" A YEAR."
2150 PRINT "UOULD YOU LIKE TO MOONLIGHT";
2160 INPUT Z»
2170 PRINT
2180 IF Z$="N" GOTO 590
2190 ON INT(RND(1)*31 GOTO 1350, 2220
2200 LET E=E+E2
2210 GOTO 590
2220 PRINT "FROH OVERUORK YOU GET ";
2230 GOTO 1980
2240 LET R2=INT(RNDd)*10000>+5000
2250 LET H=H-R2
2260 PRINT "YOUR HOHE HAS BEEN ROBBED OF 600BS UORTH »";R2
2270 GOTO 590
2280 IF 0=-1 GOTO 1430
2290 IF RND(1)>.7 80T0 1430
2300 LET B4=INT(RND<1>*4>
2310 PRINT "STOCK MARKET CRASH!!! EACH OF Y0UR";S1;" SHARES OF
2320 PRINT "STOCK IS UORTH $";B4;". YOU NUST SELL ALL OF THEN"
2330 PRINT "FOR A TOTAL OF $";S1*B4
2340 LET H=H+S1*B4
2350 LET 0=-1
2360 GOTO 590
2370 PRINT "YOU HAD »";N
2380 IF 0=-1 GOTO 2430
2390 LET S(9)=1
2400 GOTO 1530
2410 LET N=N+S(1)*S(5)+S(2)*S(4)+S(3)*S(7)+S(4)*S(8)
2420 PRINT "UITH STOCK VALUE YOU HAVE *";H
2430 IF M<0 GOTO 2480
2440 IF M<500000 80T0 2510
2450 IF MOE+04 GOTO 2530
2460 PRINT A*;" UON! ! YOU ARE A MILLIONAIRE! !"
2470 GOTO 2540
2480 PRINT "YOU LOUSY *»«'*!!! NOU YOUR POOR FANILY HAS TO PAY
2490 PRINT "OFF YOUR DEBTS "
2500 GOTO 2540
2510 PRINT "NOT BAD, ";A$
2520 60TO 2540
2530 PRINT "CLOSE, ";A*;". MAYBE NEXT LIFE."
2540 PRINT "THANKS FOR PLAYING 'MILLIONAIRE', »;A*;" ! ! ! !"
2550 END
106
Minotaur
In this game, you are in a three level
cavern. Inside the cavern are ten pillars
which stretch through all three levels;
they're electrified so that if you touch
them you are immediately vaporized.
Furthermore, there are trap doors
which appear randomly and drop you
down one level. The top level is three,
the second level down is two, the first
or lowest level is one. If a trap door
appears in level one you are dropped
into a bottomless pit and that ends the
game. The minotaur itself also poses a
hazard. If you wound him with your
spear, he will charge you. Also, he
randomly charges for no reason at all.
However, he only charges in a straight
line. Hint: keep ataslightdiagonalfrom
the minotaur until you are ready to
throw your spear at him and you have a
better chance of avoiding his charges.
If you ask for a map, the axes are drawn
in with X's. This does not indicate a
barrier or fence; you are free to move
across the X and Y coordinate planes.
However, you are advised not to move
out of any of the four edges as this
represents yet a different form of
bottomless pit and also ends the game.
There are many, many additional
hazards which are not shown in the
sample run. Try it, and be surprised!
This program was conceived and
written by Pete Klausler.
ft
MINOTAUR
CREATIVE COMPUTING, NORRISTOUN, NEU JERSEY
DO YOU WANT TO 8E THE MINOTAUR CHAMPION? YES
YOU MUST BEAT A SCORE OF 20.
*«««»»»»*««**»**««*«*******»*** MINOTAUR *******************************
DO YOU NEED INSTRUCTIONS? YES
THE OBJECT OF THE SAKE IS TO KILL THE MINOTAUR
t>iilt»tttiiiiit>t>it»tl»m CAVERN *******************************
THE CAVERN OF THE MINOTAUR IS IN THREE
LEVELS. EACH LEVEL IS A COORDINATE PLANE
OUTSIDE OF THE LEVELS THERE IS N0THIN6 BUT
VACUUM. THE PLANES STRETCH OUT 10 ON EACH AXIS
FROM THE ORIGIN.
*«»*»«***»»««***»*********»»«* HAZARDS it******************************
BARRIERS
INSIDE THE CAVERN ARE 10 ELECTRIFIED
PILLARS STRETCHIN6 THROUGH THE THREE
LEVELS. THEY UILL DESTROY ANYTHING THAT
TOUCHES THEM!!
TRAPDOORS
TRAPDOORS UILL APPEAR OUT OF NOWHERE
AND DROP YOU DOUN ONE LEVEL. IF YOU UERE
ON LEVEL ONE, YOU LOSE! !
CHARGING MINOTAUR
THE MINOTAUR UILL CHARSE IF YOU
UOUND HIM UITH YOUR SPEAR. ALSO, HE
NAY CHARGE FOR NO REASON AT ALL!!!!
HERE ARE YOUR CONTROL FUNCTIONS
1) MOVING EAST
2) MOVING UEST
3) MOVING NORTH
4! MOVING SOUTH
S) MOVING UP A LEVEL
i) MOVING DOUN A LEVEL
7) THROUING YOUR SPEAR
8) 6ETTING A MAP
*>*tt«*tt«t*t*t******t******t HAVE FUN ***»**»****««*«***«»*»****»**«
107
UOULD YOU LIKE TO PLAT AGAIN? YES
I UILL NOU SET THE BARRIERS.
BARRIER « 1 :(-3 , 10 ).
:(-1 , ? ).
:( 1 , 4 ).
: ! 1 , 4 ).
:( 10 ,-1 ).
BARRIER It
BARRIER «
BARRIER It
BARRIER It
BARRIER It
BARRIER It
BARRIER It 8
BARRIER It ?
BARRIER It 10
(-2 ,-10 ).
(3,3).
(-7 , 9 ).
(6,7).
:( 5 ).
UHICH LEVEL BO YOU UANT TO START ON? 2
UHICH POINT? 0,0
HOU FAR BO YOU UANT TO MOVE PER A TURN? 5
TURN 1 . MINOTAUR IS AT (-4 , 8 ), ON L. 3 .
YOUR CONTROL? 5
YOU ARE AT ( , ), ON LEVEL 3 .
TURN 2 . MINOTAUR IS AT (-3 , 8 ), ON L. 3 .
YOUR CONTROL? 1
YOU ARE AT ( 5 , ), ON LEVEL 3 .
YAAAAAAAAAAAAAAH TRAPDOOR, YOU FELL DOUN ONE LEVEL
TURN 3 . MINOTAUR IS AT (-2 , 8 ), ON L. 3 .
YOUR CONTROL? 5
YOU ARE AT ( 5 , ), ON LEVEL 3 .
I UILL NOU SET THE BARRIERS.
BARRIER » 1 :(-7 , 5 ).
BARRIER « 2 :( 1 ,-3 ).
BARRIER « 3 :( 4 ,-1 ).
BARRIER « 4 :(-7 , 2 ).
BARRIER It S :< , 3').
BARRIER It 4 :(-4 ,-4 ).
BARRIER It 7 :< 3 , 9 ).
BARRIER It 8 :(-7 ,-4 ).
BARRIER * 9 :( 1 ,-7 ).
BARRIER It 10 :(-1 , 4 ).
UHICH LEVEL BO YOU UANT TO START ON? 2
UHICH POINT? 0,0
HOU FAR DO YOU UANT TO MOVE PER A TURN? 4
TURN 1 . HINOTAUR IS AT ( 10 , 10 ) , ON L. 1 .
YOUR CONTROL? 4
YOU ARE AT ( , >, ON LEVEL 1 .
THE HINOTAUR IS CHARGING.
LEVEL 1
( 9 , 10 )
( 8 , 10 )
( 7 , 10 )
( 6 , 10 )
( 5 , 10 )
( 4 , 10 >
( 3 , 10 )
( 2 , 10 )
( 1 , 10 )
( , 10 )
(0,9)
(0,8)
(0,7)
(0,4)
(0,5)
(0,4)
BZZZZZZZZZZZZZZZZZZZZOUNT HINOTAUR JUST FRIED HIHSELF
YOU UIN, YOU LUCKY SCAB
YOU ARE NOU A QUALIFIES CHAMPION!
TURN 4 . HINOTAUR IS AT (-2 , 8 ), ON L. 2 .
YOUR CONTROL? 8
UHAT LEVEL? 2
B..X
...B BX
H.X
X B. . . .
XB
XB
X..B
X
xxxxxxxxxxoxxxxxxxxxx
X B
X....B
B.X
LEVEL: 2
KEY
Y=YOU
M=MINOTAUR
S=SPEAR
B=BARRIER
O=0RI6IN
X=AXIS
TURN S . HINOTAUR IS AT (-2 , 8 ), ON L. 2 .
YOUR CONTROL? 4
YOU ARE AT ( 5 , ), ON LEVEL 2 .
THE HINOTAUR IS CHARGING.
BZZZZZZZZZZZZZZZZZZZZOUNT HINOTAUR JUST FRIED HIMSELF
YOU UIN, YOU LUCKY SCAB
YOU ARE NOU A QUALIFIED CHAMPION!
UOULD YOU LIKE TO PLAY AGAIN? NO
OK
108
LIST
100 PRINT TAB(32)"MIN0TAUR"
120 PRINT TAB(15)"CREATIVE COMPUTING, MOKRISTOUN, NED JERSEY"
130 PRINT:PRINT:PRINT
140 L1=INT<RNB(1 )*3>+1
170 X1=INT<RND(1)*<-21>>+11
180 Y1=INT(RND(1 )*(-21))+11
190 PRINT
195 DIN B(15),C(15)
200 GOSUB 13S0
210 REN INSTRUCTIONS
220 GOSUB 1660
230 REN BARRIERS
240 GOSUB 2330
250 REN PLACE PLAYER
240 SOSUB 2420
270 REN START GAHE
2B0 REN SPEAR
290 IF X2=S1 AND Y2=S2 AND L2=S3 ANB T>1 THEN 3490
300 REN IS HE EATEN?
310 IF X1=X2 AND Y2=1 ANB L1=L2 THEN 3470
320 REN CHARGING
330 IF RNOdX.I THEN 2850
340 REN TURN it
350 T=T+1
340 print"turn";t;". ninotaur is at <";xi;v;yi;">, on l. ";li;"."
370 print "your control";
380 INPUT Z
390 ON Z 60T0 400,430,450,480,500,530,350,3270
400 X2=X2+F
410 IF ABS(X2)>10 THEN 1160
420 GOTO 1180
430 X2=X2-F
440 SOTO 410
450 Y2=Y2+F
460 IF ABS(Y2»10 THEN 1160
470 GOTO 420
480 Y2=Y2-F
490 GOTO 460
500 L2=L2+1
510 IF L2>3 OR L2<1 THEN 1330
520 GOTO 420
530 L2=L2-1
540 GOTO 510
550 REN SPEAR-THROUING
560 IF L10L2 THEN 1080
570 IF X10X2 ANB Y10Y2 THEN 1100
580 IF X10X2 AND ABS(Y1-Y2»10 THEN 1120
590 IF ABS(X1-X2)>10 THEN 1120
600 IF S9=1 THEN 3720
610 PRINTMN DHICH DIRECTION MOULD YOU LIKE TO THROU (USE 1,2,3,4)"
620 INPUT HI
630 PRINT"HOU FAR";
640 INPUT H2
650 S5=X2
660 S6=Y2
670 FOR H3-1 TO H2
680 ON HI GOTO 690,720,740,770
690 S5=S5t1
700 IF ABS(S5)>10 THEN 860
710 GOTO 790
720 S5=S5-1
730 GOTO 700
740 S6=S4-1
750 IF ABS(S6)>10 THEN 860
740 GOTO 790
770 S6=S6-1
780 GOTO 750
790 PRINT"SPEAR IS AT <" ;S5;",";S6" > ."
800 REN TEST FOR BARRIERS
810 FOR A=1 TO 10
820 IF S5=B(A> AND S6=C(A) THEN 850
830 NEXT A
840 60T0 870
850 PRINT "SMASH SPEAR SPLITERED AGAINST BARRIER «";A;""
840 GOTO 1140
870 NEXT H3
880 IF S50X1 OR S60Y1 THEN 1010
890 X=INT(RNB(1)*3)+1
900 ON X 60TO 910,1010,1070
910 PRINT"YOU KILLED THE NINOTAUR IN";T;"TURNS."
920 GOTO 1450
930 PRINT"UOULD YOU LIKE TO PLAY AGAIN";
940 INPUT X$
950 IF X»<>"YES" THEN 3740
960 T=0
970 L1=INT(RND(1)*3)+1
980 X1=INT(RND(1)*(-21))+11
990 Y1=INT(RND(1)»(-21))+11
1000 60TO 230
1010 PRINT"YOU NISSED. SPEAR IS AT (";S5;",";S6;" ) . YOU NUST GET IT."
1020 S1=S5
1030 S2=S6
1040 S3=L2
1050 S9=1
1060 60T0 280
1070 60SUB 2840
1080 PRINT"Y0U ARE NOT ON THE SAME LEVEL. YOU CANNOT THROB."
1090 60T0 420
1100 PRINT"YOU ARE NOT ON THE SANE XOR Y LINE. YOU CANNOT THROU . "
1110 GOTO 420
1120 PRINT"YOU ARE NOT UITHIN 10. YOU CANNOT THROU."
1130 60T0 420
1140 PRINT"YOU ARE NOU WEAPONLESS. YOU LOSE, SUCKER ! "
1150 GOTO 930
1160 PRINT" YAAAAAAAAAAAAAAAAH YOU FELL OFF THE ED6E"
1170 GOTO 1150
1180 PRINT"YOU ARE AT <";X2;",";Y2;">, ON LEVEL ";L2;"."
1190 REN TEST FOR BARRIERS
1200 FOR A=1 TO 10
1210 IF X2=B(A) AND Y2=C(A> THEN 1240
1220 NEXT A
1230 GOTO 1260
1240 PRINT"YOU HAVE JUST FRIED YOURSELF ON AN ELECTRIFIED BARRIER."
1250 GOTO 1150
1260 REN TRAPDOORS
1270 X=INT(RND(1>*10>+1
1280 IF X=5 THEN 1300
1290 60T0 2510
1300 PRINT" YAAAAAAAAAAAAAAH TRAPDOOR, YOU FELL DOUN ONE LEVEL"
1310 L2=L2-1
1320 IF L2>0 THEN 1290
1330 PRINT"YOU FELL OUT OF THE CAVERN. YOU LOSE."
1340 GOTO 1150
1350 PRINT"00 YOU UANT TO BE THE NINOTAUR CHAHPION";
1360 INPUT X9*
1370 IF X9$<>"YES" THEN 1440
1380 C2=20
1390 PRINT"YOU NUST BEAT A SCORE OF 20."
1391 DIH C3»(72)
1419 BIN C4$(72)
1440 RETURN
1450 IF X9$<>"YES" THEN 930
1460 C3=(1/T>*100
1470 IF C3<20 THEN 1630
1480 PRINT"YOU ARE NOU A QUALIFIED CHANPION!"
1620 GOTO 930
1630 PRINT"SORRY ,YOU DID NOT BEAT THE CHANPION."
1640 PRINFDO YOU UANT TO PLAY AGAIN";
1650 60T0 940
1660 REN INSTRUCTIONS
1670 PRINT
1472 F0RV7=1 TO 31
1473 PRINT"*";
1675 NEXT V7
1680 PRINT TAB(32)"NIN0TAUR";
1681 FOR V8=1 TO 31
1682 PRINT TAB(41)"*";
1683 NEXT V8
1720 PRINT
1730 PRINT
1740 PRINT"D0 YOU NEED INSTRUCTIONS";
1760 INPUT X*
1770 IF X»<>"YES" THEN 2320
1780 PRINT
1800 PRINT "THE OBJECT OF THE GANE IS TO KILL THE NINOTAUR"
1820 PRINT
1825 FOR V9=1T0 31
1826 PRINT"*";
1827 NEXT V9
1830 PRINTTAB(33)"CAVERN";
1832 FOR V10=1 TO 31
1833 PRINT TAB(41)"*";
1835 NEXT V10
1836 PRINT
1837 PRINT
1840 PRINT TAB(12)" THE CAVERN OF THE NINOTAUR IS IN THREE"
1850 PRINT TAB(12)"LEVELS. EACH LEVEL IS A COORDINATE PLANE ."
1860 PRINT TAB(12)"0UTSIDE OF THE LEVELS THERE IS NOTHING BUT "
1870 PRINT TAB < 1 2) "VACUUM. THE PLANES STRETCH OUT 10 ON EACH AXIS"
1880 PRINT TAB(12)"FR0H THE ORIGIN."
1890 PRINT
1910 FOR VI 1 =1 TO 31
1920 PRINT"*";
1930 NEXT V11
1940 PRINT TAB (32) "HAZARDS";
1945 FOR V12=1 TO 31
1947 PRINT TABU1)"*";
1948 NEXT V12
1950 PRINT
1955 PRINT
1960 PRINT TAB( 32) "BARRIERS"
109
1965 PRINT
1970 PRINT TABU2)" INSIDE THE CAVERN ARE 10 ELECTRIFIED"
1980 PRINT TABU 2) "PILLARS STRETCHING THROUGH THE THREE"
1990 PRINT 'TAB<12)"LEVELS. THEY UILL DESTROY ANYTHING THAT"
2000 PRINT TAB! 12) "TOUCHES THEN!!"
2010 PRINT
2020 PRINT TAB(32) "TRAPDOORS"
2025 PRINT
2030 PRINT TAB<12>" TRAPDOORS UILL APPEAR OUT OF NOUHERE"
2040 PRINT TAB(12)"AND DROP YOU DOUN ONE LEVEL. IF YOU UERE"
2050 PRINT TAB(12)"0N LEVEL ONE, YOU LOSE!!"
2060 PRINT: PRINT
2070 PRINT TAB(27)"CHARGINB MINOTAUR"
2071 PRINT
2080 PRINT TABI12)" THE MINOTAUR UILL CHARGE IF YOU"
2090 PRINT TAB(12)"U0UND HIH UITH YOUR SPEAR. ALSO, HE"
2100 PRINT TAB < 1 2 ) "MAY CHARGE FOR NO REASON AT ALL!!!!"
2110 PRINT
2120 PRINT
2130 PRINTTABI21 )" HERE ARE YOUR CONTROL FUNCTIONS"
2140 PRINT TAB(27)"1) MOVING EAST"
2150 PRINT TAD(27)"2) M0VIN6 UEST"
2H0 PRINT TAB(27)"3) MOVING NORTH"
2170 PRINT TAD(27)"4) MOVING SOUTH"
2180 PRINT TAB(27)"5) MOVING UP A LEVEL"
2190 PRINT TAB(27>"6> MOVING DOUN A LEVEL"
2200 PRINT TAB(27)"7) THROUING YOUR SPEAR"
2210 PRINT TAB(27)"8) GETTING A MAP"
2220 PRINT
2230 PRINT
2240 FOR VI 3=1 TO 29
2250 PRINT"*";
2240 NEXT V13
2270 PRINTTAB(31 ("HAVE FUN";
2280 FOR VI 4=1 TO 30
2290 PRINT TAB(41)"*";
2300 NEXT VI 4
2310 PRINT
2320 RETURN
2330 REH BARRIERS
2340 PRINT "I UILL NOU SET THE BARRIERS."
2350 FOR A=1 TO 10
2340 B(A)= INTfRNDd )*(-21 )) + 11
2370 C(A)=INT(RND(1)*(-21))+11
2380 PRINT"BARRIER »";a;" : <";B(A) ;",";C(A) ;") ."
2390 NEXT A
2400 PRINT
2410 RETURN
2420 REM PLACE PLAYER
2430 PRINT"UHICH LEVEL DO YOU UANT TO START ON";
2440 INPUT L2
2450 PRINT"UHICH POINT";
2440 INPUT X2,Y2
2470 PRINT"HOU FAR DO YOU UANT TO MOVE PER A TURN";
2480 INPUT F
2490 PRINT
2500 RETURN
2510 REH HOVE HINOTAUR
2520 X4=X1
2530 Y4=Y1
2540 L4=L1
2550 X3=INT(RND(1 )*4)+1
2540 ON X3 GOTO 2570,2420,2440,2690,2710,2740
2570 XI =X1 +1
2580 IF ABSCX1 >>10 THEN 2600
2590 GOTO 2780
2400 X1=X4
2610 GOTO 2550
2420 XI =X1 -1
2630 60T0 2580
2440 Y1=Y1+1
2450 IF ABSCY1 )>10 THEN 2470
2440 60T0 2780
2670 Y1=Y4
2680 60T0 2550
2690 IF X1=B(A) AND Y1=C(A) THEN 2550
2700 GOTO 2650
2710 L1=L1+1
2720 IF L1>3 OR LK1 THEN 2740
2730 GOTO 2780
2740 L1=L4
2750 GOTO 2550
2760 L1=L1-1
2770 GOTO 2720
2780 FOR A=1 TO 10
2790 IF X1=B(A) AND Y1=C(A) THEN 255
2800 NEXT A
2810 PRINT
2820 G0T0280
2830 PRINT
2840 PRINT"YOU UOUNDED THE HINOTAUR"
2850 PRINf'THE MINOTAUR IS CHARGING."
2860 IF XI >X2 THEN 2890
2870 X3=1
2880 60T0 2910
2890 X3=-1
2900 GOTO 2910
2910 IF Y1>Y2 THEN 2940
2920 Y3=1
2930 60T0 2960
2940 Y3=-1
2950 G0TO2960
2960 IF L1>L2 THEN 2990
2970 L3=1
2980 GOTO 3000
2990 L3=-1
3000 IF L1=L2 THEN 3050
3010 L1=L1+L3
3020 print"level";li;""
3030 GOTO 3000
3040 REM HI THERE
3050 IF X1=X2 THEN 3100
3060 X1=X1+X3
3070 GOSUB 3140
3080 prinT"(";xi;", ,, ;yi;")"
3090 GOTO 3050
3100 IF Y1=Y2 THEN 3210
3110 Y1=Y1+Y3
3120 GOSUB 3140
3130 GOTO 3080
3140 FOR P=1 TO 10
3150 IF B(P)=X1 AND C(P)=Y1 THEN 3180
3160 NEXT P
3170 RETURN
3180 PRINT"BZZZZZZZZZZZZZZZZZZZZQUNT MINOTAUR JUST FRIED HIMSELF"
3190 PRINT"YOU UIN, YOU LUCKY SCAB"
3200 GOTO 1450
3210 PRINT"BITE "
3220 PRINT"CHEU"
3230 PRINT"CHOMP"
3240 PRINT"6ULP"
3250 PRINfYQU LOSE , SUCKER"
3260 G0T0930
3270 PRINT"UHAT LEVEL";
3280 INPUT L4
3290 FOR Y4=10 TO -10 STEP -1
3300 FOR X4=-10 TO 10
3310 IF X4=X2 AND Y4=Y2 AND L4=L2 THEN 3410
3320 IF X4=X1 AND Y4=Y1 AND L4=L1 THEN 3430
3330 IF L4=S1 AND Y4=S2 AND L4=S3 THEN 3450
3340 FOR A=1 TO 10
3350 IF B(A)=X4 AND C<A>=Y4 THEN 3480
3340 NEXT A
3370 IF X4=0AND Y4=0 THEN 3500
3380 IF X4=0 OR Y4=0 THEN 3520
3390 PRINT".";
3400 GOTO 3530
3410 PRINT"Y";
3420 GOTO 3400
3430 PRINT"M";
3440 GOTO 3400
3450 IF S9=0 THEN 3340
3440 PRINT"S";
3470 GOTO 340O
3480 PRINT"B";
3490 GOTO 3400
3500 PRINT"0";
3510 GOTO 3400
3520 PRINT"X";
3530 NEXT X4
3540 PRINT
3550 NEXT Y4
3540 PRINT
3570 PRINT"LEVEL:";L4
3580 PRINT TAB(34)"KEY"
3590 PRINT TAB(31)"Y=Y0U"
3400 PRINT TAB(31)"H=NIN0TAUR"
3410 PRINT TAB(31)"S=SPEAR"
3420 PRINT IAB(31 1"B=BARRIER"
3630 PRINT TAB(31)"0=0RIGIN"
3640 PRINT TAB(31)"X=AXIS"
3650 PRINT
3660 GOTO 2510
3670 PRINT"NINOTAUR MOVED TO YOUR SPOT; HE SAID YOU TASTED GREAT!!"
3680 GOTO 930
3690 PRINT"YOU HAVE YOUR SPEAR"
3700 S9=0
3710 GOTO 300
3720 PRW'HOU CAN YOU THROU YOUR SPEAR IF YOU DON'T HAVE ONE?"
3730 PRINT"SPEAR IS AT(";S1 ;",";S2;"> ON LEVEL ";S3
3740 GOTO 420
3750 STOP
3760 END
Ok
110
Motorcycle Jump
This program, originally titled EVILK
permits you to act out your fantasies of
being a motorcycle daredevil! The
game is a simple motorcycle jump over
several busses, which takes into ac-
count both gravity and drag forces. The
ramp angle and motorcycle speed
determine the distance jumped. Note
that the injury penalty is greater for
long jumps than for short ones, and
that there is a chance for a crash even
on a jump of the right length. This
probability, initially set at .20, can be
modified in line 560 to make survival
more or less likely.
This program was written by Charles
Aylworth and originally appeared in
Creative Computing, Jul/Aug 1978.
RUN
MOTORCYCLE JUMP
CREATIVE COMPUTING
MORRISTOUN, KEU JERSEY
UE'RE AT THE SCENE OF THE BIG MOTORCYCLE JUMP!
HOM MANY BUSSES HILL YOU TRY TO JUMP? S
5 BUSSES! THAT'S 75 FEET!
UHAT RAMP ANGLE UILL YOU USE? 90
90 DEGREES? THAT'S IMPOSSIBLE. COME ON NOU,
UHAT RAMP AN6LE UILL YOU USE? 22
HOU FAST UILL YOU LEAVE THE RAMP?
GOOD LUCK!
A PRACTICE JUMP!
OK, THIS TIME HOU FAST UILL YOU LEAVE THE RAMP? 34
GOOD LUCK!
THERE HE GOES!!!!
*»*«»*********»*HE JUMPED TOO FAR!
HE HISSED THE RAMP.
I THINK HE'S HURT
WELL, KILLER, THE DOCTOR SAYS YOU BROKE YOUR:
L.LE6
RIBS
BIKE
NECK
WANT TO JUMP AGAIN? YES
HOU MANY BUSSES UILL YOU TRY TO JUMP? 3
3 BUSSES ! THAT'S 73 FEET!
UHAT RAMP AN6LE UILL YOU USE? 22
HOU FAST UILL YOU LEAVE THE RAMP? 46
GOOD LUCK!
THERE HE 60ES!!!!
*»*********«»HE'S SHORT OF THE RAMP
I THINK HE'S HURT
UELL, KILLER, THE DOCTOR SAYS YOU BROKE YOUR:
R.ARM
PRIDE
L.ARtt
BACK
BUTT
UANT TO JUMP AGAIN? YES
HOU MANY BUSSES UILL YOU TRY TO JUMP? 5
3 BUSSES! THAT'S 75 FEET!
UHAT RAMP ANGLE UILL YOU USE? 22
HOU FAST UILL YOU LEAVE THE RAMP? 47
GOOD LUCK!
THERE HE GOES!!!!
*«»*«»********HE MADE IT
UANT TO JUMP AOAIH? NO
YOU MADE IT I OUT OF 3 ATTEMPTS.
BE CAREFUL, NOU.
OK
SKULL RIBS KNEE BUTT
COME ON NOU,
GREAT JUMP, KILLER!
10 PRINT TAB(21); "MOTORCYCLE JUMP"
20 PRINT TAB(20);*CREATIVE COMPUTING"
30 PRINT TABUS) ;"MORRISTOUN, NEU JERSEY"
40 PRINT:PRINT:PRINT
SO DIM 12(14), I»<84>
90 I»«*R.ARN L.ARM R.LE8 L.LES BACK NECK
100 II»II*"FACE PELVISPRIDE BIKE "
110 T».1
130 T2=0
140 T3*0
150 PRINT "UE'RE AT THE SCENE OF THE BIG MOTORCYCLE JUMP!"
1*0 INPUT "HOU MANY BUSSES UILL YOU TRY TO JUMP";N
170 J»N»15
180 PRINT BUSSES! THAT'S "JJ;" FEET!"
190 INPUT "UHAT RAMP AN6LE UILL YOU USE";A2
200 IF A2<90 AND A2>0 THEN 230
210 PRINT A2J" DEGREES? THAT'S IMPOSSIBLE.
220 GOTO 190
230 A°A2*.01745
240 INPUT "HOU FAST UILL YOU LEAVE THE RAMP";S
250 PRINT " GOOD LUCK!"
240 IF S>0 THEN 300
270 PRINT "A PRACTICE JUMP!"
280 PRINT "OK, THIS TIME *;
290 GOTO 240
300 H=6
310 D»0
320 0»4
330 R2«0
340 S2*0
350 S=S*t .5
340 PRINT "THERE HE DOES!!!!"
380 S=S-S2
390 F«S»T
400 D2«F*C0S(A>
410 R»F*SIN(A>
420 R2=R2t(32»T)
430 R3«R2»T
440 H»H*R-R3
450 D»D*D2
440 PRINT '"**;
480 S2*(S/120)*32*T
490 IF D>°J THEN G=G-R
310 IF 6<»0 THEN 6=0
520 IF H>8 THEN 380
S30 IF D<J THEN 600
340 IF D>J+20 THEN 440
350 L«((D-J)/30)+RND(1)
340 IF L>.8 THEN 450
370 PRINT "HE MADE IT !
380 T2»T2+1
590 GOTO 920
400 PRINT "HE'S SHORT OF THE RAMP "
420 L2=INT((((J-D>/5)*2>»<RND(1>*5>+.5>
630 GOTO 670
440 PRINT "HE JUMPED TOO FAR!"
450 PRINT "HE MISSED THE RAMP."
440 L2»INT(((D+20-J)/20)+(RND(1)*5)>
470 PRINT "I THINK HE'S HURT "
680 FOR K=1 TO 14
690 I2(K)=K
700 NEXT K
710 K2»14
720 IF L2>14 THEN L2=14
730 IF L2<=0 THEN L2=1
740 FOR K=1 TO L2
770 V»INT(RND(1)*1000)
780 V»(V-(INT(V/K2)*K2)>+1
790 H2»I2(V)
800 I2(V)*I2(K2>
810 I2(K2)»H2
820 K2=K2-1
830 NEXT K
840 PRINT "UELL, KILLER, THE DOCTOR SAYS YOU BROKE YOUR:"
840 FOR KM15-L2) TO 14
880 P=(4»I2(K))-5
890 A<°HID*(I«,P,4>
900 PRINT A«
930 INPUT "UANT TO JUMP AGAIN" ;A*
940 IF LEFT$(A*,I)»"Y" THEN PRINT:PRINT:80T0 140
950 PRINT "YOU MADE IT ";T2;" OUT OF ";T3;" ATTEMPTS.
960 PRINT "BE CAREFUL, NOU."
970 END
GREAT JUMP, KILLER ! "
910 NEXT K
920 T3=T3+1
111
Nomad
"Gramma Nomad" is a person who
doesn't really know where she wants to
live, so she moves to a new house every
game. Then she sends you a telegram
asking you to visit her. The object of the
game is to successfully navigate your
way through the streets of Garbonzo
City to Gramma's house. See the game
for more details. A map of Garbonzo
City is provided for your reference.
Nomad was written by Steve Trapp
and first appeared in Creative Com-
puting, Sep/Oct 1977.
RUN
RULES? YES
NOftAD
CREATIVE COMPUTING
HORRISTOUN, NEW JERSEY
GRAMMA NOMAD IS A NICE OLD LADY UHO HAS MOT QUITE
HADE UP HER MIND UKESE SHE HANTS TO LIVE.
SHE HAS NARROUED IT D0UN TO SONEUHESE IN 0AR80NZ0 CIT'
AND ON A STREET CORNER.
AT THE BEGINNING, THE MAILMAN 3-VES YOU A TELEGRAM URITTEN
BY GRAHHA TELLING YOU UHERE SHE LIVES.
'.I 'JILL READ IT TO YOU).
YOU GET INTO YOUR CAR IT LRAC NILKNARF NAM6REB LODGE.
FROM THEEEEERE YOU GO TO GRAHflAS HOUSE.
YOU TRY TO 6ET THERE UITHOUT:
CRASHUPS
TICKETS
FLAT TIRES
RUNNING OUT OF GAS
DEAD ENDS
THERE IS AN 8-NAN POLICE FORCE ENFORCING THE LAUS
OF GARDONZO CITY.
THERE ARE 2-DRUNKS ON THE STREETS OF SAR90NZ0
CITY.
IF A POLICEHAN CATCHES A DRUNK, HE HAS TO
TESTIFY IN COURT
(UHICH TAKES THE REST OF THE OAttE!
IF A DRUNK DRIVER HITS YOU, YOU LSSE.
AT EACH JUNCTION, I HILL TELL YOU:
THE DIRECTION YOU ARE GOING
THE ROAD YOU ARE ON
THE ROAD CROSSING
I UILL ASK YOU:
THE DAY YOU UANT TO TURN (IE LEFT)
SPEED (IN HPH)
AN OVERPASS IS NOT A JUNCTION. SO IT IS
MERELY SKIPPED OVER. IT IS UNANNOUNCED.
*THAT IS ALL*
UHAT IS YOUR NAME? STEVE
*O0OD LUCK*
DEAR STEVE,
HOU ARE YOU? I LIVE AT THE CORNER
OF ROAD 8 15 SI?!!!
COME ON OVER.
LOVE,
GRANHA
((TELEGRAHHA CORP. TELEGRAM CO.))
112
GOING SOUTH ON ROAD It 1
JUNCTION: ROAD HI S It 2
FORWARD, LEFT, RIGHT OR U-TURN? F
SPEED? 40
SMOOSH. . .BUS FLATTENED YOUR CAR.
AGAIN? YES
UHAT IS YOUR NAME? STEVE
*GOOD LUCK*
DEAR STEVE,
HOU ARE YOU? I LIVE AT THE CORNER
OF ROAD 8 1 S « 8 ! ! !
COME ON OVER.
LOVE,
GRAMMA
( (TELEGRAMMA CORP. TELEGRAM CO.))
GOING SOUTH ON ROAD It 1
JUNCTION: ROAD II 1 S tt 2
FORWARD, LEFT, RIGHT OR U-TURN? F
SPEED? 30
GOING SOUTH ON ROAD S 1
JUNCTION: ROAD It 1 X It 4
FORWARD, LEFT, RIGHT OR U-TURN? F
SPEED? 30
POP. ..BULLDOG ATE YOUR TIRE!
AGAIN? YES
UHAT IS YOUR NAME? STEVE
+GOOD LUCK*
DEAR STEVE,
HOU ARE YOU? I LIVE AT THE CORNER
OF ROAD It 11 S It 4 M!
COME ON OVER.
LOVE,
GRAMMA
( (TELEGRAMMA CORP. TELEGRAM CO.))
GOING SOUTH ON ROAD It 1
JUNCTION: ROAD It 1 S H 2
FORWARD, LEFT, RIGHT OR U-TURN? R
SPEED? 30
GOING UEST ON ROAD It 2
JUNCTION: ROAD tt 2 S It 18
FORWARD, LEFT, RIGHT OR U-TURN? L
SPEED? 54
■WEEDING*
NOT CAUGHT
GOING SOUTH ON ROAD II 18
JUNCTION: ROAD tt 18 S tt 3
FORWARD, LEFT, RIGHT OR U-TURN? F
SPEED? 45
GOING SOUTH ON ROAD It 18
JUNCTION: ROAD It 13 £ It 4
FORWARD, LEFT, RIGHT OR U-TURN? L
♦ SPEED* I DARE YOU *SPEED* I DARE YOU
SPEED? 100
♦SPEEDING*
NOT CAUGHT
GOING EAST ON ROAD tt 4
YOU MADE IT TO GRAMMAS HOUSE!!!!!!! !!
AGAIN? NO
••SEE YOU*
Ok
list
1500
FOR A=1 TO 8
1880
IF LEFT$(I$,1)="F" THEN 2080
10 PRINT TAB(26>;"N0MAD"
1510
P(A,1)=FNA(N)
1890
IF LEFTt(I*,1)="R" THEN 1970
20 PRINT TAB (20); "CREATIVE COMPUTING"
1520
P(A,2)=FNA(C(P(A,1)))
1900
IF LEFTS(I$,1 )="L" THEN 1990
30 PRINT TAB(18);"M0RRIST0UN, NEU JERSEY"
1530
NEXT A
1910
IF LEFT*(I*,1)="U" THEN 1950
1160 DIM K*(30),D<2,2!,R(30,30>,E(30,30),P<8,2),C<30>
1540
REM LRAC NILKNARF NAMGREB LODGE
1920
REM GOOFED
1170 DIM U(30)
1550
R=1
1930
PRINT "**Y0U GOOFED**"
1180 DIM N$(30>
1540
J=0
1940
GOTO 1850
1 190 REM GOSUB RULES
1570
1 = 1
1950
1=1*1
1200 GOSUB 3340
1580
REM GOSUB CHECK
1960
GOTO 2080
1210 REM RANDOM NUMBERS
1590
GOSUB 2520
1970
I=U(R)*I
1220 DEF FNA(X)=INT(RND(1>*X!+1
1600
REM GOSUB TELEGRAM
1980
GOTO 2000
1230 REM II OF ROADS
1610
GOSUB 2570
1990
I=-1*U(R)*I
1240 READ N
1620
REM ADD INCREMENT
2000
FOR A=1 TO C(C)
1250 FOR R=1 TO N
1630
J=J+I
2010
IF R(C,A)=R THEN 2040
1240 REM It OF INTERSEC
1440
REM NEED REPAIR?
2020
NEXT A
1270 READ Q
1650
IF FNA(10)=1 THEN 2940
2030
GOTO 4210
1280 C(R)=ABS(Q)
1660
REM DEAD END?
2040
R=C
1290 IF Q<0 THEN 1320
1670
IF J>C(R) OR J=0 THEN 3040
2050
J=A
1300 U(R)=1
1680
REM DIRECTION
2060
REM DARE?
1310 GOTO 1330
1690
IF I=-1 THEN 1720
2070
IF FNA(4)=1 THEN 2340
1320 U!R)=-1
1700
D=E(R,J)
2080
REM SPEED
1330 REM DIREC, ROAD
1710
GOTO 1730
2090
PRINT "SPEED";
1340 FOR J=1 TO C(R)
1720
D=9-E(R,J)
2100
INPUT S
1350 READ E(R,J),R(R,J)
1730
REM ROAD CROSSING
2110
REM DANGEROUSITY CRASH CHECKS
1360 NEXT J
1740
C=R(R,J>
2120
IF SMOO THEN 3190
1370 NEXT R
1750
REM SKIP LINE
2130
IF S<30 THEN 3220
1380 REM NAME?
1760
PRINT
2140
REM ILLEGAL?
13V0 PRINT "UHAT IS YOUR NAME";
1770
REM GOSUB *DIREC, ROAD ON* PRINT
2150
IF S>55 THEN 3090
1400 INPUT N*
1780
GOSUB 2680
2140
REM DRUNK DRIVERS DRIVE.
1410 REM OPENING STATEMENT
1790
REM AT GRAMMAS?
2170
FOR A=1 TO 2
1420 PRINT
1800
IF H1=R AND R<R,J)=R(H1,H2) THEN
2880
2180
IF D(A,1)=0 THEN 2210
1430 PRINT "*GOOD LUCK*"
1810
IF H1=R(R,J) AND R=R(H1,H2> THEN
2880
2190
D(A,1)=FNA(N)
1440 REM GRAMMAS HOUSE
1820
REM JUNCTION
2200
D(A,2)=FNA<C(D(A,1>>)
1450 H1=FNA(N)
1830
PRINT "JUNCTION: ROAD H";R;" S tt'
;c
2210
NEXT A
1460 H2=FNA(C(H1 ) )
1840
REM ASK UHAT UAY TO TURN
2220
REM HIT BY DRUNK DRIVER?
1470 REM DRUNK DRIVERS
1850
PRINT "FORUARD, LEFT, RIGHT OR U-
TURN";
1490 REM POLICE
1860
INPUT 1$
113
2230 FOR A=1 10 2
2240 IF D(A,1)=0 THEN 2270
2250 IF B(A,1 )=S AND R(R, J)=R(D(A, 1 > ,D(A,2 > ) THEN 2910
2240 IF D(A,1 1=R(R,J) AND R(D(A, 1 > ,D< A,2) )=R THEN 2910
2270 NEXT A
2280 REH IS DRIVER CAUGHT?
2290 FOR A=1 TO 2
2300 IF D(A,1)=0 THEN 2340
2310 FOR B=1 TO 8
2320 IF D(A,1)=P(B,1> AND D(A,2)=P(B,2) THEN 2400
2330 NEXT B
2340 NEXT A
2350 GOTO 1620
2360 REM SPEED DARE PRINT
2370 ON FNA(3) GOTO 2380,2400,2420
2380 PRINT "I DARE YOU TO SPEED ** (DAREDEVIL)"
2390 GOTO 2430
2400 PRINT "*SPEEDING* IS FUN (SO AO IT)!!"
2410 GOTO 2430
2420 PRINT "tSPEED* I DARE YOU *SPEED* I DARE YOU"
2430 GOTO 2080
2440 REN DRUNK CAUGHT
2450 PRINT "A DRUNK DRIVER HAS BEEN CAUGHT. THE POLICEMAN UHO"
2460 PRINT "ARRESTED HIM UILL BE TESTIFYING AT COURT FOR"
2470 PRINT "THE REST OF THE GAME."
2480 PRINT
2490 D(A,1)=0:D(A,2)=0:P(B,1 )=0:P(B,2)=0
2500 GOTO 1620
2510 REM CHECK
2520 FOR A = 1 TO 3
2530 IF H1=P(A,1) AND R(H1 ,H2)=R(P(A, 1 ) ,P(A,2) ) THEN 1440
2540 IF H1=R(P(A,1>,P(A,2!> AND R(H1 ,H2)=P(A,1 1 THEN 1440
2550 NEXT A
2560 RETURN
2570 REH TELEGRAM PRINT-UP
2580 PRINT
2590 PRINT "DEAR ";N»;","
2600 PRINT "HOU ARE YOU? I LIVE AT THE CORNER"
2610 PRINT "OF ROAD 8";H1;" S 8";R(H1 ,H2 );"!!! "
2620 PRINT "COME ON OVER. "
2630 PRINT " LOVE,"
2640 PRINT " GRAMMA"
2650 PRINT "((TELEGRANHA CORP. TELEGRAM CO.!!"
2660 PRINT
2670 RETURN
2680 REM *DIREC, ROAD ON* PRINT-UP
2690 PRINT "GOING ";
2700 ON D GOTO 2710,2730.2750,2770,2790,2810,2830,2850
2710 PRINT "NORTH";
2720 GOTO 2860
2730 PRINT "UEST";
2740 GOTO 2860
2750 PRINT "NORTHEAST";
2760 GOTO 2860
2770 PRINT "SOUTHEAST";
2780 GOTO 2860
2790 PRINT "NORTHUEST";
2800 GOTO 2860
2810 PRINT "SOUTHWEST";
2820 GOTO 2860
2830 PRINT "EAST";
2840 GOTO 2860
2850 PRINT "SOUTH";
2860 PRINT " ON ROAD tt";R
2872 RETURN
2880 REM AT GRAMMAS *PRINT*
2890 PRINT "YOU MADE IT TO GRAMMAS HOUSE!!!!!!! '!"
2900 GOTO 3240
2910 REM DRUNK HIT YOUR CAR *PRINT*
2920 PRINT "KERSPLATT — DRUNK DRIVER HIT YOUR CAR."
2930 GOTO 3240
2940 REM CAR NEEDS FIXING *PRINT-UP*
2950 ON FNA(5) GOTO 2960,2980,3000,3020,3040
2960 PRINT "POP... FLAT TIRE"
2970 GOTO 3050
2980 PRINT "FLIP... YOUR CAR DID A SUMERSALT"
2990 60T0 3050
3000 PRINT "*0UT OF GAS*"
3010 GOTO 3050
3020 PRINT "SMOOSH. . .BUS FLATTENED YOUR CAR."
3030 60T0 3O50
3040 PRINT "POP... BULLDOG ATE YOUR TIRE!"
3050 GOTO 3240
3060 REM DEAD END PRINT
3070 PRINT "*DEAD END*"
3080 GOTO 3240
3090 REM SPEEDING
3100 PRINT "*SPEEDINQ*"
3110 REM CAUGHT BY POLICE?
3120 FOR X=1 TO 8
3130 IF P(X,1)=R AND P(X,1)=J THEN 3170
3140 NEXT X
3150 PRINT "NUI CAUGHT"
."1160 GOTO 2160
3170 PRINT "CAUGHT SPEEDING BY THE POLICE! ' "
3180 GOTO 3240
3190 REM TOO FAST *CRASH*
3200 PRINT "KERSHOIJSHIIEEEE. . .UEN1 TOO FAST I'M"
3210 GOTO 3240
3220 REM TOO SLOU *CKASH*
3230 PRINT "-*<(KRUNCH)>*- TOO SLOU. . .CAR BEHIND RAN INTU YOU'"
3240 REM AGAIN?
3250 PRINT
3260 PRINT "AGAIN";
3270 INPUT 1$
3290 IF LEFT*(I».1)="Y" THEN 1380
3300 REM CLOSING STATEMENT
3310 PRINT
3320 PRINT "*SEE YOU*"
3330 GOTO 4210
3340 REM RULES?
3350 PRINT "RULES" ;
3360 INPUT 15
3380 IF LEFT$(I»,1)="N" THEN 3950
3390 PRINT
3400 PRINT "GRAMMA NOMAD IS A NICE OLD LADY UHO HAS NOT MITE"
3410 PRINT "MADE UP HER MIND UHERE SHE UANTS TO LIVE."
3420 PRINT "SHE HAS NARROWED IT DOWN TO SUMEUHERE IN GARBONZO CITY"
3430 PRINT "AND ON A STREET CORNER. "
3440 PRINT
3450 PRINT "AT THE BEGINNING, THE MAILMAN GIVES YOU A TELEGRAM URITTEN"
3460 PRINT "BY GRAMMA TELLING YOU UHERE SHE LIVES."
34,'0 PRINT "(I UILL READ IT TO YOU!."
3480 PRINT
3490 PRINT "YOU GET INTO YOUR CAR IT LRAC NILKNARF NAMGRE8 LODGE."
3500 PRINT "FROM THEEEEERE YOU GO TO GRAMMAS HOUSE."
3510 PRINT
3520 PRINT "YOU TRY TO GET THERE UITH01JT:"
3530 PRINT "CRASHUPS"
3540 PRINT "TICKETS"
3550 PRINT "FLAT TIRES"
3560 PRINT "RUNNING OUT OF GAS"
3570 PRINT "DEAD ENDS"
3580 PRINT
3590 PRINT "THERE IS AN 8-MAN POLICE FORCE ENFORCING THE LAUS"
3600 PRINT "OF GARBONZO CITY."
3610 PRINT
3620 PRINT "THERE ARE 2-DRUNKS ON THE STREETS OF GARBONZO"
3630 PRINT "CITY."
3640 PRINT
3650 PRINT "IF A POLICEMAN CATCHES A DRUNK, HE HAS TO"
3660 PRINT "TESTIFY IN COURT"
3670 PRINT " (WHICH TAKES THE REST OF THE GAME) "
3680 PRINT
3690 PRINT "IF A DRUNK DRIVER HITS YOU, YOU LOSE."
3700 PRINT
3810 PRINT "AT EACH JUNCTION, I UILL TELL YOU:"
3820 PRINT "THE DIRECTION YOU ARE GOING"
3830 PRINT "THE ROAD YOU ARE ON"
3840 PRINT " THE ROAD CROSSING"
3850 PRINT
3840 PRINT "I UILL ASK YOU:"
3870 PRINT "THE UAY YOU WANT TO TURN (IE LEFT)"
3880 PRINT "SPEED (IN MPH)"
3890 PRINT
3900 PRINT "AN OVERPASS IS NOT A JUNCTION, SO IT IS"
3910 PRINT "MERELY SKIPPED OVER. IT IS UNANNOUNCED. "
3920 PRINT
3930 PRINT "*THAT IS ALL*"
3940 PRINT
3950 RETURN
3960 REM DATA LINES
3970 DATA 18
3980 DATA -8,8,2,8,4,8,5,8,11,8,7,8.8,8,9,8,10
3990 DATA 3,7.17,7,18,7,1
4000 DATA 2,7,17,7,18
401O DATA 3,7,18,7,11,7,1
4020 DATA 7,8,8,8,9,8,10,7,18,7,11,7,1,1,4
4030 DATA -2,7,18,7,5
4040 DATA 2,7,1,7,11
4050 DATA 8,7,16,7,15,7,5,7,14,7,13,7,1,7,12,7,11
4060 DATA 8,7,16,7,15,7,5,7,14,7,13,7,1,7,12,7,11
4070 DATA 8,7,16,7,15,7,5,7,14,7,13,7,1,7,12,7,11
4080 DATA -7,4,4,4,5,4,1,4,7,8,8,8,9,8,10
4090 DATA -3,8,8,8,9,8,10
4100 DATA -3,8,8,8,9,8,10
4110 DATA -3,8,8,8,9,8,10
4120 DATA -3,8,8,8,9,8,10
4130 DATA -3,8,8,8,9,8,10
4140 DATA '-2,8,2,8,3
4150 DATA -5,8,2,8,3,8,4,8,5,1,4
4140 DATA 0,0,0,0,0,0,0
4210 END
Ok
114
Net One
The game, Not One, sometimes
known as Pig, is played with two
players and a pai r of dice. There are ten
rounds in the game; one round con-
sisting of one turn for each player.
Players add the score that they attain
on each round and the player with the
highest score after ten rounds is the
winner.
On each turn, the player may roll the
two dice from one to as many times as
he wishes. If the total of the dice on any
roll after thef irst equals the total shown
on the first roll, his score is then zero
for that entire turn and the dice pass to
the other player. On the other hand, if
the total on his dice is anything
different from the total on the first turn,
he continues to roll and adds the totals
of the dice to his score. After each
successful roll, the player can decide
whether to roll again or stop and score
the number of points already obtained.
You'll find that the computer plays a
surprisingly good game of Not One. To
beat it, you'll need some knowledge of
probabilities and a little bit of luck on
your side.
Not One was written in response to a
challenge that appeared in the charter
issue of Creative Computing. The
game was written by Robert Puopolo
and first appeared in Creative Com-
puting, Mar/Apr 1975.
SOU AGAIN
8
rtOLL AGAIN
9
ROLL AGAIN
11
ROLL AGAIN
11
ROLL AGAIN
4
ROLL AGAIN
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
YOU: 8?
ROUND 3
•? ?£S
? YES
? YES
t YES
? YES
? NO
COMPUTERS MOVE
ROLL 1 : 6
ROLL 2 : 9
ROLL 3 : 7
ROLL 4 : 7
ROLL S : 4
ROLL 6 : 7
COMPUTER: 8o
RUN
NOTONE
CREATIVE C0MPUTIN6
MQRRISTOUN NEU JERSEY
WOULD YOU LIKE THE INSTRUCTIONS? YES
THE GAME OF NOTONE IS PLAYED UITH
TWO PLAYERS AND A PAU OF .IKE. THERt ARE
TEN ROUNDS IN THE GAME ONE ROUND CONSISTING
r ONE T'jRfc FOP EACH PLAYER. PLAYERS
(YOURSELF AND THE COMPUTER! ADD THE SCORE
THEY ATTAIN ON EACH ROUND, AND THE PLAYER
UITH THE HIGhEST SCORE AFTER TEN ROUNDS IS THE U INNER
ON EACH TURN THE PLAYER MAY ROLL THE TUO
DICE FROfl 1 TO n TIMES. IF Tl IS THE TLTfiL OF DICE ON
THE ITH ROLL, THEN 1 HE PLATERS SCORE FOS THE TURN IS
T(1 )+T(2)tT(3)t +TiN!. HCUEVER ,
AND HERE'S THE CATCH, IF ANY T(l) IS EQUAL TO T(1) THEN
THE TURN IS OVER AND HIS SCORE FOR THAI RO'J.'.D IS *£R0
AFTER EACH ROLL THAT DOESN'T EQUAL 1(1), THE PLAYER CA«
DECIDE UHETHEP TO ROLL AGAIN OR S T t»
SCORE THE NUMBER OF POINTS ALREADY OBTAINED.
ROUND 1
ROLL AGAIN ? YES
YOU 6ET A ZERO FOR THIS ROUND
COMPUTERS MOVE
COMPUTER'S ROLL 1
COMPUTER'S ROLL 2
COMPUTER'S ROLL 3
COMPUTER'S ROLL 4
COMPUTER'S ROLL 5
COMPUTER'S ROLL 6
COMPUTER: 46
ROUND 2
12
ROLL AGAIN ? YES
4
ROLL AGAIN ? YES
t
ROLL AGAIN t YES
7
ROLL AGAIN ? YES
10
ROLL AGAIN '• YES
11
12
S
YOU:
ROLL AGAIN ' YES
4 .
ROLL AGAIN ? YS ES
5
ROLL AGAIN 1 YES
6
ROLL AGAIN ? NO
COMPUTERS HOVE
COMPUTER'S
ROLL 1
COMPUTER'S
ROLL 2
COMPUTER'S
ROLL 3
COMPUTER'S
ROLL 4
b
COMPUTER'S
ROLL 5
COMPUTER'S
ROLL 6
COMPUTER:
121
ROUND 4
11
ROLL AGAIN
3
? YES
ROLL AGAIN
12
? YES
ROLL AGAIN
? YES
ROLL AGAIN
i
? YES
ROLL AGAIN
? YES
ROLL AGAIN
8
? YES
ROLL AGAIN
? YES
10
ROLL AGAIN
? NO
YOU
COMPUTERS MOVE
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
ROLL 1
ROLL 2
ROLL 3
ROLL 4
ROLL 5
ROLL t
ROLL 7
ROLL 8
ROLL 9
12
11
COMPUTER: 189
YOU:
ROUnj 5
11
ROa AGAIN
7
ROLL AGAIN
5
T YES
■> YES
115
ROLL AGAIN ? YES
I
ROLL AGAIN ? YES
7
ROLL AGAIN ? YES
11
YOU GET A ZERO FOR THIS RDUND
COMPUTERS MODE
COMPUTER'S ROLL 1
COMPUTER'S ROLL 2
COMPUTER'S ROLL 3
COMPUTER'S ROLL 4
COMPUTER'S ROLL 5
COMPUTER'S ROLL 6
8
6
2
9
12
6
COMPUTER: 232
ROUND 6
4
ROLL AGAIN ? YES
5
ROLL AGAIN ? YES
?
ROLL AGAIN ? YES
S
ROLL AGAIN T YES
ROLL AGAIN ? YES
10
ROLL AGAIN ? YES
ROLL AGAIN ? YES
7
ROLL AGAIN ? NO
YOU:
172
COMPUTERS MOVE
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
COMPUTER'S
ROLL
ROLL
ROLL
ROLL
ROLL
ROLL
ROLL
ROLL 8
ROLL 9
10
6
5
7
COMPUTER: 289
ROUND 7
6
ROLL AGAIN ? YES
11
YOU: 229
ROLL AGAIN T YES
6
YOU GET A ZERO FOR THIS ROUND
COMPUTERS MOVE
COMPUTER'S ROLL 1
COMPUTER'S ROLL 2
COMPUTER'S ROLL 3
COMPUTER'S ROLL 4
COMPUTER'S ROLL 5
COMPUTER'S ROLL 6
3i6
6
3
8
11
7
2
C0MPU1ER
ROUND 8
8
ROLL AGAIN ? YES
8
YOU GET A ZERO FUR THIS ROUND
COMPUTERS MOVE
YOU: 229
COMPUTER'S ROLL 1
COMPUTER'S ROLL 2
COMPUTER'S ROLL 3
COMPUTER'S ROLL 4
COMPUTER'S ROLL 5
COMPUTER'S ROLL 6
COMPUTER: 374
ROUND 9
3
ROLL AGAIN ? YES
8
ROLL AGAIN ? YES
7
ROLL AGAIN ? YES
12
ROLL AGAIN ? YES
2
ROLL AGAIN 1 YES
7
ROLL AGAIN ? YES
5
ROLL AGAIN ? YES
8
ROLL AGAIN ? YES
7
ROLL AGAIN ? YES
8
ROLL AGAIN ? YES
5
ROLL AGAIN 1 YES
11
10
10
YOU: 229
ROLL AGAIN ? YES
6
ROLL AGAIN ? YES
9
ROLL AGAIN ? NO
COMPUTERS MOVE
COMPUTER'S ROLL 1 : 8
COMPUTER'S ROLL 2 : 8
THE COMPUTER GETS A ZERO FOR THE TURN!
COMPUTER: 376
YOU: 324
ROUND 10
7
ROLL AGAIN ? YES
10
ROLL AGAIN ? YES
5
ROLL AGAIN ? YES
YOU GET A ZERO FOR THIS ROUND
COMPUTERS MOVE
COMPUTER'S ROLL 1
COMPUTER'S ROLL 2
COMPUTER'S ROLL 3
COMPUTER'S ROLL 4
COMPUTER'S ROLL 5
COMPUTER'S ROLL 6
11
11
THE COMPUTER GETS A ZERO FOR THE TURN!
FINAL SCORh
COMPUTER: 376
SCORING SUMMARY
ROUND
1
2
3
4
S
6
7
8
9
10
TOTALS:
OK
YOU
89
23
40
57
95
324
YOU: 324
COMPUTER
44
40
35
68
43
57
37
50
374
LIST
J PRINT TAB(24);"N0T0NE":PRINT
5 PRINT TAB(20);"CREATIVE C0MPUTIN6"
4 PRINT TAB(19);"M0RRIST0UN NEU JERSEY"
7 PRINT:PRINT:PRINT
10 DIM T(50),R(10),C(10),H12)
15 INPUT "UOULD YOU LIKE THE INSTRUCTIONS" :A»
20 IF A$="YES" THEN 35
25 IF A*="NO" THEN 100
30 PRINT : PRINT "ANSUER YES OR NO! !":PRINT:GOTO 15
35 PRINT:PRINT "THE GAHE OF NOTONE IS PLAYED UITH"
40 PRINT "TUO PLAYERS AND A PAIR OF DICE. THERE ARE"
45 PRINT "TEN ROUNDS IN THE GAME ONE ROUND CONSISTING"
50 PRINT "OF ONE TURN FOR EACH PLAYER. PLAYERS"
55 PRINT "(YOURSELF AND THE COMPUTER) ADD THE SCORE"
40 PRINT "THEY ATTAIN ON EACH ROUND, AND THE PLAYER"
62 PRINT "UITH THE HIGHEST SCORE AFTER TEN ROUNDS IS THE UINNER":PRINT
67 PRINT "ON -ACH TURN 1 HE PLAYER MAY ROLL THE TWO"
49 PRINT "DICE FROM 1 TO N TIMES. IF T1 IS THE TOTAL OF DICE ON"
72 PRINT "THE ITH ROLL, THEN THE PLAYERS SCORE FOR THE TURN IS"
75 PRINT "T(1)+T(2)tT(3) + +T(N>. HOUEVER,"
77 PRINT "AND HERE'S THE CATCH, IF ANY T(I) IS EQUAL TO T(1) THEN"
80 PRINT "THE TURN IS OVER AND HIS SCORE FOR THAT ROUND IS .ZERO"
82 PRINT "AFTER EACH ROLL THAT DOESN'T EQUAL TO), THE PLAYER CAN"
88 PRINT "DECIDE UHETHER TO ROLL AGAIN OR STOP AND "
90 PRINT "SCORE THE NUMBER OF POINTS ALREADY OBlAINtI)."
100 FOR f=1 TO 10:PRINT:PRINT "RUUND ";T
110 X=X+1:R1=INT(6*RND(1))+1
115 R2=1NT(6*RND(1))+1:PRINT RI+R2
120 IF X>1 THEN 130
125 T(1 )=R1tR2:G0T0 135
130 T(X)=R1+R2
131 IF Td)OT(X) THEN 135
132 PRINT "YOU GET A ZERO FOR THIS ROUND"
133 X=0:T1=0:60TO 200
135 T1=T1+T(X>
140 INPUT "ROLL AGAIN ";B$
145 IF B*="YES" THEN 110
150 IF B*="NO" THEN R(T)=T1 :X=0:T1=0:F0R A=1 TO 50:T(A)=0:NEXT:G0T0 200
140 PRINT:PRINT "ANSUER YES OR NO!!":PRINT: GOTO 140
200 PRINT:PRINT TAB(15);"C0MPUTERS MOVE":PRINT
201 RESTORE
202 R1=INT(6*RND(1))t1:R2=INT(4*RNB(1))+1
204 FOR D=2 TO Rl+R2:READ L(D) :NEXT:D=R1tR2
205 FOR C=1 TO L(D):IF C=1 THEN 215
210 R1=INT(4*RND(1 ) >+1 :R2=INT(4*RND(1 ) )+1
215 PRINT "COMPUTER'S ROLL"C ;R1+R2
220 IF CM THEN 230
225 T(1)=R1+R2:G0T0 242
230 T(C)=RUR2
235 IF T(C)OT(1) GOTO 242
234 PRINT "THE COMPUTER GETS A ZERO FOR THE TURN!!"
237 T1=0:G0T0 245
242 T1=T1+T(C):NEXT C
245 C(T)=T1:T1=0:X=0
250 C2=C2+C(T):C1=C1+R(T)
253 PRINT:FOR B=1 TO 50:T(B)=0:NEXT
255 IF T=10 THEN PRINT "FINAL SCORE":PRINT
260 IF C2<C1 THEN 270
263 PRINT"COMPUTEK: ";C2,"Y0u: »;C1:G0T0 300
270 PRINT "YOU: ";C1 ."COMPUTER: ";C2
300 NEXT T
305 DATA 18,18,9,9,6,4,4,9,9,18,18
310 PRINT:PRINT "SCORING SUMMARY":PRINT
315 PRINT "R0UNB";TAB(15);"Y0U";TAB(25>;"C0NPUTER":PRINT
320 FOR E=1 TO 10:PRINT EJTABl 1 6) ;R(E) ;TAB(26) ;C(E) :NEXT
325 PRINT:PRINT "TOTALS: ";TAB( 14) ;C1 ;TAB(24) ;C2:PRINT
OK
116
Obstacle
The game OBSTACLE is an obstacle
course game played on a 9x40 grid.
A car is represented by the character
'*', the obstacles are the walls
(represented by exclamation points
and hyphens) and spaces are where
the car may travel. The car may not
pass over or occupy a wall or obstacle.
The character 'S' at the upper left
corner, indicates where the car starts
from, and the character in the lower
right corner, the 'F', is the space the car
must occupy at the finish to win. If the
car tries to occupy or pass through a
wall the game is lost. When the car
lands on the space occupied by the
character 'F\ the car has finished the
course, and the game is over, and a
time is calculated.
Line-by-line, here's how the program
works:
Line 61 dimensions the matrix M for
15 rows by 50 columns (allowing an
adequate margin for modification).
Line 620-680 initializes all necessary
variables.
Line 700-780, through the use of a
random number generator, generates
the obstacle course, where I is the row
matrix index and J is the column matrix
index and R1 is the random number.
Line 720 generates a random number
between and 1, multiplies it by a
density of 1.2 (to increase density
factor by a few decimal points) and
removes everything right of the
decimal point. R1 is now either or 1 . If
it is the matrix memory location M
(l,J) inside the For-Next Loop is
assigned the value of a space, if it is 1 , it
is assigned the value of an exclamation
point.
Lines 840 and 850 assign the walls to
the course.
Line 890 stores the values of I and J
into K and L, these act as value holders.
After the print routine has been ex-
ecuted, I and J are reassigned their old
values stored in K and L at line 970.
Lines 910-960, through use of a For-
Next Loop (as in the initialization
course set up routine), print out the
characters represented by values in
matrix M, Line 930, the CHR$ Function
turns the values of the memory location
into their ASCII character equivalent.
Line 990 checks if the car has moved
yet, by checking D1. If DI>0 then it
skips the query option and continues
with the main body. If DlaO then it
executes the option query, asking
whether a new course, or this course or
end the game and then executes the
respective option.
Line 1130 checks if D1 is not equal to
1 and if so continues with the move-
RUN
OBSTACLE
CREATIVE CONFUTING
HORRISTOUN, NEU JERSEY
DO YOU KANT INSTRUCTIONS? YES
THE OBJECT OF THIS 6ANE IS TO MOVE YOUR CAR'»'
BEGINNING AT'S' AND NAVIBATE THROUGH THE OBSTACLES
'!'»'-' MALLS TO THE SPACE HARKED 'C, YOU HUST LANB
ON THE SPACE NARKED 'F' ON THE EXACT AH0UNT OF SPACES
THERE ARE NO DIA60NAL HOVES.
THERE ARE NO RIGHT TO LEFT HOVES.
DIRECTIONS N0.1 IS UP.
DIRECTION NO. 2 IS LEFT TO RIGHT
DIRECTION N0.3 IS DOUN.
SPEEB IS THE NO. OF SPACES IN A GIVEN DIRECTION
ment routine. If not then it starts the car
at matrix position 2,2 and continues
with the movement routine.
Line 1080 starts the main program
body, 1100 queries the direction and
1110 checks the input D if it is a valid
direction. Line 1120 inputs the speed
'S' and Line 1130 initializes the
counters S1 and D1. Lines 1160-1180
direct control to the proper movement
routine (1 is up, 2 is right to left, 3 is
down).
Line 1190-1220 is the movement
routi ne f or d i rection 1 . Li ne 1 1 90 erases
the car from the previous position
keeping track of I and J. Line 1200 and
1210 check each character position
between matrix position I, J, and l-S.J
for a wall (exclamation or hyphen); if
one is encountered the game is over. If
no walls are encountered, the move is
legal and Line 1220 assigns the car to
matrix position 1-1 , J and jumps to 1 31
to check matrix position 10,41 if it
contains a car. If so, the game is won
and the End of Run routine is executed.
If matrix position 10,41 is not occupied
the game is not over and control jumps
to 870, the matrix print routine. The
Loop can only be exited by losing
(crashing into an obstacle) or by
getting the car to matrix position 10,41
where it executes the End of Run
routine.
Line 1380 calculates the time by
dividing total number of turns by total
number of character spaces covered
by the car and multiplies it by 100. Line
1390 prints the time and Line 1400 and
1410 query as to whether to play the
game again.
The program and these notes were
written by Eric Erickson.
• s
I j
I
I!
! I !
! I
1 1
1 1
I
• !!
I ! *
OPTION :<A«CONTINUE,B»NEU C0URSE,C*ST0P1?
DIRECTION? 3
SPEED? 4
ILLEGAL HOVE YOU LOSE!!
DO YOU UISH TO PLAY A8AIN? YES
IS ! ! !
! ! I!
! ! !
!! F
OPTION :<A-=CONTINUE,B=NEU COURSE, C=ST0P)?
DIRECTION? 2
SPEEB? 1
I j
I
! !
■ !
j I
1 1
f !
! ! !
!! !
!! ! !
!! F
DIRECTION? 3
SPEED? A
!! <
! ! !
! !
! !! !
!! !
!! F!
117
Later in the £ U n
DIRECTION? 1
SPEED? 2
i ! ! !
! !
j j j i j I
! ! ! !
! t !
I ill
i
! ! !
! ! ! !
n ii
! ! ! ! I ! ! ! ! ! ! ! ! !
! ! ! MM M
! ! ! ! M F
DIRECTION? 2
SPEED? 6
I j I
! !
MM I
I I !
I
! ! !
j j j I I II
! ! III!
! ! ! Mil !
! I ! ! ! M I I Ml M
! 1 1 I ! Ml
I ! ! !! F I
DIRECTION? 2
SPEED? V V\8
I Ml
j i
! MM
I | | I
1 1
i ;
I I I
1 1
I M M
*
j |
! I j
■ III
! I 1 1 ! I !
I ! j ! ! M Mil!
I M M Ml
Ml ! ! F!
DIRECTION? 3
SPEED? 8
ILLEGAL WOVE YOU LOSE 1 1
DO YOU UISH TO PLAY AGAIN? NO
OK
LIST
10 PRINT TAB (26 ("OBSTACLE*-
20 PRINTTAB< 20 ("CREATIVE COMPUTING"
30 PRINTTAB(I8)"HORRISTOUN, NEU JERSEY"
1S0 REM VARIABLES USAGE
140 REH
DECIMAL VALUE FOR THE CHARACTER' 1
DECIMAL VALUE FOR THE CHARACTER
DECIMAL VALUE FOR THE CHARACTER '
DECIMAL VALUE FOR THE CHARACTER •
DECIMAL VALUE FOR THE CHARACTER •
DECIMAL VALUE FOR THE CHARACTER '
DIRECTION
TOTAL NO. OF TURNS TAKEN
ROU HATRIX
COLUMN MATRIX INDEX
PLACE HOLDER FOR THE VARIADLE I
PLACE HOLDER FOR THE VARIADLE J
MATRIX VARIBLE
INPUT TO YES-NO QUESTIONS
RANDOM NUMBER GENERATOR VARIABLE
SPEED
TOTAL SPEED COUNTER
'TIME' RATIO <D1/S1>*100
START PROGRAM
170 REM A1
180 REH A2
1?0 REH A3 DECIHAL VALUE FOR THE CHARACTER '!'
200 REM A4 DECIMAL VALUE FOR THE CHARACTER 'S'
210 REM A5 DECIMAL VALUE FOR THE CHARACTER 'F'
220 REH A6
230 REH D
240 REH D1
250 REH I
260 REH J
270 REM K
280 REM L
290 REN H
300 REH Nt
310 REH R1
320 REH S
330 REM SI
340 REM T
350 REH
360 REH
370 REH
380 REM
390 REM INSTRUCTIONS
400 REM
410 PRINT
420 PRINT
430 PRINT
440 PRINT
450 PRINT "DO YOU UANT INSTRUCTIONS";:INPUT N>
440 IF N»<>"YES» THEN 410
470 PRINT"THE OBJECT OF THIS GAME IS TO HOVE YOUR CAR'*'"
480 PRINT" BE6INNING AT'S' AND NAVIGATE THROUGH THE OBSTACLES"
490 PRINT"' ! 'J'-' UALLS TO THE SPACE HARKED 'F', YOU HUST LAND"
500 PRINT"ON THE SPACE HARKED 'F' ON THE EXACT AMOUNT OF SPACES"
510 PRINT"THERE ARE NO DIAGONAL MOVES."
520 PRINT"THERE ARE NO RI6HT TO LEFT HOVES."
530 PRINT"DIRECTIONS N0.1 IS UP."
540 PRINT "DIRECTION NO. 2 IS LEFT TO RIGHT"
550 PRINT'DIRECTION NO. 3 IS DOUN."
540 PRINT
570 PRINT"SPEED IS THE NO. OF SPACES IN A 6IVEN DIRECTION"
580 REH
590 REH INI TIALAT ION
400 REH
410 DIM M(15,S0)
620 A1=ASC<"*">
430 A2=ASC("I")
440 A3=ASC(" ")
650 A4=ASC("S")
460 A5=ASC("F">
670 A6=ASC ("-")
480 D1=0:S1=0
690 REM *** NOTE - COURSE SET UP ROUTINE
700 FOR 1=1 TO 10
710 FOR J=1 TO 42
720 R1=INT(RND<1>*1.2>
730 IF R1=0 THEN 760
740 H(I,J)=A2
750 GOTO 770
760 H(I,J)=A3
770 NEXT J
780 NEXT I
790 H(2,2)=A4
800 M(10,40)=A3
810 M(10,41)=A5
820 M(2,3)=A3
830 M(3,2)=A3
840 FOR 1=1 TO 10:M(I,1)=A2:M(I,42)=A2:NEXT I
850 FOR J=1 TO 42:N(1,J)=A6:M(11,J)=A6:NEXT J
** PRINTING ROUTINE **
860 REM
870 REM
880 REH
8?0 K=I:L=J
900 PRINT
910 FOR 1=1 TO 11
920 FOR J=1 TO 42
930 PRINT CHR»(H<I,J>);
940 NEXT J
750 PRINT
960 NEXT I
970 I=K:J=L
980 REM 88 NOTE- NEU COURSE OPTION**
990 IF D1>0 THEN 1080
1000 PRINT"OPTION : <A=CONTINUE,B=HEM COURSE, C=STOP)":
1010 INPUT Nl
1020 IF N$="A" THEN 1080
1030 IF N$="B" THEN 470
1040 IF N»="C" THEN 1420
1050 PRINT"INVALID OPTION"
1060 GOTO 1000
1070 REH
1080 REM ** MAIN PROGRAM BODY **
1090 REH
1100 PRINT"DIRECTION"; : INPUT D:D=INT(ABS(D) )
1110 IF B<1 THEN 1100
1111 IF D>3 THEN 1100
1120 PRINT:PRINT"SPEED";:INPUT S:S=INT(ABS(S) )
1130 01=D1+1:S1=S1tS:IF BIOI THEN 1160
1'40 REN ** NOTE - CAR STARTS AT POSITION 2,2
1150 J=2:I=2
1160 IF D=1 THEN 1190
1170 IF D=2 THEN 1230
1180 IF D=3 THEN 1270
1190 H(I,J)=A3:REM ** UIPES OUT PREVIOUS CHARACTER **
1200 FOR C=l TO SsI=ADS(I-1)8lF H(I,J)=A2 THEN 1340
1210 IF H(I,J)=A6 THEN 1340
1215 NEXT C
1220 HU,J)=A1:' 60TO 1310
1230 M(I,J)=A3
1240 FOR C=1 TO S:J=JM:IF M<I,J)=A2THEN 1340
1250 IF H(I,J)=A6 THEN 1340
1255 NEXT C
1260 H(I,J)=A1: GOTO 1310
1270 H(I,J)=A3
1280 FOR C=1 TO S: I=I+1:IF H(I,J)=A2 THEN 1340
1290 IF M(I,J)=A6 THEN 1340
1295 NEXT C
1300 H(I,J)=A1
1310 REM ** NOTE - UINNIN6 CHECK**
1320 IF H(10,41)OA1 THEN 870
1330 GOTO 1360
1340 PRINT"ILLE6AL MOVE YOU LOSEM":GOTO 1400
1350 REH
1360 REM ** END OF REN ROUTINE **
1370 REH
1380 T=(D1/S1)*100
1390 PRINT "YOU UONM AND YOUR TIME IS ";T
1400 PRINTiPRINT"DO YOU UISH TO PLAY AGAIN";:INPUT N*
1410 IF N«="YES" THEN 470
1420 END
118
Octrix
RUN
OCTRIX
CREATIVE COMPUTING
NORRISTOUN, NEK JERSEY
TEACH GAHE(Y OR N>? Y
THIS IS A GAME CALLED OCTRIX. EACH PLAYER IS DEALT 8
CARDS RANGING FROH ACE THR0U6H EIGHT. THE CARDS ARE
RANKED ACCORDING TO BRIDGE SUITS KITH THE ACE OF CLUBS THE
LOWEST AND THE EI6HT OF SPADES HI6HEST. THE OBJECT IS TO
UIN AS HAHY OF THE EI6HT TRICKS AS POSSIBLE. EACH TRICK
PLAYED DETERMINES THE PLAY OF THE NEXT TRICK. IF THE HIGH
AND LOU CARDS PLAYED HATCH COLOR THE NEXT TRICK UILL BE
HI6H AND IF THEY DO NOT HATCH IT UILL BE LOU. IT IS IM-
PORTANT TO SET STRATE6Y TO UIN CONSECUTIVE TRICKS IN THAT
SCORING IS t POINT PER TRICK, 4 FOR TUO IN A ROU,? FOR 3, UP
TO 44 FOR ALL EIGHT.
RESPOND TO THE INPUT PROHPT UITH THE CARD YOU UANT TO
PLAY IN A TUO CHARACTER FORMAT UITH THE VALUE (A-8) AS THE
FIRST CHARACTER, AND SUIT<C,D,H,S> AS THE SECOND CHARACTER.
(TO SEE THE REMAINING CARDS, ENTER A'P' IN
RESPONSE TO THE 'UHAT CARD' QUERY)
THAT'S IT, GOOD LUCK! !
HOU MANY POINTS (0 ENTRY GIVES STANDARD 88)?
HOU MANY PLAYERS* 3
ENTER PLAYER'S NAME? JEFF
ENTER PLAYER'S NAME? BRUCE
ENTER PLAYER'S NAME? STEVE
SHOULD I PLAY TOO(Y OR N>? Y
JEFF'S HAND BRUCE'S HAND
CLB DIA HRT
!A
!2
!3
!4
!5
H
\7
TRICK « 1 (HIGH CARD UINS)
UHAT CARD, JEFF
■III
UHAT CARD, BRUCE
■Ml
UHAT CARD, STEVE
■III
JEFF PLAYED THE EIGHT OF SPADES
BRUCE PLAYED THE FIVE OF CLUBS
STEVE PLAYED THE FIVE OF DIAMONDS
I PLAYED THE SIX OF HEARTS
JEFF UON TRICK I 1
TRICK « 2 (HI6H CARD UINS)
UHAT CARD, JEFF
■III
UHAT CARD, BRUCE
■ III
UHAT CARD, STEVE
■III
JEFF PLAYED THE FIVE OF SPADES
BRUCE PLAYED THE TUO OF SPADES
STEVE PLAYED THE FOUR OF SPADES
I PLAYED THE EIGHT OF DIAMONDS
I UON TRICK « 2
TRICK « 3 (LOU CARD UINS )
UHAT CARD, JEFF
■III
UHAT CARD, BRUCE
■ III
UHAT CARD, STEVE
■III
JEFF PLAYED THE FOUR OF CLUBS
BRUCE PLAYED THE SIX OF CLUBS
STEVE PLAYED THE SIX OF SPADES
I PLAYED THE ACE OF CLUBS
I UON TRICK « 3
TRICK I 4 (HI6H CARD UINS)
UHAT CARD, JEFF
■III
This is a card game for up to four
players, or three players plus the
computer. A deck of 32 cards is used
with ace through eight in each of the
four suits. All 32 of the cards are dealt
out at the beginning of the game, eight
to each player. On each hand, each
player discards one card depending on
the rules of the game (see the rules at
the beginning of the sample game)
either the high card discard or the low
card discard wins that trick. After eight
tricks a new hand is dealt and play
proceeds as before. Perhaps the
easiest way to learn Octrix is to play a
few games with you and the computer
or with several people and the com-
puter. Observe what happens and
before long you'll be able to work out a
reasonable strategy for playing the
game.
Octrix was written by Rogers
Hamilton.
STEVE'S HAND
COHPUTER'S HAND
SPJ
CLB DIA HRT SPD
CLB DIA HRT
SPD
CLB DIA
HRT
SPD
!* MA
! !* ! ! MA
< ! !*
! MA
!* !
! !A
! M2
! > ! !* M.2
!• ! <
! M2
I 12
! !!3
!* ! ! ! M3
! ! !
> ! !3
! !*
!*
<* !3
! !!4
! > !*
■* M4
! !*
! !4
!» !!5
!* ! ! ! MS
! !* !
! MS
!*
! !5
! Mi
!* ! ! ! Mi
I { i
!» M4
!»
> H
! M7
! !* !* ! M7
! ! !
!* M?
I. >7
!* • !8
! ! !» ! MB
!» ! ■
< M8
! !*
• !8
119
JEFF'S HAND
CLB
DIA
BRUCE'S HAND
HRT SPD
CLB
DIA
HRT
! A
! ! * ! ! R
! 2
1
t f
i * l 1 1 2
1 3
! ! ! !o
!4
I ! M4
!5
! ! MS
!6
! *
! ! ! !6
! 7
! *
'
! ! ! ! 7
! 8
! j M 8
wnH i
r add
JEFF
■■■■
■■■■
UHAT
CARD,
BRUCE
III!
UHAT
CARD,
STEVE
llll
JEFF
PLATED THE SIX
OF DIAMONDS
I*
I
!*
!*
SPD
! ! !A
! !!2
> <!3
! !!4
! ! !S
! ! !6
! !!7
! M8
CLB
STEVE'S HAND
DIA HRT
!*
!
j
!
I
SPD
> !A
i.\2
!!3
!!4
!!5
M6
* M7
M8
COHPUTER'S HAND
CLB DIA HRT
SPD
•A
!2
* !3
!4
!5
[6
>7
!8
f UHAT CARD, BRUCE
BRUCE PLAYED THE EI6HT OF HEARTS
STEVE PLAYED THE FOUR OF HEARTS
I PLAYED THE FIVE OF HEARTS
BRUCE UON TRICK « 4
TRICK II 5 (HI8H CARD UINS)
UHAT CARD, JEFF
■III
UHAT CARD, BRUCE
llll
UHAT CARD, STEVE
JEFF PLAYED THE SEVEN OF CLUBS
BRUCE PLAYED THE SEVEN OF HEARTS
STEVE PLAYED THE EIGHT OF CLUBS
I PLAYED THE FOUR OF DIAMONDS
STEVE UON TRICK « S
TRICK It 6 (LOU CARD UINS)
UHAT CARD, JEFF
■III
UHAT CARD, DRUCE
llll
UHAT CARD, STEVE
■Ml
JEFF PLAYED THE TVO OF HEARTS
BRUCE PLAYED THE THREE OF CLUBS
STEVE PLAYED THE ACE OF HEARTS
I PLAYED THE THREE OF SPADES
STEVE UON TRICK II 6
TRICK « 7 (LOU CARD UINS)
UHAT CARD, JEFF
■III
UHAT CARD, STEVE
■III
JEFF PLAYED THE TUO OF DIAMONDS
BRUCE PLAYED THE ACE OF DIAMONDS
STEVE PLAYED THE SEVEN OF SPADES
I PLAYED THE THREE OF DIAMONDS
BRUCE UON TRICK II 7
JEFF PLAYED THE ACE OF SPADES
BRUCE PLAYED THE SEVEN OF DIAMONDS
STEVE PLAYED THE TUO OF CLUBS
I PLAYED THE THREE OF HEARTS
JEFF UON TRICK H 8
THAT HAND JEFF SCORED 2 POINTS FOR A 2 TOTAL
BRUCE SCORED 2 POINTS FOR A 2 TOTAL
STEVE SCORED 4 POINTS FOR A 4 TOTAL
I SCORED 4 POINTS FOR A 4 TOTAL
JEFF'S HAND
CLB
DIA
HRT
!A
!2
•3
!4
!5
!*
>6
!*
!7
!8
!»
!*
TRICK II 1 (HIGH CARD UINS)
UHAT CARD, JEFF
SPD
!!A
H2
!!3
! !4
!!5
CLB
DIA
!* ! !6
! !!7
I 1 1 8
UHAT CARD, STEVE
■Ml
JEFF PLAYED THE SIX OF CLUBS
BRUCE PLAYEB THE FOUR OF SPADES
STEVE PLAYED THE EI6HT OF SPADES
I PLAYED THE SIX OF DIAMONDS
STEVE UON TRICK II 1
HAND
STEVE'S HAND
HRT
SPD
CLB BIA HRT
SPD
! MA
I I 1
!* MA
! ! 12
! ! <*
!* ! !2
!* !!3
!* ! !
! I !3
!*
!* M4
! ! !
! !'!4
! !!5
! ! !*
! M5
!»
I Mi
1 j j
! \l.6
!*
! M7
! !* !
l* [1.7
! M8
I I j
!* !!8
UHAT CARD, BRUCE
LIST
1
PRINT TAB(27)"0CTRIX"
2 PRINT TAB(20)"CREATIVE COMPUTING"
3 PRINT TAB(I8)"H0RRIST0UN, NEU JERSEY"
5 PRINT
6 PRINT
7 PRINT
10 DIM A(32),P(4,9>,C»(255>,Q(4,11),T*(72>
11 DIM N*(72),Y(72)
40 RESTORE
50 FOR X=0 T07
60 REABY$(X)
70 NEXT X
80 FOR X=0 TO 3
90 READ X»(X)
100 NEXT X
1 1 DATA-ACE" , "TUO" , "THREE" , "FOUR" , "FIVE" , "SIX" , "SEVEN" , "EIGHT"
1 20 DATA"CLUBS" , "DIAMONDS" , "HEARTS" , "SPADES"
130 FOR X=0 TO ?
140 READ T»(X)
150 DATA "A", "2", "3", "4", "5", "4", "7", "8", "LOU", "HIGH"
160 NEXT X
170 PRINT'TEACH 6ANE(Y OR N>";
180 INPUT Z$
190 IF Z»<>"Y" THEN 380
200 PRINT" THIS IS A GAME CALLED OCTRIX. EACH PLAYER IS DEALT 8"
210 PRINT'CARDS RANGING FROM ACE THROUGH EIGHT. THE CARDS ARE"
220 PRINT"RANKED ACCORDING TO BRID6E SUITS UITH THE ACE OF CLUBS THE"
230 PRINT"L0UEST AND THE EIGHT OF SPADES HIGHEST. THE OBJECT IS TO"
240 PRINT"UIN AS MANY OF THE EIGHT TRICKS AS POSSIBLE. EACH TRICK "
250 PRINT'PLAYED DETERMINES THE PLAY OF THE NEXT TRICK. IF THE HIGH "
269 PRINT'AND LOU CARDS PLAYED HATCH COLOR THE NEXT TRICK UILL BE "
270 PRINT"HI6H AND IF THEY DO NOT MATCH IT UILL BE LOU. IT IS IN-"
280 PRINT"PORTANT TO SET STRATEGY TO UIN CONSECUTIVE TRICKS IN THAT "
290 PRINT'SCORINO IS 1 POINT PER TRICK, 4 FOR TUO IN A R0U,9 FOR 3, UP"
300 PRINT"TO 64 FOR ALL EIGHT."
305 PRINT
310 PRINT" RESPOND TO THE INPUT PROMPT UITH THE CARD YOU UANT TO"
320 PRINT'PLAY IN A TUO CHARACTER FORMAT UITH THE VALUE(A-8) AS THE "
330 PRINT'FIRST CHARACTER, AND SUIT(C,D,H,S) AS THE SECOND CHARACTER.
340 PRINT" (TO SEE THE REHAININ6 CARDS, ENTER A'P' IN"
350 PRINT" RESPONSE TO THE 'UHAT CARD' OUERY)"
360 PRINT
370 PRINT"THAT'S IT, 600D LUCK! !"
380 REN
390 FOR X=1 TO 15
400 READ Z
410 M»=M*+CHR*(Z)
420 NEXT X
430 DATA 33,33,35,35,13,72,72,72,72,13,73,73,73,73,13
440 Z9=88
450 PRINT'HOU MANY POINTS (0 ENTRY GIVES STANDARD 88)";
460 INPUT Z
470 IF Z=0 THEN 490
480 Z9=Z
490 FOR X=0 TO 31
500 A(X)-X
510 NEXT X
520 PRINT'HOU MANY PLAYERS";
530 INPUT N
540 N=INT(N)
350 IF N>4 THEN 570
560 IF N>0 THEN 590
570 PRINT"ONLY ONE TO FOUR PLAYERS ALLOUED, RE-ENTER"
380 60T0 520
590 FOR X=0 TO N-1
600 0(X,0)=0
610 PRINT"ENTER PLAYER'S NAME";
620 INPUT NI(X)
430 Y=LEN(N$(XI)
440 FOR Z=1 TO Y
450 Tt-NID«CN*(X),1,Z-1>
460 IF T$=" " THEN 680
670 NEXT Z
680 IF Z>1 THEN 710
690 PRINT"DON'T START NAME UITH SPACE.RE-";
700 GOTO 610
710 S»(X)=MID»(N»(X),1,Z-1)
120
720 NEXT X
730 FOR J=0 TO 127
740 C»<J>=" "
7S0 NEXT J
760 IF N=4 THEN 8S0
770 IF N=1 THEN 810
780 PRINT"SHOULD I PLAY TO0(Y OR N) M ;
790 INPUT Z*
800 IF Z»<>"Y" THEN 850
810 S»<N>="COMPUTER"
820 N»(N)="I"
830 Q(N,0>=0
840 N=N+1
850 FOR 1=0 TO 31
860 X=A(I)
870 Y=INT(RND(1)*(32-I)tI)
880 A(I)=A(Y)
890 A(Y)=X
900 NEXT I
910 FOR Y=0 TO 7
920 FOR X=0 TO N-1
930 P(X,Y)=A(Y*4+X)
940 C»<X*32tP<X,Y)>="«"
950 NEXT X
960 NEXT Y
970 H=1
980 GOSUB 1680
990 FOR R=1 TO 7
1000 PRINT"TRICK «";R;"("T$(8+H)" CARD UINS)"
1010 FOR X=0 TO N-1
1020 IF S«<X>="COHPUTER"THEN 2090
1030 Z=Z»Z
1040 PRINT"UHAT CARD, "S*(X>
1050 PRINT H»;
1060 INPUT E»
1070 IF E*<>"P" THEN 1100
1080 GOSUB 1680
1090 60T0 1040
1100 Y'LEN(ES)
1110 IF Y=2 THEN 1140
1120 PRINT"BAD INPUT, RE-ENTER"
11 TO SOTO 1050
1140 Y*=«ID*(E*,1 ,1 )
1150 Z$=NID$(E*,2,1)
1160 IF VAL(Y$)>0 THEN 1190
1170 IF Y»<>"A" THEN 1120
1180 Y$="1"
1190 Y=VAL(Y$>
1200 IF Y=0 THEN 1120
1210 IF Y>8 THEN 1120
1220 Z=0
1230 Q ( X , 1 ) =0
1240 IF Z*="C" THEN 1320
1250 Z=3
1260 IF Z»="S" THEN 1320
1270 Q(X,10)=1
1280 Z=1
1290 IF Z*="D" THEN 1320
1300 Z=2
1310 IF Z$<>"H" THEN 1120
1320 Y=(Y-1)»4+Z
1330 IF C»(X*32+Y)<>"*" THEN 1120
1340 Q(X,9)=Y
1350 NEXT X
1360 GOSUB 1880
1370 NEXT S
1380 FOR X=0 TO N-1
1390 FOR Z=0 TO 31
1400 IF C$(32*X+Z>="*" THEN 1430
1410 NEXT Z
1420 PRINT-BAD SCAN"
1430 C$(32*X+Z>=" "
1440 Q(X,9)=Z
1450 NEXT X
1460 R=8
1470 GOSUB 1880
1480 H1=0
1490 PRINT"THAT HAND "J
1500 FOR X=0 TO N-1
1510 OCX, 91=0
1520 Y=0
1530 Z=0
1540 FOR R=1 TO 8
1550 Z=Z+Q(X,R)
1560 Q(X,R>=0
1570 IF Q(X,R+1)O0 THEN 1600
1580 Y=Y+Z*Z
1590 Z=0
1600 NEXT R
1610 Q(X,0)=Q(X,0)tY
1620 PRINT N»<X>" SCORED «;Y;"POINTS FOR A";0(X,0);"TOTAL"
1630 IF S(H1,0)>0(X,0) THEN 1650
1640 H1=X
1650 NEXT X
1660 IF 0(H1,0)>=Z9 THEN 2450
1670 GOTO 850
1680 FOR S=0 TO N-1
1681 S8=0
1682 S9=23-(LEN(S*(S))+7)
1684 IF INT(S9/2)*2<>S9 THEN S8=1
1686 S9=INT(S9/2)
1690 PRINT SPC(9+S9>;S$(S>;"'S HAND";SPC(S9+S8);
1700 NEXT S
1710 PRINT
1720 FOR S=0 TO N-1
1730 PRINT" CLB DIA HRT SPD";
1740 NEXT S
1750 PRINT
1760 FOR S=0 TO 7
1770 FOR Y=0 TO N-1
1780 Z=Y*32+S*4
1790 print"!";t»<s>;" !";c*<Z);" !";c*(Z+d;" !";c$(Z+2)
1791 PRINT" !";C$(Z+3>;" !";
1800 NEXT Y
1810 PRINT T$(S)
1820 NEXT S
1830 PRINT
1840 RETURN
1880 L1=0:H1=0
1890 FOR X=0 TO N-1
1900 Y=INT(0(X,9)/4)
1910 Z=0(X,9)-Y*4
1920 PRINT N»<X>" PLAYED THE "Y$(Y>" OF "X*(Z)
1930 C»(X«32+0(X,9))=" "
1940 IF fl(X,9)>0(L1,9) THEN 1960
1950 L1=X
1960 IF Q(X,9XQ(H1,9) THEN 1980
1970 HI =X
1980 NEXT X
1990 IF H=1 THEN 2030
2000 QCL1 ,R)=1
2010 PRINT N*(L1 )" UON TRICK tf";R
2020 60T0 2050
2030 Q(H1,R)=1
2040 PRINT N$(H1 )" UON TRICK «";R
2050 H=0
2060 IF 0(L1,10)O8(H1,10) THEN 2080
2070 H=1
2080 RETURN
2090 L1=0:L2=0:H1=0:H2=0
2100 FOR S=0 TO N-2
2110 FOR S1=0 TO 7
2120 IF P(S,S1»P(L1,L2> THEN 2160
2130 IF C*(S*43*P<S,S1>>=" " THEN 2160
2140 L1=S
2150 L2=S1
2160 IF P(S,S1XP(H1,H2) THEN 2200
2170 IF C«(S*32+P(S,S1>>=" " THEN 2200
2180 H1=S
2190 H2=S1
2200 NEXT SI
2210 NEXT S
2220 FOR S=R-1 TO 7
2230 IF H=1 THEN 2280
2240 IF P(N-1,SXP(L1,L2) THEN 2260
2250 GOTO 2290
2260 IF RND(1)>.3 THEN 2380
2270 GOTO 2300
2280 IF P(N-1,S»P(H1,H2) THEN 2260
2290 NEXT S
2300 H1 =32
2310 Y=INT(RND(1)*16+H*16)
2320 FOR S1=R-1 TO 7
2330 L1=ABS(P(N-1,S1)-Y)
2340 IF HKL1 THEN 2370
2350 H1=L1
2360 S=S1
2370 NEXT S1
2380 0(X,9)=P(N-1,S)
2390 P(N-1,S)=P(N-1,R-1)
2400 Z=0(X,9)-(INT(Q(X,9>/4)*4)
2410 IF Z<2 THEN 2430
2420 Z=ABS(Z-3)
2430 0(X,10)=Z
2440 GOTO 1360
2450 IF H1>N-2 THEN 2510
2460 FOR X=H1+1 TO N-1
2470 IF 0(H1,0»Q(X,0) THEN 2500
2480 PRINT"GANE TIED AFTER REGULATION, ENTERING SUDDEN DEATH"
2490 60T0 850
2500 NEXT X
2510 PRINT N»(H1)"M0N THE GAME, CONGRATULATIONS "S«(HD
2520 END
Ok
121
Pasart
Description :
This program generates artistic patterns based
on Pascal's triangle.
Comments:
Pascal's triangle is one of the most famous
number patterns in mathematics. The triangle is
very easy to construct. The first two rows consist
of only 1's. Each of the subsequent have a 1 at
either end of the row, but all other numbers in the
pattern are the sum of the two numbers to the right
and left in the row above. An example, illustrating
the first 6 rows of the triangle, is shown below:
1 1
1 2 1
13 3 1
1 4 6 4 1
1 5 10 10 5 1
The program provides the user with three options
during the course of a RUN.
They are:
1 . A single "Pascal's triangle"
2. Two "Pascal's triangles"
3. Four "Pascal's triangles"
A user may also specify the size of the array and
the multiples of the number to be eliminated.
Option' 1 simply allows a user to examine an
artistic picture of the relative positions of the mul-
tiples of any number in the array. The apex of the
array will appear in the upper left corner of the page.
An example of how the machine uses a "triangle"
to create a design based on eliminating the multiples
of two is shown below.
1111 * * * *
1 2 3 4 * *
1 3 6 10
1 4 10 20
Before Printing After Printing
Option 2 allows a user to create a picture based
on two Pascal's triangles in opposite corners of a
square array. An example of how the machine uses
two Pascal's triangles in the corners of a square to
create a design based on eliminating the multiples
of 2 is shown below:
1 1
2 3
1 1
* * * *
Before Printing
After Printing
Option 3 creates a design based on Pascal's
triangles in the four corners of a square. An ex-
ample of how the machine uses four Pascal's tri-
angles in the corners of an 8x8 array to create an
artistic design based on eliminating the multiples
of 2 is shown below.
11111111 * * *
1 2 3 3 2 1 * *
13 3 1
3 1
3 2 1 * * * *
■j^ ********
Before Printing
1 3
1 2 3
111111
After Printing
RUN
Approximately 5 minutes of terminal time is
required to print a design with dimensions of 36x36.
PASART and this description written by Charles A.
Lund. They first appeared in Creative Computing,
Mar/Apr 1977.
PASART
CREATIVE C0HPUTIN6
HORRISTOUN NEU JERSEY
THIS PROGRAM CREATES ARTIST DESIGNS BASED ON PASCAL'S TRIANGLE.
YOU HAVE 3 BASIC TYPES OF DESI6NS TO SELECT FROM:
1. A SINGLE PASCAL'S TRIANGLE (PLAYED UITH AN ARTISTIC FLARE)
2. TOO 'ARTSY' PASCAL'S TRIANGLES PRINTED BACK TO BACK
3. FOUR 'ARTSY' TRIANGLES IN THE CORNER OF
A SOUARE ARRAY.
UHAT'S YOUR PLEASURE? I, 2 OR 3? 2
UHICH MULTIPLES DO YOU UANT REPRESENTED UITH BLANKS? 2
HOU NANY ROUS AND C0LUHS IN THE ARRAY <34 IS HAXIHUN)? 36
*»••*****»••••*******•***,
**•**»*»***»«»**
** •» »» ** »» •» * * *
*»»»*«» *
* *
*
« » » » *
* » »
» * « »
* *
* * * •
* »
* *
*
*****
* * *
* *
* * * •
• *
******
• »
*
*•*•••
• * *
* * * •
• *
» •
* »
*
* •*••*
* * *
* •
*
* *
* *
* *
* * *
• * * * •
* *»***«•*•
* *
* *
* * * •
* * * * *
**********
* *
*****
* *
*
* *
*
* *
• * 4
******
* *
• *
• * * 4
* *
• * * •
* * * •
********
OK
* * *
* *
122
PASART
CREATIVE COMPUTING
NORRISTOUN NEM JERSEY
PASART
CREATIVE COMPUTING
NORRISTOUN NEW JERSEY
THIS PROGRAM CREATES ARTIST DESIGNS BASES ON PASCAL'S TRIANGLE.
YOU HAVE 3 BASIC TYPES OF DESI6NS TO SELECT FROM:
1. A SINGLE PASCAL'S TRIANGLE (PLAYED WITH AN ARTISTIC FLARE)
2. TtIO 'ARTSY' PASCAL'S TRIANGLES PRINTED BACK TO BACK
3. FOUR 'ARTSY' TRIANGLES IN THE CORNER OF
A SOUARE ARRAY.
WHAT'S YOUR PLEASURE? 1, 2 OR 3? 1
WHICH MULTIPLES DO YOU UANT REPRESENTED UITH BLANKS? 2
HOU NANY ROUS AND COLUHS IN THE ARRAY (34 IS MAXIMUM)? 34
************************************
******************
* « * » ♦* *♦ * * *♦ »» * * **
*********
* « * * * * * *
* * * *
* * * »
* *
********
* * * *
* * * *
* *
* * * *
* *
* *
*
************
******
* * * * * *
* * *
* * * * * *
* * *
* * *
* •
********
* * * *
* * * *
* *
* * * *
* *
* *
*
********
* * * *
* * * *
* *
* * * *
* *
* *
*
********
* * *
* •
*
* * * »
* *
* *
*
* * * *
* *
* *
*
THIS PROGRAM CREATES ARTIST DESIGNS BASED ON PASCAL'S TRIANGLE.
YOU HAVE 3 BASIC TYPES OF DESIGNS TO SELECT FROM:
1. A SINGLE PASCAL'S TRIANGLE (PLAYED UITH AN ARTISTIC FLARE >
2. TUO 'ARTSY' PASCAL'S TRIANGLES PRINTED BACK TO BACK
3. FOUR 'ARTSY' TRIANGLES IN THE CORNER OF
A SOUARE ARRAY.
UHAT'S YOUR PLEASURE? 1, 2 OR 3? 3
UHICH MULTIPLES BO YOU UANT REPRESENTED UITH BLANKS? tO
HOU MANY ROUS AND COLUHS IN THE ARRAY (34 IS MAXIMUM)? 34
************************************
********* ******* ******* *********
*** ********** * * «*«♦***»** ***
** ******* «»«**** *•
***** **** ***» *****
************* ****»*»»*♦»**
**** ******* ******* *••*
*** ***** ***** ***
******** »**♦**»*
***** *****
******** ********
******* *******
***** *****
* * * * * *
* * * *
* * * * * *
* * * ♦
* *
* *
* * * *
* * * * * *
* * * *
* * * * * *
***** *****
******* *******
******** ********
***** *****
******** ********
*** ***** ***** ***
**»* ******* ******* ****
************* *************
***** **** **** *****
** ******* ******* **
*** ********** * * ********** ***
********* ******* ******* *********
************************************
UHAT'S YOUR PLEASURE? 1, 2 OR 3? 3
UHICH MULTIPLES DO YOU UANT REPRESENTED UITH BLANKS? 3
HOU MANY ROUS AND COLUHS IN THE ARRAY (34 IS MAXIMUM)? 36
*****************************
** ** ** ** ** ** ** ** ** *
****** ***
****** ****** ******
**** **** ****
* * * * * *
*** *** ***
* * * * * *
* * *
********* **
****** *
* *- *
******
* * * *
* *
* * *
* *
*
* *
* * *
* *
* * * *
******
* * *
****** *
********* **
* * *
* * * * * *
*** *** ***
* * * * * *
**** **** ****
****** ****** ******
****** ***
** ** ** ** ** ** ** ** ** *
*****************************
* * * * *
* * *
* *
* * * *
* *
*
* * * * *
* * *
* *
* * * *
* *
*
* *
* * * *
* *
* * *
* * * * *
*
* *
* * * *
* *
* * *
* * * * *
UHAT'S YOUR PLEASURE? 1, 2 OR 3? 1
UMICH MULTIPLES SO YOU UANT REPRESENTED UITH BLANKS? 10
HOU MANY ROUS AND COLUHS IN THE ARRAY (34 IS MAXIMUM)? 36
** ************************************
** ********* ********* ********* ******
* *** ********** *** *** ********** *
** •* ******* ** ** ******* *
** **** * **** ****** **** * ****
* ******************** ************
** **** ********* **** ***** **** *
* * *** ******* *** **** *** *
* ******** »* ********* **
** ***** * ********
** *************** ** * *
* ********* **** * •*
** **** *** *** **
** *** ** **
* * * * *
** **********
* * *************
* *** ***** * *
*********
* * * * * * *
** ***** ***
* * * * * t
* * •** ***
* * * * * *
* ******** *
** *********
** **********
* *** ****
** **** « *
* * * * «
* ********
»* **** ***
* „ ********
* * * * * * *
* * * * * »
** ********
123
THIS PROGRAM CREATES ARTIST DESIGNS BASED ON PASCAL'S TRIANGLE.
YOU HAVE 3 BASIC TYPES OF BESI6NS TO SELECT FROM:
1. A SINGLE PASCAL'S TRIANGLE < PLAYED HITH AN ARTISTIC FLARE >
2. TUO 'ARTSY' PASCAL'S TRIAN8LES PRINTED BACK TO BACK
3. FOUR 'ARTSY' TRIANGLES IN THE CORNER OF
A SQUARE ARRAY.
WHAT'S YOUR PLEASURE? 1, 2 OR 3T 3
UHICH MULTIPLES DO YOU HANT REPRESENTED WITH BLANKS? 17
HOU MANY ROUS AND COLUHS IN THE ARRAY (36 IS MAXIMUM)? 34
*******•***»*****»**•**»****,*»,
**************** ************
*************** ***********
************** **********
************* *********
************ ********
*********** *******
********** ******
********* *****
******** ****
******* ***
****»» **
***** ,
* * * *
* * *
* *
*
*
*
*
* *
* * *
* * * *
*****
******
*******
******** *
********* * «
********** *•*
*********** ***•
* * * * * * * ***** *****
************* ******
************** *******
*************** ***********
**************** ************
********************************
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * *
* *
*
*
*
*
*
*
*
*
*
»
*
*
*
*
*
*
*
*
*
LIST
2 PRINT TAB(24);"PASART"
4 PRINT TAB(18);"CREATIVE COMPUTING"
4 PRINT TAB(U);*HORRISTOUN NEU JERSEY"
8 PRINT:PRINT:PRINT
20 DIN P(34,34>
22 FOR B1»1 TO 3s
24 FOR B2»1 TO 34
24 P(B1,B2>°0
28 NEXT B2
30 NEXT Bt
40 PRINT "THIS PROGRAM CREATES ARTIST DESIGNS BASED ON PASCAL'S TRIAN";
42 PRINT "OLE."
SO PRINT "YOU HAVE 3 BASIC TYPES OF DESIGNS TO SELECT FRONt"
40 PRINT "1. A SINGLE PASCAL'S TRIANGLE (PLAYED UITH AN ARTISTIC FLAR";
45 PRINT "E>"
70 PRINT "2. TUO 'ARTSY' PASCAL'S TRIANGLES PRINTED BACK TO BACK"
SO PRINT "3. FOUR 'ARTSY' TRIANGLES IN THE CORNER OF"
90 PRINT * A SQUARE ARRAY."
100 PRINT "UHAT'S YOUR PLEASURE? 1, 2 OR 3";
110 INPUT
120 IF (0-1)»(0-2)*(0-3) <> THEN 100
130 PRINT "UHICH MULTIPLES DO YOU UANT REPRESENTED UITH BLANKS";
140 INPUT
ISO PRINT "HOU MANY ROUS AND COLUHS IN THE ARRAY (36 IS MAXIMUM)";
140 INPUT T
170 IF T*(34-T> < THEH ISO
180 ON GOTO 230,440,470
190 REN
200 REM .
210 REH TIME TO CREATE AND PRINT A SINGLE PIECE OF PASART
220 REM FIRST BUILD THE PASCALS TRIAH6LE
230 FOR R=1 TO T
240 FOR CM TO T
2S0 IF (R-1 >*(C-t >»0 THEN 280
240 P(R,C)=P(R,C-1)+P(R-1,C>
270 GOTO 290
280 P(R,C)=1
2?0 NEXT C
300 NEXT R
310 REH TINE TO PLAY BACK THE TRIANGLE UITH AN ARTISTIC FLARE.
320 FOR R=1 TO T
330 FOR C=1 TO T
340 IF P<R,C)<0 THEN 380
350 IF (P(R,C)/O)MNT(P(R,C)/0) THEN 380
340 PRINT "* "f
370 GOTO 390
380 PRINT " ";
390 NEXT C
400 PRINT
410 NEXT R
420 END
430 REM TINE TO CREATE AND PRINT DOUBLE PIECE OF PASART
440 Z*T
450 REH BUILD THE UPPER LEFT HAND HALF OF THE ARRAY .
440 LET N=Z
470 FOR R=1 TO N
480 FOR C»! TO Z-1
490 IF (R-1)»(C-1)=0 THEN 520
300 P(R,C)=P(R,C-1HP(R-1,C)
510 GOTO S30
520 P(R,C)«1
530 NEXT C
540 ZnZ-1
350 NEXT R
540 REH BUILD THE LOUER RIGHT HALF OF THE ARRAY.
570 Z=N
5G0 N°2
590 FOR R=Z TO 1 STEP -1
400 FOR C'Z TO N STEP -1
410 IF (R-Z)*(C-Z)«0 THEN 640
420 P(R,C)»P(R,C»1)+P(R+1,C>
630 GOTO 650
640 P(R,C>»1
650 NEXT C
660 N=N+1
670 NEXT R
6G0 GOTO 320
690 M=fl
700 REH BUILD THE UPPER LEFT HALF CORNER OF THE ARRAY .
710 Y=T
720 Z=INT(Y/2)
730 BS=Z»2
740 Z1»Z
750 Z2=Z1
740 Z3=Z2
770 X4»Z3
780 X5°X4
790 FOR M TO Z1
800 FOR J«1 TO Z
810 IF (J-1)*(I-1)»0 THEN 840
820 P(I,J>=P(I,J-1>+P(I-1,J>
830 GOTO 850
840 P(I,J)»1
850 NEXT J
840 Z=Z-1
870 NEXT I
880 N=Z1
890 REM GUILD THE UPPER RI8HT HAND CORNER OF THE ARRAY.
900 FOR 1=1 TO Z1
910 FOR J"Y TO X5+1 STEP -1
920 IF 1=1 THEN 940
930 IF J»Y THEN 940
940 P(I,J)=P<I,J*1>+P(l-1,J>
950 GOTO 970
940 P(I,J)=1
970 NEXT J
980 X5°X5*1
990 NEXT I
1000 N°Z2
1010 REH BUILD THE LOUER LEFT CORNER OF THE ARRAY
1020 FOR I=Y TO X4+1 STEP -1
1030 FOR J»1 TO Z2
1040 IF J«1 THEN 10SO
1050 IF I°Y THEN 1080
1040 P(I,J)°P(I,J-1)+P(I+1,J)
1070 GOTO 1090
1080 P(I,J)»1
1090 NEXT J
1100 Z2»Z2-1
1110 NEXT I
1120 N°Z3
1130 REH BUILD THE LOUER RIGHT CORNER OF THE ARRAY.
1140 FOR I=Y TO N+1 STEP -1
1150 FOR J=Y TO Z3+1 STEP -1
1140 IF J=Y THEN 1200
1170 IF I=Y THEN 1200
1180 P(I,J)=P(I+1,J)*P(I,J+1)
1190 GOTO 1210
1200 P(I,J>=1
1210 NEXT J
1220 Z3-Z3+1
1230 NEXT I
1240 GOTO 320
1250 END
OK
124
Pasart 1
This program is a major extension of
the original Pasart program. It incor-
porates many new options including
printing a calendar for any year from
1600 to 2300. It allows a user to enter
any desired pair of printing characters.
The size of the output is expanded to 72
by 72 with an option to expand it further
by dividing the final triangle into 72 by
72 chunks that may be taped together.
Another option provides the user with
the opportunity to create a picture
based on four Pascal's tables (option
6).
There wasn't room to show the
output from all of these options on
these pages. Try them out yourself and
we're sure you'll be pleased with the
rather spectacular results.
Pasart 2 was also written by Charles
H. Lund.
UHAT'S YOUR PLEASURE (1,2,3,4,3,6 OR 71? 4
YOUR PICTURE SHOULD HIGHLIGHT THE MULTIPLES OF UHAT NUMBER? 4
UHAT CHARACTER UOULD YOU LIXE THE COMPUTER TO TYPE REPRESENTING
THE MULTIPLES OF 4 (ENTER " " FOR A BLANK)? " "
UHAT CHARACTER UOULB YOU LIKE THE COMPUTER TO TYPE REPRESENTING
EACH OF THE OTHER NUMBERS IN THE PATTERN (ENTER " " FOR A BLANK)? *
HOU MANY ROUS AND COLUNNS IN THE ARRAY (36 IS MAX.)? 36
UOULD YOU LIKE A CALENDAR PRINTED UITH YOUR PICTURE? YES
UHAT YEAR BETWEEN 1600 AND 2300 UOULD YOU LIKE? 197?
************************************
*** *«»
*** **•
*** ••* *** *** ** *
******
******
****** ****** * **
* * *
* * »
• * * * * * ***
************
************ *
*** * *
***
*** * */•** **
*• **
**
** ** ** ***
* *
* * * ****
************************ * * *
*** ***
* * * *
*** *** ******
******
** **
****** *** ***
* * *
* *
* * * ********
****
****
**** * * *
••*
* «
*•» ** ** **.
**
**
** *** * * ***
* ************
PASART2
************
•
CREATIVE COMPUTING
*** * * ***
**
**
**
HORRISTOUN, NEU JERSEY
** »* *•
***
* *
***
* * *
*•**
****
****
********
* * *
* *
* * »
*** ***
******
** **
******
RUN
THIS PROGRAM CREATES ARTIST DESIGNS BASED OH
PASCAL'S TRIAN6LE.
DO YOU UANT A LIST OF OPTIONS? YES
PLEASE TEAR OFF THIS LIST AND SAVE OR POST FOR FUTURE REFERENCE
1. A SINGLE PASCALS TRIAN6LE PLAYED BACK LIKE THIS:
BEFORE PRINTING AFTER PRINTING
111 ***
12 3 * *
13 6 *♦
2. A SINGLE PASCALS TRIANGLE PLAYED BACK LIKE THIS:
BEFORE PRINTIH6 AFTER PRINTING
1 *
1 1 **
12 1 * *
3. A SIN6LE PASCALS TRIAN6LE PLAYED BACK LIKE THIS:
BEFORE PRINTING AFTER PRINTING
1 «
12 1 * *
13 3 1 * * * *
4. TUO PASCALS TRIANGLES PRINTED BACK TO BACK LIKE THIS:
******************* * * * * * *
*** *** *** *<• * * ****** ******
****** ****** * * *** *** *** ***
* * * * * * *******************
****** *** *** * * * * *** ***
* * * ************************
••** * * * * * *
*•* ** ** ** ** ** **
** **• > * *** *** * * ***
* ************ ************
*»* *** *** *** ***
*« * ****** ****** ****** ******
* ** *•* *** *** •** *** *** *** ***
************************************
JANUARY 1???
14
21
28
HON
TUE
IfED
2'
9
10
15
16
17
22
23
24
2?
30
31
:s:::
tssssss:
THU
FRI
SAT!
11
12
13
18
1?
20
25
26
27
BEFORE PRINTING
1110
12 1
10 2 1
AFTER PRINTIN6
**•
• *
* *
FEBRUARY 1???
1 1 ***
sssss
SSSBSSS
=======
SS3SS
FOUR PASCAL TRIANGLES PRINTED IN A SQUARE LIKE THIS:
!SUN
HON
TUE
UED
THU
FRI
SAT!
BEFORE
PRINTING AFTER PRINTING
sssss
BtCCEBESSSS
S3CSS
======
1 1
1111 ******
1 2
2 1 * *
10
1 * *
11
12
13
14
15
16
17
1 * »
18
1?
20
21
22
23
24
1 2
2 1 * *
25
26
27
28
1 1
1111 ******
SSSSCES
FOUR PASCALS
TRIANGLES PRINTED IN A SOUARE LIKE THIS:
BEFORE
PRINTING AFTER PRINTING
1 1
1111 ******
1 2
3 3 2 1 « ** *
MARCH
1?7?
1 3
6 6 3 1 ** **
1 3
6 6 3 1 ** **
! SUN
HON
TUE
UED
THU
FRI
SAT!
1 2
3 3 2 1 * ** *
1 1
1111 ******
STARTING PASCALS TRIANGLE IN ANY DESIRED ROU i COLUMN
10
SO THAT A USER CAN TAPE TOGETHER SEVERAL PICTURES
11
12
13
14
15
16
17
TO MAKE A LARDER DESIGN. THIS OPTION EXTENDS
18
1?
20
21
22
23
24
PICTURES LIKE THOSE SHOUN IN OPTION 1 IN 36 X 36 CHARACTER
25
26
27
28
2?
30
31
CHUNKS. ENTRIES UP TO 1C>0 ROUS AND COLUMNS ARE ACCEPTED.
======S==S========S ==============
125
LIST
10 PRINT TAB(25);"PASART2"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18);"HORRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
50 RED *** THIS PROGRAM REQUIRES AROUND UK FREE UORK SPACE
60 REN *** TO OBTAIN LARGER PICTURES, EXPAND THE ARRAT IN LINE
70 REN **» 110 TO P<72,72>
110 DIN P<36,36)
130 PRINT " THIS PROGRAM CREATES ARTIST DESIGNS BASED ON"
135 PRINT "PASCAL'S TRIANGLE."
140 PRINT "DO YOU UANT A LIST OF OPTIONS";
150 INPUT S1$
170 IF LEFT$(S1*,1 K>"Y" THEN 630
180 PRINT "PLEASE TEAR OFF THIS LIST AND SAVE OR POST FOR FUTURE REFERENCE"
190
200
PRINT
PRINT
"1.
A SINGLE PASCALS TRIANGLE
PLAYED BACK LIKE THIS:"
210
PRINT
BEFORE PRINTING
AFTER PRINTING"
220
PRINT
1 1 1
***"
230
PRINT
1 2 3
* *"
240
PRINT
II
1 3 6
**"
250
PRINT
"2.
A SINGLE PASCALS TRIANGLE
PLAYED BACK LIKE THIS:"
260
PRINT
BEFORE PRINTING
AFTER PRINTING"
270
PRINT
t"
280
PRINT
1 1
**"
290
PRINT
ii
1 2 1
* *"
300
PRINT
"3.
A SINGLE PASCALS TRIANGLE
PLAYED BACK LIKE THIS:"
310
PRINT
"
BEFORE PRINTING
AFTER PRINTING"
320
PRINT
"
*»
330
PRINT
1 2 1
* *"
340
PRINT
13 3 1
* * * *"
350
PRINT
"4.
TUO PASCALS TRIANGLES PRINTED BACK TO BACK LIKE THIS:"
340
PRINT
BEFORE PRINTING
AFTER PRINTIN6"
370
PRINT
"
1110
380
PRINT
12 1
* *"
390
PRINT
"
10 2 1
* *"
400
PRINT
111
410
PRINT
"5.
FOUR PASCAL TRIANGLES PRINTED IN A SQUARE LIKE THIS:"
420
PRINT
"
BEFORE PRINTING
AFTER PRINTING"
430
PRINT
111111
******"
440 J>RINT
12 2 1
* *"
450
PRINT
1 1
* *"
460
PRINT
1 1
* *"
470
PRINT
■i
12 2 1
* *"
480
PRINT
111111
******"
490
PRINT
"6.
FOUR PASCALS TRIANGLES PRINTED IN A SQUARE LIKE THIS:"
500
PRINT
BEFORE PRINTING
AFTER PRINTING"
510
PRINT
111111
******"
520
PRINT
1 2 3 3 2 1
* ** *"
530
PRINT
II
1 3 6 6 3 1
ft **"
540
PRINT
1 3 6 4 3 1
** **"
550
PRINT
1 2 3 3 2 1
* ** *"
540
PRINT
111111
******"
570
PRINT
" 7
STARTING PASCALS TRIANGLE
IN ANY DESIRED ROU S COLUHN"
580
PRINT
SO THAT A USER CAN TAPE TOGETHER SEVERAL PICTURES"
590
PRINT
TO HAKE A LARGER DESIGN.
THIS OPTION EXTENDS"
600
PRINT
PICTURES LIKE THOSE SHOUN
IN OPTION 1 IN 36 X 36 CHARACTER"
610
PRINT
CHUNKS. ENTRIES UP TO 1000 ROUS AND COLUMNS ARE ACCEPTED."
620
630
PRINT
PRINT
"UHAT'S YOUR PLEASURE (1,2,3,4
,5,6 OR 71";
640
INPUT
650
IF 0<=
7 AND 0>=1 THEN 640
655 PRINT "I'M SUPPOSED TO BE YOUR FRIEND, SO HOU ABOUT IT:":GOTO 430
660 PRINT "YOUR PICTURE SHOULD HIGHLIGHT THE HULTIPLES OF UHAT NUMBER":
670 INPUT
680 PRINT "UHAT CHARACTER UOULD YOU LIKE THE COMPUTER TO TYPE REPRESENTING"
690 PRINT "THE MULTIPLES OF ";0; "(ENTER " " FOR A BLANK)";
700 INPUT S$
710 PRINT "UHAT CHARACTER UOULD YOU LIKE THE COMPUTER TO TYPE REPRESENTING"
720 PRINT "EACH OF THE OTHER NUMBERS IN THE PATTERN (ENTER " " FOR A BLANK)"
730 INPUT T*
740 IF 0=7 THEN 780
750 PRINT "HOU HANY ROUS AND COLUMNS IN THE ARRAY (36 IS MAX.)";
740 INPUT T
770 IF T>36 THEN PRINT "BE REASONABLE ! ":0OTO 750
780 PRINT "UOULD YOU LIKE A CALENDAR PRINTED KITH YOUR PICTURE" ;
800 INPUT R5«
810 IF LEFT»(R5$,1 )<>"Y" THEN 850
820 PRINT "UHAT YEAR BETUEEN 1600 AND 2300 UOULD YOU LIKE";
830 INPUT Y9
840 IF Y9*(3099-Y9X=0 THEN PRINT "EVEN I HAKE MISTAKES!":GOTO 820
850 ON GOTO ?40,21?0, 2330, 1210, 1510, 1510, 2550
920 REM TIME TO CREATE AND PRINT A SINGLE PIECE OF PASART
930 REM FIRST BUILB THE PASCALS TRIANGLE
940 FOR R=1 TO T
950 FOR C=1 TO T
940 IF (R-1)*(C-1)=0 THEN 1010
970 P(R,C)=P(R-1,C)tP(R,C-1)
980 IF P(R,C)<Q*Q*Q THEN 1020
990 P(R,C)=P(R,C)-Q*fl
1000 GOTO 980
1010 P(R,C)=1
1020 NEXT C
1030 NEXT R
1040 REM TIME TO PLAY BACK THE TRIANGLE UITH AN ARTISTIC FLARE
1050 IF 0O3 THEN 1070
1060 LET T=T*2-1
1070 FOR R=1 TO T
1080 FOR C=1 TO T
1090 IF P(R,C)=0 THEN 1130
1100 IF(P(R,C)/Q-INT(P(R,C)/Q))*QC.95 THEN 1130
1110 PRINT T»;
1120 GOTO 1140
1130 PRINT S$;
1140 NEXT C
1150 PRINT
1140 NEXT R
1170 IF LEFT$(R5$,1)="Y" THEN 3260
1180 GOTO 3710
1190 REM OPTION 4 LINES 1210-1490
1200 REM TIME TO CREATE AND PRINT A DOUBLE PIECE OF PASART
1210 Z=T
1220 REM BUILD THE UPPER LEFT HAND CORNER OF THE ARRAY
1230 LET N=Z
1240 FOR R=1 TO N
1250 FOR C=1 TO Z-1
1260 IF (R-1 )*<C-1 )=0 THEN 1310
1270 P(R,C)=P(R-1,CXP(R,C-1)
1280 IF P(R,CXQ*Q*Q THEN 1320
1290 P(R,C)=P(R,C)-Q*Q
1300 GOTO 1280
1310 P(R,C)=1
1320 NEXT C
1330 Z=Z-1
1340 NEXT R
1350 REM BUILD THE LOUER RIGHT HALF OF THE ARRAY
1340 Z=N
1370 N=2
1380 FOR R=Z TO 1 STEP -1
1390 FOR C=Z TO N STEP -1
1400 IF (R-Z)*(C-Z)=0 THEN 1450
1410 P(R,C)=P(R,Ct1)+P(R+1,C)
1420 IF P(R,CKQ*Q*Q THEN 1460
1430 P(R,C)=P(R,C)-Q*Q
1440 GOTO 1420
1450 P(R,C>=1
1460 NEXT C
1470 N=N+1
1480 NEXT R
1490 GOTO 1070
1500 REN OPTIONS 5 AND 6 LINES 1500-2120
15)0 M=Q
1520 REM BUILD THE UPPER LEFT CORNER OF THE ARRAY
1530 Y=T
1540 Z=INT(Y/2)
1550 B5=Z*2
1560 Z1=Z
1570 Z2=Z1
1580 Z3=Z2
1590 X4=Z3
1400 X5=X4
1410 FOR 1=1 TO Z1
1420 FOR J=1 TO 2
1430 IF (J-1)*(I-1)=0 THEN 1680
1440 P(I,J)=P(I,J-1)tP(I-t,J)
1450 IF P(I,JXQ*Q*0 THEN 1490
1660 P(I,J)=P(I,J)-Q*Q
1670 GOTO 1450
1680 P(I,J)=1
1490 NEXT J
1700 IF 0=6 THEN 1720
1710 Z=Z-1
1720 NEXT I
1730 N=Z1
1740 REM BUILD THE UPPER RIGHT CORNER OF THE ARRAY
1750 FOR 1=1 TO Z1
1760 FOR J=Y TO X5+1 STEP -1
1770 IF 1=1 THEN 1830
1780 IF J=Y THEN 1830
1790 P(I,J)=P(I,J+1)+P(I-1,J)
1800 IF P(I,JXQ*Q*Q THEN 1840
1810 P(I,J)=P(I,J)=0*Q
1820 GOTO 1800
1830 P(I,J)=1
1840 NEXT J
1850 IF 0=6 THEN 1870
1860 X5=X5+1
126
1870 NEXT I
1880 N=Z2
1850 REM BUILD THE LOUER LEFT CORNER OF THE ARRAY
1 900 FOR I = Y TO X4+1 STEP -1
1910 FOR J=1 TO Z2
1920 IF J=1 THEN 1980
1930 IF I=Y THEN 1980
1940 P<I,J>=P(I,J-1>+P<I+1,J>
1950 IF P(I,JXO*G*0 THEN 1990
1960 P(I,J)=P(I,J)-Q*Q
1970 GOTO 1950
1980 P(I,J)=1
1990 NEXT J
2000 IF 0=4 THEN 2020
2010 Z2=Z2-1
2020 NEXT I
2030 N=Z3
2040 REM BUILD THE LOUER RIGHT CORNER OF THE ARRAY
2050 FOR I=Y TO N+1 STEP -1
2040 FOR J=Y TO Z3+1 STEP -1
2070 IF J=Y THEN 2130
2080 IF I=Y THEN 2130
2090 P(I,J>=P(I + 1,J)+PU,J+1>
2100 IF P(I,JXO*Q*0 THEN 2140
2110 P(I,J)«P(I,J)-Q*Q
2120 GOTO 2100
2130 P(I,J)=1
2140 NEXT J
2150 IF 0=4 THEN 2170
2140 Z3=Z3+1
2170 NEXT I
2180 GOTO 1070
2190 REM PASFORM C OPTION 2 LINES 2150-2240
2200 FOR R=1 TO T
2210 FOR C=1 TO T
2220 IF OR THEN 2300
2230 IFtC-1 )=0 THEN 2290
2240 IF R=C THEN 2290
2250 LET P(R,C)=P(R-1,C-1)+P(R-1,C>
2240 IF P<R,CX.Q*Q*Q THEN 2300
2270 LET P(R,C)=P(R,C)-Q*Q
2280 GOTO 2260
2290 LET P(R,C)=1
2300 NEXT C
2310 NEXT R
2320 GOTO 1040
2330 REM PASFORM A OPTION 3 LINES 2290-2480
2340 IF T<=36 THEN 2370
2350 PRINT "HAX. OF 34 ROUS ALLOUED UITH THIS OPTION. . .HERE THEY COME"
2340 LET T=34
2370 LET P(1,T)=1
2380 FOR R=2 TO T
2390 LET C=1
2400 IF OT*2-1 THEN 2530
2410 IF R+C=T+1 THEN 2470
2420 IF C=1 THEN 2480
2430 LET P(R,C)=P<R-1,C-1>+P(R-1,C+1>
2440 IF P(R,CXQ*Q*Q THEN 2480
2450 LET P(R,C>=P(R,C)-Q*Q
2460 GOTO 2440
2470 LET P(R,C)=1
2480 IF R+C<T+1 THEN 2510
2490 LET C=C+2
2500 60T0 240O
2510 LET C=C+1
2520 GOTO 2400
2530 NEXT R
2540 GOTO 1040
2550 REM OPTION 7 LINES 2540-3190
2570 REM PUSHES THE BOUNDARIES UAY OUT
2580 REM NOTE THE PROTECTION AGAINST THE TIME OUT PROBLEM ON UNIV 1110
2590 PRINT "UHAT UILL BE THE COORDINATES (R,C) OF THE UPPER LEFT CORNER'
2600 PRINT "OF THIS SECTION";
2610 INPUT R1,C1
2620 DIM R(1000),C(1000)
2630 REM *** T=TIM( 1 )
2640 FOR L1 = 1 TO 72:F0R L2=1 TO 72:P(L1 ,L2)=0:NEXT L2:NEXT LI
2650 FOR L2=1 TO 1000:R(L2)=1 :C(L2)=1 :NEXT L2
2670 IF R1=1 THEN 2780
2680 FOR R=2 TO R1
2690 FOR C=2 TO CI +72
2700 R(C)=R(C)tR(C-1 )
2710 IF R(CXQ*G*Q THEN 2740
2720 R(C)=R(C)-Q*0
2730 GOTO 2710
2740 NEXT C
2750 REM *** IF TIM(1)-T<4 THEN 2770
2760 GOSUB 3210
2770 NEXT R
2780 IF CI =1 THEN 2900
2790 FOR C=2 TO CI
2800 C(R1)=R(C)
2810 FuR R=R1+1 TO R1+72
2820 C(R)=C(R)+C(R-1)
2830 IF l<RX8*Q*Q THEN 2860
2840 C(R)=C(R)-Q*Q
2850 GOTO 2830
2860 NEXT R
2870 REM *** IF TIM(1)-T<4 THEN 2890
2880 GOSUB 3210
2890 NEXT C
2900 FOR C=1 TO 72
2910 P(1,C)=R<C+C1-1>
2920 P(C,1)=C(C+R1-1>
2930 NEXT C
2940 FOR R=2 TO 72
2950 FOR C=2 TO 72
2960 P(R,C)=P(R-1,C)tP(R,C-1)
2970 IF P(R,CXQ*0*0 THEN 3000
2980 P(R,C)=P<R,C)-Q*Q
2990 GOTO 2970
3000 NEXT C
3010 REM *** IF TIM(1)-T<6 THEN 3030
3020 GOSUB 3210
3030 NNEXT R
3040 GOSUB 3210
3050 PRINT
3060 PRINT
3070 FOR R=1 TO 70
3080 FOR C=1 TO 70
3090 IF (P(R,C)/Q-INT(P(R,C)/Q))*0<.98 THEN 3120
3100 PRINT T$;
3110 GOTO 3130
3120 PRINT S»;
3130 NEXT C
3140 REM *** IF TIM(1)-T<6 THEN 3140
3150 GOSUB 3210
3140 PRINT
3170 NEXT R
3180 PRINT
3190 PRINT
3200 GOTO 1170
3210 PRINT " ";
3220 REM *** LINPUT A3
3230 REM *** T=TIM(1)
3240 RETURN
3250 GOTO 1170
3240 REM CALENDAR
3270 LET X=Y9
3280 REM LINES 3240-3440 PRODUCE A CALENDAR
3290 REM PROGRAM IS A SUBROUTINE THAT USES VARIABLE X=YEAR OF. CALENDAR
3300 REM
3310 C=6
3320 FOR J=1400 TO X STEP 1
3330 IF J=X THEN 3390
3340 IF J/4 <> INKJ/4) THEN 3380
3350 IF (J-1700)*(J-1800)*(J-1900)*(J-2100)*(J-2200)»(J-2300)=0 THEN 3380
3340 C=C+2
3370 GOTO 3390
3380 C=C+1
3390 IF C<7 THEN 3410
3400 C=C-7
3410 NEXT J
3420 PRINT
3430 FOR R=1 TO 12
3440 READ AS
3450 PRINT TAB(17);A»;" ";x
3460 READ B
3470 IF X/4 <> INKX/4) THEN 3500
3480 IF A$ <> "FEBRUARY" THEN 3500
3490 LET B=B+1
3500 REM TIME TO PRINT THE CALENDAR FOR THE YEAR X
3510 PRINT »========================«"======«====«"
" 3520 PRINT "!SUN MON TUE UED THU FRI SAT!"
3530 PRINT
3540 FOR D=1 TO B
3550 PRINT TAB(4*C);D;
3540 LET C=C+1
3570 IF C<7 THEN 3400
3580 PRINT
3590 C=0
3600 NEXT D
3610 PRINT
3420 PRINT "========================================="
3630 FOR P=1 TO 3
3640 PRINT
3650 NEXT P
3640 NEXT R
3670 DATA "JANUARY", 31 /'FEBRUARY", 28, "MARCH", 31 ."APRIL", 30, "HAY",31
3480 DATA " JUNE", 30, "JULY", 31 , "AUGUST", 31 ("SEPTEMBER", 30, "OCTOBER", 31
3490 DATA. "NOVEMBER", 30, "DECEMBER", 31
3700 REM THE END
3710 END
Ok
127
Pinball
PINBALL is, naturally enough, a
simulated pinball game— complete
with bells if your terminal has them— in
which the computer serves as the
pinball machine. However, you don't
need any quarters! The program is
divided up into ten small routines
contained within the whole. Each
subprogram performs one task in
simulating a pinball game.
Details on each task/subprogram are
as follows.
1) Starting and monitoring the game.
This task is performed by the master
function PINBAL, which is contained in
lines 1-600 of the program. Pinbal asks
if the user wants instructions or a
picture at the start of the game, puts
each new ball into play, moves the ball
until it comes into contact with an
object on the table, and tells the user
when he is finished and if he has
broken the table record.
2) Printing instructions.
This subprogram is on the lines
numbered 1010-1999, and its major
task is to print the instructions of the
pinball game and then to branch to the
picture program to print a picture of the
table (see below). After the picture of
the table is completed, this subroutine
explains the function of each figure on
the table.
3) Registering "hits" and computing
new scores.
Lines 2010-3999 are in charge of
taking action each time the space
occupied by the ball on the table is not
blank. These lines also prepare the
table to take action on the next task,
namely flipping the table's flippers
when the ball approaches them.
4) Flipping the flippers.
This task is accomplished by the
lines in the four thousand range. These
lines also set up indicators for the
monitor routine (1 above) to put the
next ball into play if necessary and
branch to the routine that adds bonus
points for tags (letters A-J) knocked
down during that ball's play.
5) Bonus points at the end of a ball's
play.
Lines in the five thousand range
handle this task and then branch back
to the monitor routine to put the next
ball into play. If all ten tabs are knocked
down in one ball, the program im-
mediately awards a bonus of 250 points
and an extra ball to the player and
resets the tabs for further play. Normal-
ly, bonus points are awarded at the rate
of ten per tab at the end of a ball.
6) Printing pictures of the table.
Lines in the six thousand range print
a picture of the pinball table, either at
the beginning of play or randomly, at
the rate of one picture for every twenty-
five "hits."
7) Bouncing the ball off bumpers and
the jackpot.
The ball is "bounced" by the routine
beginning at line 7850.
8) Initializing the table.
The table is initialized at the begin-
ning of the game by lines in the nine
thousand range.
Suggestions for improvement and
change.
1) Change the table as you wish by
inserting or deleting bumpers,
jackpot(s), gates (numbers, now 1-9
and 0), etc. You may also move the
positions of any item on the table
except the three flippers.
2) Program in new sorts of table ob-
jects.
3) If your system is so equipped, rig in
the program with some synthesizer
music to heighten realism!
Pinball was conceived and written by
Donald-Bruce Abrams.
RUN
PINBALL
CREATIVE COMPUTING
N0RRIST0UN, NEU JERSEY
UELCOHE TO COMPUTER PINBALL! !
UOULD YOU LIKE INSTRUCTIONS TO THIS
FANTASTIC GAME? YES
THE RULES OF COMPUTER PINBALL ARE FAIRLY SIMPLE. YOU 6ET A TOTAL OF
FIVE BALLS. IF YOU SCORE MORE THAN 1400, YOU 6ET A SIXTH BALL. IF
YOUR SIX BALL SCORE IS MORE THAN 2200, YOU GET A SEVENTH BALL.
THIS TABLE HAS THREE FLIPPERS, EACH OF OF UHICH PROTECT AN OUT CHUTE.
H0UEVER, THIS SET BIFFERS FROH OTHER SETS, SINCE YOU NAY ONLY FLIP
TUO OF THE FLIPPERS ANY TINE THE BALL APPROACHES THE CHUTE.
NOTA BENE: YOU 00 NOT!!! KNOU FOR SURE UHERE THE BALL ISM
SO, IF YOU FLIP THE URONG TUO FLIPPERS, YOU LOSE THE BALL. AND THE
NEXT BALL IS PUT INTO PLAY.
YOU CAN GET A PICTURE OF THE TABLE EVERY TINE THE BALL HITS
AN OBJECT, SO THAT HAY HELP YOU S0HEUHAT. ALSO, YOU ARE TOLD UHERE
THE BALL IS EACH TIME IT HITSIEVEN IF YOU BON'T GET A PICTURE!.
THERE IS S0HE LOGIC TO THE CHOICE OF FLIPPERS. BUT SOME LUCK IS INVOLVED, TOO.
THE FLIPPERS ARE NUMBERED 1,2, AND 3 FROH LEFT TO RIGHT, AND ARE SH0UN
ON THE PICTURE BEL0U AS ' ! ' HARKS.
SINCE LUCK PLAYS ONLY A SHALL PART IN CHOOSING THE CORRECT FLIPPER,
YOU UILL DO POORLY IF YOU JUST GUESS UHICH FLIPPER THE BALL IS
HEADED T0UARD...
THE TABLE LOOKS LIKE THIS:
*»»»»*********«»
DDDBI1EDBCDDC
* » »
A t C D
« *
* * » * *
* *
0» E F G H *0
* * »
0=== =«0
1 2 3 4 5
» 4 7 S ? * I)
8*== ===0
C
! ! ! ! ! !
\ /
\ I J /
\ /
\ /
128
****************
THE CENTER BUMPER<»> IS THE JACKPOT!
THE BALL IS PUT INTO PLAY THROUGH THE UP ARROU(-), AND GOES UP AND
AROUND, UHERE IT IS DEPOSITED ON THE UPPER HALF OF THE TABLE. THE BALL
NAY BOUNCE FROH THE SIDE OF THE TABLE, AND HAY BOUNCE UP FROH THE
LINES ON THE SIDE( = ) AND FROH THE DIAGONALS(\ AND /) AT THE BOTTOM
OF THE TABLE. THE BUHPERS ARE INDICATED BY STARS<»).
FLIPPERS ARE SHOUN AS EXCLAHATION POINTSU OR !!).
THE BALL HAY 60 OUT OF PLAY THROUGH ONE OF THE FOUR HOLES IN THE BOARD (0)
IN UHICH CASE YOU UILL GET A BONUS BUT LOSE THE BALL.
GATES ARE SHOUN BY THE NUMBERS 1-9, AND KNOCK-DOUN TABS ARE SHOUN
AS THE LETTERS A-J. YOU GET A BONUS FOR THESE AT THE END OF
A BALL, AND IF YOU KNOCK ALL OF THEH DOUN YOU GET A SPECIAL BONUS...
***EVERY ONCE IN A UHILE, I UILL SHOU YOU A PICTURE OF THE
TABLE AS IT HITS SOHETHING. THE BALL IS SHOUN AS THE It.
THE BALL IS NOU AT ( 2 , 11 ).
YOU RECEIVE 15 POINTS FROM THE BUMPER AT 5 , 10 .
SCORE: 15
TAB H DOUN...
YOU RECEIVE 8 POINTS FROM THE BUMPER AT 6 , 14 .
SCORE: 23
YOU RECEIVE 12 POINTS FROM THE BUMPER AT 9,8.
SCORE: 35
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORM: X,Y ? 2,3
THE BALL IS NOU AT ( 7 , 10 ).
YOU RECEIVE 34 POINTS FROM THE BUMPER AT 7 , 10 .
SCORE: 89
TAB H DOUN...
YOU RECEIVE 51 POINTS FROM THE BUMPER AT 9,11.
SCORE: 1283
YOU GET 40 POINTS FROH GATE 4
SCORE: 1343
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORM: X,Y ? 2,3
THE BALL IS NOU AT ( 8 , 2 ) .
YOU RECEIVE 26 POINTS FROM THE BUMPER AT 8,2.
SCORE: 1369
YOU RECEIVE 37 POINTS FROM THE BUMPER AT 8,2.
SCORE: 1406
TAB A DOUN...
YOU GET 45 POINTS FROM GATE 2
SCORE: 1451
TAB F DOUN...
YOU RECEIVE 10 POINTS FROM THE BUMPER AT 9,8.
SCORE: 1461
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORM: X,Y ? 1,2
THE BALL IS NOU AT ( 3 , 6 > .
YOU RECEIVE 15 POINTS FROM THE BUMPER AT 6,5.
SCORE: 1476
YOU RECEIVE 49 POINTS FROM THE BUMPER AT 3,5.
SCORE: 1525
TAB E DOUN...
TOO BAD... YOU HAVE GONE STRAIGHT OUT A CHUTE HOLECO' ON THE TABLE).
TO CONSOLE YOU, I UILL GIVE YOU AN EXTRA
13 POINTS, TO BRING YOUR TOTAL TO 1538 .
YOU NOU HAVE HAVE 1 BALLS LEFT.
YOUR BALL KNOCKED DOUN 4 TAGS!!
FOR THIS STELLAR PERFORMANCE, YOU ARE AWARDED
***** 40 ***** POINTS! !
SCORE: 1578
THE BALL IS NOU AT ( 2 , 10 ).
YOU GET 75 POINTS FROM GATE 3
SCORE: 1653
YOU RECEIVE 1 POINTS FROM THE BUMPER AT 7 , 10 .
SCORE: 1654
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORH: X,Y ? 1,2
THE BALL IS NOU AT ( 5 , 10 ).
YOU RECEIVE 5 POINTS FROH THE BUMPER AT 5 , 10 .
SCORE: 1659
— Mort
LIST
1 PRINT TAB(25);"PINBALL"
2 PRINT TAB (20); "CREATIVE COMPUTING"
3 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
4 PRINT:PRINT:PRINT
8 DIH R$(10),P$(20),L(2)
9 GOSUB 9500
10 A1=0:A0=O:X9=0
20 PRINT "UELCOME TO COMPUTER PINBALL! !"
30 PRINT "UOULD YOU LIKE INSTRUCTIONS TO THIS "
35 PRINT "FANTASTIC GAME";
40 INPUT 0$:IF LEFT*(0$,1)="Y" THEN GOSUB 1010:GOTO 50
45 PRINT :PRI(tT "HOU ABOUT A PICTURE OF THE TABLE";
46 INPUT 0»:IF LEFT$(Q»,1 )="Y" THEN GOSUB 4010
50 PRINT:PRINT:B=5
55 S=0:P=0
AO T$="ABCDEFGHI J":PRINT
61 FOR Z=1 TO 10:R*(Z)= NEXT Z:Z3=0
70 A1=0
71 A7=0
80 IF B<=0 THEN 290
100 L(1)=2+INT(RND(1)*6):L(2)=INT(RND(1)*14)+1
110 C=1+INT(RND(1)*7):A1=0
120 PRINT "THE BALL IS NOU AT (";L(1 ) ;",";L(2);") ."
130 IF MID*(P$(L(1)),L(2),1)=" "THEN 150
140 GOSUB 2010
150 IF A?=7 THEN 280
140 IF A1<>4 THEN 180
170 GOTO 260
180 L(1)=L(1)+1
190 A1=0
200 L(2)=L(2)+INT(1+RND(1)*3)-2
210 IF L12X2 OR L(2)>15 THEN L(1 )=L(1 )+INT(1+RND(1 )*3)-2
215 IF L(2)<2 OR L(2)>15 THEN L<2)=INT<2+RND<1 1*13)
230 IF L(1)>=2 AND L(1)<=20 THEN GOTO 130
240 L(1)=INT(1+RND(1)*7)
250 GOTO 130
260 GOSUB 4010
270 IF AO-1 THEN 400
280 ON X9 + 1 GOTO 60,340
285 PRINT"YOU HAVE PLAYED YOUR SEVENTH BALL AND SCORED ";P;" POINTS!"
286 PRINT"YOU'RE VERY GOOD!":GOTO 9999
290 PRINT "YOU HAVE PLAYED YOUR FIVE BALLS, AND HAVE SCORED"
293 PRINT "A TOTAL OF ";P;" POINTS."
300 IF P<1600 THEN 9999
305 PRINT:PRINT "*** BONUS BALL ***"
310 B=B+1
320 X?=1
330 GOTO 60
340 PRINT "YOU HAVE PLAYED YOUR SIXTH BALL AND SCORED "JP;" POINTS!"
341 X9=2
350 IF P<2200 THEN 9999
355 PRINT : PRINT BONUS BALL ***"
360 B=Bt1:S=3
370 GOTO 60
380 60T0 2010
390 60T0 150
400 L(1)=2+INT(RND(1)*7)
405 L(2)=2+INT(RND(1)*13):X=0:Y=0
410 GOTO 110
1010 PRINT:PRINT
OovyKv»<J«<f s
FAB C DOUN...
YOU RECEIVE 5
SCORE! 1444
POINTS FROM THE BUMPER AT 4,14
ENTER THE TUO FLIPPERS YOU UISH TO FLIP
TAB H DOUN...
BALL APPROACHING FLIPPERS
IN THE FORM: X,Y ' 2,3
THE BALL IS NOU AT ( 8 , 9 ) .
YOU RECEIVE 32 POINTS FROM THE BUMPER AT V , 8
SCORE: 1494
YOU 6ET 40 POINTS FROM SATE 8
SCORE: 1754
BALL APPROACHING FLIPPERS. ENTER
IN THE FORM: X,Y ? 2,3
THE BALL IS NOU AT ( 5 , 3 )
YOU RECEIVE 57 POINTS FROM THE
SCORE: 1813
BALL APPROACHING FLIPPERS. ENTER
IN THE FORM: X,Y ? 1,3
THE BALL IS NOU AT ( 4 , 4 ) .
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU
IN THE FORM: X,Y ? 1,3
THE BALL IS NOU AT < 6 , 1 2 ) .
YOU GET 15 POINTS FROM GATE 4
THE TUO FLIPPERS YOU UISH TO FLIP
BUMPER AT 4,3.
THE TUO FLIPPERS YOU
SCORE:
YOU GET
SCORE:
YOU GET
SCORE:
YOU GET
SCORE:
YOU GET
SCORE:
1828
40
1888
90
1978
45
2023
45
2048
POINTS FROM GATE 4
POINTS FROM GATE 3
POINTS FROH GATE 3
POINTS FROM GATE 4
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU
IN THE FORM: X,Y ? 1,2
THE BALL IS NOU AT ( 5 , 14 ) .
YOU RECEIVE 53 POINTS FROM THE
SCORE: 2121
YOU RECEIVE 32 POINTS FROM THE
SCORE: 2153
BUMPER AT 4 , 14 .
BUMPER AT 9,8.
1030 PRINT "THE RULES OF COMPUTER PINBALL ARE FAIRLY SIMPLE. YOU GET A TOTAL OF"
1040 PRINT "FIVE BALLS. IF YOU SCORE MORE THAN 1400, YOU GET A SIXTH BALL. IF"
1045 PRINT "YOUR SIX BALL SCORE IS MORE THAN 2200, YOU GET A SEVENTH BALL."
1040 PRINT:PRINT "THIS TABLE HAS THREE FLIPPERS, EACH OF OF UHICH PROTECT AN OUT
CHUTE. "
1070 PRINT "HOUEVER, THIS SET BIFFERS FROM OTHER SETS, SINCE YOU MAY ONLY FLIP"
1080 PRINT "TUO OF THE FLIPPERS ANY TIME THE BALL APPROACHES THE CHUTF."
1090 PRINT "NOTA BENE: YOU BO NOT!!! KNOU FOR SURE UHERE THE BALL IS""
1093 PRINT "SO, IF YOU FLIP THE URONG TUO FLIPPERS, YOU LOSE THE BALL, AND THE"
1095 PRINT "NEXT BALL IS PUT INTO PLAY."
1097 PRINT » YOU CAN GET A PICTURE OF THE TABLE EVERY TIME THE BALL HITS"
1098 PRINT "AN OBJECT, SO THAT MAY HELP YOU SOMEUHAT. ALSO, YOU ARE TOLD UHERE"
1099 PRINT "THE BALL IS EACH TIME IT HITSCEVEN IF YOU BON'T GET A PICTURE) ."
1100 PRINT "THERE IS SOME LOGIC TO THE CHOICE OF FLIPPERS, BUT SOME LUCK IS
INVOLVED, TOO.
1110 PRINT "THE FLIPPERS ARE NUMBERED 1,2, AND 3 FROM LEFT TO RI6HT, AND ARE SHOUN"
1120 PRINT "ON THE PICTURE BELOU AS ' ! ' MARKS. "
1123 PRINT "SINCE LUCK PLAYS ONLY A SMALL PART IN CHOOSING THE CORRECT FLIPPER,"
1125 PRINT "YOU UILL DO POORLY IF YOU JUST GUESS UHICH FLIPPER THE BALL IS"
1127 PRINT "HEADED TOUARD. . . ": PRINT: PR INT: PRINT"THE TABLE LOOKS LIKE THIS:"
1130 PRINT "****************":PRiNT:PRINT:FOR Z=1 T020:PRINTP*<Z> :NEXT Z
1 140 PR I NT: PR I NT: PR I NT "****************"
1230 PRINT "THE CENTER BUMPER(I) IS THE JACKPOT ! "
1240 PRINT "THE BALL IS PUT INTO PLAY THROUGH THE UP ARROUC"), AND GOES UP AND "
1250 PRINT "AROUNB, UHERE IT IS DEPOSITED ON THE UPPER HALF OF THE TABLE. THE BALL"
1240 PRINT "MAY BOUNCE FROM THE SIDE OF THE TABLE, AND MAY BOUNCE UP FROM THE"
1243 PRINT "LINES ON THE SIOE<=> AND FROM THE DIAGQNALSfN AND /) AT THF BOTTOM"
1270 PRINT "OF THE TABLE. THE BUMPERS ARE INDICATED BY STARS<*>."
1280 PRINT " FLIPPERS ARE SHOUN AS EXCLAMATION POINTS*! OR !!).
1285 PRINT "THE BALL MAY GO OUT OF PLAY THROUGH ONE OF THE FOUR HOLES IN THE BOARD
(0),"
1290 PRINT "IN UHICH CASE YOU UILL GET A BONUS BUT LOSE THE BALL."
1300 PRINT " GATES ARE SHOUN BY THE NUMBERS 1-9, AND KNOCK-DOUN TABS ARE SHOUN"
1310 PRINT "AS THE LETTERS A-J. YOU GET A BONUS FOR THESE AT THE END OF"
1320 PRINT "A BALL, AND IF YOU KNOCK ALL OF THEM DOUN YOU GET A SPECIAL BONUS..."
1330 PRINT:PRINT"***EVERY ONCE IN A UHILE, I UILL SHOU YOU A PICTURE OF THE "
1340 PRINT "TABLE AS IT HITS SOMETHING. THE BALL IS SHOUN AS THE
1350 PRINT:PRINT:RETURN
2010 IF MID$(P$(L(1!),L(2),1)="0" THEN 2070
2020 If INT(RND< 1 )+.5)=<>1 THEN 2022
2021 IF MID»(P»(L(1)),L(21,1)= , 7"0RMID$(P«(L(1)),L(2),1)="\" THEN 2140
2022 S8=INT(RND(1)*4t1)
2023 FOR S7=1 TO S8:PRINT CHR*(7);:NEXT S7
2025 IF MID*(P*(L<1 )),L(2),1 K="J"AND MID*<P*(L< 1 > > ,L<2) , 1 )>="A" THEN 2190
2040 GOSUB 3010
2050 RETURN
2070 PRINT "TOO BAD... YOU HAVE GONE STRAIGHT OUT A CHUTE HOLECO' ON THE TABLE).
2075 PRINT "TO CONSOLE YOU, I UILL GIVE YOU AN EXTRA"
2090 0=INT(RND(1)*141)
2100 P=P+Q
2110 PRINT Q;" POINTS, TO BRING YOUR TOTAL TO ";P;"."
2115 PRINT "YOU NOU HAVE HAVE ";B-1;" BALLS LEFT."
2120 B=B-1
2130 A7=7
2140 GOSUB 5010
2150 RETURN
2140 L(1 )=L(1) + (1 + INT(RND(1)*4))-(1tINT(RND(1 >*4>>
2170 L(2)=2+INT(RND(1)*14)
2180 RETURN
2190 PRINT
2200 FOR 0=1 TO 10
UISH TO FLIP 2203 IF R$(Q)=MID* <P$(L( 1 ) ) ,L(2) ,1 ) THEN 2275
2204 NEXT G
2205 Z3=Z3t1:R»(Z3)=MIDt(P$(L(1)),L(2),1 )
UISH TO FLIP 2210 PRINT:PRINT "TAB ";R$(Z3>;" DOUN..."
2255 IF Z3=10 THEN GOSUB 5010
2240 RETURN
2275 RETURN
3010 IF MID$(P$(L(1 )),L(2),1 )=CHR*(8) THEN RETURN
3015 IF MID$(P$(L(1 )),L(2),1 )="]" THEN RETURN
3017 IF MID*(P$(L(1 )),L(2),1 >="[" THEN RETURN
3018 IF MID$(P$(L(1)),L(2),1)='" A " THEN 3110
3019 A1=0
3020 IF MID»(P$(L(1)!,L(2),1)="=" THEN 3410
3030 C=C-1
3040 IF C=0 THEN 3110
3050 IF MID$<P»<L<1>),L(2),1>="!"0RMID$(PJ<L(1>),L(2),1)="\"THEN 3110
UISH TO FLIP 3040 IF MID$(P$(L( 1 ) ) ,L(2) , 1 )="/"ORMID$(P$(L( 1 ) ) ,L(2) ,1 )
="-"THEN 3110
3070 IF INT(1+RND(1)t25)=4 THEN GOSUB 4010
3080 IF MID$(P$(L(1)),L(2),1)="»" THEN 3230
3090 IF MID$(P$(L(1 ) ! ,L(2) , 1 )="*" THEN 3280
3100 GOTO 3320
TAB I DOUN...
BALL APPROACHING FLIPPERS.
IN THE FORM: X,Y ? 1,2
THE BALL IS NOU AT ( 4 , 9
— vwore —
ENTER THE TUO FLIPPERS YOU UISH TO FLIP
TAB F DOUN...
YOU GET 90 POINTS FROM GATE 3
SCORE: 2243
— w\ore- —
130
B C D
PICTURE
****************
ODSnnODDSODO
*
A
*
* * t
a *
0* E F
* *
0===
1 » 3
0*6?
4 5
8 9
H *0
===0
0=«
! ! !
\
\
\
\
I J /
===o
! ! !
/
-/
THE BALL UAS AT THE
****************
YOU GET 75 POINTS FROM GATE 2
SCORE: 2318
YOU GET 45 POINTS FROM GATE 1
SCORE: 2363
TAB E DOUN...
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU U1SH TO FLIP
IN THE FORM: X,Y ? 2,3
THE BALL IS NOU AT ( 2 , 3 ) .
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORM: X,Y ? 2,3
NO, YOU HAVE CHOSEN TO PROTECT THE URONG FLIPPERS. YOU NOU HAVE
BALLS LEFT.
YOUR BALL KNOCKED DOUN 5 TAOS ! !
FOR THIS STELLAR PERFORMANCE, YOU ARE AUARDED
***** 50 ***** POINTS! !
SCORE: 2413
YOU HAVE PLAYED YOUR FIVE BALLS, AND HAVE SCORED
A TOTAL OF 2413 POINTS.
*»* BONUS BALL ***
THE BALL IS NOU AT ( 7 , 13 ).
YOU GET 75 POINTS FROM 6ATE 4
SCORE: 2488
BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORM: X,Y T 1,2
THE BALL IS NOU AT ( 5 , 7 ).
YOU HAVE HIT THE JACKPOT!!!! YOU HAVE JUST UON 12* POINTS ! !
YOU NOU HAVE 2614 POINTS!
TAB G DOUN...
YOU GET 60 POINTS FROM GATE 4
SCORE: 2674
YOU RECEIVE 50 POINTS FROM THE BUMPER AT 9,8.
SCORE: 2724
YOU GET 75 POINTS FROH GATE 2
SCORE: 27??
TOO BAD... YOU HAVE GONE STRAI6HT OUT A CHUTE HOLECO' ON THE TABLE)
TO CONSOLE YOU, I UILL GIVE YOU AN EXTRA
41 POINTS, TO BRING YOUR TOTAL TO 2840 .
YOU NOU HAVE HAVE BALLS LEFT.
YOUR BALL KNOCKED DOUN 1 TAGS!!
FOR THIS STELLAR PERFORMANCE, YOU ARE AUARDED
***** io ***** POINTS! !
SCORE: 2850
YOU HAVE PLAYED YOUR SIXTH BALL AND SCORED 2850 POINTS!
*** BONUS BALL ***
THE BALL IS NOU AT ( 5 , 13 ).
YOU GET 60 POINTS FROM GATE 5
SCORE: 2910
BALL APPROACH IN6 FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP
IN THE FORK: X,Y ? 1,2
NO, YOU HAVE CHOSEN TO PROTECT THE URONG FLIPPERS. YOU NOU HAVE
BALLS LEFT.
YOU HAVE PLAYED YOUR SEVENTH BALL AND SCORED 2910 POINTS!
YOU'RE VERY GOOD!
COHE PLAY AGAIN SOMETIME!!
Ok
3110
3120
3130
3140
3150
3170
3180
3190
3200
3210
3230
3240
3250
3260
3270
3280
32?0
3300
3310
3320
3330
3340
3360
3370
3380
3390
3400
3410
3420
3430
•4010
4020
4030
4040
4060
4070
4080
4090
4100
4110
4120
4140
5010
5020
5030
5040
5050
5060
5080
5090
5100
5110
5114
5120
6010
6020
6040
6044
6050
6060
6100
7850
7860
7870
9500
9501
, 9502
9510
9520
9530
9540
9550
9560
9570
9580
9590
9600
9610
9620
9630
9640
9650
9660
9670
9680
9690
9700
9999
Ok
POINTS! !"
;l<2>;"
A1=4
GOTO 3390
IF L(2)<6 THEN GOTO 3180
IF L(2K11 THEN 3200
D=2:IF INT(1+RND(1 )*2)=1 THEN D=D+(1+INT(RND(1 )*3) )-2:IF D>3 THEN D=D-3
RETURN
D=1:IF INTdtRNDtl )*2) = 1 THEN D=INT(RND<1 )*3>+D
RETURN
D=2: IF INT(1+RND(1)*2)=1 THEN D=D+INT(RND< 1 )*3) : IFD>3THEN 0=0-3
RETURN
Q=45 + INT(RNDU!*146)
PRINT "YOU HAVE HIT THE JACKPOT!!!! YOU HAVE JUST UON
P=P+Q
PRINT "YOU NOU HAVE ";P;" POINTS! "
GOTO 3360
Q=INT(RND(1 )*64)+1 :P=P+Q
PRINT "YOU RECEIVE ";Q;" POINIS FROM THE BUMPER AT ";L(1);\"
PRINT "SCORE: ";P
GOTO 3360
G=15*(1+INT<RND<1>*6)>:P=P+Q
PRINT "YOU GET ";G;" POINTS FROM GATE " ;MID»(P*(L! 1 ) ) ,L(2) ,1 )
PRINT "SCORE: ";P
L(1)=(L(1)-INT(1+RND(1 )*3))-INT(1tRND(1 )*2)
L(2)=L(2!-3tINT(RND(1 )*5)tl
RETURN
GOSUB 7850
GOTO 3130
LM >=L<1 )-<1tINT(RNDU >*5M
L(2)=L(2)-2*(HINT(RND<1 >*4>>
RETURN
PRINT "BALL APPROACHING FLIPPERS. ENTER THE TUO FLIPPERS YOU UISH TO FLIP"
INPUT "IN THE FORM: X,Y ";V,U
IF V=D OR U=D THEN 4110
PRINT "NO, YOU HAVE CHOSEN TO PROTECT THE URONG FLIPPERS. YOU NOU HAVE"
PRINT B-t;" BALLS LEFT."
B=B-1
A0=0
GOSUB 5010
RETURN
A0 = 1
C=INT(1+RND(1)*5)
RETURN
IF 23=10 THEN 5090
IF Z3=0 THEN RETURN
PRINT "YOUR BALL KNOCKED DOUN ";Z3;" TAGS!!"
PRINT "FOR THIS STELLAR PERFORMANCE, YOU ARE AUARDED "
PRINT "*****":!0*ZJ;"*****";:PRINT" POINTS!!"
P=P+10*Z3
GOTO 5120
P=P+250
PRINT "*****Y0U KNOCKED DOUN ALL 10 TABS!!!*****"
PRINT "YOU ARE AUARDED 250 POINTS AND AN EXTRA BALL!!!"
8=8+1
PRINT
PRINT
PRINT:PRINT" PICTURE ":PRINT"****************"
FOR 0=1 TO L(1 )-1 .-PRINT PJ(Q):NEXT Q
PRINT MID»(P*(L(1)),1,L(2)-1);"tt";MID*(P»(L(1)),L(2) + 1,16-L(2))
FOR Q=L(1)+1 TO 20:PRINT P$(0):NEXT Q
PRINT :PRINT"THE BALL UAS AT THE 'H'":PRINr:PRINT"****************"
RETURN
L(2)=ABS(L(2)-2+INT(1+RND(1 >*4>!
IF L(2)<=15 THEN RETURN
L(2) = 1 + INT(RND(1)*15):RETUR,t
P$(11=" "
FOR Q=1 TO 12:P$(1 )=P*(1 )+"C"+CHR*(8)+"I":NEXT
P*(1 )=P»(1 )+" "
"
* * 0"
0"
0"
* 0"
0"
f G H *0"
P»(9) = "0 * * * 0"
P*(10) = "0=== =«0"
P*(11)="0 12 3 4 5 0"
P$(12)="0 * 6 7 8 9 * 0"
P$(13)="0=== ===0"
P«(14)="0 0"
P»(15) = "M! !!!"
P$(16)="0 \ / 0"
P*(17)="0 \ I J / 0"
Pt( 1 8>="0 \ / 0"
P*(19)="0 \ / 0"
P»(20) = "\ ! ! "-/"
RETURN
PRINT "COME PLAY AGAIN SOMETIME !!" :END
"SCORE: ";P:RETURN
P$<2>="
P$(3)="0 *
P«(4)="0 A
P»(5)="0 *
P$(6)="0 * *
P$(7)="0 *
P$(8)="0* E
B C D
131
Rabbit Chase
Seemingly, the purpose of this game
is to chase-down and catch a rabbit.
Now this rabbit is an elusive little
devil— it can hop randomly in any
direction. You can run at least as fast as
the rabbit, maybe even faster (the
computer will decide). You must get
within 20 units of the rabbit to be able to
catch him. Before each hop, the
computer will print out your position,
the rabbit's position, the direction the
rabbit is going to jump, and your
closest approach on the last hop. You
are to tell the computer which direction
you wish to run. All coordinates and
directions are as a geometer would
mark them on a standard Cartesian
Coordinate System.
In addition to being good fun, this
game gives you practice in using and
visualizing an x-y coordinate plane.
After each hop, consider the output
and try to run the right direction. Try to
do all the figuring in your head. Using
scratch paper is considered to be
cheating (except for maybe the first
time you play).
Suggested Modifications
1 . Change the program so that you can
choose your own speed.
2. The game is much more challenging
when the "capture distance" can be
varied. A distance of 50 units is a
cinch, 15 units may make you wish
for scratch paper, 5 units will require
you to use a protractor and graph
paper.
3. See if you can invent a way to extend
this game to 3 dimensions! 4 dimen-
sions! etc.!
4. You might try limiting the total
number of hops and/or having the
computer give hints when re-
quested.
Rabbit Chase was written by Ted C.
Park of Pacific Union College. It first
appeared in Creative Computing,
Mar/Apr 1975.
TAB(29);"RABBIT CHASE"
TAB(I5);"CREATIVE COMPUTING
HORRiSIOUti
>NEU JERSEY"
OF THE CAPTURE DISTANCE)
LIST
10 PRiNT
20 PRINT
30 PRINT
40 PRINT
50 PRINT
.100 REN t'T' IS THE S0UARE
105 LET T=400
115 REN -- INITALIZE VELOCITIES AND POSITIONS
125 LET 01=INT(RNB<1 )*1 0* .5 ) *1 0+50
130 LET V2=(INT(RND<1)*2*.5H1)*V1
135 LET X1 = UNT<RND(1 )*400) + 100!*SGN(RND(1>-.5)
140 LET n = UNT(RND( 1 )*400> + 100)»S6N(RND<1>-.5>
145 IF Y1=0 OR X1=0 THEN 135
150 LET X2=0
SPEEDS (UNITS/HOP):"
RABBIT -";V1,"Y0U
'J 2
RUN
SPEEDS
RABBIT
RABBIT CHASE
CREATIVE COMPUTING NORRIST0UN NEU JERSEY
(UNITS/HOP):
- 130 YOU - 130
HOPtt: 1 DISTANCE TO RABBIT
RABBIT — POSITION:
YOU POSITION:
HOPS: 2 DISTANCE TO
RABBIT — POSITION:
YOU POSITION:
HOPtt: 3 DISTANCE TO RABBIT
RABBIT — POSITION:
YOU POSITION:
HOPtt: 4 DISTANCE TO RABBIT
RABBIT — POSITION:
YOU POSITION:
HOPtt: 5 DISTANCE TO RABBIT:
RABBIT — POSITION:
YOU POSITION:
HOPS: 4 DISTANCE TO RABBIT
RABBIT --- POSITION:
YOU POSITION:
HOPtt: 7 DISTANCE TO RABBIT
RABBIT — POSITION
YOU POSITION
H0PB: 8 DISTANCE TO RABBIT:
RABBIT — POSITION: ( -22?,
YOU POSITION: ( -108,
-190,
0,
hBBIT:
-310,
-92,
-393,
-184,
-244,
-184,
-175,
-274,
-144,
-144,
124,
238,
488 CLOSEST APPROACH:
450) AND DIRECTION: 203
0) AND DIRECTION:? 135
377 CLOSEST APPROACH:
399) AND DIRECTION; 130
92) AND DIRECTION:? 135
378 CLOSEST APPROACH:
499) AND DIRECTION: 11
184) AND DIRECTION:? ?0
225 CLOSEST APPROACH:
524) AND DIRECTION: 314
314) AKD DIRECTION:? 135
488
377
377
225
103 CLOSEST APPROACH: 89
430) AND DIRECTION: 274
404) AND DIRECTION:?
107 CLOSEST APPROACH: 57
300) AND DIRECTION: 72
404) AND DIRECTION:? 225
157 CLOSEST APPROACH: 38
424) AND DIRECTION: 218
314) AND DIRECTION:?
125 CLOSEST APPROACH: 48
344) AND DIRECTION:. 134
314) AND DIRECTION:? 170
155 LET Y2
140 PRINT
145 PRINT
170 PRiNT
175 PRINT
180 PRINT
185 LET C=(X2-X1)"2+(Y2-Y1) 2
190 LET P1=3. 141592653589/180
195 LET H=l
200 REN — PRINT OUT
215 LET D1=INT(RND(1 )*359)
220 PRINT "HOPtt: •;
225 LET Z=H
230 G0SUB 510
235 PRINT " DISTANCE TO RABBIT: ";
240 LET Z=S0R(<X2-X1)"2+(Y2-Y1) 2)
245 60SUB 510
250 PRINT " CLOSEST APPROACH: ";
255 LET Z*SQR(C)
240 GOSUB 510
280 GOSUB 520 245 PRINT
285 PRINT 270 PRINT "RABBIT — POSITION:
290 LET Z=T1 275 LET Z=X1
29S GOSUB 520
300 PRINT ") AND DIRECTION:";
305 LET Z=D1
310 60SUB 510
315 PRINT
320 PRINT "YOU
325 LET Z=X2
330 GOSUB 520
335 PRINT
340 LET Z = Y2
345 GOSUB 520
350 PRINT ">
355 INPUT
340 IF D2
345 PRINT
370 PRINT
380 REH — COMPUTE PATHS AND SEE IF THEY INTERSECT
390 LET X3=V1»C0S(D1*P1 1/100
395 LET Y3=V1»SIN(D1*P1 1/100
400 LET X4=!/2*C0S<D2*P1 1/100
405 LET Y4=V2*SIN(D2«P1 J/100
410 LET C=(X2-X1)-2+(Y2-Y1)"2
415 FOR 1=1 TO 100
420 LET X1=X1+X3
425 LET Y1=Y1+Y3
430 LET X2=X2+X4
435 LET Y2=Y2+Y4
440 IF C < (X2-X1 )"2+(Y2-Y1 )*2 THEN 445
443 C=(X2-XJ )-2+<TJ-Y1.~2
445 NEXT I
450 LET H=H+1
POSITION: ("
D2
<
AND DIRECTION:"
OR D2 >=340 THEN 355
THEN 215
"t GOT YA *"
455 IF C
460 PRINT
465 PRINT
470 PRINT
475 PRINT
480 PRINT
485 PRINT
490 PRINT
500 END
510 REM -
520 Z=IHT(Z*.5>
525 PRINT RIGHTS!"
585 RETURN
590 END
OK
CONVERTS NUMBERS TO STRINGS FOR CLEANER OUTPUT
• +STR»(Z),5);
132
Roadrace
You are the driver of a race car on the
notorious NY Route 20. You'll have to
drive 5 miles with Vfe gallon of gas, while
keeping alert for changes in the road
conditions, other cars, etc.
At the start you pick your car and
course. During the race you control
braking and acceleration.
Watch out for passing another car! If
you try to go the same speed he's
going, you're going to meet a
Greyhound bus head-on!
The game is tough to win. I usually
wipe out in a curve or run out of gas.
You might want to increase your MPG
rating. . .look at line 870.
Good luck!
This program originally appeared in
Creative Computing, Jan/Feb 1975.
RUN
ROADRACE
CREATIVE COMPUTING HORRISTOUN NEU JERSEY
THIS IS THE PITTSFIELD- ALBANY ROAD RALLY
UELCOKE TO THE FIRST ANNUAL PITTSFIELD-ALBANY ROAD RALLY.
YOU'LL BE DRIVIN6 RT. 20. TRYING TO UIH THE RACE AND
STAY ALIVE IN THE BAR8IN. 600D LUCK ! I
YOY HAVE YOUR CHOICE OF: (1) A VU; (2) 283 NOVA;
(3) Z-28; OR (4) FERRARI
CHOOSE THE CAR YOU MART BY THE NUNBER IN FRONT OF IT.
REHEMBER, THE BETTER THE CAR, THE MORE OAS IT USES.
UHICH CAR? 3
ROAD CONDITIOHStVECHICLE BEIN8 PASSED
GREYHOUND BUS IN OTHER LANE DOING 64 HPH CRASH VELOCITY » 103
WHERE IS YOUR FUNERAL BEING HELD T
YOU UANT TO TRY AGAIN, RI6HT MM
t-YES, 2-NO? 1
UHICH CAR? 3
UHICH ROUTE DO YOU UANT? S
PRESENT VELOCITY = NO. OF GALLONS » .5
NO. OF MILES = TINE PASSED • SECONDS
UHAT IS YOUR NEU RATE OF 6AS ? 10
ROAD CONDITIONS: WARNING: CURVE AHEAD
PRESENT VELOCITY = 70 NO. OF GALLONS « .47
NO. OF NILES = .152174 TINE PASSED =■ 10 SECONDS
UHAT IS YOUR NEU RATE OF OAS ?
ROAD CONDITI0NS:THROU6H CURVE
PRESENT VELOCITY • 41 NO. OF GALLONS = .47
NO. OF NILES = .241304 TINE PASSED = 20 SECONDS
UHAT IS YOUR NEU RATE OF 6AS ? 7
NOU YOU CHOOSE UHICH COURSE YOU UANT TO RACE ON.
THE EASIEST COURSE IS NUNBER 1, AND IS THE STRAIGHTEST
ROUTE. NUNBER 5 CONSISTS NOSTLY OF TURNS AND TUISTS.
UHICH ROUTE DO YOU UANT? 1
YOU HILL NEED TO TRAVEL 3 NILES UITH .5 GALLONS OF 6AS.
YOUR STATUS UILL BE SHOUN EACH 10 SECONDS. AFTER EACH
STATUS CHECK YOU UILL BE ASKED FOR A NEU RATE OF 6AS.
A RATE OF +10 IS HARD ACCELERATION, AND -10 IS HARD BRAKING
ANY NUNBER IN BETUEEN IS ALLOUABLE.
PRESENT VELOCITY > NO. OF GALLONS » .3
NO. OF NILES = TIHE PASSED > SECONDS
UHAT IS YOUR NEU RATE OF OAS ? 10
ROAD CONBITIONS:CLEAR AND STRAIGHT
PRESENT VELOCITY « 70 NO. OF GALLONS • .47
NO. OF HILES » .132174 TINE PASSED * 10 SECONDS
UHAT IS YOUR NEU RATE OF GAS ? 2
ROAD CONDITIOHStVECHICLE AHEAD 1000 FEET
PRESENT VELOCITY • 33 NO. OF GALLONS » .444
NO. OF NILES = .27173? TINE PASSED = 20 SECONDS
UHAT IS YOUR NEU RATE OF GAS ? 10
ROAD CONDITIOHStVECHICLE PASSED BY 73 HPH
PRESENT VELOCITY • 102 NO. OF GALLONS » .434
NO. OF NILES » .493478 TIHE PASSED » 30 SECONDS
UHAT IS YOUR NEU RATE OF GAS ? 10
ROAD CONDITIONS: VECHICLE AHEAD 1000 FEET
PRESENT VELOCITY « 130 NO. OF GALLONS = .404
NO. OF NILES • .776087 TIHE PASSED = 40 SECONDS
UHAT IS YOUR NEU RATE OF OAS ? -3
ROAD CONDITIONS: UARNIN6: CURVE AHEAD
PRESENT VELOCITY > 73 NO. OF GALLONS = .44?
NO. OF NILES = .4 TINE PASSED = 30 SECONDS
UHAT IS YOUR NEU RATE OF 6AS ? -1
ROAD CONDITIONS: THROUGH CURVE
PRESENT VELOCITY « 34 NO. OF 6ALL0NS » .44?
NO. OF MILES » .478261 TINE PASSED » 40 SECONDS
UHAT IS YOUR NEU RATE OF GAS ? 10
ROAD CONDITIONS:CLEAR AND STRAIGHT
PRESENT VELOCITY » ?1 NO. OF GALLONS « .41?
NO. OF MILES = .474087 TINE PASSED => 50 SECONDS
UHAT IS YOUR NEU RATE OF GAS 7 3
ROAD CONDITIONS: UARNINO: CURVE AHEAD
PRESENT VELOCITY > 88 NO. OF 6ALL0NS = .404
NO. OF NILES » .867371 TINE PASSED * 60 SECONDS
UHAT IS YOUR NEU RATE OF GAS ? -4
ROAD CONDITIONS:THROUGH CURVE
PRESENT VELOCITY > 23 NO. OF GALLONS = .404
NO. OF MILES • .?173?1 TIME PASSES « 70 SECONDS
UHAT IS YOUR NEU RATE OF 6AS ? 7
ROAD CONDITIONS: UARNING: CURVE AHEAD
PRESENT VELOCITY > 62 NO. OF GALLONS = .383
NO. OF HILES • 1.05217 TINE PASSED = 80 SECONDS
UHAT IS YOUR NEU RATE OF 6AS ? -1
ROAD CONDITIONS:ARE TERRIBLE
16 UAS THE SPEED THROUGH THE CURVE
2? UAS YOUR SPEED, BY THE UAY UHERE IS YOUR FUNERAL BEING HELD ?
133
10 PRINT TAD(27) ;"R0ADRAC£"
20 PRINT TAB( 15); "CREATIVE CONFUTING NORRISTOMN NCU JERSEY"
30 PRINT
40 PRINT
50 PRINT
100 PRINT " THIS IS THE PITTSFIELD-ALDANY ROAD RALLY"
120 PRINT
130 PRINT "UELCOHE TO THE FIRST ANNUAL P I TTSF IELD- ALBANY ROAD RALLY."
140 PRINT "YOU'LL BE DRIVING RT. 20. TRYING TO UIN THE RACE AND"
150 PRINT "STAY ALIVE IN THE BARGIN. GOOD LUCK!!"
160 PRINT
170 PRINT "YOY HAVE YOUR CHOICE OF: (1) A VU; (2) 283 NOVA;"
160 PRINT "(3) Z-28; OR (4) FERRARI"
190 PRINT
200 PRINT "CHOOSE THE CAR YOU UANT BY THE NUMBER IN FRONT OF IT."
210 PRINT "REMEMBER, THE BETTER THE CAR, THE MORE GAS IT USES."
220 PRINT "WHICH CAR";
230 INPUT C1
240 LET C1=INT<C1)
250 IF CI > 4 THEN 280
260 IF CI < I THEN 280
270 GOTO 300
280 PRINT "INVALID CAR NUMBER. NEU CAR ";
290 60T0 230
300 PRINT
310 IF N2=1 THEN 345
320 PRINT "NOU YOU CHOOSE UHICH COURSE YOU UANT TO RACE ON."
330 PRINT "THE EASIEST COURSE IS NUMBER 1 , AND IS THE STRAIGHTEST"
340 PRINT "ROUTE. NUMBER 5 CONSISTS MOSTLY OF TURNS AND TUISTS."
345 PRINT "UHICH ROUTE DO YOU UANT";
350 INPUT C2
360 LET C2=INT(C2>
380 IF C2 < 1 THEN 410
390 IF C2 > 5 THEN 410
400 GOTO 430
410 PRINT "INVALID COURSE NUMBER. NEU CHOICE ";
420 GOTO 350
430 IF N2=1 THEN 490
435 PRINT
440 PRINT "YOU UILL NEED TO TRAVEL 5 MILES UITH .5 GALLONS OF OAS."
450 PRINT "YOUR STATUS UILL BE SHOUN EACH 10 SECONDS. AFTER EACH "
460 PRINT "STATUS CHECK YOU UILL BE ASKED FOR A NEU RATE OF GAS. "
470 PRINT "A RATE OF +10 IS HARD ACCELERATION, AND -10 IS HARD BRAKING"
480 PRINT "ANY NUKBER IN BETUEEN IS ALLOUABLE."
490 FOR 1=1 TO CI
500 READ B,H,S
510 LET B=B/10
520 NEXT I
530 LET A1-.S
540 LET M1=0
550 LET CK1/2
560 LET V=0
570 PRINT
580 LET R1=0
590 LET T=0
400 LET D=0
410 LET 0.1=0
420 PRINT "PRESENT VELOCITY =";V;" NO. OF GALLONS =";A1
430 PRINT "NO. OF MILES =■;«!;" TIHE PASSED =";T;"SECONDS"
440 IF H1>= 5 THEN 1440
450 PRINT "UHAT IS YOUR NEU RATE OF 8AS ";
660 INPUT 6
470 IF G < -10 THEN 700
680 IF 6 > 10 THEN 700
490 GOTO 720
700 PRINT "NOT VALID. NEU RATE ";
710 GOTO 660
720 IF 6 < 9 THEN 780
730 LET Z=Zt1
740 IF Z> 4 THEN 760
750 60T0 790
740 PRINT " YOUR ENGINE BLEU. YOU GOT HIT BY A PISTON."
770 GOTO 1270
780 LET Z=0
790 LET V=INT(B*G-M«V+V)
800 LET T=T+10
810 PRINT
820 PRINT "ROAD CONDITIONS:";
830 IF V > THEN 850
840 LET V=0
850 LET M1=M1+V/440
860 IF 6<0 THEN 890
870 LET A1=A1-(6*S)/5000
880 IF A1< THEN 1380
890 IF R1=1 THEN 1050
900 IF 01=1 THEN 980
910 LET Q=INT((C2+1)*RND(D)
920 LET R=INT((3.75-C2)*RND(D)
930 IF R > THEN 1290
940 IF > THEN 1340
950 PRINT "CLEAR AN STRAIGHT"
960 PRINT
970 GOTO 620
980 LET H=INT(15+35!*RND(D)
990 LET H=H+5*C1
1000 IF V>H THEN 1500
1010 PRINT "THROUGH CURVE"
1020 PRINT
1030 LET 01=0
1040 60TO 620
1050 LET E=E-(V-D>*3!
1060 IF E < THEN 1100
1070 PRINT "VECHICLE ";E;" FEET AHEAD"
1080 PRINT
1090 GOTO 620
1100 IF V-D < 5 THEN 1180
1110 PRINT "VECHICLE PASSED BY ";
1120 LET D=V-D
1130 PRINT D;
1140 PRINT "MPH"
1150 PRINT
1160 LET R1=0
1170 GOTO 420
1180 PRINT "VECHICLE BEIN8 PASSED "
1190 LET D=INT<25+40*RND<1>)
1200 PRINT "GREYHOUND BUS IN OTHER LANE ";
1210 PRINT "DOING ";
1220 PRINT D;
1230 PRINT » MPH "J
1240 LET D=V+D
1250 PRINT "CRASH VELOCITY = "JD
1270 PRINT "UHERE IS YOUR FUNERAL BEING HELD T"
1280 60T0 1560
1290 PRINT "VECHICLE AHEAD 1000 FEET"
1300 PRINT
1310 LET D=INT<25+35*RND<1>>
1320 LET R1=1
1330 GOTO 620
1340 PRINT " UARNIN6: CURVE AHEAD "
1350 LET 01=1
1360 PRINT
1370 GOTO 620
1380 PRINT "EXCELLENT BUT UAIT!"
1390 PRINT
1400 PRINT "YOU RAN OUT OF GAS"
1410 60T0 1550
1420 PRINT "BUT SOME HOU YOU HADE IT"
1430 PRINT
1440 LET R1=0
1450 SOTO 620
1460 PRINT
1470 PRINT
1480 PRINT "YOU MADE IT (LUCKY) !!!!!!!"
1490 GOTO 1540
1500 PRINT "ARE TERRIBLE"
T510 LET H=H-5»C1
1520 PRINT H;" HAS THE SPEED THROUGH THE CURVE"
1530 PRINT V;" UAS YOUR SPEED, BY THE UAY ";
1540 GOTO 1270
1550 PRINT "YOU LEAD FOOTED $Z4"X»«M( <»*$'*<$< US'ZttZBtiZZZ"
1560 PRINT "YOU UANT TO TRY AGAIN, RIGHT til!"
1570 PRINT "1-YES, 2-HO";
1580 INPUT V
1590 IF V=2 THEN 1620
1600 N2=1
1610 60T0 1640
1620 PRINT "CHICKEN"
1630 GOTO 1700
1640 RESTORE
1650 60T0 220
1660 DATA 45, .53, 10
1665 DATA 60, .5, 13
1670 DATA 70, .41, 15
1680 DATA 80, .39,18
1700 END
134
Rotate
The game of Rotate is played on a
four-by-four board filled randomly with
the letters A through P. In a sense it is
like the little plastic games with sliding
pieces bearing the numbers 1-15 or
letters A-0.
The object of the game is to put the
letters in alphabetical order. This is
done by rotating groups of four letters
clockwise one position. The group to be
rotated is specified by the positional
number of the letter in the upper left-
hand corner of the group. You are also
given one special move which permits
you to exchange any two adjacent
letters. You probably don't want to use
this move too early in the game; indeed,
sometimes it's not necessary at all, and
since you get it only one time, once you
use it you can't recover. Your only move
then is to type a zero to give up.
Typically, a game will take from 20 to
30 moves to win. I haven't figured out
the worst possible case (assuming an
intelligent method of play); I'd be happy
to hear from a reader on this. Have fun!
Rotate was written by me, David Ah I,
and first appeared in Creative Com-
puting, Sep/Oct 1977.
LIST
5 PRIM TAB (24); "ROTATE"
8 PRINT TAB(20) ^"CREATIVE C0HPUTIN6"
10 PRINT TA8<18);*H0RRIST0UN, NEU JERSEY ":PRINT: PRINT :PR INT
11 DIN B(14),B*(14>
12 INPUT MNSTRUCTIOHS";A»:PRlNT:IF LEFTMA»,1>*"N" THEN 140
15 PRINT "IN THIS SANE THE BOARD IS LAID OUT AS FOLLOUSs"
25 FOR 1*1 TO 14:8<I)*I:»EXT
30 PRINT.-FOR 1*1 TO 13 STEP 4
35 PRINT tab(2);b(I);tab(4);B(I+i);tab(10);b(I+2);tab(M);b(I+3)
40 NEXT I: PRINT
45 PRINT "BOARD POSITIONS ARE OCCUPIED RANDOMLY BY THE LETTERS A TO P."
SO PRINT "THE OBJECT OF THE SAKE IS TO ORDER THE LETTERS BY ROTATING"
35 PRINT "ANY FOUR LETTERS CL0CKUISE ONE POSITION. YOU SPECIFY THE"
40 PRINT "UPPER LEFT POSITION OF THE FOUR YOU UISH TO ROTATE, I.E.,"
45 PRINT "VALID MOVES ARE 1, 2, 3, 5, 4, 7, ?, 10 AND 11."
70 PRINT "CONSEQUENTLY, IF THE BOARD LOOKED LIKE:"
75 FOR I«1 TO 14:B»<I>sCHR»<l+44>:NEXT:B*t2>="C":B»(3)="G"
80 8*<4>*"B":Bt<7>="F":G0SUB 400
85 PRINT "AND YOU ROTATED POSITION 2, THE B0ARB U0ULB BE:*
90 FOR 1*2 TO 7:B»*CHR»(I*44):NEXT I.-G0SUB 400
75 PRINT "AND YOU U0ULD UIN !":PRINT
100 PRINT "YOU ALSO BET ONE 'SPECIAL' MOVE PER GAME UHICH YOU MAY OR"
105 PRINT "HAY NOT NEED. THE SPECIAL HOVE ALL0US YOU TO EXCHANGE"
110 PRINT "ANY TU0 ADJACENT LETTERS IN A R0U. TO MAKE THIS MOVE,"
115 PRINT "INPUT A '-1' AS YOUR HOVE AND YOU UILL BE ASKEB FOR THE"
120 PRINT "POSITIONS OF THE TUO LETTERS TO EXCHANGE. REMEMBER
125 PRINT "ONLY ONE SPECIAL HOVE PER OANE!":PRINT
130 PRINT "TO 6IVE UP AT ANY TINE, TYPE A '0'.":PRINTiPRINT "GOOD LUCK !
":PRINT
140 FOR 1*1 TO 14:B$(I)»"0":NEXT I
150 FOR 1*1 TO 14
140 Tt*CHR*(INT<14*RND(m45>>
145 FOR J=1 TO I
170 IF B$(J)«T* THEN 140
175 NEXT J
180 B«<I)»T«:NEXT I
1°0 H*OsS=0«PRINT "HERE'S THE STARTING BOARD.. .":G0SUB 400
200 INPUT "POSITION TO ROTATE"JI:IF 1*0 THEN PRINT:PRINT:60TO 140
205 IF I«-1 THEN 510
210 IF 1*4 OR 1*8 OR I>12 THEN PRINT "ILLEGAL. A6AIN...»:G0T0 200
220 H*H+1:TMB$(I>
230 B«(I)«B»(I+4):B»(It4)=B»(I+5):B»(I»5)*B»<It1):B$(I*1)*T$
240 80SUB 400
305 FOR 1*1 TO 14
310 IF CHR«(It44)OBt(I> THEN 200
315 NEXT I
320 PRINTsPRINT "TOU ORDERED THE BOARD IH";M;" MOVES . " : M 1 *M 1 +M : G= 6 + 1
325 PRINT CHR«<7):F0R 1*1 TO 15
330 PRINTsINPUT "PLAY A6AIH";A«:IF LEFT$(A»,1 >*»Y" THEM 140
340 PRINT:PRINT "YOU PLAYED'JGJ" BAKES AND ORDERED THE BOARD IN AN AVERA
6E"
350 PRINT "0F"}M1/8;" MOVES PER 8AME.»:PRINT:B0T0 W
400 PRINTiFOR 1*1 TO 13 STEP 4
410 PRINT B»(D" "Bt(I+D" »B$(I+2)" "B$(I+3>
420 NEXT I:PRINT:RETURN
510 INPUT "EXCHANGE UHICH TUO P0SITI0NS";X,Y
520 IF XOY*1 AND XOY-1 THEN PRINT "ILLEGAL. A6AIN...»:6OT0 510
530 S*S*1:IF S>1 THEN PRINT "ONLY ONE SPECIAL MOVE PER GAME.":G0T0 200
540 T*«B$(X):B»tX)*B»(Y):B»(Y)*T$:G0T0 240
»»° END
OK
RUN
ROTATE
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
INSTRUCTIONS? YES
IN THIS 6AME THE BOARD IS LAID OUT AS FOLLOUS:
12 3 4
3 4 7 8
? 10 11 12
13 14 13 14
BOARD POSITIONS ARE OCCUPIED RANDOMLY BY THE LETTERS A TO P.
THE OBJECT OF THE 6AHE IS TO ORDER THE LETTERS BY ROTATING
ANY FOUR LETTERS CLOCKUISE ONE POSITION. YOU SPECIFY THE
UPPER LEFT POSITION OF THE FOUR YOU UISH TO ROTATE, I.E.,
VALID MOVES ARE 1, 2, 3, 5, 4, 7, », 10 AND 11.
CONSEQUENTLY, IF THE BOARD LOOKED LIKE:
A C 6 D
E 8 F H
I J K L
M N P
AND YOU ROTATED POSITION 2, THE BOARD UOULD BE:
A C 8 D
E B F H
I J K L
M N P
ARB YOU UOULB UIN !
YOU ALSO 8ET ONE 'SPECIAL' MOVE PER GAME UHICH YOU MAY OR
MAY NOT NEED. THE SPECIAL MOVE ALLOUS YOU TO EXCHANGE
ANY TUO ADJACENT LETTERS IN A ROU. TO MAKE THIS HOVE,
INPUT A '-1' AS YOUR MOVE AND YOU UILL BE ASKEB FOR THE
POSITIONS OF THE TWO LETTERS TO EXCHANGE. RENEMBER —
ONLY ONE SPECIAL MOVE PER SAKE!
TO 8IVE UP AT ANY TIME, TYPE A '0'.
GOOD LUCK !
HERE'S THE STARTING BOARD...
E C L
K 8 H A
F I P J
H N D B
POSITION TO ROTATE? 3
E N C
K 6 A L
F I P J
H N D B
135
POSITION TO DRTATCO i
1 ug11 *u«* i u rcu 1 ft 1 1 7 2
pnCTTTnu Tn dhtatct t
DAG T T T AM Tfl DflTATO "1
rllalliun lu KUTAT&r 7
CLater in the Gamp
E s o c
ABBE
A B C D
K A M L
6 N C K
E F 6 H
FIN
FOIL
M A P M
n u r n
PUSITI0N TO ROTATE? 9
Hill
H I N J
I J L K
POSITION TO i
***** ' *un iu rtulHifcY 1
A B G
POSITION TO ROTATE? "1
1 vw ft I 1UR 1 u nu 1 II lb ! o
PAQTTTAN T/l OflTATCP 1 A
rualliun IU KUIflltT 10
E F 6 H
K E C
1 T It D
J 1 K r
A B C B
a b r n
n a I* u
MIMA
n l it if
A 6 If L
N K E
E F 6 H
FIPJ
F P L
Minn
n d If H
PnQTTTflM Tn DdTATCV 1 A
ruaiixun iu kuiaict iv
HUM
H I H J
I L P K
POSITION TO RflTATF? 1
A B 1* fi
H L V
POSITION TO RflTATF? 7
PnCTTfflU Tfl OfiTATC? 11
C C R U
t r o H
HOC
11 T D
J L I r
A B C B
A B C D
m u k n
n r n u
6 E H L
N P K
E F 6 H
FIPJ
F L E
n J P
PflQTTTnN Tn pnTATc? o
ruax i iun iu nu in It r 7
H N D B
H I H J
I L K N
POSITION Tn RflTATCV 11
a r r n
n l v
POSITION Tfl RDTflTF? 7
man iur iu nuinici /
Pfl^TTTflM Tfl RflTATP? 1A
ruai 1 tun iu nuiHitr iv
C C fi U
t r H
H J I P
A K C
A B C B
A R r n
H O L U
mi v n
n L K, U
D E H L
N L P
E F 6 M
FIOP
F E K
H L J
PflQTT TOM Tn DflTATC? 1 A
ruaiiiun iu nUiHitf iv
H N B J
H I N J
I K P H
A R r n
H D l« V
PITCTTTflN Tfl ROTATE? 10
r U3i i iw iu nu i ti 1 1 s iv
POSITION TO ROTATE? A
• VW ft 1 ft VI* 1 U l\U 1 II 1 & 1 O
PHQ TTTDM Tfl ROTATE? O
ruaiiiun iu nuinitr t
f c a u
t r D n
Ml IP
fl L J r
A K C
A B C
a r p n
n O I* If
u k i n
If n 1 U
G E H L
N P
F F fi H
F N I P
F E L K
T h 1 n
i n j u
pncTTtnu Tn datatc? ia
ruaiiiun iu nUiAttr iv
H B J
H I H J
K L P N
a r r n
H D U If
POSITION TO ROTATE? 10
POSITION TO ROTATE? 5
l II ti ft l ft un 1 U IV U 1 ft 1 b I W
PAQTTTAM TO DATATC9 O
rualllUN IU nUIAIt: V
F P fi U
C r D D
M it* 1 P
n n L r
A K C
A B C B
a r r n
n w V
N I J
E H L
F 6 N P
F F R H
c r u n
F B H P
E L K
K I J
pn^TTTnu to potatf? ia
ruai i iun iu nU 1 n 1 %. i IV
H 1 I J
H I H J
|_ M P N
a r r n
n a L If
POSITION TO ROTATE 7 6
IT Uu ft 1 i UIV 1 w IW ■ fl I b ■ *•**
POSITION TO ROTATE? 5
■ vwi (* vn i u nuitllb ' w
PDQTTTilM Tfl RflTATF? 11
ruaiiiun iu nuiHicr it
c c a li
t r u n
H I If P
n 1 ft r
A K C
A B C B
a b r n
H B I D
M 1 1 fl
n j l v
G B E L
E F N P
r r n u
F N H P
6 I K
V I B 1
n l r J
PAGTTTflM Tn DDTATO O
ruai I iun IU KUIATlt t
H D I J
H I ft J
L N N
a r r n
H B L V
PAQTTTON TO ROTATE? 1
POSITION TO ROTATE? 10
PnCTTTflM Tn DflTATO 11
rUaillun IU RUTA ft? 11
F F fi U
N H K P
A B K C
A B C B
A B C B
J I L
e c D 1
D C U L
E F N P
F F R u
c r D n
F N H P
I 6 K
If T U P
PnCTTT AM Tn PATATC? O
r ua iii un i u ku inter "
H D I J
H N L J
L H J
A r r n
H 1 b V
POSITION TO ROTATE? 10
POSITION TO ROTATE? 9
ruoi i iun iu kuihilf iv
E F H
J H K P
a p u r
n D K l
A B C
A B C D
IMtO
n r n i
u t U L
E F N P
E F 6 H
c n m p
r v n r
HOIK
K H I P
POSITION TH PnTATF? 9
rw iii u r i u nu ihic! t
MINI
n i n j
H I L J
L N J
A B C B
PAQTTTAM TO PflTATF? A
POSITION TO ROTATE? 9
I l#v ft 1 ftUll 1 w |«U InlL; 7
POSITION TO ROTATE? 11
ruai i iun i u nu i n i & i i i
E F 6 H
I J K P
A d u r
fl D R L
A B C
A B C B
H H L
8 D E L
E F N P
E F G H
F N P
H H 6 K
K H N I
PHQTTTAN Tn DfiTATC? 1 1
rua 111 un I U KU IHIC.: II
H I H J
I L J
L J P
a r r n
H D It U
POSITION TO KUIAItT a
POSITION TO ROTATE? 11
POSITION TO ROTATE? 11
i uw i ■ ft uu i u i\u inib • it
E F 8 H
I J L K
A B K C
A B C B
a r r n
H a li o
M N P
G N L
E F N P
EF EH
F E P
HHLS
K N J N
POSITION TO ROTATE? -1
H I M J
10 JK
L P I
EXCHANGE MUCH TU0 POSITIONS? 11,12
DftCTTTflU Tn BATATF? 7
POSITION TO ROTATE? 10
rNium iu Hvinici iv
POSITION TO ROTATE? 10
■ Mw a i ft wit iu nu i n 1 1» i iv
A B C D
E F 6 H
A B V P
H K L
A B C B
A B C B
I JKL
G N E D
f F U P
c r n r
E F H
N N P
F P L
y n u a
n u n o
K H N
H I H J
I J L K
L P J I
YOU ORDERED THE BOARD IN 66 H0VES.
nAKTTinu Tfl DflTATCT 7
POSITION TO KulAItT J
PflQTTTnN TO RflTATP? 7
rua.L 1 1UR IU nUIHiC: /
POSITION TO ROTATE? 11
A B E K
A B C v
A B C D
PLAY AGAIN? NO
i un i nun ft r : nu
N D C
E F H N
E F 6 H
F P L
HOOP
K J K
YOU PLATES 1 GAMES ANB ORBEREB THE
H I H J
I J L K
LP IH
AN AVERA6E OF 44 MOVES PER SAME.
OK
136
Safe
In a sense, this is another game in the
"guess a mystery number" family.
However, it has quite a different "twist."
In this game, you are trying to open a
safe by turning or twisting a dial back
and forth between one and ninety-nine
or ninety-nine and one.
The instructions shown in the sam-
ple run are very complete. However,
one hint that will help you when you
start playing is that it is usually best to
start at ninety-nine when going to the
right because if you get a click, the
number must be close. If not, you can
step it down by eights or tens until you
get the first click and then judge from
there.
Safe was created and written by
Kevin Ashley.
Turning Left | Turning Right
RUN
SAFE
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
NOTE: There is no spot (zero) and it spins
back past the last number automati-
cally as in most locks.
DO YOU UANT DIRECTIONS? YES
YOU ARE A BUR6ULAR AND HAVE ENCOUNTERED A SAFE. YOU MUST
OPEN THE SAFE TO 6ET THE SECRET PLANS THAT YOU CAME FOR.
TO DO THIS , YOU MUST ENTER THE NUMBER OF UHAT YOU UANT THE
DIAL TURNED TO, THE COMPUTER WILL ACT AS THE SAFE AND UILL
HELP YOU BY GIVING A SORT OF CLUE, THAT IS YOU UILL'HEAR'
A CLICK AT EVENLY SPACED NOTCHES AS YOU MOVE TO THE PROPER
NUMBER. THERE ARE FOUR OF THEN BEFORE THE FINAL CLICK IS
'HEARD'. AFTER THE FINAL ONE IS HEARD, YOU UILL 60 ON TO
THE NEXT NUMBER. THE COMPUTER UILL'SAY' 'CLICK' FOR EACH
NOTCH THAT YOU PASS AND '»«CLICK»»' UHEN YOU REACH THE
PROPER NUMBER. IF YOU PASS IT OR TAKE LONGER THAN TEN TRIES
ON ANY ONE NUNBER, YOU UILL ACTIVATE THE ALARM.
REMEMBER THAT UHEN YOU TURN THE DIAL TO THE LEFT, THE
NUMBERS 60 FROM t -?? ,AND UHEN YOU 60 TO THE RIGHT, THE
NUMBERS 60 FROM
OKAY, START TO THE RI6HT, SHHHHHH! !!!!!!!!!!!!!
ARE YOU READY? YES
OKAY, THEN LET'S START
? 8?
? 71
CLICK
? 4?
CLICK
? 5?
CLICK
CLICK
? 4?
CLICK
CLICK
CLICK
? 35
CLICK
CLICK
CLICK
CLICK
? 32
CLICK
CLICK
CLICK
CLICK
137
? 30
CLICK
CLICK
CLICK
CLICK
? 29
CLICK
CLICK
CLICK
CLICK
■>. 27
CLICK
CLICK
CLICK
CLICK
THE SENSOR HAS BEEN TRIGGERED
LEAVE UHILE YOU CAN BEFORE THE
POLICE 6ET HERE.
UANT TO TRY THE SAME SAFE? YES
ARE YOO READY? YES
OKAY, THEN LET'S START
? 25
CLICK
CLICK
CLICK
CLICK
? 23
CLICK
CLICK
CLICK
CLICK
? 1?
THE SENSOR HAS BEEN TRIGGERED
LEAVE UHILE YOU CAN BEFORE THE
POLICE GET HERE.
UANT TO TRY THE SANE SAFE? YES
ARE YOU READY? YES
OKAY, THEN LET'S START
T 21
** CLICK **
AND NOM TO THE LEFT
? 5
CLICK
CLICK
CLICK
CLICK
? 10
? 30
? 50
? 40
? 70
? 80
? 90
? 95
? 97
THE SENSOR HAS BEEN TRIGGERED
LEAVE UHILE YOU CAN BEFORE THE
POLICE GET HERE.
UANT TO TRY THE SAME SAFE? YES
ARE YOU READY? YES
OKAY, THEN LET'S START
? 21
** CLICK **
AND NOU TO THE LEFT
T 1
CLICK
CLICK
CLICK
CLICK
? 5
? 6
? 7
? 8
? 12
? 14
? 16
? 18
** CLICK **
AND NOU TO THE RIGHT AGAIN
? 95
CLICK
CLICK
CLICK
? 8?
CLICK
? 83
** CLICK **...YOU OPENED IT
BUT OH, OH, HE MUST HAVE MOVED IT
TRY THE ONE OVER THERE
OKAY, START TO THE RIGHT, SHHHHHH! !!!!!■!!•!!!!
ARE YOU READY? NO
Ok
LIST
1
2
3
4
5
6
PRINT TAB(28)"SAFE"
PRINT TAB(20)"CREATIVE COMPUTING"
PRINT TAB(18)"H0RRISTGUN, NEU JERSEY"
PRINT
PRINT
PRINT
10 DIM AK4)
20 PRINT"DO YOU UANT DIRECTIONS";
30 INPUT A*
40 IF A*="YES" THEN 80
50 IF A»="NO" THEN 250
60 PRINT"ANSUER YES OR NO"
70 GOTO 20
80 PRINT
90 PRINT
100 PRINT-YOU ARE A BURGULAR AND HAVE ENCOUNTERED A SAFE. YOU MUST"
110 PRINT"OPEN THE SAFE TO GET THE SECRET PLANS THAT YOU CAME FOR."
120 PRINT"TO DO THIS , YOU MUST ENTER THE NUMBER OF UHAT YOU UANT THE"
130 PRINT" DIAL TURNED TO, THE COMPUTER UILL ACT AS THE SAFE AND UILL"
140 PRINT"HELP YOU BY GIVING A SORT OF CLUE, THAT IS YOU UILL'HEAR'"
1S0 PRINT "A CLICK AT EVENLY SPACED NOTCHES AS YOU HOVE TO THE PROPER"
160 PRINT"NUHBER. THERE ARE FOUR OF THEM BEFORE THE FINAL CLICK IS"
170 PRINT"'HEARD'. AFTER THE FINAL ONE IS HEARD, YOU UILL 60 ON TO"
180 PRINT"THE NEXT NUMBER. THE COMPUTER UILL'SAY' 'CLICK' FOR EACH"
190 PRINT"NOTCH THAT YOU PASS AND '**CLICK**' UHEN YOU REACH THE"
200 PRINT"PROPER NUMBER. IF YOU PASS IT OR TAKE LONGER THAN TEN TRIES"
210 PRINT "ON ANY ONE NUMBER, YOU UILL ACTIVATE THE ALARM."
220 PRINT"REMEMBER THAT UHEN YOU TURN THE DIAL TO THE LEFT, THE"
230 PRINT"NUMBERS GO FROM 1 -99 , AND UHEN YOU 60 TO THE RIGHT, THE"
240 PRINT"NUMBERS GO FROM 99-1"
2S0 PRINT"OKAY, START TO THE RIGHT, SHHHHHH !!!!!!!!!!!!!!"
260 A=INT(RND(1)*81>+10
270 B=INT<RND(1')*81)+10
280 C=INT(RND(1)«81)+10
290 PRINT"ARE YOU READY";
300 INPUT A$
310 if a»="yes" then 340
320 if a*<>"uhat"then 990
330 printa;b;c
340 L=100-A
350 FOR M=1 TO 4
360 A1(M>=(5-M)*L/5+A
370 NEXT H
380 J=1
390 PRINT"OKAY, THEN LET'S START"
400 INPUT N
410 ON SGN(M-A)+2 GOTO 500,570,420
420 FOR K°1 TO 4
430 IF H>A1(K) THEN 460
440 PRINT"CLICK"
460 NEXT K
470 IF J>=10 THEN 500 .
480 J=J+1
490 GOTO 400
500 PRINT"THE SENSOR HAS BEEN TRIGGERED"
510 PRINT"LEAVE UHILE YOU CAN BEFORE THE"
520 PRINT"POLICE GET HERE."
530 PRINT"UANT TO TRY THE SAME SAFE";
540 INPUT At
550 IF A»="YES" THEN 280
560 GOTO 250
570 PRINT"** CLICK **"
580 L=L+B
590 FOR K=1 TO 4
600 A1(K)=K*L/5*B
610 NEXT K
620 PRINT"AND NOU TO THE LEFT"
630 J=1
640 INPUT M
650 ON S6N(M-A)+2 GOTO 660,500,680
660 ON SGN(M-B)+2 60T0 670,760,500
670 M=M+100
680 FOR K=1 TO 4
690 IF M<A1(K) THEN 720
700 PRINT"CLICK"
710 A1(K)=200
720 NEXT K
730 IF J>=10 THEN 500
740 J=J+1
750 GOTO 640
760 PRINT"** CLICK **"
770 L=(100-C)+B
780 FOR K=1 TO 4
790 A1(K)=B+100-K*L/5
800 NEXT K
810 PRINT"AND NOU TO THE RIGHT AGAIN"
820 J=1
830 INPUT H
840 ON S6N<H-BH2 60TO 860,500,850
850 0NS6NIN-O+2 60T0 500,950,870
860 M=M+100
870 FOR K=1 TO 4
880 IF M>A1(K) THEN 910
890 PRINT"CLICK"
900 A1(K)=-200
910 NEXT K
920 IF J>=10 THEN 500
930 J=J+1
940 GOTO 830
950 PRINT"** CLICK **...YOU OPENED IT"
960 PRINTOUT OH,OH, HE MUST HAVE MOVED IT"
970 PRINT"TRY THE ONE OVER THERE"
980 60T0 250
990 END
Ok
138
Scales
SCALES
CREATIVE COMPUTING
MORRISTOWN, HEM JERSEY
ELEVEN SCALE TYPES MAJOR , MINOR, MOBAL, AND WHOLE TONE
This projran prtntf in lttl«r nanes one octave upward, the najor,
the natural, harnonic, Melodic, and Hungarian Minors, the
dorian, Phrygian, lydian, nixolydian, and locrian nodes, and
the whole tone scales.
Use a 3- or ^-character input: the first 2 char's are the scale
type, and the 3rd char'r is the single letter tonic, or the
last two char's are the tonic degree or the key signature.
SCALE TYPES-- na na ha ne do ph ly ni lo hu and uh
Input either a tonic or a signature.
EXAMPLES: nacb lydb Nieb ehgb nafl hag! neat loci doc phd hue
WHICH TYPE OF SCALE IS WANTED? uhfl
SCALE ASKED Uhole tone scale on Fl
ANSWER (la letter nanes)
Fl 61 Al Bl D E F«
This program tests your knowledge of
different types of musical scales. It
generates 11 types of scales: major,
natural minor, harmonic minor,
Hungarian minor, dorian, phygian,
lydian, mixolydian, locrian, and whole
tone.
Prior to running the program, test
yourself off line on a sheet of paper by
writing down several types of scales
and 8 notes starting at a note chosen by
you. Then run the program to check
your answers.
When you run this program, you will
be asked, "Which type of scale is
wanted?" Respond by typing the first
two letters of the name of the desired
scale followed immediately by the
desired key. Use a lower case 'b' for the
flat and use '#' for the sharp. Sample in
puts would be phe for Phrygian starting
on E, maf# for major on F-sharp, and
whg for whole tone on G.
The author, Marvin S. Thostenson, is
at the School of Music, University of
Iowa. Scales first appeared in Creative
Computing, Mar/Apr 1977.
UHICH TYPE OF SCALE IS WANTED? nae
SCALE ASKED Nat'l Minor scale on E
ANSWER (in letter nanes)
EFIOABCBE
WHICH TYPE OF SCALE IS WANTED? _ iTic
SCALE ASKED Whole tone scale on C
ANSWER (in letter nanes)
C D E Fl Ab Bb C
WHICH TYPE OF SCALE IS WANTED? hu2l
SCALE ASKED Hung'n Minor scale on B
ANSWER (in letter nanes)
B CI D El fl 8 Al B
WHICH TYPE OF SCALE IS WANTED? stop
139
list
10 PRINT TAB (24); "SCALES"
20 PRINT TAB<20>J"CREATIVE COMPUTING"
30 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
40 PRINl!PRINT:PRINT
100 A=0:B=0:C=0:D=0:E=O:H=0tK=O:L=O:H=0:N»O:0»O
200 U«4
210 PRINT "ELEVEN SCALE TYPES — MAJOR, MINOR, NODAL, AND UHOLE TONE"
215 PRINT
220 PRINT "Thi« progran prints in letter nanes one octave upward, ";
22S PRINT "the najor,"
227 PRINT "the natural, harnonic, nelodic, and Hungarian ninors, the"
22S PRINT "dorian, Phrygian, lydian, nixolydian, and locrian nodes, and"
22? PRINT "the whole tone scales. ":PRINT
230 PRINT "Use a 3- or 4-character input: the first 2 char's are the sea
le"
232 PRINT "type, and the 3rd char'r is the single letter tonic, or the"
234 PRINT "last two char's are the tonic degree or the key signature."
240 PRINT "SCALE TYPES — na na ha *e do ph ly ni lo hu and wh"
250 PRINT "Input either a tonic or a signature."
260 PRINT "EXAMPLES: nacb lydb nieb uhgb nafN hagl nea* loci doc phd hue
270 Bl«"SCALE ASKED -
280 C$="ANSUER (in letter nanes) "
2?0 0«="STRUCTURE
300 K»»" tetrachords"
310 U»1
320 PRINT:PRINT:PRINT TAB(8);"UHICH TYPE OF SCALE IS WANTED";
330 INPUT At
340 N=LEN(A»>
350 IF A»="9top" THEN 1290
340 E$="nanahanedophlynilohuNh"
370 FOR X=1 TO 22 STEP 2
380 IF LEFT»<A»,2)=HIDf(Et,X,2> THEN 400
3?0 NEXT X
400 Q=(X+1>/2
410 A0»=A$
420 X=ASC<LEFT»(A0f,1>)-32
425 A0*=CHR»(X>+IUD»<A0S,2,N>
430 READ DO
440 A0»=A»
450 X=ASC(LEFT0(A0t,1))-32
455 A0»=CHR»(X>+NID«<A0$,2,N>
440 IF LEFT»<D»,2>=LEFT»<AO»,2> THEN 480
470 GOTO 430
480 J«=D»
490 RESTORE
500 IF N<>3 THEN 530
520 A0=LEFT«<A»,3>+" "
530 IF 0*1 OR 0-7 OR Q»1 1 THEN 550
540 IF 0>=2 AND Q<=4 OR Q»9 OR 0=10 THEN 570
550 Y=1
540 GOTO 580
570 Y=2
580 F*="bxexaxdxgxcxfxbtleia«d»gllctlfllb e a d g e f "
585 F»=F»t"bbebabdbgbcbfbbdedadddgdcd"
590 G»="BxExAxDxGxCxFxB*EIAlDIIGIIClF*B E A D C F "
5?5 G$=G»+"BbEbAbDb6bCbFbBdEdAdDd0dCd"
400 ON Y GOTO 410,430
410 H«°"5t4t3t2t1t7x4><3x4x3x2x1x7*4«5l4«3«2«1lt0«1b2b3b4b5b4b7b1d2d3d4d"
413 H»=H»+"5d4d7d»
420 GOTO 440
430 H$*"2t 1 t7x4x5x4x3x2x1 x7i4»5»4I3»2II1 «0»1 b2b3b4b5b4b7b1 d2d3d4d"
435 H»=H»+"5d6d7d8d?d "
440 FOR V=1 TO 48 STEP 2
450 IF MID»(A»,3,2)»MID$<F»,V,2> THEN 480
640 IF MID$(A«,3,2)»HID»<H»,V,2> THEN 480
670 NEXT V
680 C1»«HID0<6l,v,2>
690 T=Tt1
700 IF T«? THEN 1160
710 ON T GOTO 720,740,790,840,890,940,990,1040
720 R=0
730 GOTO 1040
740 IF 0=4 OR 0=9 THEN 770
750 R— 4
760 GOTO 1040
770 R=10
780 GOTO 1060
790 IF 0-1 OR 0=7 OR 0*8 OR 0=11 THEN 820
800 R=4
810 GOTO 1040
820 R=-8
830 GOTO 1060
840 IF 0=7 OR 0=10 OR 0=11 THEN 870
850 R°2
860 GOTO 1060
870 R=-12
880 GOTO 1040
890 IF 0=9 OR 0=11 THEN 920
900 R=-2
910 SOTO 1060
920 R=12
930 GOTO 1060
940 IF 0=1 OR 0=4 OR 0=5 OR 0=7 OR 0=6 THEN 970
950 R=8
960 GOTO 1040
970 R=-4
980 GOTO 1040
990 IF 0=1 OR 0=3 OR 0=4 OR 0=7 OR 0=10 THEN 1020
1000 R°4
1010 GOTO 1040
1020 R=-10
1030 GOTO 1040
1040 R=0
1040 IF 0=11 AND T=5 THEN 1090
1070 IF U=1 THEN I$=MID«(6»,V+R,2) :60T0 1100
1075 I»=LEFT»(It,U-1)+HID»<60,V+R,2)
1080 GOTO 1100
1090 60T0 690
1100 I««LEFT»<I»,U+1>+" "
1110 IF MID0(I»,U+1,1)="d" THEN 1130
1120 80T0 1140
1130 IO=LEFT»(I»,UH"bb"
1140 U"U+4
1150 SOTO 490
1140 PR I NT: PR INT TAB(3) ,BI; J»;C1»iPRINT
1170 PRINT TAB(3);C»:PRINT
1180 PRINT:PRINT TAB(8);I»
1190 C1»=*":II="":0«=""
1220 Q°0:T=0:R=0
1230 PRINT
1240 60T0 310
1250 DATA "Najor scale on ","Nat'l ninor scale on "
1255 DATA "Harn'c Minor scale on ","Mel'c ninor scale on "
1240 BATA "Borian node on "/Phrygian node on "
1270 BATA "Lydian node on ", "Nixolydian node on ", "Locrian node on "
1280 BATA "Hung'n ninor scale on ", "Dhole tone scale on "
1290 END
OX
140
Schmoo
RUN
Schmoos are imaginary creatures
who love being splattered with juicy
mudballs. You, being a schmoo lover,
try to make schmoos happy by tossing
mudballs at them. It will help you in
playing this game to know a little bit
about grids and angles like in the X,Y
coordinate system 2,-3 means right 2
and down 3. If degrees is the angle
coinciding with the positive X axis, then
2,-3 would be in the fourth quadrant
and would correspond to angles
between 270 and 360 degrees.
If you're pretty good, you can "splat
the schmoo" in about eight tries; but
don't cheat and use the formula. And
don't expect me to tell you where it's
hidden in the program!
If you want to extend the Schmoo
game, you might want to add a third
dimension with flying schmoos. The
program shouldn't be too hard and it
would be a really neat game. If you
want to try something easier, fix
Schmoo so that it requires initial
velocities as well as angles. You could
even make a low-gravity (lunar version)
of Schmoo.
Schmoo was conceived and written
by Frederick H. Bell at the University of
Pittsburgh. It first appeared in Creative
Computing, Sep/Oct 1975.
SCHMOO
CREATIVE COMPUTING HORRISTOUN NEU JERSEY
THIS IS A NEU SCHHOO GAME. SCHMOOS
ARE IMAGINARY CREATURES UHO LOVE
BEING SPLATTED UITH JUICY HUD BALLS.
YOU, BEING A SCHMOO LOVER, TRY TO
HAKE SCHMOOS HAPPY BY TOSSING HUD
BALLS AT THEM. YOU HAVE A
HECHANICAL MUD SLINSER THAT MILL
SLING HUB TO A MAXIMUM DISTANCE
OF 46,500 INCHES. YOUR JOB IS TO
SET THE HUD SLINSER AT THE CORRECT
ELEVATION (0 TO 90) ANB THE CORRECT
DIRECTIONAL ANGLE <0 TO 340) TO SPLAT THE
SCHHOO. A HIT UITHIN 100 INCHES OF THE SCHHOO
UILL SPLATTER HIM.
COORDINATES OF THE SCHHOO ARE ( 29007 , 9760 ).
HUB SLINGER ELEVATION? 3?
DIRECTIONAL ANGLE OF HUB SLINGER? 34
YOU HISSED THE SCHMOO AT ( 29007 , 9740 ).
YOUR MUD HIT ( 37707 , 25433 >.
HUD SLINSER ELEVATION? 23
DIRECTIONAL AN6LE OF HUD SLINGER? 31
YOU HISSED THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUD HIT ( 28471 , 17227 ).
HUD SLIN6ER ELEVATION? 12
DIRECTIONAL ANGLE OF HUD SLINGER? 30
YOU HISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT < 14379 , 9454 ).
HUB SLIN6ER ELEVATION? 18
DIRECTIONAL ANGLE OF HUB SLIN6ER? 27
YOU HISSEB THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUB HIT ( 24352 , 12408 ).
HUD SLINGER ELEVATION? 20
DIRECTIONAL AN6LE OF HUD SLINGER? 25
YOU HISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT ( 27088 , 12631 ).
HUB SLIH6ER ELEVATION? 20
DIRECTIONAL ANGLE OF HUB SLINGER? 21
YOU HISSED THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUB HIT ( 27903 , 10711 >.
HUB SLINGER ELEVATION? 22
DIRECTIONAL ANGLE OF HUB SLIH6ER? 20
YOU HISSED THE SCHMOO AT ( 29007 , 9740 ).
YOUR HUD HIT ( 30353 , 11047 ).
HUD SLIN6ER ELEVATION? 21
DIRECTIONAL AN6LE OF HUD SLINGER? 17
YOU MISSED THE SCHHOO AT t 29007 , 9740 ).
YOUR HUD HIT ( 29754 , 9094 ).
HUD SLINGER ELEVATION? 20
DIRECTIONAL ANGLE OF HUD SLINGER? 18
YOU HISSED THE SCHHOO AT ( 29007 , 9740 >.
YOUR MUD HIT ( 28424 , 9234 ).
HUD SLIN6ER ELEVATION? 21
DIRECTIONAL AN6LE OF HUD SLINGER? 18
YOU HISSED THE SCHMOO AT ( 29007 , 9740 ).
YOUR MUD HIT ( 29591 , 9414 ).
HUD SLIN6ER ELEVATION? 20
DIRECTIONAL AN6LE OF HUD SLIH6ER? 19
YOU HISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT ( 28240 , 9730 ).
HUB SLINGER ELEVATION? 22
DIRECTIONAL ANGLE OF HUB SLIN6ER? 18
YOU MISSED THE SCHMOO AT ( 29007 , 9740 ).
YOUR HUB HIT ( 30720 , 9981 ).
HUB SLINGER ELEVATION? 21
DIRECTIONAL ANGLE OF HUD SLINGER? 17.5
YOU HISSED THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUD HIT ( 29473 , 9354 ).
HUD SLIN6ER ELEVATION? 21
DIRECTIONAL ANSLE OF HUD SLINGER? 18.4
YOU HISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR MUD HIT ( 29523 , 9821 ).
HUB SLIN6ER ELEVATION? 21
DIRECTIONAL ANGLE OF HUD SLINGER? 18.8
YOU MISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT ( 29454 , 10026 ).
HUD SLIN6ER ELEVATION? 20
DIRECTIONAL ANGLE OF NUD SLINGER? 18.6
YOU MISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT ( 26327 , 9533 ).
MUD SLINGER ELEVATION? 20.3
DIRECTIONAL ANGLE OF HUD SLIN6ER? 18.87
YOU HISSED THE SCHMOO AT ( 29007 , 9760 ).
YOUR MUD HIT ( 28633 , 9786 ).
MUD SLIH6ER ELEVATION? 20.5
DIRECTIONAL ANCLE OF NUD SLINGER? 18.87
YOU MISSED THE SCHHOO AT ( 29007 , 9760 ).
YOUR HUD HIT ( 28866 , 9866 ).
141
HUD SLINGER ELEVATION? 20.48
DIRECTIONAL ANGLE OF BUD SLINGER? 18.73
YOU HISSED THE SCHHOO AT ( 2?007 , ?740 ).
YOUR NUD HIT ( 2?0?8 , 9844 ).
HUD SLINGER ELEVATION? 20.48
DIRECTIONAL ANGLE OF HUD SLINGER? 18.4?
YOU HISSED THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUD HIT ( 29105 , 9844 ).
HUD SLINGER ELEVATION? 20.48
DIRECTIONAL ANGLE OF HUD SLINGER? 18.71
YOU HISSED THE SCHHOO AT ( 29007 , 9740 ).
YOUR HUD HIT ( 29102 , 9854 ).
HUD SLINGER ELEVATION? 20.42
DIRECTIONAL ANGLE OF HUD SLINGER? 18.71
♦SCHHOO SPLATTED* 22 HUD BALLS TOSSED.
I SEE ANOTHER SCHHOO. TO SPLAT
HIH, TYPE HUD. TO QUIT, TYPE OUIT.
? HUD
COORDINATES OF THE SCHHOO ARE ( 452? , 9147 ).
THE SCHHOO IS HAPPY TO BE SPLATTED.
TO HAKE YOU HAPPY TOO,
HE UILL THROU HUD AT YOU.
HUD SLINGER ELEVATION? 47
DIRECTIONAL ANGLE OF HUD SLINGER? 47
YOU HISSED THE SCHHOO AT < 452? , 9147 ).
YOUR HUD HIT ( 31435 , 33924 ).
SCHHOO HUD HIT 1010 INCHES FROH YOU.
HUD SLIN6ER ELEVATION? 10
DIRECTIONAL ANGLE OF HUD SLINGER? 47
YOU HISSED THE SCHHOO AT ( 452? , 9147 ).
YOUR HUD HIT ( 10845 , 11430 ).
SCHHOO HUD HIT 910 INCHES FROH YOU.
HUD SLIN6ER ELEVATION? 7
DIRECTIONAL ANGLE OF HUD SLINGER? 51
YOU HISSED THE SCHHOO AT ( 4529 , 9147 ).
YOUR HUD HIT ( 7079 , 8742 ).
SCHHOO HUD HIT 1135 INCHES FROH YOU.
HUD SLINGER ELEVATION? 7.2
DIRECTIONAL ANGLE OF HUD SLINGER? 54
YOU HISSED THE SCHHOO AT ( 4529 , 9147 ).
YOUR HUD HIT ( 4797 , 9355 ).
SCHHOO HUD HIT 784 INCHES FROH YOU.
HUD SLINGER ELEVATION? 7.1
DIRECTIONAL ANGLE OF HUD SLINGER? 53.2
YOU HISSED THE SCHHOO AT ( 4529 , 9147 ).
YOUR HUD KIT ( 4832 , 9133 ).
SCHHOO HUD HIT 171 INCHES FROH YOU.
HUD SLINGER ELEVATION? 4.?
DIRECTIONAL ANGLE OF HUB SLINGER? 53.2
YOU HISSED THE SCHHOO AT ( 452? , 9147 ).
YOUR HUD HIT ( 4443 , 8880 ).
SCHHOO HUD HIT 380 INCHES FROH YOU.
HUD SLINGER ELEVATION? 4.8?
DIRECTIONAL ANGLE OF NUD SLINGER? 53.4
YOU HISSED THE SCHHOO AT ( 452? , 9147 ).
YOUR HUD HIT ( 4403 , 8892 ).
SCHHOO HUD HIT 750 INCHES FROH YOU.
HUD SLIHGER ELEVATION? 4.84
DIRECTIONAL ANGLE OF HUD SLINGER? 53.57
YOU HISSED THE SCHHOO AT ( 4529 , 9147 ).
YOUR HUD HIT ( 4548 , 8872 ).
SCHHOO HUD HIT 1219 INCHES FROH YOU.
HUD SLINGER ELEVATION? 4.91
DIRECTIONAL AN6LE OF HUD SLIN6ER? 53.54
YOU HISSED THE SCHHOO AT ( 452? , 9147 ).
YOUR HUD HIT ( 4400 , 8933 ).
SCHHOO HUD HIT 157? INCHES FROH YOU.
HUD SLINGER ELEVATION? 4.8?
DIRECTIONAL ANGLE OF HUD SLIH6ER? 53.52
YOU HISSED THE SCHHOO AT < 452? , 9147 ).
YOUR HUD HIT ( 4585 , 8905 ).
THE §CHHOO HAS SPLATTED YOU!
CLEAN UP AND GOODBYE !
Ok
LIST
10 PRINT TAB(30);"SCHH00"
20 PRINT TAB ( 15) {"CREATIVE COHPUTING NORRISTOUN NEU JERSEY"
21 PRINT
22 PRINT
23 PRINT
30 PRINT "THIS IS A NEU SCHHOO 6AHE. SCHHOOS"
32 PRINT "ARE IHAGINARY CREATURES UHO LOVE"
34 PRINT "BEING SPLATTEB UITH JUICY HUB BALLS."
34 PRINT "YOU, BEING A SCHHOO LOVER, TRY TO"
38 PRINT "HAKE SCHHOOS HAPPY BY TOSSING HUD"
40 PRINT "BALLS AT THEN. YOU HAVE A"
42 PRINT "HECHANICAL HUD SLINGER THAT UILL"
44 PRINT "SLING HUB TO A HAXIHUH B I STANCE"
44 PRINT "OF 44,500 INCHES. YOUR JOB IS TO"
50 PRINT "SET THE HUD SLINGER AT THE CORRECT"
55 PRINT "ELEVATION (0 TO 90) AND THE CORRECT"
40 PRINT "DIRECTIONAL ANGLE (0 TO 340) TO SPLAT THE"
45 PRINT "SCHHOO. A HIT UITHIN 100 INCHES OF THE SCHHOO"
70 PRINT "UILL SPLATTER HIH."
75 PRINT
?0 PRINT
100 K1=0
110 Z=INT(1+RND(1)*4-1E-08)
120 ON Z 60T0 130,140,150,140
130 P=-1
135 Q=-1
138 GOTO 200
140 P=-1
145 0=1
148 GOTO 200
150 P=1
155 Q=-1
158 GOTO 200
140 P=1
145 Q=1
200 X= < INT < 24000*RND < 1 > +5000 ) > *P
210 Y=( INT(24000*RND( 1 (+5000) 1*0
220 S=0
230 K1=K1+1
240 IF K1 < 2 THEN 400
250 R=INT(7*RND(1)+5)
240 GOTO 400
300 PRINT "THE ELEVATION HUST BE BETUEEN 1 ANB 90."
310 GOTO 500
320 PRINT "DIRECTIONAL ANGLE HUST BE FROH TO 340."
340 GOTO 500
350 PRINT "*SCHHOO SPLATTEB*";S;" HUD BALLS TOSSEB."
351 PRINT
352 PRINT "I SEE ANOTHER SCHHOO. TO SPLAT"
354 PRINT "HIH, TYPE HUD. TO QUIT, TYPE QUIT."
354 PRINT
358 INPUT C$
340 IF C$="HUD" THEN 110
341 STOP
342 PRINT "YOU HISSED THE SCHHOO AT <";X;","JY;")."
344 PRINT "YOUR HUD HIT (";INT(X1 );","; INTIY1 );") ."
344 PRINT
370 IF K1 < 2 THEN 500
380 IF S >= R THEN 800
390 PRINT "SCHHOO HUD HIT ";R2;"INCHES FROH YOU."
395 GOTO 500
400 PRINT
410 PRINT "COORDINATES OF THE SCHHOO ARE ("JXfVJYJ" ) ."
415 IF K1 < 2 THEN 420
417 PRINT "THE SCHHOO IS HAPPY TO BE SPLATTED."
418 PRINT "TO HAKE YOU HAPPY TOO,"
419 PRINT "HE UILL THROU HUD AT YOU."
420 PRINT
500 PRINT "HUD SLINGER ELEVATION";
502 INPUT B
504 PRINT "DIRECTIONAL ANGLE OF HUB SLINGER"
504 INPUT C
520 IF B = 90 THEN 700
530 IF B > 90 THEN 300
540 IF B < 1 THEN 300
550 IF C < THEN 320
540 IF C > (340-<1E-08>> THEN 320
570 S=S+1
580 IF K1 < 2 THEN 595
590R2=INT(ABS(300*RND(1)*(11-2*S))+90)
595 J=3.1415?24535B/180
594 D=ABS(INT(?3000!*SIN<B*J)»C0S<B*J>>>
410 X1=D*C0S(C*3. 141 5924535H/180)
420 Y1=D*SIN(C*3.1415924535B/180)
430 D1=SQR((X-X1)"2+(Y-Y1)"2)
440 IF 100 >= D1 THEN 350
450 GOTO 342
700 PRINT "YOU DOPE! YOU SPLATTED YOURSELF."
710 GOTO 900
800 PRINT "THE SCHHOO HAS SPLATTED YOU!"
802 PRINT "CLEAN UP AND GOODBYE ! "
900 END
142
Seabattle
The object of the game of SEA
BATTLE is quite simple. You are a
submarine with a mission to seek out
and destroy all of the enemy ships in
your area, using whatever means are
available. This includes torpedoes,
Polaris missiles, sabotage, and suicide.
The enemy, in turn, throws out depth
charges in an attempt to destroy you.
There are also some underwater mines
which have a nasty habit of blowing
you up when you run into them. Other
hazards are some very hungry sea
monsters lurking about who have a
taste for submarine sandwiches.
I started writing this program two
years ago, and finished my last
modifications just recently. Of course,
this doesn't mean I worked on it
continuously for two years. There were
some long 4-6 month stretches when I
didn't do anything to it. It started out as
a very simple program, and I just kept
thinking of things to add to it.
I am currently a senior in Simley
Senior High School in Inver Grove
Heights, Minnesota, and am 18 years
old. I have been working with com-
puters since the ninth grade, and have
written many programs, including this
one.
This program always draws a crowd
in our school computer room, even
from kids who don't even know which
end of a teletype to type on. I built every
possible inconvenience into it, to keep
people from winning too easily. I am
happy to say that when a person wins
now, it's headline news. There are
always muttered oaths to beat the
computer next time, and this alone
brings me more enjoyment than play-
ing the program.
As you can see, the program is quite
long, and initially I had some storage
problems, as I'm sure many of you will
have, too. All I can say is to slice away
at some of the more trivial commands
and options until (hopefully) you cut it
down to a reasonable size. If compiling
space is a problem, you may have to
divide the program into subprograms
chained together. If you don't have this
capability, you'll have to brainstorm
your own ideas.
Here are some of the anomalies our
HP 2000 system. Strings are dimen-
sioned from one to 72 characters in
length. Positions on the string are
identified with two numbers. Ex.
A$(2,4) A$ is the name of the string.
The 2 tells the computer to begin the
substring at the second character. The
4 tells the computer to end the sub-
string at the fourth character of A$. So,
A$(1,1) allocates the first character of
A$. I used this for identifying T and 'NT
in yes/no responses.
Line 590 is an example of logical
operation. It tells the computer that if
the expression is nonzero, to proceed
to the line specified. If it is zero, it will
fall through to the next line.
A slightly different type of logical
operation is found in lines 3020-3050.
In these lines the logical quantity is
evaluated first* and if true, the quantity
is set to 1 . If it is false, it is set to 0. These
can all be taken care of with IF-THEN
statements if necessary.
I hope that the size of the program
does not scare too many people away.
It should be able to be made compati-
ble with very little rewriting. If you have
a few hours of free time to rewrite a
little, it should be worth the effort.
I tried to throw a lot of random
statements in there to make playing the
game more uncertain. Cutting some of
these out may save some space, if
that's a problem for you.
Note: The writeup above, by Vincent
Erickson, refers to the original HP
version. The one presented here is in
standard Microsoft Basic. Some con-
version notes by Steve North are found
in the listing, lines 90-230.
143
THIS IS THE GAME OF SEA BATTLE!!! THE OBJECT OF THE GAME IS TO
DESTROY ALL OF THE ENEMY SHIPS IN YOUR 20 BY 20 AREA WITH THE
VARIOUS WEAPONS IN YOUR SUBMARINE'S ARSENAL. YOU MUST 00 THIS .
HOWEVER . WITHOUT LETTING THE ENEMY DESTROY YOU FIRST!!
THERE ARE SEVERAL INTERESTING HAZARDS IN THE GAME. THEY INCLUDE *
. . DEPTH CHARGES FROM NEARBY ENEMY SHIPS.
.. VERY HUNGRY SEA MONSTERS ! !
.. AND HIDDEN UNDERWATER MINES.
THE DEPTH CHARGES ARE EFFECTIVE TO ANY DEF'TH. BUT THEY LOSE
THEIR EFFECTI VNESS OVER DISTANCE* SO THE FARTHER YOU ARE FROM
ANY SHIPS . THE BETTER!
THE SEA MONSTERS TAKE A MEANDERING COURSE THROUGH YOUR AREA THAT
MAY BRING IT CLOSE ENOUGH TO ATTACK YOU. YOU RARELY SURVIVE.
THEY ALSO LIKE TO EAT YOUR TORPEDOS. BUT MISSILES WILL KILL THEM.
THE ENEMY SHIPS MOVE ON EVERY TURN . IN A FIXED COURSE* UNLESS THEY
ENCOUNTER OBSTACLES. THEY WILL GET BLOWN UP BY MINES. AND GET
EATEN BY SEA MONSTERS TOO.
YOU HAVE TEN ORDERS THAT YOU MAY GIVE. THEY ARE !
#0! NAVIGATION - THIS COMMAND ALLOWS YOU TO MOVE IN A
PARTICULAR DIRECTION AND DISTANCE ACROSS YOUR AREA. THE
8 12 DIRECTION IS DETERMINED BY THE GRAPH AT LEFT. THERE
W ARE 8 DIRECTIONS TO MOVE IN. AND THEY ARE THE SAME
7-*-3 ANYTIME YOU ARE ASKED FOR A COURSE. FOR EXAMPLE.
/'\ TO MOVE NORTH. YOU WOULD USE COURSE #1. THE COMPUTER
6 5 4 WILL ALSO ASK FOR AN AMOUNT OF POWER. IT TAKES 100 UNITS
OF POWER TO MOVE YOUR SUB 1 SPACE. BEWARE OF OBSTACLES ! !
IF YOU USE MORE THAN 1000 UNITS IN A TURN. THERE IS AN OVERLOAD
DANGER. SO BE VERY CAREFUL!!
*i: SONAR - THIS COMMAND HAS TWO OPTIONS. OPTION #1 GIVES
DIRECTIONAL INFORMATION. SHOWING THE DIRECTIONS AND DISTANCES
IN WHICH THERE ARE ENEMY SHIPS. THIS IS USEFUL FOR SHOOTING AT LONG
RANGES, WHERE IT IS DIFFICULT TO TELL IF A SHIP IS IN DIRECT LINE.
OPTION *0 PRINTS OUT A MAP OF YOUR AREA IN A SQUARE.
(IT USES SYMBOLS FOR THE MAP) '*' INDICATES DRY LAND, '$' IS
AN UNDERWATER MINE. '\S/' IS AN ENEMY SHIP. '-*-' IS A SEA MONSTER.
'!H!' IS YOUR HEADQUARTERS. AND FINALLY. '(X)' IS YOU!!!
EVERY SO OFTEN. A '.' WILL APPEAR INSIDE THE SCREEN. THIS IS
A SONAR MALFUNCTION. AND SO THE OBJECT THERE ISN'T IDENTIFIED.
IF YOU ARE ABOVE 50 FEET. WAVES WILL SHOW UP AS '.'.
#2! TORPEDO CONTROL - THIS COMMAND ALLOWS YOU TO SHOOT
1 OF YOUR 10 TORPEDOS AT ENEMY SHIP'S . THE COMPUTER WILL ONLY
REQUIRE THE DIRECTION TO SHOOT. USING THE INDICATOR ABOVE.
THEY HAVE A RANGE OF 7-13 SPACES. ONE TORPEDO GETS ONE SHIP.
*3: POLARIS MISSILE CONTROL - THIS COMMAND ALLOWS YOU TO
LAUNCH ONE OF YOUR POLARIS MISSILES AGAINST THE ENEMY. THE
COMPUTER WILL ASK FOR A COURSE AND FUEL. IT TAKES 75 LBS. OF FUEL
TO BOOST A MISSILE 1 SPACE. SINCE THEY ARE SO MUCH MORE POWERFUL.
THEY WILL COMPLETELY DESTROY THE SPACE THEY LAND ON. PLUS ALL
OF THE IMMEDIATELY ADJACENT ONES. MISSILES DESTROY EVERYTHING ! ! !
#4: MANUEVERING - THIS COMMAND ALLOWS YOU TO CHANGE THE
DEPTH YOU'RE AT. YOU MAY WANT TO DO THIS IF YOU ARE BADLY
DAMAGED. BECAUSE REPAIRS GO ON TWICE AS QUICKLY BELOW
2500 FT. AND ABOVE 50 FT. THAN IN BETWEEN. YOU START THE GAME AT 100 FT.
YOU USE UP ABOUT 1 POWER UNIT FOR EVERY 2 FT. YOU CHANGE.
*5i STATUS/DAMAGE REPORT - THIS COMMAND GIVES YOU THE
STATUS OF YOUR SUB. IT TELLS YOU HOW MUCH IS LEFT IN YOUR
ARSENAL. WHICH ITEMS ARE DAMAGED, AND HOW MUCH.
#6} HEADQUARTERS - THIS COMMAND ALLOWS SCUBA DIVERS FROM
YOUR HEADQUARTERS TO REPLENISH YOUR SUPPLY OF WEAPONS AND MEN.
YOU MUST BE AT 50 FT. OR LESS. AND 2 OR LESS SPACES AWAY TO DO
THIS HOWEVER. AND YOU CAN ONLY DO IT TWICE.
*7i SABOTAGE (SCUBA) - THIS COMMAND ALLOWS YOU TO SEND
MEN OUT ON A SABOTAGE MISSION AGAINST ENEMY SHIPS. YOU MAY
ONLY GO AGAINST SHIPS WITHIN 3 SPACES OF YOU. AND YOU MUST
LEAVE AT LEAST .10 MEN ON BOARD THE SUB TO RUN IT.
♦8! POWER CONVERSION - THIS COMMAND ALLOWS YOU TO CHANGE FUEL
TO POWER. OR VICE-VERSA.
#?t SURRENDER - THIS COMMAND IS ONLY FOR COWARDS AND TRAITORS!!
YOU START THE GAME WITH THE FOLLOWING SUPPLIES !
6000 UNITS OF POWER, 2500 LBS. OF ROCKET FUEL. 10 TORPEDOS
3 MISSILES. 1 HEADQUARTERS. AND A RANDOM NUMBER OF SHIPS.
I LEFT SOME INTERESTING DETAILS OUT OF THE INSTRUCTIONS.
TO MAKE PLAYING THE GAME THE FIRST FEW TIMES MORE INTERESTING.
YOU START THE GAME IN THE ISLAND'S LAGOON. AND IT IS YOUR DUTY
TO SEEK OUT AND DESTROY THE ENEMY AT ALL COSTS! ! !
144
RUN
SEABAT
CREATIVE COHPUTINO MORRISTOUN, NEU JERSEY
UHAT IS YOUR NAME? CAPTAIN AHAB
YOU NUST DESTROY 18 ENEMY SHIPS TO UIN CAPTAIN AHAB.
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION 1?
UANT DAMAGE REPORT? YES
I TEH
DAMA6E (+
CUC lure
-.888657
SONAR
1 .58997
TnoDcnnc
4.77987
M TCC Tl CC
1 .87385
MAMIirtlCD TUR
nflnutVtKinu
■i tin li
STATUS
4.54389
HEADQUARTERS
2.90217
SABOTAGE
3.82123
CONVERTER
YOU ARE AT LOCATION ( 12 ,
to ).
\s/
\s/
\s/\s/
\s/
\s/
-»- . \s/
\s/
\s/
\S/*»*******
, »*******»***-(-
********* ******
****** (X) ***
****** ******
****** ***
***
\s/
\s/
\s/
\s/-«-
\s/
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 3
COURSE (1-8)? 1
FUEL (LBS.)? 430
YOU DESTROYED 2 ENEMY SHIPS CAPTAIN AHAB!!!
DEPTH CHARGES OFF STARBOARD SIDE CAPTAIN AHAB!!!
LI6HT, SUPERFICIAL DAHA6E CAPTAIN AHAB.
-*** RESULT OF LAST ENEMY HANUEVER *** —
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION *?
NSASAS/
\S/ \S/ . NSASASAS/
-«-
\S/
» \S/
********* -o-
************
********* ******
****** (X) *** *
****** ******
****** *** \s/
• *** t
!H!
\S/
\S/-«--(t-
UHAT ARE YOUR ORDERS CAPTAIN AHAB?
COURSE (1-8)? 5
POUER AVAILABLE- SS50 . POUER TO USE? 200
NAVIGATION COMPLETE. POUER LEFT= 5350 .
DEPTH CHAR6ES OFF PORT SIDE CAPTAIN AHAB!!!
LIGHT, SUPERFICIAL DAMAGE CAPTAIN AHAB.
*** RESULT OF LAST ENEMY HANUEVER ***
*** SHIP DESTROYED BY A MINE CAPTAIN AHAB!!!
*** SHIP EATEN BY A SEA MONSTER CAPTAIN AHAB!!
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION »?
. . . \S/ . \S/
* \S/
\S/ .
. \S/
\S/
\S/
\S/
-«-
*********
************
********* ******
****** ***
****** ******
******(X)**» \S/
***
!H!
\S/
\S/
\S/
\S/
♦ $
*
UHAT ARE YOUR ORDERS CAPTAIN AHAB?
ENGINES ARE UNDER REPAIR CAPTAIN AHAB.
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 7
NO SHIPS IN RAN6E CAPTAIN AHAB.
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 4
NEU DEPTH? SO
HANUEVER COMPLETE. POUER LOSS- 23
DEPTH CHARGES OFF PORT SIDE CAPTAIN AHAB!!!
LIGHT, SUPERFICIAL DAMA6E CAPTAIN AHAB.
— *** RESULT OF LAST ENEMY MAMUEVER ***
*** SHIP DESTROYED BY A MINE CAPTAIN AHAB!!!
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION »?
\S/ . \S/
\S/
\SASAS/
\S/
\S/
\S/
*********
************
********* ******
****** ***
****** ******
******(X)»**
***
\S/
!H!
t f
\S/
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 3
(t OF ENEHY SHIPS LEFT 14
It OF POUER UNITS LEFT 3300
It OF TORPEDOS LEFT 10
It OF MISSILES LEFT 2
II OF CREUMEN LEFT 30
LBS. OF FUEL LEFT 2030
UHAT ARE YOUR ORDERS CAPTAIN AHA8T 3
» OF ENEMY SHIPS LEFT 13
II OF POUER UNITS LEFT 3123
« OF TORPEDOS LEFT 10
« OF MISSILES LEFT 2
« OF CREUMEN LEFT 30
LBS. OF FUEL LEFT 2030
145
— *** RESULT OF LAST ENEMY HANUEVER *** —
. LATER.
IN TUE<
RUM
UHAT ARE YOUR ORDERS CAPTAIN AHAB?
COURSE (1-8)? 2
POUER AVAILABLE' 2021 . POUER TO USE? 500
NAVIGATION COMPLETE. POUER LEFT= 1521 .
NO SHIPS IN RANGE TO DEPTH CHARGE YOU CAPTAIN AHAB!!
*** RESULT OF LAST ENEMY HANUEVER ***
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION »?
\S/\SAS/
(X)
*********
************
********* ******
****** ***
****** ******
****** ***
*** -»- .
UHAT ARE YOUR ORDERS CAPTAIN AHAB?
COURSE (1-8)? 1
POUER AVAILABLE- 1471 . POUER TO USE? 100
NAVIGATION COHPLETE. POUER LEFT* 1371 . .
NO SHIPS IN RANGE TO DEPTH CHARGE YOU CAPTAIN AHAB!!
--*♦* RESULT OF LAST ENEMY HANUEVER ♦*» —
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 1
OPTION «?
(X)
*********
************
********* ******
****** ***
****** ******
****** ***
***-«--«--«-
\S/\S/
-I-
* *
$
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 3
COURSE (1-8)? 3
FUEL (LBS.)? 475
YOU DESTROYED 3 ENEMY SHIPS CAPTAIN AHAB!!!
NO SHIPS IN RANGE TO DEPTH CHARGE YOU CAPTAIN AHAB! !
-«** RESULT OF LAST ENEMY HANUEVER ***-
UHAT ARE YOUR ORDERS CAPTAIN AHAB? 2
COURSE (1-81? 3
..!....! ! !..OUCH!H YOU 60T ONE CAPTAIN AHAB!!
GOOD UORK CAPTAIN AHAB!!! YOU GOT THEM ALL!!!
PROMOTION AND COMMENDATIONS UILL BE GIVEN IMMEDIATELY ! ! !
UANT ANOTHER GAME? NO
Break, in 4250
Oil
LIST
10 PRINT TAB(33);"SEABAT"
PRINT TAB( 15) ["CREATIVE COMPUTING
PR INT: PRINT: PRINT
REM
PR08RAM BY VINCENT ERIKSON
ORIGINALLY IN H.P. BASIC
CONVERTED TO MICROSOFT BASIC BY S.N
20
30
40
50
60
70
80
90
100
110
120
130
140
150
140
170
180
190
200
210
220
230
240
245
250
240
270
280
290
300
310
320
322
324
324
328
330
340
350
340
370
380
390
400
MORRISTOUN, NEU JERSEY"
REN
REM
REN
REN
REM
REM
REM
REH
REM
REM
REH
REH
REM
REH
REH
REH
REH
REH
REM
REM
REM
NOTE THE FOLLOUING ABOUT CONVERSIONS:
1) RESTORE <LINE NUMBER) MEANS TO SET THE DATA
POINTER TO THE SPECIFIED LINE. THIS IS ONLY
PRESENT IN TRS-80 LEVEL II AND CP/M BASIC.
FOR OTHERS, IMPROVISE BY USING A RESTORE, AND
FOR... NEXT UITH READ STATEMENTS TO SKIP OVER
THE DATA THAT SHOULD BE I6N0RED.
2) LOGICAL EXPRESSIONS ARE USED OFTEN. A TRUE
EXPRESSION EVALUATES AS A (-1) AND A FALSE EXPRESSION
EVALUATES AS A (0). THUS IF THE PROGRAM SAYS:
X = (D<50)
IT MEANS, LET X=0 IF D>=50, AND LET X*-1 IF D<50.
AGAIN, IMPROVISE IF YOUR BASIC DOESN'T HAVE THIS
(BUT ALL MICROSOFT BASICS BO.)
The real natte of this program is, "Underwater Pie Lob"
REM «** PROGRAM FOLLOWS ***
REN ***
DIM A(20,20),D(9)
PRINT "UHAT IS YOUR NAME";
INPUT N$
PRINT
REH *** SET UP AREA ***
FOR 1=1 TO 20
FOR J=1 TO 20
A(I,J)=0
NEXT J
NEXT I
REM *** ISLAND ***
RESTORE 4300
FOR X=7 TO 13
FOR Y=7 TO 12
READ A(X,Y)
NEXT Y
NEXT X
REM »*» SUB »**
410 S1=10: S2=10
420 A(S1,S2)=2
430 REH **» ENEMY SHIPS ***
440 S=INT(RND(1)*16)+15
4S0 RESTORE 4090
440 FOR X=1 TO (INT(RND(1)*4)+1 )*2-1
470 READ D8,D9
480 NEXT X
490 FOR X=1 TO S
500 X1=INT(R«D(1)*20)t1
510 X2=INT(RND(1)*20)t1
520 IF A(X1,X2)<>0 THEN 500
530 A(X1,X2)=3
540 NEXT X
550 PRINT "YOU MUST DESTROY" ; S ; "ENEMY SHIPS TO UIN ";N»;"."
540 REN »** HEADOUARTERS ***
570 S3=INT(RND(1)*20)+1
580 S4=INT(RND(1)*20>+1
590 IF A(S3,S4)<>0 THEN 570
400 A(S3,S4)=4
610 REN ««« UNDERUATER MINES ***
620 FOR X=1 TO INT(RND(1 )*8)+8
630 X1=INT(RND(1)*20)+1
640 X2=INT(RND(1)*20)+1
650 IF A(X1,X2)<>0 THEN 430
660 A(X1,X2)°5
670 NEXT X
680 REM *** SEA MONSTERS ***
690 FOR X=1 TO 4
700 X1=INT(RND(1)*18)+2
710 X2=INT(RND(1)*18)t2
720 IF A(X1,X2)<>0 THEN 700
730 A(X1,X2)=6
740 RESTORE 4090
750 FOR Y=1 TO INT(RND(1 )*8)+1
740 READ H1,M2
770 NEXT Y
780 NEXT X
790 REH *** SET STARTING VALUES »**
800 FOR 1=1 TO 9
802 D(I)=0
804 NEXT I
810 C=30
820 P°4000
830 F=2500
840 T=10
850 M=3
146
840 D=100 1790
870 D2=2 1800
880 REM *** COWHAND SECTION •** 1810
890 PRINT: PRINT: PRINT "WHAT ARE YOUR ORDERS ";N$; 1820
900 INPUT 1830
910 ON INTIO+1) 60T0 1040,1480,2220,2480,3250,3410,3700,3880,4400,4440 1840
920 PRINT "THE COWHANDS ARE:" 1850
930 PRINT " 80: NAVIGATION" 1840
940 PRINT " lit SONAR" 1870
950 PRINT " 12: TORPEDO CONTROL" 1880
940 PRINT " 13: POLARIS MISSILE CONTROL" 1890
970 PRINT " 84: HANUEVERING" 1900
980 PRINT " 85: STATUS/DAHA6E REPORT" 1910
990 PRINT " 84: HEADQUARTERS" 1*20
1000 PRINT " 87: SABOTAGE" 1930
1010 PRINT " 88: POWER CONVERSION" 1M0
1020 PRINT " 89: SURRENDER" 1*50
1030 GOTO 880 1940
1040 REN ♦*♦ 80: NAVIGATION *»* 1*70
1050 IF D(1) >= THEN 1080 1*80
1040 PRINT "ENGINES ARE UNDER REPAIR ";N$;"." 1**0
1070 GOTO 880 2000
1080 IF C>8 THEN 1110 2010
1090 PRINT "NOT EN0U6H CREU TO HAN THE ENGINES ";N»;"." 2020
1100 GOTO 880 2022
1110 D1=1-((.23+RND(1)/10)*(-(D <= 50))) 2024
1120 60SUB 4080 2030
1130 PRINT "POUER AVAILABLE 5 ";?;". POUER TO USE"; 2040
1140 INPUT PI 2050
1150 IF PKO OR P1>P THEN 1130 2040
1140 IF P1 <= 1000 THEN 1210 2070
1170 IF RNDUK.43 THEN 1210 2080
1180 PRINT "ATONIC PILE GOES SUPERCRITICAL ";N*;"!H HEADQUARTERS" 2090
1190 PRINT "UILL UARN ALL SUBS TO STAY FROH RADIOACTIVE AREA!!!" 2100
1200 GOTO 4180 2110
1210 X=SJ 2120
1220 Y=S2 2130
1230 Q1=1 2140
1240 FOR X2=1 TO INT(INT(P1/100+.5)*D1+.5> 2150
1250 IF X+X1>0 AND X+XK21 AND YtY1>0 AND YtY1<21 THEN 1280 2140
1240 PRINT "YOU CAN'T LEAVE THE AREA ";N*;"!!" 2170
1270 GOTO 1340 2180
1280 ON A<X+X1,Y+Y1>+1 GOTO 1290,1330,1430,1390,1440,1470,1490 2190
1290 X=X+X1 2200
1300 Y=Y+Y1 2210
1310 P=P-100 2220
1320 GOTO 1520 2230
1330 PRINT "YOU ALMOST RAN AGROUND ";N$;"!!» 2240
1340 A(X,Y)=2 2250
1350 A(S1,S2)=0 2240
1340 S1=X 2270
1370 S2=Y 2280
1380 60T0 4490 2290
1390 IF D>50 THEN 1290 2300
1400 PRINT "YOU RAMMED A SHIP!!! YOU'RE BOTH SUNK ";N»;"!!" 2310
1410 S=S-1 2320
1420 IF S=0 THEN 4240 2330
1430 GOTO 4180 2340
1440 IF 0>50 THEN 1290 2350
1450 PRINT "YOU RAMMED YOUR HEADQUARTERS! ! YOU'RE SUNK!!" 2340
1440 60T0 4180 2370
1470 PRINT "YOU'VE BEEN BLOUN UP BY A NINE ";N$;"M" 2380
1480 60T0 4180 2390
1490 IF RNDUK.21 THEN 1430 2400
1500 PRINT "YUU UERE EATEN BY A SEA HONS I EH, ";NS;"!!" 2410
1510 GOTO 4180 2420
1520 REM *** CHECK FOR NEARBY SEA MONSTERS *** 2430
1530 FOR X3=X-2 TO X+2 2440
1540 FOR Y3=Y-2 TO Y+2 2450
1550 IF X3<1 OR X3>20 OR Y3<1 OR Y3>20 THEN 1410 2440
1540 IF A(X,Y)<>4 THEN 1410 2470
1570 IF RND(1X.25 THEN 1500 2480
1580 IF Q1=0 THEN 1410 2490
1590 PRINT "YOU JUST HAD A NARROU ESCAPE UITH A SEA MONSTER ";N»;"H" 2500
1400 Q1=0 2510
1410 NEXT Y3 2520
1420 NEXT X3 2530
1430 NEXT X2 2540
1440 PRINT "NAVIGATION COMPLETE. POUER LEFT=";P;"." 2550
1450 IF P>0 THEN 1340 2540
1440 PRINT "ATOMIC PILE HAS GONE DEAD!!! SUB SINKS, CREU SUFFOCATES" 2570
1470 60T0 4180 2580
1480 REM *** 81: SONAR *** 2590
1490 IF D<2> >= THEN 1720 2400
1700 PRINT "SONAR IS UNDER REPAIR ";N»;"." 2410
1710 60T0 880 2420
1720 IF C>5 THEN 1750 2430
1730 PRINT "NOT ENOUGH CREU TO UORK SONAR ";N$;"." 2440
1740 60T0 880 2450
1750 PRINT "OPTION 8"; 2640
1740 INPUT 2470
1770 ON INT(Otl) GOTO 1790,2010 <> 480
1780 60T0 1750
147
REM *** PRINT OUT MAP ***
PRINT
FOR X=1 TO 20
FOR Y=1 TO 20
DATA " ",»***", "<X)","\S/","!H! V' »
IF A(X,Y)<>0 THEN 1880
IF X<>1 AND XO20 AND Y<>1 AND YO20 THEN 1880
PRINT " . ";
GOTO 1950
RESTORE 1830
FOR X1=1 TO A(X,Y)+1
READ At
NEXT XI
IF D<50 AND RNDUK.23 AND A(X,Y)<>1 AND A(X,Y)<>2 THEN 1840
IF RNDUK.15 AND A(X,Y)>2 THEN 1840
PRINT A»;
NEXT Y
PRINT
NEXT X
P=P-50
IF P>0 THEN 880
GOTO 1440
REM *** DIRECTIONAL INFORMATION ***
FOR 1=1 TO 5
B(I)=0
NEXT I
PRINT "DIRECTION 8 OF SHIPS DISTANCES"
RESTORE 4090
FOR X=1 TO 8
READ X1,Y1
X3=0
FOR X4=1 TO 20
IF S1+X1*X4<1 OR S1+X1*X4>20 OR S2+Y1*X4<1 OR S2tY1*X4>20 THEM 2-140
IF A(S1+X1*X4,S2+Y1«X4)<>3 THEN 2130
X3=X3+1
B(X3)=X4
NEXT X4
IF X3=0 THEN 2200
PRINT " ";X,X3,
FOR X4=1 TO X3
PRINT B(X4);
NEXT X4
PRINT
NEXT X
80T0 1980
REM *«* 82: TORPEBO CONTROL ***
IF D(3) >= THEN 2240
PRINT "TORPEDO TUBES ARE UNDER REPAIR ";N*;"."
SOTO 880
IF C >= 10 THEN 2290
PRINT "NOT EN0U6H CREU TO FIRE TORPEDO ";N$;"."
GOTO 880
IF T THEN 2320
PRINT "NO TORPEDOS LEFT ";N*;"."
60T0 880
IF D<2000 THEN 2340
IF RND(1)>.5 THEN 2340
PRINT "PRESSURE IMPLODES SUB UPON FIRING. . .YOU'RE CRUSHED!!"
GOTO 4180
GOSUB 4080
X=S1
Y=S2
FOR X2=1 TO INT(7+5*(-(D>50))-RND(1 )*4t.5)
IF X+Xl>0 AND X+XK21 AND Y+Y1>0 AND Y+YK21 THEN 2440
PRINT "TORPEDO OUT OF SONAR RANGE. ... INEFFECTUAL ";«»;"."
T=T-1
P=P-150
IF P>0 THEN 4690
GOTO 1440
ON A(XtX1,Y+Y1)+1 8OT0 2470,2510,2450,2540,2580,2410,2430
X=X+X1
Y=Y+Y1
PRINT "..!..";
GOTO 2450
PRINT "YOU TOOK OUT SOHE ISLAND ";l$;"!"
A(X+X1,Y+Y1)=0
60T0 2420
PRINT "OUCH!!! YOU BOT ONE ";N»;"!!"
S=S-1
IF SOO THEN 2520
GOTO 4240
PRINT "YOU BLEU UP YOUR HEADQUARTERS ";N*;"H!"
S3=0: S4=0: D2=0
SOTO 2520
PRINT "BLAH! ! SHOT UASTED ON A MINE ";N$;"H"
GOTO 2520
PRINT "A SEA MONSTER HAD A TORPEDO FOR LUNCH ";N$;"!!"
60T0 2420
NEXT X2
PRINT "DUD."
80T0 2420
REN ♦♦* 13: POLARIS MISSILE CONTROL ***
2690 IF D<4> >= THEN 2720
2700 PRINT "HISSILE SILOS ARE UNDER REPAIR ";N»;"."
2710 SOTO 880
2720 IF C>23 THEN 2750
2730 PRINT "NOT EN0U6H CREU TO LAUNCH A NISSILE ";N$;"."
2740 SOTO 880
2750 IF HOO THEN 2780
2760 PRINT "NO MISSILES LEFT ";N»;"."
2770 SOTO 880
2780 IF D>50 AND D<2000 THEN 2850
2790 PRINT "RECOHHEND THAT YOU DO NOT FIRE AT THIS DEPTH. . .PROCEED";
2800 INPUT At
2810 IF LEFT$(A»,1)="N" THEN 880
2820 IF RNDUK.5 THEN 2850
2830 PRINT "HISSILE EXPLODES UPON FIRIN6 ";N$;"H YOU'RE DEAD!!"
2840 SOTO 6180
2850 GOSUB 6080
2860 PRINT "FUEL (LBS.)";
2870 INPUT F1
2880 IF F1>0 AND F1 <= F THEN 2910
2890 PRINT "YOU HAVE";F;"LBS. LEFT ";N*;"."
2900 60T0 2860
2910 F2=INT(F1/75+.5)
2920 IF S1+X1*F2>0 AND S1tX1«F2<21 AND S2+Y1*F2>0 AND S2+Y1*F2<21 THEN
2930 PRINT "NISSILE OUT OF SONAR TRACKIN6 ";N»;". HISSILE LOST."
2940 «=«-1
2950 F=F-F1
2960 P=P-300
2970 60T0 2440
2980 D3=0: D4=0: D5=0: D6-0
2990 FOR X=S1+X1«F2-1 TO S1+X1*F2+1
3000 FOR Y=S2+Y1*F2-1 TO S2+Y1*F2+1
3010 IF X<1 OR X>20 OR Y<1 OR Y>20 THEN 3140
3020 D3=D3-(A(X,Y)=3)
3030 D4=D4-<A(X,Y>=4>
3040 D5=D5-(A(X,Y)=5>
3050 D4=D4-(A(X,Y)=1>
3060 IF A(X,Y)<>4 THEN 3100
3070 PRINT "YOU'VE DESTROYED YOUR HEADQUARTERS ";N$;"!!!"
3080 03=0: S4=0: D2=0
3090 SOTO 3130
3100 IF A(X,Y)<>2 THEN 3130
3110 PRINT "YOU JUST DESTROYED YOURSELF ";N$;"!H DUHHY ! ! "
3120 SOTO 6180
3130 A(X,Y>=0
3140 NEXT Y
3150 NEXT X
3160 IF D6=0 THEN 3180
3170 PRINT "YOU BLEU OUT SOME ISLAND ";N$;"."
3180 IF D5=0 THEN 3200
3190 PRINT "YOU DESTROYED" ;D5;"hINES ";N»;"."
3200 IF D4=0 THEN 3220
3210 PRINT "YOU 60T";D4;"SEA MONSTERS ";N»;"H! GOOD UORK!!"
3220 PRINT "YOU DESTROYED" ;D3; "ENEMY SHIPS ";N$;"!M"
3230 S=S-D3
3240 SOTO 2940
3250 REN *** HANUEVERIN6 ***
3260 IF D(5) >= THEN 3290
3270 PRINT "BALLAST CONTROLS ARE BEING REPAIRED ";N*;".°
3280 SOTO 880
3290 IF C>12 THEN 3320
3300 PRINT "THERE ARE NOT EN0U6H CREU TO UORK THE CONTROLS ";N»;"."
3310 SOTO 880
3320 PRINT "NEU DEPTH";
3330 INPUT D1
3340 IF D1 >= AND DK3000 THEN 3370
3350 PRINT "HULL CRUSHED BY PRESSURE ";N$;"!!"
3360 60TO 6180
3370 P=P-INT<ABS(<D-D1>/2+.5>>
3380 PRINT "HANUEVER COMPLETE. POUER L0SS=";INT<A8S< (D-D1 >/2+.5> )
3390 D-D1
3400 60T0 4690
3410 REH *** 05: STATUS / DAMAGE REPORT ***
3420 IF D(6) >- THEN 3450
3430 PRINT "NO REPORTS ARE ABLE TO GET THROUGH ";N$;"."
3440 GOTO 880
3450 IF C>3 THEN 3480
3460 PRINT "NO ONE LEFT TO GIVE THE REPORT ";N*;"."
3470 GOTO 880
3480 PRINT "» OF ENEMY SHIPS LEFT ";S
3490 PRINT "8 OF POUER UNITS LEFT ";P
3500 PRINT "B OF TORPEDOS LEFT ";T
3510 PRINT "» OF MISSILES LEFT ";M
3520 PRINT "I OF CREUNEN LEFT ";C
3530 PRINT "LBS. OF FUEL LEFT ";F
3540 PRINT
3550 PRINT "UANT DAMAGE REPORT";
3560 INPUT AS
3570 IF LEFT»(A*,1)="N" THEN 3670
3580 PRINT " ITEM DAMA6E !+ GOOD, NUETRAL, - BAD)"
3590 PRINT " "
3600 DATA "EN6INES", "SONAR" , "TORPEDOS" ."MISSILES" , "HANUEVER IN6"
3610 DATA "STATUS", "HEADOUARTERS", "SABOTAGE", "CONVERTER"
3620 RESTORE 3600
3630 FOR X=1 TO 9
3640 READ A*
3650 PRINT At,D(X>
3660 NEXT X
3670 PRINT "YOU ARE AT LOCATION (";S1 ;" ,";S2;"> ."
3680 PRINT
3690 SOTO 880
3700 REM *** «4: HEADQUARTERS ***
3710 IF D(7) >=0 THEN 3740
3720 PRINT "HEADQUARTERS IS DAMA6ED. UNABLE TO HELP ";N»;"."
3730 60T0 880
3740 IF D2O0 THEN 3770
3750 PRINT "HEADQUARTERS IS DESERTED ";N»;"."
3760 SOTO 880
3770 IF SQR((S1-S3)-2+(S2-S4)"2) <= 2 AND D<51 THEN 3800
3780 PRINT "UNABLE TO COMPLY UITH DOCKING ORDERS ";N»;"."
3790 GOTO 880
3800 PRINT "DIVERS FROM HEADOUARTERS BRING OUT SUPPLIES AND MEN.
3810 P=4000
3820 T=8
3830 M=2
3840 F-1500
3850 C=25
3860 D2=D2-1
3870 GOTO 4690
3880 REH *** «7: SABOTAGE »**
3890 IF D(8)>=0 THEN 3920
3900 PRINT "HATCHES INACCESSIBLE ";N»;". NO SABOTAGES POSSIBLE.
3910 60T0 880
3920 IF CMO THEN 3950
3930 PRINT "NOT ENOUGH CREU TO GO ON A MISSION ";N$;"."
3940 GOTO 880
3950 D3=0: D4=0
3960 FOR X=S1-2 TO S1+2
3970 FOR Y=S2-2 TO S2+2
3980 IF X<1 OR X>20 OR Y<1 OR Y>20 THEN 4010
3990 D3=D3-(A(X,Y)=3)
4000 D4=D4-(A(X,Y)=6)
4010 NEXT Y
4020 NEXT X
4030 IF D3O0 THEN 4040
4040 PRINT "NO SHIPS IN RANGE ";N$;"."
4050 GOTO 880
4060 PRINT "THERE ARE";D3;"SHIPS IN RANGE ";N«;"."
4070 PRINT "HOU MANY HEN ARE GOING ";N»;
4080 INPUT Q1
4090 IF C-Q1 >= 10 THEN 4120
4100 PRINT "YOU MUST LEAVE AT LEAST 10 MEN ON BOARD ";N»;"."
4110 GOTO 4070
4120 D5-INT(D3/Q1+.5>
4130 D6-0
4140 FOR X=S1-2 TO S1+2
4150 FOR Y=S2-2 TO S2+2
4160 IF D3/Q1M-RNDU) AND RND( 1 1+D3/0K.9 THEN 4220
4170 IF A(X,Y)<>3 THEN 4220
4180 D4=D6+1
4190 A(X,Y)=0
4200 S=S-1
4210 IF S=0 THEN 6260
4220 NEXT Y
4230 NEXT X
4240 PRINT D6;"SHIPS MERE DESTROYED ";N»;"."
4250 D6=0! D7=0
4260 FOR X=1 TO Q1
4270 D7=D7-<RND<1>>.6>
4280 NEXT X
4290 FOR X=1 TO Q1-D7
4300 D6=D6-(RND(1 X.15)
4310 NEXT X
4320 IF D4=0 THEN 4340
4330 PRINT "A SEA MONSTER SMELLS THE MEN ON THE UAY BACK!!!"
4340 PRINT D7;"MEN HERE EATEN ";N$;"!!"
4350 C=C-D7
4360 PRINT D6;"HEN UERE LOST THROUSH ACCIDENTS ";N»;"."
4370 C=C-D6
4380 P=P-INT(10*Q1+RND(1)*10)
4390 GOTO 4690
4400 REM *** *8: POUER CONVERTER ***
4410 IF D(9) >= 0. THEN 4440
4420 PRINT "POUER CONVERTER IS DAMA6ED ";N*;"."
4430 GOTO 880
4440 IF C>5 THEN 4470
4450 PRINT "NOT ENOUSH MEN TO UORK THE CONVERTER ";N«;"."
4460 SOTO 880
4470 PRINT "OPTION? ( 1 -FUEL TO POUER, 2=P0UER TO FUEL)";
4480 INPUT
4490 ON 60T0 4510,4580
4500 60T0 4470
4510 REH *** FUEL TO POUER CONVERSION »»*
4520 PRINT "FUEL AVAILABLE=";F;". CONVERT";
148
4S30 INPUT CI
4540 IF C1>F OR CKO THEN 4520
4550 F=F-C1
4540 P=P+INT(C1/3)
4570 60T0 4640
4580 REM *** POUER TO FUEL CONVERSION *»*
45*0 PRINT "POUER AVAILABLE=";P-1 ;". CONVERT";
4400 INPUT Ct
4410 IF C1>P-1 OR CKO THEN 4590
4420 P=P-C1
4430 F=F+INT(C1*3)
4440 PRINT "CONVERSION COMPLETE. POUER=";P;". FUEL=";F;"."
4450 GOTO 4690
4440 REM *** 89: SURRENDER ***
4670 PRINT "COUARDH YOU'RE NOT VERY PATRIOTIC ";N$;"!H"
4480 60T0 4180
4490 REN *** RETALIATION SECTION ♦**
4700 Q=0
4710 FOR X=S1-4 TO S1+4
4720 FOR Y=S2-4 TO S2+4
4730 IF X<1 OR X>20 OR Y<1 OR Y>20 THEN 4760
4740 IF A(X,Y)<>3 THEN 4760
4750 Q=0+(RND(1)/S0R((S1-X)-2+(S2-Y)-2))
4740 NEXT Y
4770 NEXT X
4780 IF THEN 4810
4790 PRINT "NO SHIPS IN RANGE TO DEPTH CHARGE YOU ";N$;"H"
4800 GOTO 5210
4810 PRINT "DEPTH CHARGES OFF ";
4820 IF RND(1)>.5 THEN 4850
4830 PRINT "PORT SIDE ";N»;"H!"
4840 60T0 4840
4850 PRINT "STARBOARD SIDE "JN*;"!!!"
4840 IF 0>.13 OR RND(1)>.92 THEN 4890
4870 PRINT "NO REAL DAMAGE SUSTAINED ";N»;"."
4880 60T0 5210
4890 IF Q>.34 OR RND<1>>.96 THEN 4940
4900 PRINT "LIGHT, SUPERFICIAL DAHAGE ";N»;"."
4910 P=P-50
4920 D(INT(RND(1 )*9>*1 )=-RND(1 )*2
4930 GOTO 5210
4940 IF B>.4 OR RND(1)>.975 THEN 5020
4950 PRINT "MODERATE DANAGE. REPAIRS NEEDED."
4940 P=P-75+INT(RND(1>*30>
4970 FOR Y=1 TO 2
4980 X=INT(RND(1)*9)+1
4990 D(X)=D(X)-RND(1)*8
5000 NEXT Y
5010 GOTO 5210
5020 IF Q>.9 OR RND<1».983 THEN 5100
5030 PRINT "HEAVY DAMAGE!! REPAIRS IMMEDIATE ";N$;"!!!"
5040 P=P-(200+INT(RND<1)*76)>
5050 FOR X-1 TO 4+IMT < RND C 1 )*2)
5040 Y=INT(RND(1)*9>+1
5070 D(Y)=D(Y)-RND(1)*11
5080 NEXT X
5090 GOTO 5210 fPCNOTSIO"
5100 PRINT "DAHAGE CRITICAL!!!! UE NEED HELP ! I ! " ^ — — — .
51 1 A»="VRAVUKXCNVPCRHFDRSAXQURLQTRHXYACVFZYITLCBSSYYKD0IPCAE6QG ->
5120 X = INT(RNDU>*14) + 1
5130 PRINT "SEND "HELP' IN CODE. HERE IS THE C0DE:";MID»(A»,X,4) ;
5132 REN TIME DELAY AND THEN ERASE THE CODE
5134 FOR 1=1 TO 300: NEXT I
5136 PRINT CHR$(13);TAB(38);"XXXX";CHR»(13);TAB(38);"***»"
5140 INPUT "ENTER C0DE";B$
5150 PRINT
5140 IF B»OHID»(At,X,4> THEN 5190
5170 PRINT "FAST UORK ";N$;"!! HELP ARRIVES IN TINE TO SAVE YOU!!!"
5180 GOTO 5040
5190 PRINT "MESSAGE GARBLED ";N$;"...N0 HELP ARRIVES!!!"
5200 60T0 6180
5210 REN *** MOVE SHIPS / SEA NONSTERS ***
5220 IF D(1) >= OR D(3) >= OR D(4) >= OR D(5) >= OR D(7) >= Oj
5230 IF D(8) >= OR D(9) >= THEN 5260 ^ —
5240 PRINT "DAMAGE TOO MUCH ";N$;"M! YOU'RE SUNK ! ! " * THEN 5240
5250 GOTO 6180
5260 REH *** MOVE SHIPS / SEA MONSTERS ***
5270 PRINT: PRINT: PRINT " — »** RESULT OF LAST ENENY NANUEVER *** — "
5280 FOR X=1 TO 20
5290 FOR Y=1 TO 20
5300 IF A(X,Y)<>3 THEN 5690
5310 REN *** HOVE A SHIP ***
5320 U=D8
5330 V=D9
5340 IF X+U>0 AND X+U<21 AND Y+V>0 AND Y+V<21 THEN 5420
5350 FOR X0=19 TO 1 STEP -1
5360 IF A(X-U»XO,Y-V*XO)<>0 THEN 5400
5370 A(X-U*X0,Y-V*XO>=3
5380 A(X,Y)=0
5390 GOTO 6000
5400 NEXT XO
5410 STOP
5420 ON A(X+U,YtV>+1 GOTO 5430,5460,5530,5460,5560,5600,5650
5430 A(X+U,YtV)=3
5440 A(X,Y)=0
5450 60T0 6000
5460 REH *** CHANGE DIRECTION ***
5470 RESTORE 6090
5480 FOR X0=1 TO INTfRNDCI )*8)+1
5490 READ U,V
5500 NEXT XO
5510 IF X+IK1 OR X+U>20 OR Y+V<1 OR Y+V>20 THEN 5470
5520 GOTO 5420
5530 IF D>50 THEN 5460
5540 PRINT "*** YOU'VE BEEN RANHED BY A SHIP ";N$;"H!"
5550 GOTO 6180
5560 IF RNDdX.15 THEN 5440
5570 PRINT "«** YOUR HEADQUARTERS UAS RAMMED ";N*;"H!"
5580 S3=0: S4=0: D2=0: A(XtU,Y+V)=0
5590 GOTO 5620
5600 IF RND(1X.7 THEN 5460
5410 PRINT "»** SHIP DESTROYED BY A NINE ";N»;"!!! N
5620 S=S-1
5630 IF SOO THEN 5440
5640 GOTO 6260
5450 IF RNDUX.8 THEN 5460
5660 PRINT "«** SHIP EATEN BY A SEA MONSTER ";N$;"!!»
5670 S»S-1
5480 GOTO 5630
5490 REM *** MOVE A SEA MONSTER ***
5700 IF A(X,Y)<>4 THEN 6000
5710 IF X+MK1 OR X+H1>20 OR Y+H2<1 OR Y+N2>20 THEN 5760
5720 ON A(X+M1,Y+N2)+1 GOTO 5730,5760,5830,5850,5900,5730,5930
5730 A(X+H1,Y*H2)=6
5740 A(X,Y)=0
5750 GOTO 6000
5760 REH *** CHANGE DIRECTION ***
5770 RESTORE 6090
5780 FOR X0=1 TO INT(RND(1 )*8)+1
5790 READ M1,M2
5800 NEXT XO
5810 IF X+HK1 OR X+H1>20 OR Y+«2<1 OR Y+M2>20 THEN 5760
5820 GOTO 5720
5830 PRINT "*** YOU'VE BEEN EATEN BY A SEA HONSTER ";N$;"U"
5840 GOTO 6180
5850 IF RND(1)>.2 THEN 57,60
5860 PRINT "»** SHIP EATEN BY A SEA MONSTER ";N»;"U"
5870 S=S-1
5880 IF SOO THEN 5730
5890 60T0 6260
5900 PRINT "«** A SEA HONSTER ATE YOUR HEADQUARTERS ";N»;"H"
5910' S3=0: S4=0: D2=0
5920 GOTO 5730
5930 IF RND (IX. 75 THEN 5760
5940 PRINT "*** A SEA MONSTER FI6HT ";N*;"U! ";
5950 IF RND (IX. 8 THEN 5980
S960 PRINT "AND ONE DIES! I"
5970 GOTO 5730
5980 PRINT "IT'S A TIE! !"
5990 60T0 5760
6000 NEXT Y
6010 NEXT X
6020 REM *** MAKE REPAIRS ***
6030 FOR Y=1 TO 9
6040 X=INT(RND(1 )*9)+1
6050 D(X)=D(X)+(RND(1)«(2tRND(1)*2))*(1t(-(D<51) OR -<D>2000) ) )*(-(D(XK3) )
6060 NEXT Y
6070 GOTO 880
608*0 REH *** 60SUB FOR COURSE / DIRECTION ***
6090 DATA -1,0,-1,1,0,1,1,1,1,0,1,-1,0,-1,-1,-1
6100 PRINT "COURSE (1-8)";
6110 INPUT CI
6120 IF CKt OR C1>8 THEN 6100
6130 RESTORE 6090
6140 FOR X9=1 TO INT(C1+.5)
6150 READ XI, Y1
6160 NEXT X9
6170 RETURN
6180 REH *«* DESTROYED ? ***
6190 PRINT "THERE ARE STILL";S;"ENEMY SHIPS LEFT ";N$;"."
6200 PRINT "YOU UILL BE DEHOTED TO RANK OF DECK SCRUBBER!!!"
6210 PRINT "UANT ANOTHER GAME" ;
6220 INPUT AS
6230 IF LEFT»(A$,1X>"Y" THEN 6250
6240 GOTO 310
6250 STOP
6260 PRINT "BOOD UORK ";«;"!!! YOU GOT THEN ALL! ! !"
6270 PRINT "PROMOTION AND COMMENDATIONS UILL BE GIVEN IMMEDIATELY! ! I"
62S0 GOTO 6210
6290 REM *** ISLAND BATA »»*
6300 BATA 0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1
6310 DATA 1,1,0,0,1,1,0,1,1,0,1,0,0,0,1,0,0,0
6320 END
Ok
149
Seawar
You are the commander of a fleet of
ships operating in enemy territory.
Your task force consists of 9 ships, and
the enemy has 9 ships. Whoever sinks
all of the opponent's ships first wins the
campaign.
You, as the commander, must
provide the angle of elevation at which
the guns will be fired, neglecting air
resistance. Your instruments will read
the range to the target, and the initial
velocity is held constant at about 675
meters per second.
SEAWAR will help you learn about
the paths of projectiles and what
happens as the angle of elevation
varies.
1. First, what do you think the path of
the projectile looks like. Make a
sketch. (If you're still not sure, do
some research in the library— it will
help you win the battle, com-
mander!)
a. What angle of elevation do you
think will give the maximum
range?
b. What will happen if you fire the
guns at 0°?
c. What will happen to the projectile
if you fire it straight up?
2. After becoming proficient at winning
the battle, change the initial velocity
of the projectile. How does this
affect the range?
The original SEAWAR had a timing
function that allowed only about 7
seconds to make your next move. If
your computer has a timer, this would
be a neat addition.
The origin of SEAWAR is unknown. It
was revised and submitted to us by
David S. Paxton. It was further revised
and the writeup prepared by Mary T.
Dobbs, Mathematics and Science
Center, Glen Allen, Virginia. It first
appeared in Creative Computing,
May/Jun 1975.
rum
SEAUAR
CREATIVE COMPUTING
MORRISTOUN, NEU JERSEY
YOU COMMAND A FLEET OF SHIPS 0PERATIN6 IN
ENEMY TERRITORY! ! !
DO YOU NEED ANY ASSISTANCE? YES
YOU TEU YOUR SUN CREUS THE ELEVATION TO SET THEIR GUNS.
ELEVATION IS IN DE6REES FROM TO 340.
YOUR TASK FORCE CONSISTS OF 3 DESTROYERS, 2 CRUISERS,
2 BATTLESHIPS, AND 2 HEAVY AIRCRAFT CARRIERS.
THE ENEMY HAS 9 SHIPS FOR HIS DEFENSE.
IF YOU SUCCEED IN SINKIN6 ALL HIS SHIPS BEFORE HE SINKS
YOURS, YOU HAVE UDN. HOWEVER, IF HE SINKS ALL YOUR SHIPS
BEFORE YOU HAVE DEFEATED HIM, YOU HAVE LOST!!
LET US BEGIN! ! !
YOUR FLAGSHIP HAS DETECTED A U-BOAT APPROACH IN6 AT S PHANTOMS.
YOUR SUBMARINE DETECTION EQUIPMENT READS THE RANGE TO THE TARGET
AS 39481 METERS.
THE U-BOAT HAS COMMENCED FIRIN6 TORPEDOES AT YOUR SHIPS.
HIS FIRST TORPEDO EXPLODED 281 METERS BEHIND YOUR SHIP.
UHAT ELEVATION *« ? 38
FIRE!!!
DEPTH CHARGE EXPLODED 5437 METERS AFT OF TARGET.
THE ENENY U-BOAT SANK ONE OF YOUR DESTROYERS! !
UHAT ELEVATION ** t 32.4
FIRE!!!
-DEPTH CHARGE EXPLODED 2592 NETERS AFT OF TARGET.
THE ENEMY U-BOAT SANK YOUR HEAVY CRUISER!!
UHAT ELEVATION •* ? 29.?
FIRE! ! !
DEPTH CHARGE EXPLODED 707 METERS AFT OF TARGET.
THE ENENY TORPEDO EXPLODED 103 HETERS IN
FRONT OF YOUR SHIP.
UHAT ELEVATION «* ? 29.2
FIRE!!!
DEPTH CHARGE EXPLODED 123 HETERS AFT OF TARGET.
THE ENEMY U-BOAT SANK ANOTHER OF YOUR DESTROYERS ! !
UHAT ELEVATION ** ? 29.07
FIRE!!!
DEPTH CHARGE EXPLODED RIGHT ON TOP OF THAT BABY!!!
TAR6ET DESTROYED!!! ** 5 ** ROUNDS EXPENDED.
YOU "AVI LOST 3 SHIPS, AND THE ENEHY HAS LOST 1 .
150
YOUR FLAGSHIP REPORTS THE SI6HTIN6 OF AN ENEMY 210 UN SHORE GUN
YOUR INSTRUMENTS READ THE RANGE TO THE TARGET AS 41020 METERS.
THE ENEHY 210 HN SHORE 6UN IS FIRING ON YOUR SHIPS!
HIS FIRST ROUND FELL 113 METERS SHORT.
UHAT ELEVATION ** t 32
FIRE!!!
SHELL OVERSHOT TARGET BY 773 METERS.
THE ENEHY 210 MM SHORE GUN SANK ONE OF YOUR BATTLESHIPS! !
UHAT ELEVATION ** ? 31.27
FIRE!!!
SHELL OVERSHOT TARGET BY 240 METERS.
THE ENEMY 210 MM SHORE GUN SANK YOUR LAST DESTROYER! !
UHAT ELEVATION ** ? 31.AA07
FIRE!!!
** BOOM »*
TARGET DESTROYED!!! ** 3 ** ROUNDS EXPENDED.
YOU HAVE LOST 5 SHIPS, AND THE ENEMY HAS LOST 2 .
YOUR FLAGSHIP REPORTS THE SIGHTING OF AN ENEMY 70,000 TON CRUISER
YOUR INSTRUMENTS READ THE RANGE TO THE TARGET AS 4100? METERS.
THE ENEMY 70,000 TON CRUISER IS FIRING ON YOUR SHIPS!
IN FACT, HE JUST SANK YOUR AIRCRAFT CARRIER! !
UHAT ELEVATION »* ? 32
FIRE!!!
SHELL OVERSHOT TAR6ET BY 784 HETERS.
THE ENEHY 70,000 TON CRUISER SANK YOUR LIGHT CRUISER!!
UHAT ELEVATION ** ? 31.1
FIRE!!!
SHELL OVERSHOT TARGET BY 123 HETERS.
THE ENEMY 70,000 TON CRUISER SANK YOUR LAST AIRCRAFT CARRIER!!
UHAT ELEVATION *» ? 30.?
FIRE!!!
** BOOH **
TAR6ET DESTROYED! ! ! ** 3 ** ROUNDS EXPENDED.
YOU HAVE LOST 8 SHIPS, AND THE ENEHY HAS LOST 3 .
YOUR FLAGSHIP REPORTS THE SIGHTING OF AN ENEHY BATTLESHIP
YOUR INSTRUHENTS READ THE RANGE TO THE TARGET AS 42864 HETERS.
THE ENEHY BATTLESHIP IS FIRING ON YOUR SHIPS!
Ill FACT, HE JUST SANK YOUR LAST BATTLESHIP!!
******** PEACE ********
YOU FIRED 11 ROUNDS. THE ENEMY FIRED 10
ROUNDS.
ALL OF YOUR SHIPS HAVE BEEN SUNK. SO SORRY
THE BATTLE IS OVER THE ENEHY UINS!
OK
LIST
5 PRINT TAB(24);"SEAHAR"
6 PRINT TAB (20); "CREATIVE COMPUTING"
7 PRINT TAB(18) "MORRISTOUN, NEU JERSEY"
9 PRINT:PRINT:PRINT
10 PRINT "YOU COMMAND A FLEET OF SHIPS OPERATING IN"
15 PRINT "ENEMY TERRITORY!!!"
20 PRINT "DO YOU NEED ANY ASSISTANCE";
40 INPUT Q»
50 IF Q»="YES" THEN 90
40 IF 0$="NO" THEN 170
70 PRINT "INPUT 'YES' OR 'NO'"
80 60T0 40
90 PRINT "YOU TELL YOUR GUN CREUS THE ELEVATION TO SET THEIR 6UNS."
100 PRINT "ELEVATION IS IN DE6REES FROH TO 360."
119 PRINT "YOUR TASK FORCE CONSISTS OF 3 DESTROYERS, 2 CRUISERS,"
120 PRINT "2 BATTLESHIPS, AND 2 HEAVY AIRCRAFT CARRIERS."
130 PRINT "THE ENEHY HAS 9 SHIPS FOR HIS DEFENSE."
140 PRINT "IF YOU SUCCEED IN SINKING ALL HIS SHIPS BEFORE HE SINKS"
150 PRINT"YOURS, YOU HAVE UON. HOUEVER, IF HE SINKS ALL YOUR SHIPS"
140 PRINT "BEFORE YOU HAVE DEFEATED HIN, YOU HAVE LOST!!"
170 PRINT "LET US BEGIN!!!"
210 PRINT ""
220 READ Z»
230 A=A+1
240 60T0 320
250 RESTORE
240 IF 0=9 OR A=9 THEN 840
270 FOR X=1 TO A
280 READ Zt
290 NEXT X
300 READ Z*
310 A=A+1
320 IF Z»="AIRCRAFT CARRIER" THEN 390
330 IF Z$="U-BOAT" THEN 2000
340 IF Z*="TORPEDO BOAT" THEN 360
350 P=1
340 60T0 405
390 RESTORE
405 PRINT:PRINT "YOUR FLAGSHIP REPORTS THE SIGHTING OF AN ENEHY ";Z»
410 T=43000.-30000*RND(0>t<RND<0)*10>*. 987654+102
420 IF TOOOOO THEN 410
430 S=0:P2=0
440 T=INT(T)
450 IF Z»="U-80AT" THEN 2030
460 PRINT "YOUR INSTRUHENTS READ THE RANGE TO THE TARGET AS ";T;" METERS
480 IF P=1 THEN 1480
490 IF S>4 THEN 510
SOO GOTO 540
510 PRINT "ALL RIGHT, BAD SHOT, THE TARGET HAS MOVED OUT OF"
520 PRINT "RANGE !!! LET'S TRY IT AGAIN !!!"
525 S1=S1+S
530 GOTO 320
540 PRINT "UHAT ELEVATION *» ";
550 INPUT B
551 PRINT
570 PRINT ""
590 PRINT " FIRE!!!"
600 S=S+1
620 IF B>360 THEN 1410
630 IF B<0 THEN 750
640 IF B-0 THEN 770
650 IF B=90 THEN 980
640 IF D>330 THEN 770
670 IF B>180 THEN 1370
480 IF 8>150 THEN 1300
690 IF B>90 THEN 1020
700 V1=675.285
705 E=INT(T- <V1 -2/9.80665*SIN(2*B/57.3) ) )
710 IF ABS(E) <= 100 THEN 1050
720 IF E>100 THEN 1200
730 IF E<-100 THEN 1250
750 PRINT "GUN BACKFIRED, KILLING CREU!"
760 GOTO 820
770 PRINT "UHAT ARE YOU TRYING TO DO? KILLSOHE FISH? THE SHELL"
780 PRINT "EXPLODED UNDER UATER FIFTY METERS FROM YOUR SHIP!!!"
790 GOTO 1590
820 PRINT " ADMIRAL PLEASE !!!!"
830 GOTO 1590
840 PRINT " ******** PEACE ********"
870 PRINTsPRINTrPRINT
890 PRINT "YOU FIRED ",St," ROUNDS. THE ENEMY FIRED ",S2," ROUNDS."
900 IF 0=9 THEN 920
910 IF A=? THEN 950
920 PRINT "ALL OF YOUR SHIPS HAVE BEEN SUNK. SO SORRY"
930 PRINT "THE BATTLE IS OVER THE ENEHY UINS!"
940 GOTO 2220
950 PRINT "YOU HAVE DECIMATED THE ENEHY THAT'S NICE"
940 PRINT "THE DATTLE IS OVER YOU UIN!!!!!"
970 GOTO 2220
980 PRINT "YOU IDIOT!! YOU SHOT STRAIGHT UP!!, AND THE SHELL"
990 PRINT "LANDED ON YOUR OUN GUN POSITION, DESTROYING IT!!!"
1000 GOTO 1590
1020 PRINT "HEY STUPID, YOU'RE FIRING ON YOUR OUN SHIPS!!!"
1030 60T0 1590
1050 IF Z»="U-BOAT" THEN 1070
1040 GOTO 1090
1070 PRINT "DEPTH CHARGE EXPLODED RIGHT ON TOP OF THAT BABY!!!"
1080 GOTO 1100
1090 PRINT " ** BOOH »*"
1100 PRINT ""
1110 H*="TAR6ET DESTROYED ! ! ! **"
1120 N»=" ** ROUNDS EXPENDED."
1130 PRINT Mt;S;N*
1142 PRINT "YOU HAVE LOST ";0;" SHIPS, AND THE ENEMY HAS LOST ";A;"."
1150 S1=S1+S
1140 PI=0
1190 60T0 250
1200 IF Z»="U-BOAT" THEN 2130
1210 PRINT "SHOT FELL ";A8S(E);" HETERS SHORT OF TARGET."
1230 GOTO 1590
1250 IF Z»="U-BOAT" THEN 2140
1240 PRINT "SHELL OVERSHOT TARGET BY ";ABS(E);" HETERS."
1280 60T0 1590
151
1310 PRINT " YOU SHOT A PROJECTILE, INTO THE AIR,"
1320 PRINT - IT FELL TO THE WATER, VOU KNOU NOT WHERE. "
1330 PRINT "BUT I DO, YOU IDIOT, YOU JUST SANK YOUR OUN FLEET TANKER!!"
1340 S1»S1+1
13S0 IF P=1 THEN 15*0
1360 60TO 490
1370 PRINT "UHAT ARE YOU TRYIN6 TO DOT? DRILL A NEU HATCH?? THE SHELL"
1380 PRINT "EXPLODES IN YOUR SHIP, DESTROYING IT!!!*
1385 0=0+1
1384 IF 0»9 THEN 840
1390 IF P=1 THEN 1590
1400 60T0 820
1410 PRINT "UHERE DID U LEARN TO TYPE? ";B;"DEGREES EXCEEDS 360 BY"
1420 PRINT B-360;" DE8REES."
1430 S1=S1+1
1440 IF P=1 THEN 1590
1450 OOTO 490
1480 PRINT "THE ENEMY ";Z$;" IS FIRING ON YOUR SHIPS!"
1490 P4»1234*RND(RND(0>)t(RND(0)*10)
1500 IF P4>500 THEN 1490
1510 IF P2=1 THEN 1600
1520 IF INKP4X100 THEN 1800
1530 IF Z*="U-BOAT" THEN 2100
1540 PRINT "HIS FIRST ROUND FELL ";INT<P4>;" METERS SHORT."
1560 S2=S2+1
1570 60T0 490
1590 IF P2=1 THEN 1490
1600 P1 = 1250*RND(RND<0> > + (RNDtO >*1 )
1610 IF P1>P4 THEN 1600
1620 IF P1«P4-400> THEN 1600
1630 IF PK100 THEN 1710
1640 P4=P1
1650 S2=S2+1
1660 IF Z»="U-BOAT" THEN 2190
1670 PRINT "THE ENEMY ROUND FELL "JINT(PI);" METERS SHORT."
1700 60T0 490
1710 S2=S2+1
1720 P2=1
1730 60SUB 1850
1750 PRINT "THE ENEMY "}Z«;" SANK ";D«
1760 0=0+1
1770 IF 0=9 THEN 840
1780 IF DI="YOUR LAST BATTLESHIP ! ! " THEN 840
1790 60T0 490
1800 R2=1
1810 60SUB 1850
1820 PRINT "IN FACT, HE JUST SANK ";D»
1830 0=0+1
1840 60T0 1770
1850 RESTORE
1860 FOR C=1 TO (9+0)
1870 READ D»
1880 NEXT C
1890 READ D»
1920 DATA "U-BOAT", "210 MH SHORE OUN", "70, 000 TON CRUISER"
1930 BATA "BATTLESHIP", "TORPEDO BOAT","HEAVYFRIGATE"
1940 DATA "E-TYPE DESTROYER", "6UIDED-MISSLE SHIP", "AIRCRAFT CARRIER"
1950 DATA "ONE OF YOUR DESTROYERS! !", "YOUR HEAVY CRUISER! !"
1960 DATA "ANOTHER OF YOUR DESTROYERS! !", "ONE OF YOUR BATTLESHIPS ! ! "
1970 DATA "YOUR LAST DESTROYER! !", "YOUR AIRCRAFT CARRIER! I"
1975 DATA "YOUR LIGHT CRUISER! !", "YOUR LAST AIRCRAFT CARRIER!!"
1980 DATA "YOUR LAST BATTLESHIP!!"
1990 RETURN
2000 PRINT "YOUR FLA6SHIP HAS DETECTED A U-DOAT APPROACH IN6 AT 5 ";
2005 PRINT "PHANTOMS."
2010 P=1
2020 60T0 410
2030 PRINT "YOUR SUBMARINE DETECTION EQUIPMENT READS THE RANGE TO THE"
2031 PRINT " TARGET"
2040 T*INT(T-1500)
2050 IF T<0 THEN 410
2060 PRINT "AS ";T;" METERS."
2080 PRINT "THE U-BOAT HAS COMMENCED FIRING TORPEDOES AT YOUR SHIPS."
2090 GOTO 1490
2100 PRINT "HIS FIRST TORPEDO EXPLODEB ";<INT(P4>-50>;" METERS BEHIND"
2105 PRINT " YOUR SHIP."
2120 GOTO 1560
2130 PRINT "OEPTH CHARGE EXPLOBEB ";ABS(Ei ;" HETERS SHORT OF TARGET."
2150 GOTO 1590
2160 PRINT "DEPTH CHARGE EXPLODED ";ABS(E>;" METERS AFT OF TARGET."
2180 GOTO 1590
2190 PRINT "THE ENEMY TORPEDO EXPLODED ";(INT(P1 )-50) {"METERS IN"
2201 PRINT "FRONT OF YOUR SHIP."
2210 GOTO 490
2220 END
OK
152
Shoot
The scene is some time in the near
future. You and another individual on
the other side of the planet are the only
survivors of a total atomic war. (Yes, I
know it's corny.) This war was fought
totally with ground based atomic
missiles. Both you and the surviving
enemy have found the last missile
bases left from each side. Fortunately
(for me anyway), these missile grids
are made and operated identically.
Each player moves on and is
restricted to a 10 by 10 missile matrix.
Every co-ordinate on the grid cor-
responds to a mini-missile base. At
every base, there is a terminal tied into
the main scanner computer, located
safely many miles away. From each
terminal, the player obtains informa-
tion relevant to the current situation.
Because of the way the missiles are
constructed, the area left after lift-off
is exposed to high doses of raw
radiation and may not be occupied by
life. The same is true of an area that has
been struck by a missile, it is extremely
lethal and would kill anything entering
the vicinity.
Due to the fact that everyone else is
dead, all machinery must be operated
manually. This means that the players
must set the target co-ordinates and
latch the fuse for the missile to be shot
off. After that, the players must flee the
area. This is done in a small shuttle car,
equipped with sensor devices to avoid
dangerous areas. But due to its limited
power reserves, it can go only two units
in any direction, up, down, ordiagonal-
ly, and no more or less. The danger
involved is that while in flight, the
player is away from a scanner com-
puter terminal and will not know where
the enemy missile is aimed to land.
In the time it takes to move to the new
base, the missiles will be at the apex of
their flight above the earth. There the
computer will give out tracking infor-
mation as to whether you hit the
enemy, or he hit you, or both. If the
missile is coming down to. hit the
player, there is no escape. The time
required to recharge the shuttle car is
longer than the time it takes for the
missile to hit the ground. If either
player is unfortunate enough to get
trapped into a corner, the seeping
radiation will eventually kill him.
So it is plainly a game of kill or be
killed. However, don't be misled into
thinking that it is simply a game of luck,
several different strategies may be
applied to destroy the enemy.
Line by line explanation!
Lines 440-490. I assemble three
commonly used print strings. S$
becomes a string of fourteen spaces.
Lines 500-530. Here is the dimen-
sioning of the four matrices, and the
start-up and circle check data. The
matrices "I" and "H" stand for player
and enemy playing fields (I and HE),
the "T" matrix is a temporary list for use
by the enemy, and is part of the "smart"
algorithm. It is loaded up during each
pass with the possible places he could
move to, or looking at the possible
places where the player could move.
The "P" matrix is filled with the eight
possible co-ordinates that one may
move to. I might say here that the
program may be modified for a longer
and more challenging game by chang-
ing the data in line 530. Change all the
twos to ones and the two players may
move only one unit away from their
previous position, instead of the two
used now.
Lines 540-730. I set up a random
number to decide which pair of corner
co-ordinates the enemy will be started
in. I then proceed to set the pair from
550 to 570. I then digress to zero my
matrices. Picking up where I left off,
lines 640 to 680 peel away any unused,
but unwanted data, keying on the
unique first number of the last pair.
From there the remaining data is
dumped into "P."
Lines 740-820. Make the report that
the enemy has been "fooling around."
The starting co-ordinates forthe player
are then obtained and checked. From
there the valid loop switch is set, a map
is printed, and the program is thrust
headlong into the main routine.
Lines 830-920. Here the co-ordinates
for the missile and the new spot to sit
on are obtained and verified of their
validity.
Lines 930-1080. "Enemy" decides
where player might be going from last
position, and aims his missile in that
direction.
Lines 1090-1280. The "enemy" looks
for place to go. If he has cornered
himself, say so, prepare him for his
execution, and make it look like he
hasn't fired a missile. Otherwise, he
chooses a new co-ordinate to rest
upon.
Lines 1290-1480. Now we move
everyone around (where we can), and
start to find out who got who, if anyone
at all. Then from 1430-1480 there is a
check to discover whether the player
has a place to go or not. If not, another
message is printed and player will die
quietly after output.
Lines 1 490-1 780. Here the printing of
the two matrices is done. A value of one
or zero is tested for making the proper
symbol. After the output is complete
"Z" is checked to see if anyone died on
the way. If no one had, return for
another pass, else terminate the
program.
I spent a lot of time debugging this
program. After I finally got it to work, I
found that it became somewhat addic-
tive. The tension does seem to build
when the game reaches the final
possible moves. I found there are two
different useful strategies that may be
applied.
My favorite is building a fencearound
the enemy with missile shots. The idea
is to cut off his movements while trying
to keep out of his way. The other
method is the one the enemy uses.
Here the player shoots at where he
thinks the opponent may be each time.
Quite often the game is ended early,
the odds of being hit become too great.
Any method you use, or another you
may think of, will lend long hours of
enjoyment. Have fun!
The program and description were
written by David Spencer.
153
RUN
SHOOT
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
DO YOU UANT INSTRUCTIONS? YES
IT IS THE FINAL HOUR OF HAN. YOU AND A UARRING NATION
HAVE ENTERED INTO A LAST CONTEST. ALL THE LIFE NOU LEFT ON
EARTH ARE YOU AND YOUR ENEHY. DOTH HE AND YOU HAVE FOUND THE
LAST REMAINING ATONIC MISSILE SILO MATRICES ESTADLISHED BY
THE NOU-DEAD SUPERPOUERS. HE, LIKE YOU, UISHES NOT TO DIE
BUT TO LIVE IN PEACE.
HOUEVER IT HAS BECOME APPARENT THAT HE FEELS HIS PEACE
THREATENED AND IS PREPARING AN ATTACK. DOTH YOU AND HE HAVE
SCANNERS THAT UILL UARN YOU OF HIS MOVEMENTS AND TRACK THE
FLIGHT OF HIS ATONIC MISSILES, THUS HE IS UORKING SLOULY.
THE ENEHY, LIKE YOURSELF, HAS A HISSILE GRID NEARLY
IDENTICAL IN STRUCTURE AND OPERATION TO YOURS, DECAUSE YOU
ARE THE ONLY ONE LEFT, IT UILL DE NECESSARY TO FIRE ALL YOUR
MISSILES MANUALLY. ONCE THE FUSE IS SET, YOU MUST FLEE THE
AREA AND GET TUO GRID UNITS AUAY. YOU MAY NEVER RETURN TO
THIS SPOT, OR A SPOT UHERE A MISSILE HAS LANDED; THE
RADIATION IS INTENSE AND UOULD MEAN AN INSTANT, PAINFUL
DEATH.
SO THE STAGE HAS DEEN SET. THERE IS PEACE UNTIL THE
SIGN THAT THE ENEMY HAS MOVED TO HIS HISSILE RANGE. HE UILL
FIRE EVERY TIME YOU UILL, AND DO SO UNTIL ONE OF YOU IS
DESTROYED.
EACH TIME A ROUND OF MISSILES HAS DEEN FIRED, THE
SCANNERS UILL REPORT THE STATUS OF DOTH YOUR'S AND THE ENEHY"
GRID TERRITORY. IT UILL SHOU ALL AREAS THAT HAVE HAD EITHER
A HISSILE HIT OR A HISSILE FIRED FROH IT. UITH THIS
CONTINUALLY UPDATED HAP, YOU MAY BE ABLE TO INDUCTIVELY
DISCOVER OR TRAP YOUR OPPONENT. BEUARE, HE UILL BE TRYING TO
DO THE SAME TO YOU.
SCANNER COMPUTER: ENEMY ACTIVITY ON GRID AT 10 , t
YOUR STARTING CO-ORDINATES? 3,3
YOUR TERRITORY
12345678910
ENEMY TERRITORY
9
10
1
2
3
4
5
6
7
8
9
10 *
12345478910
::
HISSILE CO-ORDINATES? 10,4
UHERE TO HOVE TO? 3,5
SCANNER COMPUTER: HEY! YOU GOT HIM! !
YOUR TERRITORY ENEHY TERRITORY
12345478910
12345478910
1
2
3
4
5
4
7
8
9
10
OK
1
2
3
4
5
6
7
8
9
10 *
RUN
SHOOT
CREATIVE COHPUTING
HORRISTOUN, NEU JERSEY
DO YOU UANT INSTRUCTIONS? NO
SCANNER CONPUTER: ENEMY ACTIVITY ON GRID AT 1 , 1
YOUR STARTING CO-ORDINATES? 2,5
YOUR TERRITORY
12345478910
*:
MISSILE CO-ORDINATES? 4,1
UHERE TO MOVE TO? 2,7
YOUR TERRITORY
12345478910
:*:
1
2
3
4 ::*
5 :::
6
7
8
9
10
MISSILE CO-ORDINATES? 1,5
UHERE TO MOVE TO? 2,9
YOUR TERRITORY
12345478910
1 ::::::::::
2 ::::*:*:*:
3 ::::::::::
4 ::*:::::::
5 ::::::::::
4 ::::::::::
7 ::: :
8 ::::::::::
9 ::::::::::
10 ::::::::::
MISSILE CO-ORDINATES? 3,4
UHERE TO HOVE TO? 3,9
UHERE TO HOVE TO? 4,9
YOUR TERRITORY
12345478910
1
2
3
4
5
6
7
8
9
10
ENEMY TERRITORY
12345678910
*:
9
10
ENEMY TERRITORY
12345478910
1 *:
2 ::
3 ::
4 »:
5 ::
9
10
ENEMY TERRITORY
12345678910
1 *:*:«:::::
2 ::::::::::
3 :::::
4 *:::::::::
5 : ::::
4 ::::::::::
7 ::::::::::
8 ::::::::::
9 :::
10 ::::::::::
ENEMY TERRITORY
12345478910
1 *:*:*:
2 :::
3 :::**:
4 *:::
5
4
7
8
9
10
MISSILE CO-ORDINATES? 5,5
UHERE TO MOVE TO? 4,9
SCANNER CONPUTER: HEY! YOU GOT HIM!!
SCANNER CONPUTER: YOU MOVED RIGHT UNDER HIS MISSILE!!
YOUR TERRITORY ENEMY TERRITORY
12345478910
1
2
3
4
5
4
7
8
9
10
12345478910
1 »:*:*:
2
3 ::**«:
4 ♦::
5 ::
4 ::
7 ::
8 ::
9 ::
10 ::
154
LIST
10 PRINT TAB (26); "SHOOT"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TABU8);"N0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
110 INPUT "DO YOU UANT INSTRUCTIONS" ;A»
120 IF LEFTKA»,1 )<>"Y" GOTO 440
130 PRINT
140 PRINT " IT IS THE FINAL HOUR OF MAN. YOU AND A UARRING NATION"
150 PRINT "HAVE ENTERED INTO A LAST CONTEST. ALL THE LIFE NOU LEFT ON"
140 PRINT "EARTH ARE YOU AND YOUR ENEMY. BOTH HE AND YOU HAVE FOUND THE"
170 PRINT "LAST REMAINING ATONIC MISSILE SILO MATRICES ESTABLISHED BY"
180 PRINT "THE NOU-DEAD SUPERPOUERS. HE, LIKE YOU, UISHES NOT TO DIE"
190 PRINT "BUT TO LIVE IN PEACE."
200 PRINT " HOUEVER IT HAS BECOME APPARENT THAT HE FEELS HIS PEACE"
210 PRINT "THREATENED AND IS PREPARING AN ATTACK. BOTH YOU AND HE HAVE"
220 PRINT "SCANNERS THAT UILL UARN YOU OF HIS MOVEMENTS AND TRACK THE"
230 PRINT "FLIGHT OF HIS ATONIC MISSILES, THUS HE IS UORKING SLOULY."
240 PRINT "THE ENEMY, LIKE YOURSELF, HAS A HISSILE GRID NEARLY"
250 PRINT "IDENTICAL IN STRUCTURE AND OPERATION TO YOURS, BECAUSE YOU"
260 PRINT "ARE THE ONLY ONE LEFT, IT UILL BE NECESSARY TO FIRE ALL YOUR"
270 PRINT "MISSILES MANUALLY. ONCE THE FUSE IS SET, YOU MUST FLEE THE"
280 PRINT "AREA AND GET TUO GRID UNITS AUAY. YOU MAY NEVER RETURN TO"
290 PRINT "THIS SPOT, OR A SPOT UHERE A MISSILE HAS LANDED; THE"
300 PRINT "RADIATION IS INTENSE AND UOULD MEAN AN INSTANT, PAINFUL"
310 PRINT "DEATH."
320 PRINT " SO THE STAGE HAS BEEN SET. THERE IS PEACE UNTIL THE"
330 PRINT "SIGN THAT THE ENEMY HAS MOVEB TO HIS MISSILE RANGE. HE UILL"
340 PRINT "FIRE EVERY TIME YOU UILL, AND DO SO UNTIL ONE OF YOU IS"
350 PRINT "DESTROYED."
340 PRINT " EACH TINE A ROUND OF MISSILES HAS DEEN FIRED, THE"
370 PRINT "SCANNERS UILL REPORT THE STATUS OF BOTH YOUR'S AND THE ENEMY'
S"
380 PRINT "GRID TERRITORY. IT UILL SHOU ALL AREAS THAT HAVE HAD EITHER"
390 PRINT "A MISSILE HIT OR A MISSILE FIRED FROH IT. UITH THIS"
400 PRINT "CONTINUALLY UPDATED HAP, YOU MAY BE ABLE TO INDUCTIVELY"
410 PRINT "DISCOVER OR TRAP YOUR OPPONENT. BEUARE, HE UILL BE TRYING TO"
420 PRINT "DO THE SAME TO YOU."
430 PRINT
440 G»=" -12345478910"
450 C»="SCANNER COHPUTERi "
440 S$
470 FOR X=1 TO 14
480 S»=S»t" "
490. NEXT X
510 DIM I(10,10),H(10,10),T(8,2),P(8,2)
520 DATA 10,10 , 1,1 , 10,1 , 1,10 , 10,9 , 9,10 , 1,2 , 2,1
530 DATA -2,-2 , 0,-2, 2,-2, 2,0 , 2,2 , 0,2 ,-2,2 ,-2,0
540 R=INT(RND(1)*8+1)
550 FOR X=1 TO R
540 READ A,B
570 NEXT X
580 FOR X=t TO 10
590 FOR Y=1 TO 10
600 HX,Y>=0
(510 H(X,Y!=0
420 NEXT Y
430 NEXT X
440 IF A=2 GOTO 6?0
450 FOR X=1 TO 8
440 READ C,D
470 IF C=2 GOTO 490
480 NEXT X
490 FOR X=1 TO 8
700 FOR Y=1 TO 2
710 READ P(X,Y)
720 NEXT Y
730 NEXT X
740 PRINT C$; "ENEMY ACTIVITY ON GRID AT";A;",";D
750 PRINT
740 INPUT "YOUR STARTING CO-ORDINATES";E,F
770 IF E<1 OR E>10 OR F<1 OR F>10 GOTO 740
780 Z=1
790 I(E,F)=1
800 H(A,B)-1
810 PRINT
820 GOTO 1490
830 INPUT "MISSILE CO-ORDINATES";M,N
840 IF M<1 OR HMO OR N<1 OR N>10 OOTO 830
850 INPUT "UHERE TO MOVE TO";S,T
840 IF S<1 OR S>10 OR T<1 OR T>10 OOTO 850
870 IF I(S,T)=1 GOTO 850
880 FOR X=1 TO 8
890 IF P(X,1>+E=S AND P(X,2)+F=T GOTO 920
900 NEXT X
910 GOTO 850
920 PRINT
930 L=1
940 FOR X=1 TO 8
950 IF P(X,1)tE>10 OR P(X,1)tE<1 OR P<X,2)+F>10 OR P(X,2)tF<1 GOTO 1000
940 IF I(P(X,1)+E,P(X,2)tF)=1 GOTO 1000
970 T(L,1)=P(X,1)+E
980 T(L,2)=P(X,2)+F
990 L=L+1
1000 NEXT X
1010 L=L-1
1020 IF L<>1 GOTO 1040
1030 C=T(L,1)
1040 D=T(L,2)
1050 GOTO 1090
1040 6=INT(RND<1 )*L+1 )
1070 C=T(G,1)
1080 D=T(G,2)
1090 L=1
1100 FOR X=1 TO 8
1110 IF P(X,1)+A>100RP(X,1)+A<1 OR P(X,2)+B>100RP(X,2)+B<1 GOTO 1140
1120 IF H(P(X,1>tA,P(X,2)+B)=1 GOTO 1140
1130 T(L,1)=P(X,1)+A
1140 T(L,2)=P(X,2)+B
1150 L=L+1
1140 NEXT X
1170 L=L-1
1180 IF LOO GOTO 1220
1190 PRINT C*;"THE ENEMY HAS CORNERED HIMSELF IN!!"
1200 Z=0
1204 C=E
1207 D=F
1210 GOTO 1290
1220 IF L<>1 GOTO 1240
1230 J=T(1,1)
1240 K=T(1,2)
1250 GOTO 1290
1240 G=INT(RND(1)*L+1)
1270 J=T(G,1)
1280 K=T(G,2)
1290 I(E,F)=1
1300 H(A,B)=1
1310 I(C,D)=1
1320 H(M,N)=1
1330 IF MOJ OR DOT GOTO 1390
1340 PRINT C<;"HEY! YOU GOT HIM!!"
1350 Z=0
1340 IF COS OR DOT GOTO 1390
1370 PRINT C*;"YOU MOVED RIGHT UNDER HIS MISSILE!!"
1380 Z=0
1390 E=S
1400 F=T
1410 A=J
1420 B=K
1430 FOR X=1 TO 8
1440 IF P(X,1)+E>100RP(X,1)+E<1 OR P(X,2)+F>100RP(X,2)+F<1 GOTO 1440
1450 IF I(P(X,1 )+E,P(X,2)tF)=0 GOTO 1490
1440 NEXT X
1470 PRINT C$;"FOOL! YOU HAVE BOXED YOURSELF INTO A CORNER! !"
1480 Z=0
1490 PRINT " YOUR TERRITORY ", "ENEMY TERRITORY"
1500 PRINT
1510 PRINT g*;s«;g$
1520 FOR X=1 TO 10
1530 IF X=10 GOTO 1540
1540 PRINT X;
1550 GOTO 1570
1540 PRINT "10 ";
1570 FOR Y=1 TO 10
1580 IF I(X,Y>=1 GOTO 1410
1590 PRINT ":";
1600 GOTO 1420
1410 PRINT "*";
1620 NEXT Y
1630 print " »;s»;
1640 IF X=10 GOTO 1670
1650 PRINT X;
1660 GOTO 1680
1670 PRINT "10 ";
1680 FOR Y=1 TO 10
1690 IF H(X,Y)=1 GOTO 1720
1700 PRINT "!";
1710 60T0 1730
1720 PRINT "*";
1730 NEXT Y
1740 PRINT
1750 NEXT X
1760 PRINT
1770 IF Z=1 GOTO 830
1780 END
OK
155
Smash
This game is a one-lap jalopy race.
There is one big problem: you don't
know the shape of the course or the
safe speed with which you can go
around the corners. Consequently
you're likely to smash up fairly fre-
quently or else go so slowly that you
don't earn a good placing among the
winners. However, after four or five
plays of the game you'll begin to get the
hang of it and you'll be able to whip
around the course in grand fashion.
The instructions in the program are
quite detailed. Have fun!
SMASH was written by Scott Byron
RUN
SMASH
CREATIVE COMPUTING
HORRISTOUN, NEU JERSEY
DO YOU WANT
TO PLAY AGAIN?
YES
TIHE(SEC)
MILES TO 60
K.P.H.
POSITION
MOVE
13
1
? 1
30
12.7742
27.1
? 2
40
12.3488
48.45
? 2
90
11.4623
84.775
? 6
120
10.9521
85.2287
? 6
150
10.3235
75.4221
•? 2
180
9.3115?
121.433
? 3
210
8.44864
103.554
1 8
240
7.56004
106.632
? 2
270
6.14713
169.54?
? 3
300
4.93168
145.855
? ?
330
4.10717
98.9407
? 2
360
2.77708
159.611
? 3
390
1.43575
136.96
? 7
420
.737833
107.75
? 2
435.387
172.625
THAT ENDS THE RACE, YOU PLACED tt 2
YOUR AVERA6E SPEED UAS 107.491 H.P.H.
DO YOU UANT TO PLAY AGAIN? NO
Ok
DO YOU NEED INSTRUCTIONS? YES
THIS IS SMASH — THE CAME THAT SIMULATES A CAR RACE.
YOU UILL RESPOND UITH ONE OF THE F0LL0UING MANUEVERS
UHEN A '?' IS TYPED. THE POSITION NUMBERS REFER TO THE
POINT AT UHICH YOU ARE ON THE TRACK-THEY GC AS F0LL0US:
1 - THE START LINE
2- MID STRAIGHT-AUAY
3- C0MING UP ON A LEFT TURN
4- MID LEFT TURN
5- C0MIN6 UP ON A RIGHT TURN
6- HID-RIGHT TURN
7- THE FINISH LINE
MANEUVERS
1 - FLOOR IT
2- ACCELERATE (MODERATE)
3- BRAKE SLIGHT
4- JAM ON THE BRAKES
5- SHARP RI6HT
6- NODERATE RIGHT
7- SHARP LEFT
8- MODERATE LEFT
TIME(SEC) MILES TO 60 M.P.H. POSITION MOVE
10 1 ? 1
30 9.77167 27.4 4 ? 2
60 9.32917 53.1 3 '2
90 8.55292 93.15 4 ? 3
120 7.9012 78.2042 2 ? 1
SMASH—YOU WENT RIGHT INTO THE UALL !
DO YOU WANT TO PLAY AGAIN? YES
TIME(SEC) MILES TO GO M.P.H. POSITION MOVE
11 1 ? 1
30 10.8217 21.4 2 ? 1
60 10.1008 84.5 2 ? 1
SMASH—YOU UENT RIGHT INTO THE UALL!
LIST
10 PRINT TAB(24);"SMASH"
20 PRINT TAB(20);"CREATIVE COMPUTING"
30 PRINT TAB(18>;"H0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
50 DIM A(7),J(4)
70 PRINT"D0 YOU NEED INSTRUCTIONS";
80 INPUT Zt
90 PRINT
100 FOR X = 1 TO 7:READ A(X):NEXT X
105 FOR X=1 TO 6:READ J(X):NEXT X
120 IF LEFT$(Z»,1)="N" THEN 350
130 PRINT-THIS IS SMASH — THE GAME THAT SIMULATES A CAR RACE."
140 PRINT'YOU UILL RESPOND UITH ONE OF THE F0LL0UIN6 MANUEVERS"
150 PRINT "UHEN A '?' IS TYPED. THE POSITION NUMBERS REFER TC THE"
160 PRINT-POINT AT UHICH YOU ARE ON THE TRACK-THEY GO AS FOLLOUS:"
170
PRINT
180
PRINT "
1 -THE START LINE"
190
PRINT "
2-MID STRAIGHT-AUAY"
200
PRINT "
3-COMIN6 UP ON A LEFT TURN"
210
PRINT "
4-MID LEFT TURN-
220
PRINT "
S-COMING UP ON A RIGHT TURN"
230
PRINT *
6-HID-RIGHT TURN"
240
PRINT "
7-THE FINISH LINE"
250
PRINT
260
PRINT"
MANEUVERS -
270
PRINT"
1 -FLOOR IT"
280
PRINT-
2-ACCELERATE (MODERATE ) "
290
PRINT"
3-BRAKE SLIGHT"
300
PRINT"
4-JAM ON THE BRAKES"
310
PRINT-
5-SHARP RIGHT"
320
PRINT"
6-MODERATE RIGHT"
330
PRINT"
7-SHARP LEFT"
340
PRINT-
8-MODERATE LEFT"
350
PRINT
360 PRINT"TIME( SEC)", "MILES TO GO", "M.P.H. "."POSITION", "MOVE"
370 LET A=INT(10+RND(1)*5):Y=A
380 LET B*0:T»0
390 LET CM
400 60T0 420
410 LET C=(INT(2+RND(1>*5>)
156
A OA
PDTMT TART
rnZH 1 i r H f o t L r
730
IF
i« \ / i. men f ou
Aid
tmpiit n
74A
/ IV
TC
ir
n-7 Turu gin
440
TF TlOTMTfTn THFN 47fl
750
If
DsS THFN 9A0
450
IF n>fl THFM 47ft
760
If
Csl THEN 700
460
TF TiNsl THFM 490
770
If
r<>4 THFN 800
4 7ft
PR TNT "flNF THRU FTfiHT DNI Y"
rniRi one mnu ciuni uitli
780
If
n=S THFN 9AO
480
enrn &0Ci
DU 1 U *ti U
790
If
TlsA THFN 9AO
490
TF n<">1 THFN 510
AAA
TC
lr
CbA TUFM R90
l -o i ncn o&v
SAA
1 FT R-7*R+*7ft4TMT f 10+RNTlf 1 1*91 W1 A
□ in
O 1 V
f C
lr
P<"»S TUFM Q4A
l\/3 i ncn B4u
m ft
ir u\/£ tnen jj«
QOA
OZv
T c
Ti-7 TUFM 9AA
U - / InCR 70V
S9A
1 FT R = T*R/? + 7 + THTMO+l?Nnn ) *A1 J /1 ft
IF
D=6 THEN 960
S7A
TF TiOl THFN S50
ir u\/i} i ncn •jjv
840
IF
B>J(C) THEN 970
540
1 FT ft=7*R/ft-A+TNT(10+RNB( 1 )*41 >/10
850
IF
INT(1tRND<0)*77K>40 THEN 880
5 SO
TF D04 THFN 570
860
PRINT"SHA3H — YOU HAVE BEEN HIT BY
SAO
1 FT R=4*R/7-5A+INT( 10+RNDM )*81 )/10
870
60T0 980
S7fl
TF n = 7 THFN 590
ir u / men jtw
880
LET T=T+30
JOV
TF fi/SS THFM AAA
ir Uv/3 i ncn ovv
890
LET A"A-B/120
S9A
U7V
1 FT R=9*R/10*{ 7+RNTI{1)* A)
900
IF
C=1 THEN 410
A AA
TF A-Q TUFH A9A
ir u~o ircr QZV
910
IF
CM THEN 410
A i A
O I V
TF DVVA THFM AlO
ir VN/O inCR OJv
920
IF
C=2 THEN 410
z OA
LCI D-tJ'O/l • / THRU I 1
930
IF
C"4 THEN 410
A7A
t r n\A TUFM ASA
940
LET C=C+1
X 1 A
1 FT ft-A
LC I D v
950
GOTO 420
650
IP A-B/120>0 THEN 730
960
PRINT"BAD HOVE!"
660
LET T=TtA*3600/B
970
PRINT "SHASH — YOU UENT RIGHT INTO
670
PRINT T r 0,B r 7
980
PRINT°D0 YOU WANT TO PLAY AGAIN";
680
PRINT"THAT ENDS THE RACE , YOU PLACED « H INT(T/t20*Y)+.5)
990
INPUT ,Z»
<S?0 PRINT"Y0UR AVERAGE SPEED UAS"Y*3600/T"M.P.H." 1000 IF LEFT*(Z*,1 )="Y" THEN
350
700 IF IHT(T/(20*Y)+.5X>1 THEN 980 1020 DATA 2,3,5,2,3,5,2,200,240,180,170,180,170
710 PRINT-THAT UAS A PERFECT RACE, CHAHP ! " 1030 END
720 60T0 980 0k
157
Strike 9
This is a simple game based on the
numbers 1 through9,andapairof dice.
First, the computer rolls a random
number for your "dice." Then you must
take that number from the total of your
board numbers 1-9. To win you must
remove all of your board numbers. With
each roll you must remove the total
number of that roll from the board or
you lose.
One strategy is to remove the largest
numbers possible with each roll, oryou
can try to get the most numbers
removed. For example, if the roll is 10,
you might want to remove the 1, 2, 3
and 4 instead of the 1 and 9.
You may want to have competition
and players can alternate with rolls.
Then the player who can't remove all
numbers from his/her roll loses.
Strike 9 was conceived by Bruce
Grembowski and first appeared in
Creative Computing, Jan/Feb 1977.
RUN
STRIKE 9
CREATIVE COMPUTING
HORRISTOUN NED JERSEY
SO YOU NEED INSTRUCTIONS ? YES
STRIKE NINE IS PLAYED UITN A PAIR OF DICE AND A
BOARD UITH NINE NUMBERS : 1 2345678?. YOU
ARE SIVEN A ROLL AND CAN KNOCK OFF UP TO 4 NUMBERS.
IF YOU INPUT THAT YOU UANT TO REMOVE 5 NUMBERS, YOU
UILL BE SIVEN A CHART OF THE NUMBERS YOU HAVE LEFT
TO REMOVE. NEXT YOU INPUT HOU MANY NUMBERS YOU UANT
TO REMOVE, AND THEN INPUT THE NUMBERS YOU UANT TO
TAKE OFF, ONE AT A TIME. THE NUMBERS YOU TAKE OFF
MUST ADD UP TO THE ROLL. YOU UIN BY REMOVING EVERY
NUMBER FROM THE BOARD. YOU LOSE IF YOU CANNOT
REMOVE ALL NUMBERS UITH THE ROLL YOU HAVE.
READY TO PLAY?
HERE IS THE BOARD: 12345678?
YOUR ROLL IS 8
8 OF NUMBERS TO REMOVE ? 1
UHAT IS THE NUMBER? 8
YOUR ROLL IS 3
« OF NUMBERS TO REMOVE ? 2
WHAT IS THE NUMBER? 2
? 1
YOUR ROLL IS 6
« OF NUMBERS TO REMOVE ? 1
UHAT IS THE NUMBER? 6
YOUR ROLL IS 9
It OF NUMBERS TO REMOVE ? 1
UHAT IS THE NUMBER? ?
YOUR ROLL IS 7
« OF NUMBERS TO REMOVE ? 1
UHAT IS THE NUMBER? 7
YOUR ROLL IS ?
It OF NUMBERS TO REMOVE ? 5
THE NUMBERS YOU HAVE LEFT TO REMOVE ARE: 3 4 5
« OF NUMBERS TO REMOVE ? 2
UHAT IS THE NUMBER? 5
? 4
YOUR ROLL IS 7
SORRY, YOU LOST Tr!!£ TINE.
THERE ARE 1 NUMBERS LEFT ON THE BOARD: 3
UANT TO TRY A6AIN (YES OR NO)? NO
OK
LIST
10 PRINT TAB(25);"STRIKE »"
20 PRINT TAB<1?);"CREATIVE COMPUTING"
30 PRINT TAB(18);"N0RRIST0UN NEU JERSEY"
?0 DIM A(?),D(4>
110 PRINT:PRINT:PRINT
170 PRINT "DO YOU NEED INSTRUCTIONS "J
180 INPUT Rt
1?0 IF R» = "N0" THEN 340
200 IF R» <> "YES" THEN 170
210 PRINT "STRIKE NINE IS PLAYED UITH A PAIR OF DICE AND A"
220 PRINT "BOARD UITH NINE NUMBERS: 12345678?. YOU"
230 PRINT "ARE GIVEN A ROLL AND CAN KNOCK OFF UP TO 4 NUMBERS.
240 PRINT "IF YOU INPUT THAT YOU UANT TO REMOVE 5 NUMBERS, YOU
250 PRINT "UILL BE GIVEN A CHART OF THE NUHBERS YOU HAVE LEFT"
240 PRINT "TO REMOVE. NEXT YOU INPUT HOU MANY NUMBERS YOU UANT
270 PRINT "TO REMOVE, AND THEN INPUT THE NUMBERS YOU UANT TO "
280 PRINT "TAKE OFF, ONE AT A TIME. THE NUMBERS YOU TAKE OFF"
2?0 PRINT "MUST ADD UP TO THE ROLL. YOU UIN BY REMOVING EVERY"
300 PRINT "NUMBER FROM THE BOARD. YOU LOSE IF YOU CANNOT"
310 PRINT "REMOVE ALL NUMBERS UITH THE ROLL YOU HAVE."
320 PRINT
340 PRINT "READY TO PLAY?"
350 PRINT
355 PRINT "HERE IS THE BOARD:
360 REM SET UP THE BOARD
370 FOR B=1 TO ?
380 PRINT B;
390 A(B)=B
400 NEXT B
405 PRINT
410 C=INT(RND(1 )*6+1 ) + INT(RND(1 )*6+1 )
420 PRINT "YOUR ROLL IS ",C
430 1=0
440 FOR X=1 TO ?
450 T=T+A(X)
460 NEXT X
465 REM CHECK FOR LOSS
470 IF C > T THEN ?50
480 IF C=T THEN 1120
490 FOR K=1 TO ?
500 FOR L=1 TO ?
510 FOR H=1 TO ?
520 FOR N=1 TO ?
530 IF N-K THEN 630
540 IF N=L THEN 630
550 TF N=M THEN 630
Zi" IF M=K THEN 640
570 IF M=L THEN 640
158
S80 IF L-K THEN <S50
590 IF C-A(K)-0 THEN 480
600 IF C-A(K)=A<N> THEN 480
410 IF C-A(K)-A(L)=A(N) THEN 680
620 IF C-A(K)-A(M)=A(N> THEN 680
630 NEXT N
640 NEXT H
650 NEXT L
660 NEXT K
670 60T0 950
680 FOR X=1 TO 4
690 D(X)=0
700 NEXT X
710 PRINT "# OF NUMBERS TO REMOVE "J
720 INPUT E
730 IF INT(E) <> E THEN 760
740 IF E < 1 THEN 760
750 IF E>4 THEN 880
755 GOTO 770
760 PRINT "ANSUER 1, 2, 3, OR 4 (5 FOR THE BOARD)"
745 GOTO 710
770 PRINT "WHAT IS THE NUMBER";
780 FOR F=1 TO E
790 INPUT B(F)
800 IF A(D(F)> <> THEN 825
810 PRINT "YOU REMOVED IT BEFORE, TRY AGAN."
820 GOTO 710
825 NEXT F
830 IF C <> D(1)+D(2>+D<3)tD<4> THEN 870
835 FOR F=1 TO E
840 A(D(F))=0
850 NEXT F
860 GOTO 410
870 PRINT "THOSE NUMBERS DON'T ADD UP TO YOUR ROLL, TRY AGAIN"
875 GOTO 710
930 PRINT "THE NUMBERS YOU HAVE LEFT TO REMOVE ARE: "
8M FOR B=1 TO 9
900 IF A(B)=0 THEN 920
9fO PRINT A(B>;
920 NEXT B
930 PRINT
940 GOTO 710
950 PRINT "SORRY, YOU LOST THIS TINE."
940 T=0
970 FOR B=1 TO 9
980 IF A(B>=0 THEN 1000
990 T=T+1
1000 NEXT B
1010 PRINT "THERE ARE ";T{" NUMBERS LEFT ON THE BOARD:
1020 FOR X=1 TO 9
1030 IF A(X)=0 THEN 1050
1040 PRINT ACX);
1050 NEXT X
1040 PRINT
1070 PRINT "MANT TO TRY AGAIN (YES OR NO)";
1080 INPUT 6$
1090 IF G»="YES" THEN 170
1100 IF 6$ <> "NO" THEN 1070
1110 END
1120 PRINT "* * * CONGRATULATIONS * * *»
1130 PRINT "* YOU UON *"
1140 PRINT
1150 PRINT
1160 PRINT "PLAY ANOTHER GAME (YES OR NO)";
1170 INPUT H$
1180 IF H»=»YES" THEN 170
1190 IF H$ <> "NO" THEN 1140
1200 END
OK
159
Tennis
Tennis is, as its name implies, a
tennis match. In this game you have
several options available to you as the
position on the court that you wish to
play from, the placement of your shot
that you're trying for, and the speed or
type of shot. As in normal tennis, you
don't always make the shot that you try
for. The program lets you play, more or
less, at the intermediate level. If you
think that it allows you to play too well
or too poorly, you could always change
some of the random factors that
determine how often a shot is missed.
Tennis was written by Victor
Nahigian and David Ahl.
RUN
TENNIS HATCH
CREATIVE CONFUTING, HORRISTOUN, NEU JERSEY
THERE ARE SEVERAL OPTIONS AVAILABLE TO TOO AS TO POSITION,
PLACEHENT OF SHOT, AND SPEED (TYPE) OF SHOT. THE KEY THAT
YOU UILL USE IS...
POSITIONIPLACEHENT, TOO): L.BACKCOURTd ) ;R. BACK-
COURTS); L. F0RECDURT<3>; R. F0REC0URTC4).
SPEED (TYPE) OF SHOT: FAST-SLAN(S) JSLQULOBCL).
BACKHANDS AND FOREHANDS MILL MERELY BE ASSUMED AS YOU
SHOOT FROH A CERTAIN SECTION OF THE COURT.
ON SERVES, YOU CANNOT HAVE PLACEMENT OPTIONS, BUT YOU
UILL BE ABLE TO ALTER THE SPEED OF IT. BY THE UAY, YOU
UILL BE ALLOUED TO SERVE FIRST IN ALL 6ANES.
ARE YOU READY?... HERE UE 60 M!
SERVE! TYPE? S
SERVE IS BAD
SERVE AGAIN' > TYPE? S
SERVE IS BAD... DOUBLE FAULT >
SCORE L0VE1S
SERVE! TYPE? S
SERVE IS BAD
SERVE AGAIN! ! TYPE? S
LET SERVE... TAKE 1
SERVE AGAIN! ! TYPE? S
SERVE IS 600D... CAN'T RETURN IT! !
SCORE IS - 15
SERVE! TYPE? S
SERVE HAS BEEN RETURNED...
UHAT IS YOUR POSITION?? 1
UHAT TYPE OF SHOT ARE YOU MAKING? S
UHAT PART OF THE COURT ARE YOU AIMING FOR? 3
YOUR RETURN IS GOOD!
COMPUTER'S RETURN IS GOOD !
UHAT IS YOUR POSITION?? 1
UHAT TYPE OF SHOT ARE T0U MAKING? S
UHAT PART OF THE COURT ARE YOU AIMING FOR? 2
YOUR RETURN IS GOOD!
COMPUTER'S RETURN IS GOOD!
UHAT IS YOUR POSITION?? 2
NICE TRY-YOU UERE UNABLE TO REACH THAT SHOT-COURT I 3
SCORE 15-30
SERVE! TYPE? S
SERVE IS BAD
SERVE A6AIN! ! TYPE? S
SERVE IS GOOD... CAN'T RETURN IT!!
SCORE DUCE
SERVE! TYPE? S
SERVE IS 600D... CAN'T RETURN IT!!
SCORE ADD IN
.SERVE! TYPE? S
SERVE IS BAD
SERVE AGAIN! ! TYPE? S
SERVE IS BAD... DOUBLE FAULT!
SCORE DUCE
SERVE! TYPE? S
SERVE IS BAD
SERVE AGAIN! ! TYPE? S
SERVE IS BAD... DOUBLE FAULT!
SCORE ADD OUT
SERVE! TYPE? S
SERVE HAS BEEN RETURNED...
UHAT IS YOUR POSITION?? 1
UHAT TYPE OF SHOT ARE YOU MAKIN6? L
UHAT PART OF THE COURT ARE YOU AIMING FOR? 4
YOUR RETURN IS GOOD!
NICE SHOT- THE COMPUTER COULDN'T REACH IT
SCORE DUCE
SERVE! TYPE? S
SERVE IS BAD
SERVE AGAIN! ! TYPE? S
SERVE IS BAD... DOUBLE FAULT !
SCORE ADD OUT
SERVE! TYPE? S
SERVE IS GOOD... ACE!!
SCORE DUCE
SERVE! TYPE? S
SERVE HAS BEEN RETURNED...
UHAT IS YOUR POSITION?? 1
UHAT TYPE OF SHOT ARE YOU MAK1N6? S
UHAT PART OF THE COURT ARE YOU AIMING FOR? 3
YOUR RETURN IS GOOD!
NICE SHOT- THE COMPUTER COULDN'T REACH IT
SCORE ADD IN
SERVE! TYPE? S
SERVE IS GOOD... CAN'T RETURN IT! !
SCORE GAME
• GAME OVER
SCORE-GAMES YOU... ME
SERVE! TYPE? S
LET SERVE... TAKE 2
SERVE! TYPE? S
SERVE IS GOOD... CAN'T RETURN IT!!
SCORE 15 - LOVE
160
1 PRINT TAB (30) "TENNIS MATCH"
2 PRINT TABU5PCREATIVE COMPUTING, HORRISTOUN, NEU JERSEY"
10 PRINT:PRINT:PRINT
2t PRINT "THERE ARE SEVERAL OPTIONS AVAILABLE TO YOU AS TO POSITION,"
22 PRINT "PLACEMENT OF SHOT, ANB SPEEB (TYPE) OF SHOT. THE KEY THAT "
23 PRINT "YOU MILL USE IS..."
24 PRWT TAB<5)"P0SITI0N(PLACEMENT, TOO): L.BACKCOURTd IJR.BACK-"
25 PRINT »C0URT(2); L. F0REC0URT(3) ; R. FORECOURTU)."
24 PRINT TAB(5)"SPEEB (TYPE) OF SHOT: FAST-SLAM(S) ;SLOULQB(L) ."
27 PRINT TAB(3)"BACKHANBS ANB FOREHANBS UILL MERELY BE ASSUMED AS YOU "
28 PRINT "SHOOT FROM A CERTAIN SECTION OF THE COURT."
29 PRINT TAB(S) "ON SERVES, YOU CANNOT HAVE PLACEMENT OPTIONS, BUT YOU"
30 PRINT "UILL BE ABLE TO ALTER THE SPEEB OF IT. BY THE UAY, YOU"
31 PRINT "UILL BE ALLOUEB TO SERVE FIRST IN ALL GAMES."
32 PRINT TAB(10);"ARE YOU READY'... HERE HE 00!!!"
35 Y=0
34 Z=0
38 PRINT
39 PRINT
40 PRINT " SERVE! TYPE";
41 INPUT At: IF AIO"L" AND A*<>"S" THEN PRINT "'L' OR 'S'": 60T0 40
42 A=100*RND (1)
43 IF A*="L" THEN 52
44 C=4
45 D=51
44 IF A<C THEN 50
47 IF A<B THEN 70
48 PRINT TAB (10); "SERVE IS BAB"
4? GOTO 55
50 PRINT TAB(10);"LET SERVE... TAKE 2"
51 SOTO 40
52 C=4
53 D=64
54 GOTO 44
55 PRINT TAB ( 1 ) ; "SERVE AGAIN! ! TYPE";
54 INPUT B»: IF B»<>"L" AND B*<>"S" THEN PRINT °'L' OR 'S'": GOTO 55
57 E=100*RND( 1 )
58 IF D»="L" THEN 47
5? G=5
40 H=41
41 IF E<6 THEN 45
42 IF E<H THEN 70
43 PRINT TAB( 10); "SERVE IS BAD... BOUBLE FAULT!"
44 GOTO 130
45 PRINT TAB(10);"LET SERVE... TAKE 1"
44 60T0 55
47 6=3
48 H=74
4? G0T041
70 1=100 * RNDO )
71 IF I>4 THEN 74
72 PRINT TAB(10);"SERVE IS 6000... ACE!!"
73 GOTO 128
74 K=100*RND (t)
75 IF AI="L" THEN 81
74 IF B»="L" THEN 81
77 N=41
78 IF K<N THEN 85
79 PRINT TAB(IO); " SERVE IS 6000... CAN'T RETURN IT!!"
80 60T0 128
81 N=74
82 GOTO 78
85 PRINT TABOO); "SERVE HAS BEEN RETURNED..."
84 PRINT
87 0=INT (4*RND(1))+1
88 PRINT TAB(20);"UHAT IS YOUR POSITION?";
8? INPUT
90 IF 0+Q=5 THEN 124
91 PRINT TAB(20);"UHAT TYPE OF SHOT ARE YOU MAKING";
92 INPUT C*
93 PRINT TAB(20);"«HAT PART OF THE COURT ARE YOU AIMING FOR";
94 INPUT R
95 S=100*RN0(1>
94 IF C$*"L" THEN 99
97 IF S<81 THEN 107
98 GOTO 100
99 IF S<91 THEN 107
100 U=4*RND(1)
101 PRINT TAB(30);"Y0UR RETURN IS BAB..."
102 IF U<2 THEN 105
103 PRINT TAB(33);"HIT OUT-OF-BOUNDS"
104 60T0 130
105 PRINT TAB(33>;"HIT INTO NET"
104 GOTO 130
107 PRINT TA8(30);"Y0UR RETURN IS 6000!"
108 A1=INT(4*RND<1))
109 IF R»A1=5 THEN 127
110 U=100»RND(1)
111 IF C$="L" THEN 112
112 IF U<84 THEN 122
113 60T0 115
114 IF U<84 THEN 122
115 C1=4*RND<1>
114 PRINT TAB(30);"C0MPUTER'S RETURN IS BAD"
117 IF B<2 THEN 120
118 PRINT TAB(33);"HIT OUT-OF-BOUNDS"
119 60T0 128
120 PRINT TAB(33);"HIT INTO NET"
121 GOTO 128
122 PRINT TAB(30);"C0MPUTER'S RETURN IS 6000!"
123 60TO 84
124 PRINT " NICE TRY-YOU MERE UNABLE TO REACH THAT SHOT-COURT 8"0
125 60T0 130
127 PRINT " NICE SHOT- THE COMPUTER COULBN'T REACH IT"
128 Y"Y*1
129 GOTO 131
130 Z=Z+1
131 PRINT:60SUB 200
132 PRINT TAB(1S);"SC0RE "St
134 IF Y>=4 AND Y>Z+1 THEN 137
135 IF Z>M AND Z>Y+1 THEN 139
14 GOTO 38
137 Y1=Y1+1
138 GOTO 140
139 Zt=Z1+1
140 PRINT" GAME OVER "
141 PRINT TAB(15);"SC0RE-GAMES YOU... ME"
142 PRINT TAB(32);Y1;" "JZ1
143 IF Y1>=4 AND Y1>Z1+1 THEN 144
144 IF Z1>=4 AND Z1>Y1+1 THEN 149
145 SOTO 35
144 PRINT
147 PRINT "**«««C0N6RATULATI0NS...Y0U UON*****"
148 60T0 151
149 PRINT
150 PRINT "*****AS PREDICTED, THE COMPUTER IS AGAIN TRIUMPHANT!*****"
151 PRINT
152 PRINT" I'D LIKE TO PLAY YOU AGAIN SOMETIME, BUT RIGHT NOU, I"
153 PRINT "HAVE TO REST BYE!!!"
154 PRINT
200 IF Y>=2 ANB Z>=2 THEN 300
210 IF Y=4 OR Z=4 THEN S»="8AME": GOTO 400
220 IF Y»0 THEN YI="LOVE"
230 IF Y=1 THEN Y»="15 - "
240 IF Y=2 THEN Y»="30 - "
245 IF Y=3 THEN Y»="40 - "
250 IF Z=0 THEN Z»="LOVE"
255 IF Z=1 THEN Z»="15"
240 IF Z=2 THEN Z«="30"
245 IF Z=3 THEN Zl="40"
270 S»=Y»+Z»:60T0 400
300 IF Y=Z THEN S$="DUCE":GQTO 400
310 IF Y=Z+1 THEN S»="ADD IN ": GOTO 400
320 IF Y=Z-1 THEN S»="ADD OUT": GOTO 400
330 IF Y=Z+2 OR Z=Y+2 THEN S»="GAliE"
400 RETURN
300 END
Oil
161
Ticker tape
LIST
5 PRINT TA8(24>;"TICKEBTAP£"
4 PRIKT TAB(20>;"CREATIVE COHPUTIKB"
7 PRINT TAB<18);*H0RRIST0UN, NEU JERSEY"
9 PRIMTtPRINTsPRIHT
10 INPUT AI:60SU8 SO
20 FOR N=1 TO IEN(A«>
29 B«ASC<HID»<A«,N»'>>
30 IF B>90 THEN 47
33 IF B<45 THEN 40
35 B«B-44
37 SOTO SO
40 IF B>57 OR B<48 THEN 47
41 B=B-20
45 SOTO SO
47 »=27
50 FOR S-0 TO <B-1)«5:R£AD A: NEXT S
60 FOR S«1 TO 5:REAB A: PRINT CHR»(A);tNEXT S
65 PRINT CHRI(0);:RESTORE
70 NEXT N
75 60SUB 80 1 END
80 FOR N«1 TO 30:PRINT CHR»(0);:NEXT N
90 RETURN
HO DATA 0,254, 9, 9, 9, 254, 255, 137, 137, 137, 118, 124, 12?, 12?, 12?, 12?
120 DATA 255, 129, 12?, 12?, 124, 255,137, 137, 137, 137,255, ?,?,?, 1
130 DATA 126, 12?, 12?, 145, 243, 255, 8, 8,8, 255, 12?, 12?, 255, 129,12?
140 DATA 96,128,129,127,1,255,8,20,34,193,255,128,128,128,128
150 DATA 255,2,12,2,255,255,2,40,44,255,124,129,129,129,124
140 DATA 255,9,9,9,4,124,129,141,45,190
170 DATA 255,25,41,73,134,134,137,137,137,113,1,1,255,1,1
180 DATA 127,128,128,128,127,63,94,192,94,43,127,128,112,128,127
215 DATA 195,36,24,34,195,3,4,248,4,3,193,141,145,137,135
220 DATA 0,0,0,0,0,124,141,137,133,124,132,130,255,128,128,194,141,145
230 DATA 137,134,44,137,137,137,118,12,10,137,255,134,199,137,137,137
240 DATA 248,124,137,137,137,114,1,1,249,5,2,118,137,137,137,118
250 DATA 70,137,137,137,124
OK
This program inputs a line of
characters from a Teletype, and then
punches the shape of each letter on
paper tape. This program can handle
all of the letters and numbers and the
space, but there is no reason why it
could not be modified to handle
various symbols also.
The operation of this program is
fairly straightforward. After each
character is converted to a number
equivalent to its place in the alphabet
(A=1, B=2, Z=26, space=27), a simple
table look-up is performed to find the
correct numbers to punch onto the
tape. These numbers are stored in the
DATA statements.
The original program was designed
for a PDP-8; the one here runs in
Microsoft Basic, however it would not
be difficult to modify the program for
virtually any Basic-speaking computer.
Written by Bill Gardner and Jim
Larus, Tickertape first appeared in
Creative Computing, May/Jun 1977.
••••• •
• •••••
• •••••
••••••
••••• •••••
• •••••
• •••••
• • • • ••
• ••
• •
• •••
• ••••
• •••
• • ••
• •
•
•
• • •
• •
• • •
• •••
• ••••
•
•
• •
• •
• •
• •
•
• •
• •
• ••
• •
•••••
• •••
•••••
•
• •
• •
• •
• •
••••• •
• •••••
• •••••
••••• •
162
TV Plot
This program automatically devises
plots for television shows or series
guaranteed to appeal to the masses
and win high Nielsen ratings. By
substituting appropriate words in the
various parts of the program it could be
easily modified for many other useful
purposes such as devising names for
new breakfast cereals, preparing PhD
theses, or naming government agen-
cies and their corresponding projects.
This program was originally written
in FOCAL by Mary Cole and converted
to BASIC by David Ahl.
RUN
TVPLOT
CREATIVE COMPUTING
NORRISTOUN, NEU JERSEY
THIS PROGRAM AUTOMATICALLY CONES UP WITH TELEVISION
SHOUS GUARANTEES TO APPEAL TO THE MASSES AND UIN
HIGH NEILSEN RATINGS.
HERE IS THE FIRST PLOT:
THE SPECIAL IS ABOUT A HILARIOUS LAUYER UHO IS A UHIZ AT
S0LVIN6 CRIMES AND UHO STOPS THE FLOOD.
ANOTHER (YES OR NO)? YES
THE PR06RAM IS ABOUT A THOUGHTFUL COLLIE UHO IS A FLOP AT
HERDING ELEPHANTS AND UHO CONFESSES.
ANOTHER (YES OR NO)? YES
THE PR06RAM IS ABOUT A SENSITIVE SECRET AGENT UHO IS A UHIZ AT
TUO-FISTED DRINKING AND UHO STOPS THE FLOOD.
ANOTHER (YES OR NO)? YES
THE SPECIAL IS ABOUT A DEDICATED LITTLE DOY UHO IS A FLOP AT
COOKING HEALTH FOOD AND UHO HELPS THE DOG.
ANOTHER (YES OR NO)? YES
THE SERIES IS ABOUT A DODDERING LAUYER UHO IS A UHIZ AT
HERDING ELEPHANTS AND UHO STOPS THE FLOOD.
ANOTHER (YES OR N0>? YES
THE SPECIAL IS ABOUT A HENPECKED LAUYER UHO IS A FLOP AT
FIGHTING FIRES AND UHO DESTROYS THE CITY.
ANOTHER (YES OR NO)? YES
THE STORY IS ABOUT A SENSITIVE GIRL COWHAND UHO IS A FLOP AT
SOLVING CRIMES AND UHO RECOVERS THE JEUELS.
ANOTHER (YES OR NO)? NO
O.K. HOPE YOU HAVE A SUCCESSFUL TV SHOU! !
Ok
LIST
10 PRINT TAB(26);"TVPL0T"
20 PRINT TAB(20);"CREATIVE COMPUTING"
40 PRINT TAB(18);"N0RRIST0UN, NEU JERSEY"
50 PRINT:PRINT:PRINT
55 PRINT "THIS PROGRAM AUTOMATICALLY COMES UP UITH TELEVISION"
60 PRINT "SHOUS GUARANTEED TO APPEAL TO THE MASSES AND UIN"
70 PRINT "HI6H NEILSEN RATINGS. ":PRIHT
80 PRINT "HERE IS THE FIRST PLOT:"
100 PRINT:60SUB BOO
110 ON X 60T0 120,130,140,150,160,120,130,140,150,140
120 AM"PR06RAH":60T0 170
130 A»="R£PORT":60TO 170
140 A»="SPECIAL":60T0 170
150 AI="SERIES":60TO 170
140 AI*"ST0RY"
170 GOSUB 800
180 ON X GOTO 190,200,210, 220, 230,240, 250, 260,270,280
190 BM"SUINGIN6":60T0 290
200 BI="BRILLIANT":60T0 290
210 B*="SALTY":60T0 290
220 8»="HILARIOUS":6OT0 290
230 B»="SENSITIVE":G0TO 290
240 B»="D0DDERIN6":60T0 290
250 B«="HENPECKED*:G0TO 290
240 B»="DEDICATED":GOTO 290
270 B»="TH0U6HTFUL":G0T0 290
280 8$="HEAVY"
290 GOSUB 800
300 ON X GOTO 310,320,330,340,350,340,370,380,390,400
310 C»="6IRL C0UHAND":60T0 410
320 C»="LITTLE BOY":60T0 410
330 C»«"SCIENTEST":GOTO 410
340 C»="LAUYER":60TO 410
350 C»="T0UN MARSHALL": GOTO 410
340 CI*"DEHTIST":80T0 410
370 C»=*BUS DRIVER":G0TO 410
380 C»«"JUN6LE HAN*:60T0 410
390 C»«"SECRET A6ENT":60T0 410
400 C»="C0LLIE"
410 GOSUB 800
420 ON X 60TO 430,440,450,440,470,430,440,450,460,470
430 D»="A UHIZ":60T0 480
440 D1="A FL0P":G0T0 480
450 D»="HEDI0CRE":G0T0 440
440 D» = "A SUCCESS" :GOTO 440
470 DI="A DISASTER"
480 GOSUB 800
490 ON X 6OT0 500,510,520,530,540,550,560,570,580,590
500 E$="S0LVIN6 CRIMES" :G0T0 600
510 Ei«"R0PIN6 COUS":6OT0 600
520 E*="C00KING HEALTH FOOD":GOTO 400
530 E*="PITCHING UOO":60TO 400
540 E$="PR0TECTIN6 ECOLOGY" :60T0 400
550 E»="HELPIN6 CHILDREN" :G0T0 400
540 E»="TUO-FISTED DRINKING":G0TO 600
570 E»="FIGHTING FIRES" :GOTO 600
580 £»="HERDIN6 ELEPHANTS":60T0 600
590 E»-"UINNIN6 RACES":60TO 600
600 GOSUS 800
610 ON X GOTO 620,630,640,650,660,670,680,690,700,710
620 FM-RECOVERS THE JEUELS":G0T0 720
630 F»="F0ILS THE SPIES" :G0T0 720
640 F»="DESTROYS THE CITY":6OT0 720
650 F«="FINDS L0VE":G0T0 720
6*0 F$="SAVES THE ANINALS":GOT0 720
670 F»="C0NFESSES":G0T0 720
680 F»="DISCOVERS THE SECRET":G0T0 720
690 F$="ST0PS THE FLO0D":60T0 720
700 F*="HELPS THE D06":G0TO 720
710 F»="MAKES THE SACRIFICE"
720 PRINT "THE ";a*;" IS ABOUT A ";b»;" "JC*,"' UHO IS ";D»;" AT"
730 PRINT E»;" AND UHO ";F$".":PRINT:PRINT
740 INPUT "ANOTHER (YES OR N0)";A*
750 IF A»="N0" THEN 999
760 GOTO 100
800 X=INT(!0*RNDU)r1):RETURN
T99 PR1NT:PRINT "C.K. HOPE YOU HAVE A SUCCESSFUL TV SHOMH^E.Mr
Ok
163
Twenky
RUN
IUONKY
CREATIVE COMPUTIN6
MORRISTOUN NEU JERSEY
The computer will set up a 1 5x1 5 playing field in which
you are randomly located. Also inside the field is an
objective square, 30 blocked squares (walls), 22 relocation
squares, and 1 super special new maze square, and, of
course, the Twonky (which is no relation to a creme-filled
cupcake).
To win the game, you must reach the objective square
before the Twonky gets you, by moving one square at a time,
forward, backward, right or left. Unfortunately, you are
hindered by several things:
RELOCATION squares, when moved on, cause you to be
randomly transported to another position in the maze.
WALLS; you can't move into these squares, and lose your
turn when you hit one.
SUPER-MAZE-SQUARE; essentially an instant loss,
since when you move here a completely new maze is set up.
TWONKY; after every move, the Twonky moves toward
you. (He is impervious to all traps, even walls). When he
gets too close to you (2 or fewer squares), you lose.
However, you are equipped with a de-materializing ray gun.
You have the option of using this on your turn. If you hit the
Twonky he de-materializes and then re-materializes on a
different square of the maze to resume his quest after you.
(CAUTION: he could be dropped into your lapl).
After each move pair (you and Twonky), your distance
from both the Twonky and the objective square are printed.
There is no board printout — you play blind. However, using
the distances, you can home in to the approximate position
of both Twonky and objective.
When shooting at the Twonky, you do not have a shot if
the distance he is from you is not an integer. For example: If
the Twonky is 2.23606 units away, you don't have a direct
shot. If he is 4 units away, you do have a shot. Exceptions to
this rule are distances of 5, 1 0, 1 3, and 1 7. (A review of the
Pythagorean Theorem will show why this is true.) Hence, if
the distance is 5, 1 0, or 1 3 (but not 1 7), you may or may not
have a direct shot. Likewise, this set of rules applies to the
direction of the objective.
If you watch your distances before and after moving, you
should be able to tell where the Twonky is in relation to you,
e.g., forward and to the right, or backward and to the left.
Take the distance you are from the Twonky, square it, say
2.23606 2 = 4.999998 approx. = 5. Then find two integers
that when squared and added together equal this (2 and 1 ).
If the Twonky is forward and to the right, you now know that
he is either up 2, over 1 , or up 1 , over 2.
The thing that makes Twonky unique, is that it can be
played on two levels, one in which you play for fun, moving
haphazardly; or you can play while figuring out exact
positions, and calculating moves in advance for a challeng-
ing (as well as fun) game.
Twonky was written by Mark Capella and first appeared in
Creative Computing, May/Jun 1977.
DO YOU UANT INSTRUCTIONS (Y/NIT Y
THIS IS THE 6ANE OF TUONKY.
YOU HAVE LANDED ON THE PLANET OF TUINKY AND
ITS KINS (X0N6:THEIR XIN6 IS KING KONG) HAS
CAPTURED YOU. HE HAS PUT YOU IN A NAZE THAT IS
IS • IS UNITS LONS. YOU ARE IN THE DARK AND CANNOT
SEE... YOU NUST SET TO THE ODJECTIVE SOUARE AND
DE SET FREE.
HAZARDS INCLUDE:
SQUARES THAT YOU CANNOT 60 INTO (30).
S8UARES THAT RANDONLY THROU YOU AROUND THE NAZE (22).
SOUARE THAT SETS UP A NEU HAZE AND ALL THAT'S IN IT <t)
MONSTER CALLED TUONKY THAT CHASES YOU AND UILL
ADSORB YOU IF THE DISTANCE IT IS FROM YOU FALLS
BELOU 2 UNITS.
TUONKY IS ALSO INNUNE TO ALL TRAPS INCLUDING
UALLS.
YOU CAN:
HOVE ONE SOUARE AT A TIME TO FIND THE ODJECTIVE
OR ESCAPE FROM THE TUONKY.
SHOOT AT THE TUONKY ONE DIRECTION AT A TINE.
IF THE TUONKY IS HIT, HE UILL BE REPLACED IN THE
NAZE RANDONLY.
IF THE TUONKY ADSORBS YOU... YOU LOSE.
IF YOU LAND ON THE OBJECTIVE SOUARE YOU UIN.
GOOD LUCK!
THE TUONKY IS 8.04224 UNITS AWAY.
THE OBJECTIVE IS 9.48483 UNITS AUAY.
MOVE OR SHOOT <H/S>? N
WHICH UAY (F/B/R/D? F
HOVE ALLOUED.
THE TUONKY IS 7.2111 UNITS AUAY.
THE OBJECTIVE IS 8.54401 UNITS AUAY.
TUONKY MOVES....
THE TUONKY IS 4.70821 UNITS AUAY.
THE OBJECTIVE IS 8.S4401 UNITS AUAY.
HOVE OR SHOOT <H/S>? N
UHICH UAY (F/B/R/DT R
HOVE ALLOUED.
THE TUONKY IS 7.2111 UNITS AUAY.
THE OBJECTIVE IS 8.94428 UNITS AUAY.
TUONKY MOVES....
THE TUONKY IS 4.70821 UNITS AUAY.
THE OBJECTIVE IS 8.94428 UNITS AUAY.
164
HOVE OR SHOOT (M/S>? X
UHICH HAY (F/B/R/D? L
MOVE ALLOWED.
THE TUONKY IS 4.32454 UNITS AUAY.
THE OBJECTIVE IS 8.54401 UNITS AWAY.
TUONKY HOVES....
THE TUONKY IS 4.08274 UNITS AUAY.
THE OBJECTIVE IS 8.54401 UNITS AUAY.
MOVE OR SHOOT (H/S)? N
UHICH UAY (F/B/R/D? F
HOVE ALLOUED.
THE TUONKY IS 5.09902 UNITS AUAY.
THE OBJECTIVE IS 7.41577 UNITS AUAY.
TUONKY HOVES....
THE TUONKY IS 5 UNITS AUAY.
THE OBJECTIVE IS 7.41577 UNITS AUAY.
HOVE OR SHOOT (H/S)? S
UHICH UAY (F/B/R/D? F
ZAP — Z A P — Z A P — Z A P —BLAST! ! ! !
YOU HIT UALL.
SHOT HISSED.
THE TUONKY IS 5
THE OBJECTIVE IS
TUONKY HOVES....
UNITS AUAY.
7.41577 UNITS AUAY.
THE TUONKY IS 4 UNITS AUAY.
THE ODJECTIVE IS 7.41577 UNITS AUAY.
HOVE OR SHOOT (K/S>? S
UHICH UAY (F/B/R/D? D
ZAP — Z A P — Z A P -
SHOT LEFT HAZE.
SHOT HISSED.
ZAP — Z A P --Z A P — Z A P —FIZZLE.
THE TUONKY IS 4 UNITS AUAY.
THE OBJECTIVE IS 7.41577 UNITS AUAY.
TUONKY HOVES....
THE TUONKY IS 3
THE OBJECTIVE IS
UNITS AUAY.
7.41577 UNITS AUAY.
HOVE OR SHOOT (H/S)? S
UHICH UAY (F/B/R/D? R
ZAP — Z A P — FIZZLE.
SHOT LEFT HAZE.
SHOT HISSED.
THE TUONKY IS 3
THE OBJECTIVE IS
TUONKY HOVES....
THE TUONKY IS 2
THE OBJECTIVE IS
UNITS AUAY.
7.41577 UNITS AUAY.
UNITS AUAY.
7.41577 UNITS AUAY.
HOVE OR SHOOT <M/S>? S
UHICH UAY (F/B/R/D? L
ZAP — Z A P — Z A P -
YOU HIT UALL.
SHOT HISSED.
ZAP —BLAST! ! ! I
THE TUONKY IS 2
THE OBJECTIVE IS
TUONKY HOVES
UNITS AUAY.
7.41577 UNITS AUAY.
THE TUONKY IS 1 UNITS AUAY.
THE OBJECTIVE IS 7.41577 UNITS AUAY.
> > > SCHLOORP ! ! ! < < <
THE TUONKY JUST ABSORBED YOU ! ! YOU LOSE.
TRY A6AIN (Y/N>? N
OK
LIST
10 PRINT TAB (24); "TUONKY"
20 PRINT TAB(18);«CREATIVE COHPUTING"
30 PRINT TA8(14);"H0RRIST0UN NEU JERSEY"
40 PRINT: PR I NT: PRINT
140 60SUB 2250
150 DIN A(1S,15)
140 LET R9=0
170 GOSUB 1830
180 PRINT " "
190 PRINT
200 GOSUB 1450
210 PRINT
220 PRINT "HOVE OR SHOOT (H/S)";
230 INPUT Q8>
240 IF Q8*="H" THEN 270
250 IF Q8»="S" THEN 950
240 60T0 210
270 PRINT "UHICH UAY (F/B/R/D";
280 INPUT 0*
290 IF Q»="F" THEN 340
300 IF Q»=»B" THEN 370
310 IF 0»="L" THEN 400
320 IF fl»="R" THEN 430
330 60T0 210
340 LET X5=X
350 LET Y5=Y-1
340 60T0 440
370 LET X5=X
380 LET Y5=Y*1
390 GOTO 440
400 LET X5=X-1
410 LET Y5=Y
420 GOTO 440
430 LET X5=X+1
440 LET Y5=Y
450 GOTO 440
440 IF X5<1 THEN 510
470 IF X5>15 THEN 510
480 IF Y5<1 THEN 510
490 IF Y5>15 THEN 510
500 GOTO 540
510 PRIHT "THAT HOVE TAKES YOU OUT OF THE HAZE."
520 PRIHT "HOVE NOT ALLOUED."
530 SOTO 1430
540 ON (A(XS,Y5)+1> GOTO 550,420,430,440,740,800,920
550 REH *** EHPTY SPACE
540 LET A(X,Y)=0
570 LET A(X5,Y5)=1
580 LET X=X5
590 LET Y=Y5
400 PRINT "NOVE ALLOUED . "
410 GOTO 1430
420 REH *** IMPOSSIBLE TO GET HERE
430 REH *«* BLOCKED SPACE ROUTINE.
440 PRIHT "THAT SPACE IS BLOCKED."
450 60T0 1430
440 REN *»* RELOCATION ROUTINE.
470 PRINT "YOU'VE BEEN RELOCATED !!!"
480 GOSUB 2710
490 IF A(Z,U)>2 THEN 540
700 IF A(Z,U) <> THEN 480
710 LET A(Z,U)=1
720 LET A(X,Y)=0
730 LET X=Z
740 LET Y=U
750 60T0 1430
740 REH *** CHAN6E ALL, SUPER TRAP.
770 PRINT " YOU HIT THE SUPER TRAP!! YOU GET A NEU NAZE.
780 GOSUB 1830
790 60T0 1430
800 REN »»* HE UON!
810 PRINT
820 PRINT "I DON'T BELIEVE IT BUT YOU UON THE GAME!"
830 PRINT "YOU 60 T TO THE OBJECTIVE BEFORE"
840 PRINT " THE TUONKY 80T YOU!!"
850 PRINT
165
860 PRINT
870 PRINT "TRY A6AIN (Y/N) B ;
880 INPUT 04
890 IF 8$="Y" THEN 140
900 IF Q»="N" THEN 2750
910 SOTO 870
920 REN »** HE LANDED ON TUONKY!]
930 PRINT "YOU STEPPED ON THE TUONKY I "
940 SOTO 1790
9S0 REN **« SHOOT ROUTINE
940 PRINT "WHICH KAY (F/B/R/L)";
970 INPUT Q*
980 IF Q*=»F" THEN 1030
990 IF Q»="B" THEN 1040
1000 IF Q»="R" THEN 1120
1010 IF 0»="L" THEN 1090
1020 SOTO 210
1030 LET S1=0
1040 LET S2=-1
-1030 SOTO 1140
1040 LET 51=0
1070 LET S2=1
1080 SOTO 1140
1090 LET S1=-1
1100 LET S2*0
1110 SOTO 1140
1120 LET S1»1
1130 LET S2=0
1140 LET R1=X
1150 LET R2*Y
1140 LET R1=R1+S1
1170 LET R2=R2*S2
1180 PRINT "ZAP --"J
1190 IF R1 < 1 THEN 1240
1200 IF R1 > 15 THEN 1240
1210 IF R2 < 1 THEN 1240
1220 IF R2 > 15 THEN 1240
1230 60T0 1280
1240 PRINT "FIZZLE..."
1250 PRINT "SHOT LEFT HAZE."
1240 PRINT "SHOT HISSED."
1270 60T0 1430
1280 IF A(Rt ,R2) <>2 THEN 1330
1290 PRINT "BLAST!!!!"
1300 PRINT "YOU HIT UALL . "
1310 PRINT "SHOT HISSED."
1320 SOTO 1430
1330 IF A(R1,R2) <> 4 THEN 1140
1340 PRINT " OUCH!!"
1350 PRINT "TUONKY RETREATES."
1340 LET A <R1,R2)=R?
1370 SOSUB 2710
1380 IF A(Z,U) <> THEN 1370
1390 LET A(Z,U)=4
1410 LET X1-Z
1420 LET Y1=U
1430 SOSUB 1450
1440 SOTO 1570
1450 REN »** PRIBNT TUONKY AND OBJECTIVE DISTANCE
1455 PRINT
1440 PRINT "THE TUONKY IS ";
1470 D=(S0R<ABS<m-X)*2+<Y1-Y>-2)>)
1490 PRINT D;
1500 PRINT " UNITS AUAY."
1510 PRINT "THE OBJECTIVE IS "J
1520 D1=(S0R<ABS<X2-X)"2+(Y2-Y)*2>>
1530 PRINT Dl;
1540 PRINT " UNITS AUAY."
1550 PRINT
1540 RETURN
1570 REH »*» TUONKYS LOGIC
1580 IF D<2 THEN 1790
1590 LET Z2=Y1
1400 LET Z1=X1
1410 IF X < XI THEN 1480
1420 IF X > XI THEN 1700
1430 IF Y < Y1 THEN 1440
1440 LET Z2=Y1+1
1450 SOTO 1710
1440 LET Z2=Y1-1
1470 GOTO 1710
1480 LET Z1=X1-1
1490 SOTO 1710
1700 LET Z1*XH1
1710 LET A<X1,Y1)=R9
1720 LET R9»A(Z1,Z2>
1730 LET A(Z1,Z2)=4
1740 LET X1=Z1
1750 LET Y1=Z2
1740 PRINT "TUONKY MOVES...."
1770 60SUB 1450
1780 IF D >= 2 THEN 210
1790 PRINT
1800 PRINT "> > > SCHLOORP !!! < < <"
1810 PRINT "THE TUONKY JUST ABSORBED YOU !! YOU LOSE."
1820 80T0 850
1830 REH *** SET UP NEU NAZE ROUTINE
1840 REN *** 1 'PLAYER, 2-BLOCKED SPACES
1850 REH *** 3=REL0CATI0NS, 4=SUPER TRAP
1840 REN *** SUBJECTIVE, 4°TU0NKY
1870 REN *** 0=EHPTY SPACES
1880 REN *** CLEAR HAZE
1883 FOR B0=1 TO 15
1885 FOR B1=1 TO 15
1890 LET A<BO,B1>=0
1893 NEXT B1
1895 NEXT BO
1910 FOR 1=1 TO 30
1920 SOSUB 2710
1930 IF A(Z,U) <> THEN 1920
1940 LET A(Z,U)=2
1950 NEXT I
1940 REH ♦** PLACE RELOCATIONS
1970 FOR 1=1 TO 22
1 980 GOSUB 2710
1990 IF A<Z,U> <> THEN 1980
2000 LET A(Z,U)=3
2010 NEXT I
2020 REH »•* PLACE THE SPECIAL TRAP
2030 SOSUB 2710
2040 IF A(Z,U) <> THEN 2030
2050 LET A(Z,U)=4
2040 REN »«« PLACE THE PLAYER
2070 SOSUB 2710
2080 IF A(Z,U) <> THEN 2070
2090 LET A(Z,U)=1
2100 LET X=Z
2110 LET Y=M
2120 REN «** PLACE THE OBJECTIVE
2130 SOSUB 2710
2140 IF A(Z,U) <> THEN 2130
2150 LET A(Z,M)=5
2140 LET X2=Z
2170 LET Y2=U
2180 REN *** PLACE THE TUONKY
2190 SOSUB 2710
2200 IF A(Z,U) <> THEN 2190
2210 LET A(Z,U)=4
2220 LET X1=Z
2230 LET Y1=U
2240 RETURN
2250 REN
2310 PRINT "DO YOU UANT INSTRUCTIONS <Y/N>";
2320 INPUT 0$
2330 IF Q»="N" THEN 2700
2340 IF 0* <> "Y" THEN 2310
2350 PRINT:PRINT:PRINT
2380 PRINT "THIS IS THE DANE OF TUONKY."
"YOU HAVE LANOED ON THE PLANET OF TUINKY AND"
"ITS KINS (K0N8:THEIR KIN6 IS KING KONG) HAS "
2430 PRINT "CAPTURED YOU. HE HAS PUT YOU IN A HAZE THAT IS"
2440 PRINT "15 * 15 UNITS LONO. YOU ARE IN THE DARK AND CANNOT"
2450 PRINT "SEE... YOU NUST 6ET TO THE OBJECTIVE SOUARE AND"
2440 PRINT "BE SET FREE."
2470 PRINT
2480 PRINT " HAZARDS INCLUDE:"
2490 PRINT "SQUARES THAT YOU CANNOT 00 INTO (30)."
2500 PRINT "SQUARES THAT RANDONLY THROU YOU AROUND THE NAZE (22)."
2510 PRINT "SQUARE THAT SETS UP A NEU HAZE AND ALL THAT'S IN IT (1)"
2520 PRINT "MONSTER CALLED TUONKY THAT CHASES YOU AND UILL"
2410 PRINT
2420 PRINT
2530 PRINT
2540 PRINT
2550 PRINT
2540 PRINT
2570 PRINT
2590 PRINT
ABSORB YOU IF THE DISTANCE IT IS FROH YOU FALLS"
BELOU 2 UNITS."
TUONKY IS ALSO INNUNE TO ALL TRAPS INCLUDING"
UALLS."
YOU CAN:"
2400 PRINT "HOVE ONE SQUARE AT A TINE TO FIND THE OBJECTIVE"
2410 PRINT
2420 PRINT
2430 PRINT
2440 PRINT
2445 PRINT
2450 PRINT
2440 PRINT
2470 PRINT
2480 PRINT
2490 PRINT
2700 RETURN
2710 REH *** SUBROUTINE TO GET 2 RANDOH NUHBERS
2720 LET Z=INT(RND<1)*15+1)
2730 LET U=INT(RND(1)*15+1)
2740 RETURN
2750 END
OK
OR ESCAPE FRON THE TUONKY."
"SHOOT AT THE TUONKY ONE DIRECTION AT A TIME."
" IF THE TUONKY IS HIT, HE UILL BE REPLACED IN THE"
NAZE RANDOMLY."
"IF THE TUONKY ABSORBS YOU. ..YOU LOSE."
" IF YOU LANB ON THE OBJECTIVE SQUARE YOU UIN."
"GOOD LUCK!"
166
Two-to-Ten
Two-to-Ten is a game of chance
played with a special deck of cards with
only the cards 2-1 0. The game is similar
to blackjack in that you are drawing
cards and trying to come as close as
possible to a goal number (chosen at
random before each round) without
going over it. You must come within a
certain number of points of the goal
number determined by a "lucky-limit"
card. The catch to the game is that you
are not given the exact value of the goal
number but rather a clue that is only
within 15% of the goal.
Can you think of a way to make Two-
to-Ten more interesting? Perhaps play-
ing it against the computer as an
opponent?
Two-to-Ten appeared in Creative
Computing, Nov/Dec 1976.
TUO TO TEX
CREATIVE COMPUTING HORRISTOUN NEU JERSEY
UELCOHE TO THE 6AHE OF TUO TO TEN. THAT NAHE CONES FROH THE
SPECIAL 'DECK OF CARDS' USED. THERE ARE NO FACE CARDS - ONLY
THE CARDS 2-10. THIS 6AHE IS EASY AND FUN TO PLAY IF YOU
UNDERSTAND UHAT YOU ARE D0IN6 SO READ THE INSTRUCTIONS
CAREFULLY.
AT THE START OF THE GAHE, YOU DET ON UINNIN6. TYPE IN ANY
NUNDER BETUEEN AND 200. I THEN PICK A RANDOM NUMBER
YOU ARE TO REACH BY THE SUN TOTAL OF HORE CARDS CHOSEN.
BECAUSE OF THE RARE CHANCE OF YOU 6ETTIN6 TO THAT NUMBER
EXACTLY, YOU ARE 6IVEN AN ALLOWANCE CARD. THE OBJECT OF
THE GAHE OF TO 6ET THE. TOTAL OF CARDS MITHIN THE MYSTERY
NUHBER UITHOUT G0IN6 OVER.
YOU ARE GIVEN A HINT AS TO UHAT THE NUMBER IS. THIS IS NOT
THE EXACT NUMBER ONLY ONE CLOSE. ALL YOU DO IN THIS GAME IS
DECIDE UHEN TO STOP. AT THIS POINT YOUR TOTAL IS COMPARED
WITH THE NUHBER AND YOUR WINNINGS ARE DETERMINED.
PLACE YOUR BET . . . YOU HAVE » 200 TO SPEND.? 50
YOUR 'LUCKY LIMIT' CARD IS A 8
YOU MUST COME UITHIN 8 UITHOUT GOING OVER TO UIN.
HERE UE 60
CARD 11 IS A 3 .YOU ARE TRYIN6 TO COME NEAR 28
YOUR TOTAL IS 3 DO YOU UANT TO CONTINUE? YES
CARD 12 IS A 3 .YOU ARE TRYING TO COME NEAR 28
YOUR TOTAL IS 6 DO YOU UANT TO CONTINUE? YES
CARD 13 IS A ? .YOU ARE TRYING TO COME NEAR 28
YOUR TOTAL IS 13 DO YOU UANT TO CONTINUE? YES
CARD I 4 IS A 6 .YOU ARE TRYIN6 TO COME NEAR 28
YOUR TOTAL IS 21 DO YOU UANT TO CONTINUE? YES
CARD 15 IS A 10 .YOU ARE TRYING TO COME NEAR 28
YOUR TOTAL IS 31 DO YOU UANT TO CONTINUE? NO
YOU UIN! THE NUHBER UAS 32 YOUR GUESS TOTAL UAS 31
UITHIN YOUR LIMIT CARD.
YOU NOU HAVE » 250 IN CASH TO BET IN THE NEXT GAME <
WOULD YOU LIKE TO PLAY THE NEXT GAHE? NO
HOPE YOU HAO FUN.
10 PRINT TAD (28); "TUO TO TEN"
20 PRINT TABU5);"CREATIVE COMPUTING NORRISTOUN NEU JERSEY"
30 PRINT
40 PRINT
50 PRINT
60 PRINT "WELCOME TO THE 6AHE OF TUO TO TEN. THAT NAME COMES FROM THE"
70 PRINT "SPECIAL 'BECK OF CARDS' USED. THERE ARE NO FACE CARDS - ONLY"
80 PRINT "THE CARDS 2-10. THIS GAME IS EASY AND FUN TO PLAY IF YOU"
?0 PRINT "UNDERSTAND UHAT YOU ARE D0IN6 SO READ THE INSTRUCTIONS"
100 PRINT "CAREFULLY."
110 PRINT "AT THE START OF THE GAHE, YOU BET ON WINNING. TYPE IN ANY"
120 PRINT "NUMBER BETUEEN AND 200. I THEN PICK A RANDOM NUHBER"
130 PRINT "YOU ARE TO REACH BY THE SUM TOTAL OF MORE CARDS CHOSEN."
140 PRINT "BECAUSE OF THE RARE CHANCE OF YOU 6ETTIN6 TO THAT NUHBER"
130 PRINT "EXACTLY, YOU ARE GIVEN AN ALLOUANCE CARD. THE OBJECT OF"
160 PRINT "THE GAME OF TO GET THE TOTAL OF CARDS UITHIN THE HYSTERY"
170 PRINT "NUMBER UITHOUT GOING OVER."
180 PRINT "YOU ARE GIVEN A HINT AS TO UHAT THE NUMBER IS. THIS IS NOT"
1?0 PRINT "THE EXACT NUMBER ONLY ONE CLOSE. ALL YOU DO IN THIS GAME IS"
200 PRINT "DECIDE UHEN TO STOP. AT THIS POINT YOUR TOTAL IS COMPARED"
210 PRINT "UITH THE NUMBER AND YOUR WINNINGS ARE DETERMINED."
220 H=200
223 D=0
225 T=0
227 0»INT(10«RND(1))+25
22? N=INT(0»RND(1))+0
230 R=<INTU5*RND(1>)+1>/100
230 S=INT<2»RND<1)t1>
240 IF S <> 1 THEN 270
242 E=INT(N-(N*R>)
243 60TO 280
270 E=INT(N+(N*R>>
280 A»INT<?»RND(11>+2>
283 PRINT
285 PRINT "PLACE YOUR BET . . . YOU HAVE »";M;" TO SPEND.";
287 INPUT B
288 PRINT
28? IF B < THEN 2?7
2?0 IF N >= B THEN 300
2?3 PRINT "YOU CAN'T BET MORE THAT YOU'VE GOT!"
2?5 GOTO 285
2?7 PRINT "YOU MAY NOT BET A6AINST YOURSELF."
2?8 60T0 283
300 PRINT "YOUR 'LUCKY LIMIT' CARD IS A ";A
310 PRINT "YOU MUST COME WITHIN "JA;" WITHOUT GOING OVER TO UIN."
313 PRINT
320 PRINT "HERE WE 60"
322 PRINT
324 PRINT
340 D=>D+1
350 C=INT(?«RND(1)+2)
340 PRINT "CARD l*;D;" IS A ";C;".Y0U ARE TRYING TO COME NEAR "JE
345 T=T+C
370 IF T <= N THEN 380
375 PRINT "YOUR TOTAL IS OVER THE NUMBER" ;N;" AN AUTOMATIC LOSS!"
377 GOTO 370
380 PRINT "YOUR TOTAL IS ";T;" DO YOU UANT TO CONTINUE";
3SS INPUT 01
387 PRINT
3?0 IF LEFT»(0»,1)="Y" THEN 322
410 IF T < N-A OR T > N THEN 550
500 PRINT "YOU UIN! THE NUHBER WAS ";N;" YOUR GUESS TOTAL UAS";T
510 PRINT "UITHIN YOUR LIMIT CARD."
520 M=M+B
540 GOTO 600
550 PRINT "YOU BLEU IT! THE NUMBER UAS ";N;", OUTSIDE YOUR LIMIT BY ";
340 PRINT (N-A)-T
545 PRINT
570 H=M-B
400 PRINT "YOU NOU HAVE $";M;° IN CASH TO BET IN THE NEXT GAME!"
405 IF N <* THEN 655 -
410 PRINT "UOULD YOU LIKE TO PLAY THE NEXT GAME";
61S INPUT Of
420 IF LEFT$(QS,1)="Y" THEN 223
630 PRINT "HOPE YOU HAD FUN."
640 GOTO ???
650 PRINT
655 PRINT CHR»(7>;
640 PRINT "YOU ARE BROKE! ! YOU MAY NOT PLAY ANYMORE! !"
??? END
Ok
167
UFO
UFO is a strategy game in which you
play against the computer in a life-and-
death struggle for superiority of space.
It takes place after a space war with
another planet in which both earth and
the attacker's planet are destroyed.
Both planets— basically similar in
strength, social structure, and scientif-
ic awareness— realizing they are
doomed, launch a "lifeboat" into space.
The lifeboats are equally armed and
powered.
However, the aliens are much better
marksmen, hitting once out of every
two shots (in lines 880-890, the
computer's odds are set). The reason is
as f ol lows. The enemy sh ip's decision is
made by the program; the enemy will
only retreat if he feels you are ramming
and will approach only if you are
running and/or his fuel is running out
(smal ler weaponry eats u p less f uel) . He
will only use option 6 (no move but
gains fuel) if his energy is below a
certain point. In other words, you can
think, while he cannot. You have the
advantage of you r m i nd, so the al ien has
been given the advantage of a good
steady aim.
The game is set in the future: civiliza-
tion is destroyed, 150 people are left,
and you are in command. The enemy
has never truly been seen, as many
enem ies are never truly seen , but never-
theless you must destroy him or be
destroyed. Your weapons are ex-
plained and the game begins. In your
command ship is a control which will
not allow you to make an illegal move.
This control waits after you fire for the
shot to reach the other ship and for the
explosion reports to reach the ship. It
then gives a full report of power drain of
both ships. If your power is not nega-
tive you are still in the game but once it
drops below zero your crew dies (the
energy level is theamount of energy left
to cou nteract the attack. If more energy
hits the ship than was repulsed, theship
is destroyed. If the amounts are equal
then the ship had exactly the same
amount of energy as the attack
drained.) If in any game you can get
close enough to your enemy to use you r
heavy guns without frightening off the
enemy (5000-1 1000), the game will last
for quite a long time. Theoretically this
game will last forever if played logically.
Written by Raymond J. Kernay^UFO
first appeared in Creative Computing
in Jul/Aug 1977. A modified version
called Star Wars appeared in Sep/Oct
1978.
RUN
UFO
CREATIVE CONFUTING
HORRISTQUN NEU JERSEY
00 YOU UANT INSTRUCTIONS? YES
YOU ARE ABOUT TO RECEIVE HIGH SECURITY INFORMATION
PLEASE EAT THE COHPUTER READ OUT AFTER REA0IN6
THIS IS THE YEAR 2000. . .CIVILIZATION AS YOU KH0U IT HAS
BEEN DESTROYED. . .NATIONS HAVE BEEN REDUCED TO RUBBLE
IN A HASSIVE SPACE UAR
YOU ARE ONBOARD A SPACE SHIP UH0SE SOLE PURPOSE
IS TO SAFE 6UARD THE 150 PEOPLE ON YOUR SHIP. ..THE
SOLE SURVIVORS... YOUR MISSION: FIND A PLANET SUITABLE
FOR YOUR COLONISTS PROBLEM: THE ENEMY OF EARTH STILL
EXISTS. STRAN6E CREATURES NEVER SEEN BY MAN
BY THE TIME YOU READ THIS EARTH UILL NO LONGER EXIST...
HERE IS YOUR VITAL DATUM:
YOU ARE EQUIPT UITH 10000 UNITS OF ENERGY
UHEN YOU RUN OUT THE ALIENS UILL DESTROY YOU
UEAP0NRY
TYPE DESCRIPTION CAPACITY FUEL DRAIN
1 HEAVY SUNS 0-11000 10 UNITS
2 UARHEADS 10000-100000 100 UNITS
3 LASER 10000-20000 1000 UNITS
'OPTIONS
4 APPROACH 100 UNITS
5 RETREAT 100 UNITS
6 BY TYPIN6 i YOU CAN PASS AND GAIN 100 UNITS
(LABORERS UORK TO PRODUCE P0UER)
ENEMY
THE ENEMY HAS THE SAME CAPABILITIES THAT YOU HAVE
EACH TIME A SHIP IS HIT ITS ENERGY DRAIN IS EQUAL TO
THE AMOUNT OF ENERGY SPENT»10 (EXCEPT LASER UHICH EQUALS
THE AMOUNT SPENT*3 UNITS)
BOTH SHIPS ARE ON THE SAME MISSION, DESTINATION AND BOTH
ARE ON EQUAL TERMS
UMF0RTUNATLY YOU MUST KILL EACH OTHER TO UIN
YOUR MAXIMUM SPEED IS A JUMP OF 30000 UNITS, HOWEVER
SPEEDS VARY BETWEEN 10000-50000
UARHEADS TRAVEL AT 35000 FEET PER SEC... SHELLS 1000 PER SECOND
THIS MESSAGE UAS RECORDED EARTH IS DEAD...600D LUCK
THIS IS COMPUTER CONTROL UHAT IS YOUR NAME? BRUCE B. S.
VERY 600D BRUCE 8* S.
LEAVING PLANETARY'ORBIT BRUCE B. S. SHIP APPROACHING AT
180025 MILES
UHAT ARE YOUR ORDERS BRUCE B. S.T 2
LETS NOT CRACK UNDER PRESSURE
UHAT ARE YOUR ORDERS BRUCE B. S.T 3
LASER FIRED
DIRECT HIT ENENY SHIP'S P0UER D0UN
ENEMY SHIP REPORT
RANGE" 180025 P0UER* 7000
ENEMY FIRES LASER
DIRECT HIT P0UER D0UN
168
STATUS OF SHIP
RAN6E= 180025 POUER SUPPLY' 4000
UHAT ARE VOUR ORDERS BRUCE B. S.? 3
LASER FIRED
DIRECT HIT EHEHY SHIP'S POUER DOUN
ENEMY SHIP REPORT
RANGE' 18002S POUER= 3000
ENEHY FIRES LASER
DIRECT HIT POUER DOUN
STATUS OF SHIP
RAN6E= 180025 POUER SUPPLY' 2000
UHAT ARE YOUR ORDERS BRUCE B. S.? 3
LASER FIRED
MISSED TOO BAD
ENEHY SHIP REPORT
RANGE' 180025 POUER' 2000
ENEHY FIRES LASER
DIRECT HIT POUER DOUN
STATUS OF SHIP
RANGE' 180025 POUER SUPPLY=-2000
ENEMY IS VICTOR LIFE SUPPORT FADING CREU DYING
PLAY AGAIN? NO
OK
LIST
10 PRINT TAB (24); "UFO"
20 PRINT TAB(1?);"CREATIVE COMPUTING"
30 PRINT TAB<18);"H0RRISTQUN NEU JERSEY"
40 PRINT:PRINT:PRINT
40 DIH P<1)
SO REM UFO
90 PRINT " DO YOU UANT INSTRUCTIONS" ;
100 INPUT At
102 IF LEFT»(A»,1)="N" THEN 480
104 IF LEFT$(A*,1)="Y" THEN 110
104 GOTO 90
110 PRINT "YOU ARE ABOUT TO RECEIVE HIGH SECURITY INFORMATION"
120 PRINT "PLEASE EAT THE COMPUTER READ OUT AFTER READING"
130 PRINT:PRINT:PRINT
140 PRINT "THIS IS THE YEAR 2000. . .CIVILIZATION AS YOU KNOU IT HAS"
150 PRINT "BEEN DESTROYED. . .NATIONS HAVE BEEN REDUCED TO RUBBLE"
140 PRINT "IN A MASSIVE SPACE UAR"
170 PRINT "YOU ARE ONBOARB A SPACE SHIP UHOSE SOLE PURPOSE"
180 PRINT "IS TO SAFE GUARD THE 150 PEOPLE ON YOUR SHIP... THE"
190 PRINT "SOLE SURVIVORS. . .YOUR MISSION: FIND A PLANET SUITABLE"
200 PRINT "FOR YOUR COLONISTS PROBLEM: THE ENEMY OF EARTH STILL"
210 PRINT "EXISTS. STRANGE CREATURES NEVER SEEN BY MAN":PRINT
220 PRINT "BY THE TIME YOU READ THIS EARTH U1LL NO LONGER EXIST
230 PRINT "HERE IS YOUR VITAL DATUM:"
240 PRINT TAB(10);"Y0U ARE EOUIPT UITH 10000 UNITS OF ENERGY"
250 PRINT TAB(10);"UHEN YOU RUN OUT THE ALIENS UILL DESTROY YOU"
240 PRINT :PRINT:PRINT: PRINT TAB(25);"UEAP0NRY"
270 PRINT "TYPE"JTAB<5);"DESCRIPTI0N";TAB<17);"CAPACITY";TAB<24>;
275 PRINT "FUEL DRAIN"
280 PRINT " 1";TAB(5);»HEAVY guns";tab<17> ;"0-i iooo";tab<27> ;
285 PRINT "10 UNITS"
290 PRINT " 2";TAB(5);"UARHEADS";TAB<14>;"10000-100000";TAB<27>;
295 print "100 units"
300 print " 3";tab(5);"laser";tab(13);"10000-20000";tab<27);
305 print "1000 units"
310 print:print:print tabi25) ; "options"
320 print " 4";tab<5);"approach";tab(17>;" ;tab(24);
325 print "100 units"
327 PRINT " 5";TAB(5);"RETREAT";TAB(17);» ";tab<24>;
328 PRINT "100 UNITS"
330 PRINT » 4";TAB(5);"BY TYPING 4 YOU CAN PASS AND GAIN 100 UNITS"
350 PRINT TAB(5) {"(LABORERS UORK TO PRODUCE POUER)"
340 PRINT:PRINT:PRINT TAB(25);"ENEMY"
370 PRINT:PRINT "THE ENEMY HAS THE SAME CAPABILITIES THAT YOU HAVE"
380 PRINT "EACH TIME A SHIP IS HIT ITS ENERGY DRAIN IS EQUAL TO"
390 PRINT "THE AMOUNT OF ENERGY SPENT*10 (EXCEPT LASER UHICH EQUALS"
400 PRINT TAB(30);"THE AHOUNT SPENT»3 UNITS)"
410 PRINT "BOTH SHIPS ARE ON THE SAME MISSION, DESTINATION AND BOTH"
420 PRINT "ARE ON EQUAL TERMS"
430 PRINT "UNFORTUNATLY YOU MUST KILL EACH OTHER TO UIN"
440 PRINT "YOUR' MAXIMUM SPEED IS A JUHP OF 50000 UNITS, HOWEVER"
450 PRINT "SPEEDS VARY BETWEEN 10000-50000"
440 PRINT "WARHEADS TRAVEL AT 35000 FEET PER SEC... SHELLS 1000";
445 PRINT " PER SECOND"
470 PRINT "THIS MESSAGE UAS RECORDED EARTH IS DEAD... GOOD LUCK"
480 PRINT :PR INT: PRINT :PRINT "THIS IS COMPUTER CONTROL UHAT IS YOUR NAME";
490 INPUT A»:PRINT "VERY GOOD ";A»
500 P'10000:P(1 )=10000:A=RND(1)*200000
510 PRINT "LEAVING PLANETARY ORBIT ";A»;B*;C*;" SHIP APPROACHING AT";
512 PRINT
515 PRINT A;"MILES"
520 PRINT "UHAT ARE YOUR ORBERS ";A$;B*;C»; :INPUT C
530 0=INT(RND<1)*2>+1
540 ON C 60T0 570,450,710,750,780,820
540 PRINT "LETS NOT CRACK UNDER PRESSURE" :GOTO 520
570 IF AM1005 THEN 540
580 P=P-10
590 PRINT "GUNS FIRED":
595 FOR X=1 TO A*2 STEP 1000
400 NEXT X
610 IF 0=1 THEN 430
420 PRINT "MISSED TO BAD":G0T0 830
430 PRINT "DIRECT HIT ENEHY SHIP'S POUER DOUN"
440 P(1)=P(1)-100:GOTO 830
450 IF A > 100000 THEN 540
455 IF A < 10000 THEN 540
440 P=P-100:PRINT "UARHEAD LAUNCHED" :FOR X=1 TO A*2 STEP 35000
470 NEXT X
480 IF 0=1 THEN 490:PRINT "MISSED TOO BAD":GOT0 830
690 PRINT "DIRECT HIT ENEMY SHIP'S POUER DOUN"
700 P(1)=P(1)-1000
705 GOTO 830
710 IF A < 100000 THEN 560
714 P=P-1000
714 PRINT "LASER FIRED"
720 IF 0=1 THEN 730
725 PRINT "MISSED TOO BAD" sGOTO 830
730 PRINT "DIRECT HIT ENEMY SHIP'S POUER DOUN"
740 P(1)=P(1)-3000:G0T0 830
750 B=RND(1)*40000+10000:A=A-B:P=P-100:IF A<1 THEN 770
760 GOTO 830
770 PRINT "***COLLISION***":PRINT "BOTH SHIPS DESTR0YED":6OTO 1080
780 B=RND(1)*40000+10000:A=A+B:P=P-100:IF A > 200050 THEN 800
790 GOTO 830
800 PRINT A$;" YOUR RANGE IS ";A;"BUT UE CANNOT RUN, RANGE IS NOU ";
805 PRINT "200000"
810 A=200000:GOTO 830
820 P=P+100
830 PRINT "ENEMY SHIP REPORT":PRINT "RANGE=";A;" P0UER=";P<1)
840 IF P(1) < 1 THEN 1110
850 IF P(1) < 500 THEN 1040
840 IF A < 5000 THEN 1070
870 R=INT(RND(1 )*3)+1 :0=INT(RND( 1 )*2+1 )
880 ON R GOTO 970,920
885 IF R=2 THEN
890 IF A < 100000 THEN 870
892 P(1)=P(1)-1000
894 PRINT "ENEMY FIRES LASER"
900 IF 0=1 THEN 910: PRINT "MISSED. . .UHEU ! ! ":60T0 1010
910 PRINT "DIRECT HIT POUER DOUN" : P=P-3000:GOTO 1010
920 IF A > 100000 THEN 870: IF A < 10000 THEN 870
930 P(1)=P(1)-100: PRINT "ENEMY UARHEAD FIRED"
940 FOR D=1 TO A STEP 35000: NEXT D
950 IF 0=1 THEN 940: PRINT "MISSED... UHEU!":GOTO 1010
940 P»P-1000: PRINT "DIRECT HIT!. ..POUER DOUN":GOT0 1010
970 IF A > 11000 THEN 870: (1 )=P(1 )-10:PRINT "ENEMY FIRES SHELL"
980 FOR D=1 TO A STEP 1000: NEXT D
990 IF 0=1 THEN 1000:PRINT "MISSED. ..UHEU!":GOTQ. 1010
1000 PRINT "DIRECT HIT POUER D0UN":P=P-10O
1010 PRINT:PRINT:PRINT TAB( 1 0) ; "STATUS OF SHIP"
1020 PRINT "RAN6E=";A;"P0UER SUPPLY=";P: IF P<1 THEN 1130
1030 60T0 520
1040 P(1)=P(1)t100: PRINT "ENEMY SHIP RESTING" :G0T0 1010
1050 B'INT<RNB(1)*40000+10000:A=A-B:PRINT "ENEMY SHIP APPROACHING ";A»;B»;
1055 PRINT C$
1040 GOTO 1010
1070 B'RND(1)*40000+10000:A=AtB:PRINT "ENEMY SHIP RETREATING" :GOTO 1O10
1080 PRINT "THAT UAS A PRETTY DUHB THING TO DO ";A»;B*;C$
1090 PRINT "YOUR MISSION IS TO PROTECT YOUR PASSENGERS NOT DESTROY"
1100 GOTO 1140
1110 PRINT "ENEMY SHIPS POUER GONE NO LIFE PRESENT"
1120 PRINT "MISSION SUCCESSFUL":GOTO 1210
1130 PRINT "ENEMY IS VICTOR LIFE SUPPORT FADING CREU DYING"
1140 REM
1150 PRINT
1140 PRINT
1170 PRINT
1180 PRINT "PLAY AGAIN" ;
1190 INPUT A$
1200 IF LEFT«A$,1)="Y" THEN 80
1210 END
169
Under & Over
This is a funny little dice game in
which you're betting on the outcome of
rolling two dice. You may bet on any
number from two to twelve. If your
number is exactly the same as shown
on the sum of the dice, you win at four
to one odds. If your number is under
seven and the roll of the dice is under
seven, you win even money. If your
number is over seven and the roll of the
dice is over seven, you also win even
money. Only a bet on seven itself can
win at four to one. The program goes
on until you run out of money or until
you interrupt it.
RUN
UNDER OR OVER
CREATIVE C0HPUTIN6
HDRRISTOUN, NEU JERSEY
THIS IS A SANE OF UNDER AND OVER. IF YOU PICK
UNDER OR OVER SEVEN, YOU DILL UIN EVEN HONEY.
IF TOU PICK EVEN YOU Mil UIN HONEY AT FOUR TO ONE
OISS. YOU HAVE f 100 TO START WITH. 600D LUCK!
UNAT NUHBER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO DET ON THE NUHBER? 4,10
THE DICE HAVE NOV BEEN THROUN. THE RESULTS
ARE AS F0LL0US:
DIE II DIE 12 SUH YOURN TOSS
2 S 7 * EVEN
MIMYOU LOSE!!!!!
THE AHOUNT YOU HOU HAVE IS 100
UHAT NUNDER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO BET ON THE NUHBER? 4,10
THE DICE HAVE NOV DEEN THROUN. THE RESULTS
ARE AS FOLLOUSt
DIE 11 DIE 12 SUH YOURN TOSS
, 4 J 4 UNDER
...... ..TOU UIN EVEN HONEY*
THE AHOUNT YOU HOU HAVE IS 110
170
UHAT NUHBER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO SET ON THE NUMBER? 7,20
UHAT NUMBER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO BET ON THE NUMBER? 4,2250
THE DICE HAVE NOU BEEN THROUN. THE RESULTS THE DICE HAVE NOU DEEN THROUN. THE
RESULTS
ARE AS FOLLOUS: ARE AS FOLLOUS:
DIE 81 DIE 82 SUH YOURS TOSS DIE 81 DIE «2 SUN Y0UR8 TOSS
5 4 11 7 OVER 1 5 4 4 UNDER
IHMYOU LOSE!!!!!
THE AMOUNT YOU NOU HAVE IS 90
UHAT NUHDER DO YOU UISH TO PLAY AND HOU MUCH
DO YOU UANT TO DET ON THE NUMBER? 8,10
THE BICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUH YOURS TOSS
2 13 8 UNDER
*****t**YOU UIN EVEN MONEY********
THE AMOUNT YOU NOU HAVE IS 4S00
UHAT NUHDER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO BET ON THE NUHDER? 7,4300
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUH YOURS TOSS
3 5 8 7 OVER
!!!!!YOU LOSE!!!!!
THE AMOUNT YOU NOU HAVE IS 80
UHAT NUNBER DO YOU UISH TO PLAY AND HOU MUCH
DO YOU UANT TO BET ON THE NUMBER? 9,20
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUN YOURS TOSS
2 13? UNDER
MM! YOU LOSE' • • • •
THE AHOUNT YOU NOU HAVE IS
THE GAHE IS OVER AND YOU ARE FLAT BROKE. SORRY CHARLIE
THIS PROVES THAT IT IS NOT 6000 TO 6AHBLE
DO YOU UANT TO PLAY A6AIN? NO
Ok
MIMYOU LOSE!!!!!
THE AHOUNT YOU NOU HAVE IS 40
UHAT NUHBER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO DET ON THE NUMBER? 5,10
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUH Y0UR8 TOSS
5 5 10 5 OVER
! ! ! ! !YOU LOSE! ! ! ! !
THE AMOUNT YOU NOU HAVE IS 50
UHAT NUMBER DO YOU UISH TO PLAY AND HOU MUCH
DO YOU UANT TO BET ON THE NUMBER? 6,10
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUH YOUR* TOSS
4 2 6 4 UNDER
**«*****YOU UIN 4 TO 1********
THE AHOUNT YOU NOU HAVE IS 90
UHAT NUHBER DO YOU UISH TO PLAY AND HOU MUCH
DO YOU UANT TO DET ON THE NUHBER? 8,?0
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUM Y0UR8 TOSS
5 3 8 8 OVER
»«.«**»* YOU UIN 4 TO 1********
THE AMOUNT YOU NOU HAVE IS 450
UHAT NUHBER DO YOU UISH TO PLAY AND HOU MUCH
DO YOU UANT TO BET ON THE NUMBER? 7,450
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUM Y0UR8 TOSS
4 17 7 EVEN
t*******YOU UIN 4 TO 1********
THE AMOUNT YOU NOU HAVE IS 2250
UHAT NUHBER DO YOU UISH TO PLAY AND HOU HUCH
DO YOU UANT TO DET ON THE NUMBER? 4,2250
THE DICE HAVE NOU BEEN THROUN. THE RESULTS
ARE AS FOLLOUS:
DIE 81 DIE 82 SUH YOUR* TOSS
4 17 4 EVEN
MIMYOU LOSE!!!!!
THE AHOUNT YOU NOU HAVE IS 2250
100 PRINT TAB(22);"UNDER OR OVER"
110 PRINT TAB (20); "CREATIVE COMPUTING"
120 PRINT TAB(18);"H0RRIST0UH, NEU JERSEY"
130 PRINT:PRINT:PRINT
140 PRINT"THIS IS A GAHE OF UNDER AND OVER. IF YOU PICK"
150 PRINT"UNDER OR OVER SEVEN, YOU UILL UIN EVEN MONEY."
140 PRINT"IF YOU PICK EVEN YOU UILL UIN HONEY AT FOUR TO ONE"
170 PRINT"ODDS. YOU HAVE $100 TO START UITH. GOOD LUCK! ":PRINT:PRINT
180 A=1 00
190 RESTORE
200 REH
210 READ A*,B*,C«
220 DATA "UNDER" , "OVER" , "EVER"
230 PRINT"UHAT NUHBER DO YOU UISH TO PLAY AND HOU HUCH"
240 PRINT-DO YOU UANT TO BET ON THE NUHBER"; : INPUT B,C
250 PR INT :PRINT "THE DICE HAVE NOU BEEN THROUN. THE RESULTS"
260 PRIHFARE AS FOLLOUS:"
270 Q=INT(4*RND<1 ) + 1 >:R=INT<4*RND<1 )*1)
280 PRINT " DIE 81", "DIE 82 " , "SUH" , " YOUR*" , "TOSS"
290 IF 0+R>7 THEN 310
295 IF 0+R=7 THEN 320
300 PRINT Q,R,0+R,B,A$:PRINT
303 IF B=0+R THEN 350
305 IF B<7 THEN 380
307 60T0 410 *
310 PRINT Q,R,Q+R,B,B»:PRINT
313 IF B=0+R THEN 350
315 IF B>7 THEN 380
317 60T0 410
320 PRINT Q,R,Q+R,B,C*:PRINT
330 IF B=Q+R THEN 350
340 GOTO 420
350 A=A+(4*C)
340 PRINT TAB(20)"********YOU UIN 4 TO 1********"
370 PRINT"THE AHOUNT YOU NOU HAVE IS" A :PRINT:GOTO 440
380 A=A+C
390 PRINT TAB(20)"********Y0U UIN EVEN MONEY********"
400 PRINT"THE AHOUNT YOU NOU HAVE IS" A :PRINT:6OT0 440
410 A«A-C
420 PRINT TAB(20)"!!!!!Y0U LOSE!!!!!"
430 PRINT"THE AMOUNT YOU NOU HAVE IS" A :PRINT
440 IF A>0 THEN 190
450 PRINT"THE SAKE IS OVER AND YOU ARE FLAT BROKE. SORRY CHARLIE"
460 PRINFTHIS PROVES THAT IT IS NOT 600D TO 6AMBLE"
470 PRINT"DO YOU UANT TO PLAY AGAIN";: INPUT Ut
480 IF LEFT«(U*,1)="Y" THEN 180
490 END
Ok
171
Van Gam
VAN GAM is a simple game with an
interesting solution set. The winning
sequence pairs are formed by certain
mutually exclusive sequences, using
the golden mean, 1 +
as an irrational
generator. See explanation, lines 40-
130.
IF T = 1 +V5
andX = T + 1,Y = y + 1
then for integers N the winning se-
quence generators are
INT (N * X) 25 7 10 13
INT (N * Y) 1 3 4 6 8
It is interesting to note that the union
of these sequences is the set of
integers, and their intersection is
empty. That is the case, in fact, for any
irrational generator, but only T will
produce winning VAN GAM pairs. The
game is not much fun in that the
average user will never be able to beat
the computer in non-trivial cases,
unless he has been taught the winning
sequences.
This program by Alan Brown first
appeared in Creative Computing,
Jan/Feb 1978.
VANGAH
CREATIVE COMPUTING
M0RRI3T0UN, NEU JERSEY
VAN UTTHOFF'S OAHE: DO YOU UANT INSTRUCTIONS? YES
YOU ARE TO CREATE TUO PILES OF HATCHES, EACH CONTAINING 100
OR LESS. YOU PLAY ALTERNATELY UITH HE, AND OUR H0VES CONSIST
OF:
(A) TAKING AUAY 1 OR HORE HATCHES FR0N ONE PILE ONLY, OR
(S) TAKING AUAY THE SAHE NUHBER FROM EACH PILE.
THE ONE UH0 TAKES AUAY THE LAST HATCH OF ALL UINS.
ENTER YOUR HOVES IN THIS MANNER:
2L - (2 LEFT) TAKE TUO FROM LEFT PILE
3R - (3 RIGHT) TAKE THREE FROM RIGHT PILE
5B - (3 BOTH) TAKE FIVE FRON EACH PILE
DESIRED PILE SIZES (NUHBER, NUMBER)? 17,22
DO YOU UANT TO GO FIRST? YES
LEFT RIGHT
17 22
RUN
YOUR HOVE: ? 3L
HI).. I TAKE : 2B
YOUR HOVE: ? 3B
HH. . I TAKE : 2R
LEAVING 14
LEAVING 12
LEAVING ?
LEAVING ?
22
20
17
15
YOUR HOVE: ? 5R
LEAVING ?
HH.. I TAKE I 3L LEAVING 4
YOUR HOVE: ? 3B
LEAVING 3
HH.. I TAKE : 2R LEAVING 3
LEAVING 3
LEAVING 1
YOUR HOVE: ? 3R
HH. . I TAKE : 2L
YOUR HOVE: ? 1R
LEAVING 1
HH.. I TAKE : IB LEAVING
10
10
SORRY - I UIN. DON'T FEEL BADLY - I'H AN EXPERT.
DO YOU MANY TO PLAY AGAIN? YES
DESIRED PILE SIZES (NUHBER, NUHBER)? 24,14
DO YOU UANT TO 60 FIRST? NO
LEFT RIGHT
24 14
I TAKE :
1L
LEAVING
25
14
YOUR HOVE:
2B
LEAVING
23
14
HH.. I TAKE
1L
LEAVING
22
14
YOUR HOVE:
2B
LEAVING
20
12
HH.. I TAKE
1L
LEAVING
1?
12
YOUR HOVE:
1B
LEAVING
18
11
HH.. I TAKE
1L
LEAVING
17
11
YOUR HOVE:
?
2B
LEAVING
15
HH. . I TAKE
LEAVING
14
YOUR HOVE:
IB
LEAVING
13
HH.. I TAKE
1L
LEAVING
12
YOUR HOVE:
2B
LEAVING
10
4
HH. . I TAKE
1L
LEAVING
YOUR HOVE:
2B
LEAVING
HH.. I TAKE
1L
LEAVING
YOUR HOVE:
1B
LEAVING
HH. . I TAKE
1L
LEAVING
YOUR HOVE:
?
2B
LEAVING
HH. . I TAKE
1L
LEAVIN6
YOUR HOVE:
IB
LEAVING
HH..
YOU UIN!!
CONGRADULATIONS.
GAMESHAK.
YOU ARE A VERY CLEVER VAN UYTHQFF'S
DO YOU UANT TO PLAY AGAIN? NO
O.K. BYE NOU.
OK
172
LIST
5 PRINT TAB(26);"VANGAH"
6 PRIMT TAB(20);"CREATIVE COMPUTING"
7 PRINT TAB(18);"N0RRIST0UN, NEU JERSEY"
8 PRINT:PRINT:PRINT
10 DIH Q(200)
15 X=(1+S8R(5)>/2:Y=1+1/X:X=1+X
14 FOR 1=0 TO V?
17 0<I*2)=INT<I»X):Q<I*2+1>=INT(I*Y)
18 NEXT I:T=0
20 PRINT "VAN UYTHOFF'S 6AHE: DO YOU UANT INSTRUCTIONS";
30 INPUT B*:IF LEFTJ(B$, 1 ) = "N" THEN 130
40 PRINT "YOU ARE TO CREATE TUO PILES OF HATCHES, EACH CONTAINING 100"
50 PRINT "OR LESS. YOU PLAY ALTERNATELY UITH HE, AND OUR HOVES CONSIST"
<S0 PRINT "OF:"
65 PRINT TABOO),"' (A) TAKIN6 AUAY 1 OR HORE HATCHES";
67 PRINT " FROH ONE PILE ONLY, OR"
70 PRINT TAB(10);"(B) TAKING AUAY THE SANE NUMBER FROH EACH PILE."
80 PRINT "THE ONE UHO TAKES AUAY THE LAST HATCH OF ALL UINS."
90 PRINT "ENTER YOUR HOVES IN THIS MANNER:"
100 PRINT TAB(10);"2L - (2 LEFT) TAKE TUO FROH LEFT PILE"
110 PRINT TAB(10);»3R - (3 RI6HT) TAKE THREE FROH RIGHT PILE"
120 PRINT TAB(10);"5B - (5 BOTH) TAKE FIVE FROH EACH PILE"
130 PRINT:PRINT:PRINT
200 INPUT "DESIRED PILE SIZES (NUHBER,NUHBER)";S1,S2
210 L=S1:R=S2
220 IF L+R>5 THEN 240
230 PRINT "OH, YOU'RE A SPORT, YOU ARE."
240 INPUT "DO YOU UANT TO 60 FIRST";B*
255 PRINT TAB(27);"LEFT RIGHT"
257 PRINT TAB(27);L;TAB(33);R
260 P=L*2:IF L>R THEN 400
270 P=R*2
400 IF LEFT»(B*,1)="N" THEN 690
405 IF L=R THEN PRINT "YOU LIKE SITTING SUCKS, DON'T YOU?"
410 PRINTiINPUT "YOUR MOVE: ";B$
415 FOR X=1 TO LEN(Bi)
420 IF ASC(MID*(B»,X,1)><48 OR ASC(HID»(B*,X,1 ))>57 THEN 425
423 NEXT X
425 S3=VAL(MID»(B$,1,X-1))
427 IF S3=0 THEN 460
430 IF HID$(B»,X,1)="L" THEN 550
440 IF HID»(D»,X,1)="R" THEN 570
450 IF HID»(B*,X,1)="B" THEN 590
460 T=T+1 :IF T>2 THEN 1940
470 PRINT:PRINT "IHPROPER ENTRY, STOP F0OLIN6 AROUND. ":GOTO 410
550 IF S3>L THEN 460
555 L=L-S3:G0T0 610
570 IF S3>R THEN 460
575 R=R-S3:60T0 610
590 IF S3>L THEN 460
600 L=L-S3:G0T0 570
610 PRINT TAB(1?);"LEAVIN6";TAB(27);L;TAB(33);R
614 PRINT "HH.. ";
615 FOR 1=1 TO 500:A=A+I:NEXT I
620 IF L+R>0 THEN 490
630 PRINT :PRINT:PRIHT "YOU UIN!!":PRINT
635 PRINT "CONGRADULATIONS. YOU ARE A VERY CLEVER VAN UYTHOFF'S"
637 PRINT "GAHESHAN."
640 GOTO 1900
690 I=0:M=0
700 IF Q(I)=L THEN 760
710 IF Q( 1+1 )=L THEN 780
720 IF Q(I)=R THEN 800
730 IF 0(1+1 >=R THEN 820
740 I=I+2:G0T0 700
760 L1=I:L2=1:IF H=1 THEN 840
770 M=1:60T0 720
780 L1=I:L2=0:IF H=1 THEN 840
790 M=1:60T0 720
800 R1=I:R2=1:IF H=1 THEN 840
810 M=1: 60T0 740
820 R1=I:R2=0:IF M=1 THEN 840
830 M=1: GOTO 740
840 IF L=R THEN 895
845 IF Rl-Lt THEN 1080
850 IF L1>R1 THEN 900
860 P=L1+L2
880 IF Q(P)>R THEN 940
890 H=R-B(P):R=a(P):A»="R":0OT0 1110
895 M=L:L=0:R=0:A»="B":60TO 1110
900 P=R1+R2
920 IF Q(P)>L THEN 940
930 N=L-Q<P):L=Q<P):A»="L":OOTO 1110
940 H=0:A»="B"
950 P=L1:IF RKL1 THEN P=R1
960 P=P-2:B=0
965 H=H+1:L=L-1:R=R-1
970 FOR I=P TO STEP -2
990 IF Q(I)=L THEN 1040
1000 IF 0(I+1)=L THEN 1050
1010 IF Q(I)=R THEN 1060
1020 IF 0(1+1 )=R THEN 1070
1030 NEXT I: GOTO 965
1040 IF 0(I+1)=R THEN 1110
1045 60TO 1075
1050 IF Q(I)=R THEN 1110
1055 GOTO 1075
1060 IF 0(1+1 )=L THEN 1110
1065 60T0 1075
1070 IF Q(I)=L THEN 1110
1075 IF 6=1 THEN 960
1077 8=1:6010 965
1080 IF L>R THEN 1100
1090 R=R-1:H=1:A«="R":G0T0 1110
1100 L=L-1:H=1:A»="L"
1110 B$="":IF N>9 THEN 1930
1113 Bt=CHR»(H+48)
1114 B»=B»+A$
1115 PRINT "I TAKE :";TAB(14);B«;TAB(19);"LEAVING";TAB(27);L;TAB(33);R
1120 IF L+R>0 THEN 410
1130 PRINT:PRINT "SORRY - I UIN. DON'T FEEL BADLY - I'H AN EXPERT."
1900 PRINT:INPUT "DO YOU UANT TO PLAY AGAIN"JB*
1910 IF LEFT$(B»,1)="Y" THEN 130
1920 60T0 1970
1930 B»=CHR*(INT(M/10)+48):B$=B$+CHR*(H-INT(H/10)*10+48)
1935 GOTO 1114
1940 PRINT:PRINT "LOOK, YOU JUST UON'T STOP F00LIN6 ABOUT. BUZZ OFF."
1945 60T0 1970
1970 PRINT:PRINT "O.K. BYE NOU."
1980 END
OK
"Y"
<p(y
173
Warfish
In this game, you're the commander
of an American submarine with a
mission to seek out and destroy as
many Japanese ships as possible
during World War II.
You may up your periscope to search
for Japanese ships, you may launch
your torpedoes, or you may dive to
avoid Japanese ships that are attacking
you.
For the most part, this is a game of
random probabilities. To make it more
interesting, you might wish to introduce
a skill factor in terms of aiming your
submarine or distance away from an
enemy ship, size of the enemy ship, and
so on.
Warfish was written by Randy Wit.
ORDERS, COHHANDER ? TORPEDO
21 TORPEDOES LEFT
NUMBER OF TORPEDOES TO FIRE? 3
3 TORPEDOES FIRED - 1 HITS -FREIGHTER SUNK
ORDERS, COHHANDER
JAPANESE TRANSPORT
PERISCOPE
11300 TONS
ORDERS, COHHANDER ? TORPEDO
18 TORPEDOES LEFT
NUMBER OF TORPEDOES TO FIRE? 3
3 TORPEDOES FIRED - 2 HITS -TRANSPORT SUNK
ORDERS, COHHANDER ? PERISCOPE
JAPANESE AHHUNITION SHIP - 9650
TONS
ORDERS, COHHANDER ? TORPEDO
15 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 2
2 TORPEDOES FIRED - HITS
RUN
UARFISH
CREATIVE COMPUTING
HORRISTOUN, NE'J JERSEY
ORDERS, COHHANDER ? TORPEDO
13 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 3
3 TORPEDOES FIRED - 2 HITS -AMMUNITION SHIP SUNK
DO YOU DESIRE THE RULES OF UARFISH ? YES
YOU CONHAND AN AMERICAN SUBMARINE THAT BEEN SENT OUT
TO ATTACK JAPANESE SHIPS AT SEA DURIN6 UORLD UAR TUO
ORDERS, COHHANDER ? PERISCOPE
JAPANESE AMMUNITION SHIP - f650
TONS
THE ORDERS THAT CAN BE GIVEN ARE THE FOLLOUING:
PERISCOPE - TO SEARCH FOR JAPANESE SHIPS
TORPEDO - TO LAUNCH TORPEDOES AT JAPANESE SHIPS
DIVE - TO ESCAPE JAPANESE SHIPS THAT ARE ATTACKING
ORDERS, COHHANDER ? TORPEDO
10 TORPEDOES LEFT
NUMBER OF TORPEDOES TO FIRE? 2
2 TORPEDOES FIRED - 1 HITS -AMMUNITION SHIP SUNK
THESE ARE SOHE HISTORIC U.S. NAVY SUBHARINES -
TAUTOG, SILVERSIOES, CAVALLA, BLUEFISH, THRESHER
SUORDFISH, FLASHER, TROUT, ARCHER
SELECT ONE OF THE ABOVE, OR USE A NAME OF YOUR CHOICE
PRINT THE NAHE OF TOUR SUBMARINE ? TROUT
JAPANESE TORPEDO BOAT IS ATTACKING
ORDERS, COHHANDER ? PERISCOPE
JAPANESE FREIGHTER - 8100 TONS
ORDERS, COHHANDER ? TORPEDO
8 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 2
2 TORPEDOES FIRED - HITS
ORDERS, COHHANDER ? DIVE
DISTANCE OF JAPANESE TORPEDO BOAT
1500 YARDS
1250 YARDS
1000 YARDS
750 YARDS
500 YARDS
250 YARDS
YARDS
THE USS TROUT IS UNHURT
DEPTH OF USS TROUT
FEET
25 FEET
30 FEET
73 FEET
100 FEET
125 FEET
150 FEET
ORDERS, COHHANDER ? TORPEDO
4 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 3
3 TORPEDOES FIRED - HITS
ORDERS, COHHANDER ? TORPEDO
3 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 2
2 TORPEDOES FIRED - 2 HITS
•FREIGHTER SUNK
ORDERS, COHHANDER ? PERISCOPE
JAPANESE FREIGHTER - 7500 TONS
ORDERS, COMMANDER ? PERISCOPE
JAPANESE TRANSPORT - 11500 TONS
ORDERS, COMMANDER ? TORPEDO
li TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 2
2 TORPEDOES FIRED - HITS
ORDERS, COHHANDER ? TORPEDO
24 TORPEDOES LEFT
NUMBER OF TORPEDOES TO FIRE? 3
3 TORPEDOES FIRED - HITS
ORDERS, COMMANDER ? TORPEDO
1 TORPEDOES LEFT
NUHBER OF TORPEDOES TO FIRE? 1
1 TORPEDOES FIRED - 1 HITS -TRANSPORT SUNK
THE USS TROUT HAS EXPENDED ALL OF ITS TORPEDOES
CONGRATULATIONS ON A SUCCESSFUL DEPLOYMENT
THE SUBMARINE USS TROUT HAS SUNK A TOTAL OF 6 SHIPS
THE ENEMY T0NNA6E SUNK IS 57900 TONS
OK
174
L!ST
1 PRINT TAB(25>"UARFISH"
2 PRINT TAD<20)"CREATIVE C0NPUTIN6"
3 PRINT TARU8PN0RRIST0UN, NEU JERSEY"
5 PRINT
6 PRINT
7 PRINT
8 PRINT
9 DIN A»(72>
10 00=RND(1)
30 PRINT"DO YOU DESIRE THE RULES OF UARFISH ";
40 INPUT X$
50 IF X»="NO" THEN 200
51 IF Xt="YES" THEN 40
52 PRINT"YES OR NO ONLY, PLEASE. "
53 60T0 30
40 PRINT
70 PRINT"YOU COMMAND AN AMERICAN SUBMARINE THAT BEEN SENT OUT"
80 PRINT"TO ATTACK JAPANESE SHIPS AT SEA DURING UORLD UAR TUO"
90 PRINT
100 PRINT" THE ORDERS THAT CAN BE GIVEN ARE THE FQLLOUING:"
110 PRINT'TERISCOPE - TO SEARCH FOR JAPANESE SHIPS"
120 PRINT"TORPEDO - TO LAUNCH TORPEDOES AT JAPANESE SHIPS"
130 PRINT "DIVE - TO ESCAPE JAPANESE SHIPS THAT ARE ATTACKING"
140 PRINT
150 PRINT"THESE ARE SOHE HISTORIC U.S. NAVY SUBMARINES -"
140 PRINT" TAUTOG, SILVERSIDES, CAVALLA, BLUEFISH, THRESHER"
170 PRINT" SUORDFISH, FLASHER, TROUT, ARCHER"
180 PRINT-SELECT ONE OF THE ABOVE, OR USE A NAME OF YOUR CHOICE"
200 PRINT"PRINT THE NAME OF YOUR SUBMARINE ";
210 INPUT A*
220 T=26
230 D=INT(RND<1>*10)
240 IF D<4 THEN 330
250 IF D04 AND DO 7 THEN 270
255 Rt="DESTROYER"
240 0=21 00
270 IF D<>8 THEN290
271 R»="DESTROYER ESCORT"
280 W=1350
290 IF DO? THEN 310
291 R$="TORPEDO BOAT"
300 U-70
310 IF D=4 OR D=7 THEN 313
311 Q=1
312 GOTO 314
313 0=2
314 PRINT
315 PRINT
320 PRINT" JAPANESE ";R»;" IS ATTACKING"
330 IF D>= 4 THEN 340
335 A=INT(RND<1>*10)
340 PRINT
350 PRINT
340 PRINT"ORDERS, COMMANDER ";
370 INPUT C»
371 C*=MID»(C$,1,1)
380 IF C»="P" THEN 420
390 IF C$="T" THEN 780
400 IF CI="D" THEN 990
410 GOTO 340
420 ~IF D>5 OR 9>0 THEN 740
430 IF A>=4 THEN 470
435 R»="FREIGHTER"
440 IF AOO AND AOI THEN 450
445 U=6500
450 IF AO 2 THEN 440
455 U=7500
440 IF A<>3 THEN 470
445 11=8100
470 IF A<>7 AND A08 THEN 490
475 R»="TANKER"
480 IF A<>8 THEN 485
481 11=10000
482 GOTO 490
485 U=?500
490 IF A<>4 AND A<>5 THEN 510
491 R»="TRANSPORT"
500 IF AOS THEN 505
501 lt=1 1 500
502 GOTO 510
505 U=8800
510 IF A<>4 THEN 530
515 R$="AHHUNITIQN SHIP"
520 11=9450
530 IF A>=9 OR A=4 THEN 540
535 0=1
540 IF A<>4 THEN 550
545 0=1
550 IF A<9 THEN 740
540 E=INT(RND(1 )*10)
570 IF EOO THEN 590
575 R»="BATTLESHIP"
580 U=33500
590 IF EOI THEN 410
595 Rf="AIRCRAFT CARRIER"
400 U=25700
410 IF E<>2 THEN 430
415 R»="HEAVY CRUISER"
420 U= 9900
430 IF E<>3 THEN 450
435 R*="LIGHT CRUISER"
440 U=9400
450 IF E<>4 AND E<>5 THEN 470
455 R$="DESTR0YER"
440 U=21 00
470 IF E<>4 AND E<>7 THEN 490
475 R»="SUBHARINE"
480 U=1500
490 IF E<>8 AND EO? THEN 710
700 U-1350
710 IF E<=5 THEN 720
715 0=1
720 IF E<>4 ANDE05 THEN 730
725 0=2
730 IF E<>2 AND E<>3 THEN 740
735 0=3
740 IF E<>1 THEN 750
745 U=4
750 IFEOO THEN 740
755 0=4
740 PRINT"JAPANESE ";R»;" - ";U;" TONS"
770 GOTO 340
780 IF 0>=1 THEN 800
785 PRINT" NO JAPANESE SHIPS IN SIGHT - JUST OCEAN"
790 IF 0<1 THEN 340
800 PRINT TJ" TORPEDOES LEFT"
810 PRINT"NUMBER OF TORPEDOES TO FIRE";
820 INPUT R
830 IF R<0 OR T-R<0 THEN 810
840 IF ROINT(R) THEN 810
850 T=T-R
840 S=INT(RND<1)*10)
870 IF S>R THEN 840
880 0=0-S
890 IF 0<=0 THEN 900
895 0$="DAMAGED"
900 IF 0>=1 THEN 930
905 Q*="SUNK"
910 0=0+11
920 L=L+1
930 PRINT RJ" TORPEDOES FIRED -";s;" HITS";
940 IF SOO THEN 950
945 PRINT
950 IF S<=0 THEN 940
955 PRINT" -"; R»;" "JQ*
940 IF D>5 AND 0>0 THEN 1140
970 IF T<1 THEN 1140
980 IF 0<1 THEN 230
985 GOTO 340
990 IF D>=4 THEN 1000
995 PRINT" THEN USS ";A»;" IS NOT UNDER ATTACK"
1000 IF D<4 THEN 340
1010 U=INT(RND(1 )*10)*250+500
1020 PRINT "DISTANCE OF JAPANESE ";R$;" DEPTH OF USS ";A*
1030 PRINT U;"YARDS ";Z;"FEET"
1040 U=U-250
1050 Z=Z+25
1040 IF U>-250 THEN 1030
1070 IF R«="TORPEDO BOAT " THEN 1100
1080 N=INT(RND<miO>»25+50
1090 IF N+24>Z AND N-24<Z THEN 1120
1099 U=Z=0
1100 PRINT"THE USS ";A»;" IS UNHURT"
1110 0=0
1111 60T0 230
1120 PRINT"THE USS ";M;" HAS BEEN SUNK BY DEPTH CHARGES"
1130 60T0 1180
1140 PRINFTHE USS "At;" HAS BEEN SUNK BY GUNFIRE"
1150 GOTO 1180
1140 PRINT"THE USS ";A»;" HAS EXPENDED ALL OF ITS TORPEDOES"
1170 IF 0<=0 THEN 1180
1175 PRINT"C0N6RATULATI0NS ON A SUCCESSFUL DEPLOYMENT"
1180 PRINT
1190 PRINT" THE SUBMARINE USS ";A»;" HAS SUNK A TOTAL OF";L;" SHIPS"
1200 PRINT" THE ENEMY TONNAGE SUNK IS "JO;" TONS"
1210 END
OK
175
Word Search Puzzle
This program generates the im-
mensely popular word-search puzzles
containing names of Presidents, states,
types of animals, fish, and every
manner of objects. It asks you the
length and width of the puzzle you wish
generated and then the number of
words to be hidden in the puzzle. As the
instructions note, occasionally the com-
puter may find that it can't hide a
particular word in the puzzle and will
ask you if it should start over or if you
want that particular word deleted. If
you start over, try giving it fewer words
or larger puzzle dimensions. The
program hides the words fairly ef-
ficiently although you can usually
improve on it slightly when you get the
final puzzle out. Since you're probably
just using this program for fun, it's
generally more than adequate.
This word search puzzle generator
was originated by Leor Zolman.
HOU MANY COLUMNS DOES YOUR PRINTER HAVE? 72
DO YOU WANT A SOLUTION PRINTOUT? YES
UHAT IS TO BE THE UIDTH OF THE PUZZLE? 15
THE LENGTH? 15
UHAT IS THE MAX {HUM NUMBER OF UORDS IN THE PUZZLE? 10
NOU ENTER A HEADING THAT UILL BE PRINTED OVER THE PUZZLE:
( 72 CHARACTERS MAXIMUM ! )
? COMPUTER LANGUAGES
OX . . . ENTER A UORD AT EACH QUESTION MARK.
TO REDO THE PREVIOUS UORD, TYPE A HYPHEN (-).
UHEN YOU RUN OUT OF UORDS, TYPE A PERIOD (.).
? BAS*J-« IC
-basic-
? FOR) (*STRAN
-fortran-
? P L I
-pli-
? C B L++*';
-cobol-
? ASSEHBNLER
-assenbnler-
■> -
REDO assenbnler. . .
? ASSEMBLER
-assembler-
? RPG
-rp9-
? AL60L
-algol-
? LISP
-lisp-
? SN0B0L
-snobol-
? PILOT
-pilot-
THAT'S IT... 10 UORDS.
NOU LET ME PONDER THIS
HOU MANY COPIES OF THIS PUZZLE DO YOU UANT? 1
FOR EACH COPY, HIT RETURN TO BEGIN PRINTING...
COMPUTER LANGUAGES
K
A
s
Y
T
T
RUM
S
J
UORD SEARCH PUZZLE
I
A
CREATIVE COMPUTING
R
J
NORRISTOUN, NEU JERSEY
I
L
Z
B
THIS PROGRAM IS A UORD SEARCH PUZZLE GENERATOR! !
T
I
THE PROGRAM TAKES A SET OF INPUT STRINGS, PUR6ES ALL
Y
T
NON-ALPHABETIC CHARACTERS OUT OF THEM, AND INCORPORATES
THEM INTO A UORD SEARCH PUZZLE.
L
A
U
A
IN THE COURSE OF MAKING THE PUZZLE, THE MACHINE MAY
FIND THAT IT CAN'T PUT A PARTICULAR UORD ANYUHERE, AND
SO UILL ASK YOU IF IT SHOULD START THE UHOLE PUZZLE FIND THESE HIDDEN UORDS IN THE
ABOVE PUZZLE:
OVER. IF YOU DON'T UANT IT TO START OVER, TYPING NO'
UILL THROU AUAY THAT PARTICULAR UORD. IF THIS PERSISTS, algol assenbler basic cobol
fortran
TRY EITHER GIVING LESS UORDS OR BIGGER PUZZLE DIMENSIONS! lisp pilot pli rpg snobol
176
HERE IS THE ANSUER KEY:
.... I
. . . . L G
. . . . .
. . T . . .
I. .... B
S B . . .
.HI. .
B . B E . .
B P . . S T
I R . R S
.LCD,.
. . N . . .
. S
N .
A .
. F
.
FIND THESE HIDDEN UORDS IN THE ABOVE PUZZLE:
algol
lisp
assenbler
pilot
basic
pli
cobol
rpg
fortran
snobol
LIST
10 PRINT TAB < 20); "UORD SEARCH PUZZLE"
20 PRINT TAB<20);"CREATIVE"C0MPUTING"
30 PRINT TAB(18);"H0RRIST0UN, NEU JERSEY"
40 PRINT:PRINT:PRINT
50 PRINT " THIS PROGRAM IS A UORD SEARCH PUZZLE GENERATOR ! ! "
60 PRINT "THE PROGRAM TAKES A SET OF INPUT STRINGS, PURGES ALL"
70 PRINT "NON-ALPHABETIC CHARACTERS OUT OF THEM, AND INCORPORATES"
80 PRINT "THEN INTO A UORD SEARCH PUZZLE."
90 PRINT
100 PRINT " IN THE COURSE OF MAKING THE PUZZLE, THE MACHINE MAY"
110 PRINT "FIND THAT IT CAN'T PUT A PARTICULAR UORD ANYUHERE, AND"
120 PRINT "SO UILL ASK YOU IF IT SHOULD START THE UHOLE PUZZLE"
130 PRINT "OVER. IF YOU DON'T UANT IT TO START OVER, TYPING 'NO'"
140 PRINT "MILL THROU AUAY THAT PARTICULAR UORD. IF THIS PERSISTS,"
150 PRINT "TRY EITHER GIVING LESS UORDS OR BIGGER PUZZLE DIMENSIONS!"
UO PRINT:PRINT
280 CLEAR 3000
300 DEF FNA(Z)=INT(RND(1)*Z+1)
310 INPUT "HOU MANY COLUMNS DOES YOUR PRINTER HAVE»;TU
320 INPUT "DO YOU UANT A SOLUTION PRINTOUT";X»
330 INPUT "MHAT IS TO BE THE UIDTH OF THE PUZZLE";U:ND=U
340 IF U*2<=TM THEN 345
343 PRINT "THAT UILL NOT FIT IN»;TU;" COLUMNS.": SOTO 330
345 IF U<1 THEN 330
350 INPUT "THE LENGTH";L:IF L>U THEN HD=L
355 IF L<1 THEN 350
340 INPUT "UHAT IS THE MAXIMUM NUMBER OF UORDS IN THE PUZZLE";M
370 IF N>=2 THEN 380
375 PRINT "SORRY; THERE HOST BE AT LEAST 2 UORDS.": GOTO 340
380 PRINT
3?0 DIM A»(L,U),U»(H)
400 DIH U(H,3),DXV(S,2),DD(28)
410 PRINT "NOU ENTER A HEADING THAT UILL BE PRINTED OVER THE PUZZLE:"
420 PRINT "("JTU;"CHARACTERS MAXIMUM! )"
430 INPUT XY*
440 PRINT "OK . . . ENTER A UORD AT EACH QUESTION HARK."
450 PRINT "TO REDO THE PREVIOUS UORD, TYPE A HYPHEN <-)."
440 PRINT "UHEN YOU RUN OUT OF UORDS, TYPE A PERIOD (.)."
470 FOR 1=1 TO H
480 INPUT TI:IF T$="-» THENI=I-1 :PRINT "REDO ";U*<I);\ . .»:O0T0 480
490 IF T»=»." THEN N=I-1:G0T0 640
500 IF LEN<T$>=0 THEN PRINT "INPUT ERROR; RED0:":GOTO 480
510 J=1
520 TE»=HID*<T»,J,1>:IF TE*>="a" AND TE$<="2" THEN 570
525 IF TE*<"A" OR TE»>"Z" THEN 530
527 TJ=LEFT$(T$,J-1)+CHR*(ASC(MID»(T»,J,1))+32)+RIGHT»(T*,LEN(T»)-J)
530 IF TE»=T» THEN T»="": GOTO 500 <■ —
540 IF J=LEN<T») THEN T$=LEFT»<T*,J-1 ):GOTO 580 "-»:GOT0570
550 IF J=1 THEN Tt=RI6HT$(T$,LEN<T»>-1 >:J=J-1 :G0TO 570
540 T4=LEFT»(T$,J-1)+RI8HT»<T»,LEN(T$)-J):J=J-1
570 J=J+1:IF J<=LEN<T») THEN 520
580 PRINT »-»;t$;«-"
600 IF LEN(T»X=MD THEN 610
605 PRINT "THAT'S TOO LONG, I'M AFRAID.";
607 PRINT " TRY ANOTHER 0NE:":QOT0 480
610 FOR IZ=1 TO 1-1: IF U»(IZK>T$ THEN NEXT:60T0 630
620 PRINT "YOU ENTERED THAT ONE ALREADY. TRY ANOTHER:":60TO 460
630 UIU)=T*
640 NEXT I
650 PRINT "THAT'S IT...";H;"UORDS."
660 PRINT "NOU LET ME PONDER THIS "
680 FOR 1=1 TO M-1
685 FOR J=I+1 TO H
690 IF LEN(Ut(I)> < LEN<U»(J)> THEN HZ»=U> < I ) :US( I >=U*( J) :U»( J)=HZ$
700 NEXT:NEXT
710 FOR 1=1 TO 8:READ DXYU.I ),DXY(I,2):NEXT
720 FOR 1=1 TO 28:READ DD(I):NEXT
730 DATA 0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1
740 DATA 2,4,6,8,2,4,4,8,2,4,4,8,2,4,6,8,2,4,6,8,2,4,6,8,1,3,5,7
750 FOR 1=1 TO M
760 LN=LEN<U*U)>
770 NT=0
790 SD=DD(FNA(28)) X
800 SX=FNA(U):X1=SX+(LN-1)*DXY(SD,1):IF XK1 OR X1>U THEN 790
810 SY=FNA(L):X1=SYt(LN-1)»DXY(SD,2):IF XK1 OR X1>L THEN 790
820 NT=NT*1:IF NTOU*L*2 THEN 850
830 PRINT "COULDN'T FIT '";U$(D;"' IN THE PUZZLE."
832 INPUT "DO YOU UANT ME TO START OVER";A$
834 IF LEFT»(A*,1)="y" THEN 750
836 U»(I)="":GOTO 950
850 J=SY:K=SX
840 FOR P=1 TO LN
870 IF LEN(A*(J,K)) AND A«(J,K)OMID*(U*(I) ,P,1 ) THEN 790
880 J=J+DXY(SD,2>:K=K+DXY(SD,1>:NEXT P
900 J=SY:K=SX
910 FOR P=1 TO LN:A$(J,K)=MID»(U»(I),P,1)
920 J=J+DXY<SD,2):K=KtDXY<SD,1):NEXT
940 U(I,1)=SX:U<I,2)=SY:U<I,3>=SD
950 NEXT I
970 FOR 1=1 TO L
975 FOR J=1 TO U
980 IF A$(I,J)="" THEN A*( I, J )=CHR»(FNA< 261+94 )
990 NEXT:NEXT
1010 FOR 1=1 TO M-1:F0R J=I+1 TO N
1020 IF U$(IX=U»(J) THEN 1030
1021 HZ$=U<(I):U$(I)=Ut(J):U$(J)=HZ$
1025 FOR K=1 TO 3:HZ=U(I,K):U(I,K)=U(J,K):U(J,K)=HZ:NEXT K
1030 NEXTJ:NEXT I
1040 INPUT "HOU MANY COPIES OF THIS PUZZLE DO YOU UANT";N
1050 PRINT "FOR EACH COPY, HIT RETURN TO BEGIN PRINTING..."
1060 FOR C=1 TO N:60SUB 1070:NEXT:60T0 1230
1070 INPUT A»:PRINT
1080 T=(TU-2*U)/2:PRINT
1090 PRINT
1100 PRINT TAB((TU-LEN(XY$))/2);XY»
1110 PRINT :PRINT
1120 FOR J=1 TO L:PRINT TAB(T);
1130 FOR K=1 TO U:IF A*(J,K)="." THEN PRINT ". ";:GOTO 1140
1135 PRINT CHR$(ASC(A$(J,K))-32);" ";
1140 NEXT:PRINT:NEXT
1150 PRINT:PRINT
1160 PRINT "FIND THESE HIDDEN UORDS IN THE ABOVE PUZZLE:"
1170 PRINT
1180 FOR J=1 TO H:IF LEN(U»(J))=0 THEN 1210
1190 IF POS(O) + LEN(U$<J)) > TU-2 THEN PRINT
1200 PRINT U$(J),
1210 NEXT:PRINT:PRINT:PRINT:PRINT
1220 RETURN
1230 IF LEFT$(X$,1)="Y" OR LEFT$(X$,1 )="y" THEN 1250
1240 END
1250 REN
1260 FOR 1=1 TO L:FOR J=1 TO U:A$(I,J)=".":NEXTJ:NEXTI
1270 FOR 1=1 TO M
1280 LN=LEN(U»(I)):J=U(I,2):K=U(I,1)
1290 FOR P=1 TO LN
1300 A$(J,K)=MID*(U$(I),P,1)
1310 J=J+DXY(U(I,3),2):K=K+DXY(U(I,3),1):NEXT P
1320 NEXT I
1330 XY«="HERE IS THE ANSUER KEY:"
1340 60SUB 1070
1350 PRINT:PRINT
1360 END
Oil
177
Wumpus I
The Genesis of Wumpus
Two years ago I happened by People's Computer
Company (PCC) and saw some of their computer games —
such as Hurkle, Snark, and Mugwump. My reaction was:
"EECH!!" Each of these games was based on a 10 x 10 grid
in Cartesian co-ordinates and three of them was too much
for me. I started to think along the lines of: "There has to
be a hide and seek computer game without that (exp.
deleted) grid!!" In fact, why not a topological computer
game — i magine a set of points connected in some way and
the player moves about the set via the interconnections.
That afternoon in meditation the phrase "Hunt the
Wumpus" arrived, and Wumpus was born. He's still a bit
vague in physical detail as most dedicated Wumpus hunters
know, but appearances are part of the game. (If you like,
send me a picture of your version of a Wumpus. Perhaps
friendly Dave, our editor, will publish the best one in
Creative Computing.) The grid I chose was the vertices of a
dodecahedron — simply because it's my favorite Platonic
solid and once, ages ago, I made a kite shaped like one. The
edges became the connecting tunnels between the caves
which were the set of points for the game.
My basic idea at this time was for the player to approach
the Wumpus, back off, and come up to him by going
around the dodecahedron. To my knowledge, this has never
happened . . . most players adopt other strategies rather
than this cold-blooded approach.
Anyway . . . how to get the Wumpus! How about an
arrow which could turn corners as it goes from room to
room. Let the hunter tell the arrow where to go and let it
fly. The shortest round trip without reversals is 5 caves —
and thus the Crooked Arrow.
Hmmm . . . How does one sense the Wumpus? It's dark
in yonder cave, and light would wake him up. If one got
one cave away, the wum pus's distinct smell would serve as a
warning. So far, so good . . . but Wumpus is still too easy,
so let's find some appropriate hazards for the caves.
Bottomless pits were easy. Any imaginary cave would
have a few of those around the place. Superbats were
harder to come by. It took me a day or two to get that
idea. The Superbats are a sort of rapid transit system gone a
little batty (sorry about that one). They take you a random
distance to a random cave and leave you there. If that's a
pit or a Wumpus, well, you are in Fate's hands.
Around this time, I saw that Map-making would be a
regular activity of Wumpus-hunters. I numbered the caves
and made the scheme fixed in the hopes a practised player
might notice this and make himself a permanent map of the
caverns. (Another unrealised hope — as an exercise, make
yourself such a map on a Squashed Dodecahedron).
To start the game fairly, Wumpus, Hazards, and Hunter
are located on different points at the start of the game.
Each game starts with random choices of location, but the
hunter may restart with the same set-up if he chooses. This
allows re-plays if the hunter, say, fell into a pit on the first
move.
Wumpus was nearly done in my mind . . . (hint to a
games-writer: Have a clear notion of your game before you
start coding it. This saves MUCH confusion.) yet I felt it
was a bit dull. Once you found the Wumpus all you had to
do was shoot it. To fix this, the Wumpus was given a little
life. If you shot an arrow or moved into his cave, he woke
up and chose to move to a neighboring room or to the same
room (one of 4 choices). If you and the Wumpus were in
the same room after he moved, he ATE YOU UP! !
Around here I noticed that the pits and the bats didn't
affect the Wumpus. To explain this, I added some color by
making him heavy and with the legendary sucker feet. After
all, evolution works in strange ways!! If you are a Wumpus
fiend,make a version of Wumpus in which he avoids pits and
superbats can carry him only one room (with the possibility
of being dumped into your cave). This can be done by
making the wumpus moving procedure a subroutine.
I wrote Wumpus and dropped it off at PCC. Then I went
home and dreamed up Wumpus 2.
The Birth of Wumpus
Around a month later, I went to the Synergy conference
at Stanford, where many of the far-out folk were gathered
to share their visions of improving the world. PCC had a
few terminals running in a conference room and I dropped
by. To my vast surprise, all of the terminals were running
Wumpus and scraps of paper on the floor with scrawled
numbers and lines testified that much dedicated Wumpus-
hunting was in progress. I had spawned a hit computer
game!!!
Later, PCC published Wumpus in its newsletter, and
Creative Computing published it in their Sep/Oct 1975
issue.
Wu mpus a nd this writeup are the products of the ta lented
and creative Gregory Yob.
178
UUHPUS
CREATIVE COMPUTING MORRISTOUN, NEU JERSEY
INSTRUCTIONS <Y-N>? Y
UELCOHE TO 'HUNT THE UUHPUS'
THE UUHPUS LIVES IN A CAVE OF 20 ROOMS. EACH ROOM
HAS 3 TUNNELS LEADING TO OTHER ROOHS. (LOOK AT A
DODECAHEDRON TO SEE HOU THIS UORKS-IF YOU DON'T KNOU
UHAT A DODECHADRON IS, ASK SOHEONE)
HAZARDS:
BOTTOHLESS PITS - TUG ROOHS HAVE BOTTOMLESS PITS IN THEN
IF YOU 60 THERE, YOU FALL INTO THE PIT U LOSE!)
SUPERBATS - TUO OTHER ROOHS HAVE SUPER BATS. IF YOU
SO THERE, A BAT GRABS YOU ANB TAKES YOU TO SONE OTHER
ROOH AT RANDOH. (UHICH HI6HT BE TROUBLESOME)
UUHPUS:
THE UUHPUS IS HOT BOTHERED BY THE HAZARDS (HE HAS SUCKER
FEET AND IS TOO BI6 FOR A BAT TO LIFT). USUALLY
HE IS ASLEEP. TUO THINGS THAT UAKE HIN UP: YOUR ENTERING
HIS ROOH OR YOUR SH00TIN6 AN ARROU.
IF THE UUHPUS UAKES, HE MOVES (P=.75) ONE ROOH
OR STAYS STILL (P=.25>. AFTER THAT, IF HE IS UHERE YOU
ARE, HE EATS YOU UP (S YOU LOSE!)
YOU:
EACH TURN YOU HAY HOVE OR SHOOT A CROOKED ARROU
HOVING: YOU CAN 60 ONE ROOH (THRU ONE TUNNEL)
ARROUS: YOU HAVE S ARROUS. YOU LOSE UHEN YOU RUN OUT.
EACH ARROU CAN 66 FROM 1 TO S ROOHS. YOU AIM BY TELLING
THE COKPUTER TTHE R00M8S YOU UANT THE ARROU TO GO* TO.
IF THE ARROU CAN'T 60 THAT UAY (IE NO TUNNEL) IT MOVES
AT RANDOH TO THE NEXT ROOH.
IF THE ARROU HITS THE UUHPUS, YOU UIN.
IF THE ARROU HITS YOU, YOU LOSE.
UARNIN6S:
UHEH YOU ARE ONE ROOM AUAY FROH UUHPUS OR HAZARD,
THE COHPUTER SAYS:
uuhpus- 'i Shell a uuhpus'
BAT - 'BATS NEARBY'
PIT - 'I FEEL A DRAFT '
HUNT THE UUNPUS
BATS NEARBY!
YOU ARE IN ROOH 7
TUNNELS LEAD TO 6 8 17
SHOOT OR HOVE <S-H>? H
UHERE TO? 8
ZAP — SUPER BAT SNATCH! ELSEUHEREVILLE FOR YOU!
I FEEL A DRAFT!
YOU ARE IN ROOK 20
TUNNELS LEAD TO 13 16 19
SHOOT OR HOVE <S-H>? M
UHERE TO? 13
YOU ARE IN ROOM 13
TUNNELS LEAD TO 12 14 20
SHOOT OR HOVE (S-M)? H
UHERE TO? 14
YOU ARE IN ROOM 14
TUMNELS LEAD TO 4 13 13
SHOOT OR HOVE <S-H>? H
UHERE TO? 15
I FEEL A DRAFT!
YOU ARE IN ROOH IS
TUNNELS LEAD TO 6 14 14
SHOOT OR HOVE (S-H>? 6
SHOOT OR HOVE (S-M)? H
UHERE TO? 6
YOU ARE IN ROOM 4
TUNNELS LEAD TO 5 7 15
SHOOT OR HOVE (S-H>? S
SHOOT OR HOVE (S-H>? M
UHERE TO? 5
YOU ARE IN ROOH S
TUNNELS LEAD TO 1 4 4
SHOOT OR HOVE (S-H>? H
UHERE TO? 4
YOU ARE IN ROOM 4
TUNNELS LEAD TO 3 S 14
SHOOT OR HOVE (S-H>? M
UHERE TO? 3
I FEEL A DRAFT!
YOU ARE IN ROOM 3
TUNNELS LEAD TO 2 4 12
SHOOT OR HOVE (S-M)? H
UHERE TO? 12
I SMELL A UUHPUS!
YOU ARE IN ROOH 12
TUNNELS LEAD TO 3 11 13
SHOOT OR HOVE (S-H>? S
NO. OF ROOHSd-S)? 1
ROOH I? 11
AHA! YOU GOT THE UUHPUS!
HEE HEE HEE - THE UUMPUS'LL GETCHA NEXT TIHE ! !
LIST
10 PRINT TAB(33);"UUMPUS"
20 PRINT TAB(15);°CREATIVE COMPUTING MORRISTOUN, NEU JERSEY"
22 PRINT
24 PRINT
24 PRINT
30 PRINT "INSTRUCTIONS <Y-N>";
40 INPUT II
50 IF I»="N" THEN 60
55 GOSUB 1000
40 REH- SET UP CAVE (DODECAHEDRAL NODE LIST)
70 DIM S(20,3)
80 FOR J=1 TO 20
90 FOR K=1 TO 3
100 READ S(J,K)
110 NEXT K
120 NEXT J
130 DATA 2,5,8,1,3,10,2,4,12,3,5,14,1,4,4
140 DATA 5, 7, 15, 6, 8, 17, 1,7,?, 8, 10, 18, 2, 9, 11
150 DATA 10,12,19,3,11,13,12,14,20,4,13,15,4,14,14
140 DATA 15,17,20,7,16,18,9,17,19,11,18,20,13,14,19
170 DEF FNA(X)=INT(20»RND<1))+1
180 DEF FNB(X)=INT(3*RND(1 ))+1
190 DEF FNC(X)=INT(4*RND(1 )H+1
200 REH- LOCATE L ARRAY ITEMS
210 REH- 1-Y0U,2-UUHPUS,3J4-PITS,5S4-BATS
220 DIH L(4),H(4)
230 FOR J=1 TO 6
240 L(J)=FNA(0)
260 H(J)=L(J)
270 NEXT J
280 REM- CHECK FOR CROSSOVERS (IE L(1)=L(2) ETC)
290 FOR J=1 TO 6
300 FOR K=J TO 6
310 IF J=K THEN 330
320 IF L(J)»L(K) THEN 240
330 NEXT K
340 NEXT J
350 REH- SETH ARROS
179
360 A=5
365 L=L( 1 )
370 REM- RUN THE CAME
375 PRINT "HUNT THE UUNPUS"
380 REM- HAZARD DARNINGS t LOCATIONS
390 GOSUB 2000
400 REM- MOVE OR SHOOT
410 GOSUB 2500
420 ON GOTO 440,480
430 REN- SHOOT
440 GOSUB 3000
450 IF F=0 THEN 390
460 GOTO 500
470 REM- HOVE
480 60SUB 4000
490 IF F=0 THEN 390
500 IF F>0 THEN 550
510 REM- LOSE
520 PRINT "HA HA HA - YOU LOSE!"
S30 60T0 560
S40 REM- UIN
550 PRINT "HEE HEE HEE - THE WUMPUS'LL GETCHA NEXT TIME!!"
560 FOR J=1 TO 6
570 L(J)=M(J)
580 NEXT J
590 PRINT "SAME SET-UP (Y-N)";
600 INPUT 1$
610 IF 1$ <> "Y" THEN 230
620 GOTO 360
1000 REM- INSTRUCTIONS
1010 PRINT "UELCOHE TO 'HUNT THE UUNPUS'"
1020 PRINT " THE UUHPUS LIVES IN A CAVE OF 20 ROOMS. EACH ROOM"
1030 PRINT "HAS 3 TUNNELS LEADING TO OTHER ROOMS. (LOOK AT A"
1040 PRINT "DODECAHEDRON TO SEE HOU THIS UORKS-IF YOU DON'T KNOU"
1050 PRINT "UHAT A DODECHADRON IS, ASK SOMEONE)"
1060 PRINT
1070 PRINT " HAZARDS:"
1080 PRINT "BOTTOMLESS PITS - TUO ROOMS HAVE BOTTOMLESS PITS IN THEM"
1090 PRINT " IF YOU GO THERE, YOU FALL INTO THE PIT <S LOSE!)"
1100 PRINT "SUPERBATS - TUO OTHER ROOMS HAVE SUPER BATS. IF YOU"
1110 PRINT " GO THERE, A BAT GRABS YOU AND TAKES YOU TO SOME";
1115 PRINT " OTHER"
1120 PRINT " ROOM AT RANDOM. (UHICH MIGHT BE TROUBLESOME)"
1130 PRINT
1140 PRINT " UUHPUS:"
1150 PRINT "THE UUMPUS IS NOT BOTHERED BY THE HAZARDS (HE HAS SUCKER"
1160 PRINT "FEET AND IS TOO BIG FOR A BAT TO LIFT). USUALLY"
1170 PRINT "HE IS ASLEEP. TUO THINGS THAT UAKE HIM UP: YOUR ENTERING"
1180 PRINT "HIS ROOH OR YOUR SHOOTING AN ARROU."
1190 PRINT " IF THE UUMPUS UAKES, HE MOVES <P=.75) ONE ROOM"
1200 PRINT "OR STAYS STILL <P=.25>. AFTER THAT, IF HE IS WHERE YOU"
1210 PRINT "ARE, HE EATS YOU UP (8 YOU LOSE!)"
1220 PRINT
1230 PRINT " YOU:"
1240 PRINT "EACH TURN YOU MAY MOVE OR SHOOT A CROOKED ARROU"
1250 PRINT " MOVING: YOU CAN GO ONE ROOM (THRU ONE TUNNED"
1260 PRINT " ARROUS: YOU HAVE 5 ARROUS. YOU LOSE UHEN YOU RUN OUT.
1270 PRINT " EACH ARROU CAN GO FROM 1 TO 5 ROOMS. YOU AIM BY ";
1275 PRINT "TELLIN6"
1280 PRINT " THE COMPUTER TTHE ROOMSS YOU UANT THE ARROU TO 60 TO.
1290 PRINT " IF THE ARROU CAN'T 60 THAT UAY (IE NO TUNNEL) IT ";
1295 PRINT "MOVES"
1300 PRINT " AT RANDOM TO THE NEXT ROOM."
1310 PRINT " IF THE ARROU HITS THE UUMPUS, YOU UIN."
1320 PRINT " IF THE ARROU HITS YOU, YOU LOSE."
1330 PRINT
1340 PRINT " WARNINGS:"
1350 PRINT " UHEN YOU ARE ONE ROOM AUAY FROM UUMPUS OR HAZARD,"
1360 PRINT " THE COMPUTER SAYS:"
1370 PRINT "UUMPUS- 'I SHELL A UUMPUS'"
1380 PRINT "BAT - 'BATS NEARBY'"
1390 PRINT "PIT - 'I FEEL A DRAFT'"
1400 PRINT
1410 RETURN
2000 REM- PRINT LOCATION S HAZARD WARNINGS
2010 PRINT
2020 FOR J= 2 TO 6
2030 FOR K=1 TO 3
2040 IF S(L(1),K)OL(J) THEN 2110
2050 ON J-1 GOTO 2060,2080,2080,2100,2100
2060 PRINT "I SMELL A UUHPUS!"
2070 60TO 2110
2080 PRINT "I FEEL A DRAFT!"
2090 GOTO 2110
2100 PRINT "BATS NEARBY ! "
2110 NEXT K
2120 NEXT J
2130 PRINT "YOU ARE IN ROOM ";L(1>
2140 PRINT "TUNNELS LEAD TO ";S(L,1 ) ;S(L,2) ;S(L,3)
2150 PRINT
2160 RETURN
2500 REM- CHOOSE OPTION
2510 PRINT "SHOOT OR MOVE <S-H>";
2520 INPUT 1$
2530 IF 1$ <> "S" THEN 2560
2540 0=1
2550 RETURN
2560 IF I» <> "M" THEN 2510
2570 0=2
2580 RETURN
3000 REM- ARROU ROUTINE
3010 F=0
3020 REM- PATH OF ARROU
3030 L=L(1)
3040 PRINT "NO. OF R00HSU-5)";
3050 INPUT J9
3060 IF J9<1 OR J9>5 THEN 3040
3070 FOR K=1 TO J9
3080 PRINT "ROOM «";
3090 INPUT P(K)
3095 IF K <= 2 THEN 3115
3100 IF P(K) <> PIK-2) THEN 3115
3105 PRINT "ARROUS AREN'T THA TCORRKED - TRY ANOTHER ROOH"
3110 GOTO 3080
3115 NEXT K
3120 REH- SHOOT ARROU
3140 FOR K=1 TO J9
3150 FOR K1=1 TO 3
3160 IF S(L,K1)=P(K) THEN 3295
3170 NEXT K1
3180 REM- NO TUNNEL FOR ARROU
3190 L=S(L,FNB(1>)
3200 GOTO 3300
3210 NEXT K
3220 PRINT "MISSED"
3225 L=LU)
3230 REM- HOVE UUMPUS
3240 GOSUB 3370
3250 REM- AMMO CHECK
3255 A=A-1
3260 IF A>0 THEN 3280
3270 F=-1
3280 RETURN
3290 REM- SEE IF ARROU IS AT L(1) OR L(2)
3295 L=P(K)
3300 IF L <> L(2) THEN 3340
3310 PRINT "AHA! YOU 60T THE UUMPUS!"
3320 F=1
3330 RETURN
3340 IF L <> L(1 ) THEN 3210
3350 PRINT "OUCH! ARROU GOT YOU!"
3360 60T0 3270
3370 REH- MOVE UUHPUS ROUTINE
3380 K=FNC(0>
3390 IF K=4 THEN 3410
3400 L(2>=S(L(2>,K>
3410 IF L(2) <> L THEN 3440
3420 PRINT "TSK TSK TSK - UUHPUS 60T YOU!"
3430 F=-1
3440 RETURN
4000 REM- HOVE ROUTINE
4010 F=0
4020 PRINT "UHERE TO";
4030 INPUT L
4040 IF L<1 OR L>20 THEN 4020
4050 FOR K=1 TO 3
4060 REH- CHECK IF LE6AL MOVE
4070 IF S(L(1),K)=L THEN 4130
4080 NEXT K
4090 IF L=L(1) THEN 4130
4100 PRINT "NOT POSSIBLE -";
4110 GOTO 4020
4120 REH- CHECK FOR HAZARDS
4130 L(1)=L
4140 REH- UUHPUS
4150 IF L <> L(2) THEN 4220
4160 PRINT "... OOPS! BUMPED A UUHPUS!"
4170 REM- MOVE UUMPUS
4180 GOSUB 3380
4190 IF F=0 THEN 4220
4200 RETURN
4210 REM- PIT
4220 IF L <> L(3) AND L <> L(4) THEN 4270
4230 PRINT "YYYIIIIEEEE . . . FELL IN PIT"
4240 F=-1
4250 RETURN
4260 REM- BATS
4270 IF L <> L(5) AND L <> L(4) THEN 4310
4280 PRINT "ZAP — SUPER BAT SNATCH! ELSEUHEREVILLE FOR YOU!"
4290 L=FNA(1)
4300 GOTO 4130
4310 RETURN
5000 END
01
180
Wumpus 2
Hark!! The weary Wumpus hunter, wan from 50 days in
the Terminal Caverns, exhausted and with all of his arrows
expended (A groaning Teletype roars at a sleepy
student. Maps litter the floor covered with circles and
integers. With callused fingers, the immortal Wumpus player
looks up with bloodshot eyes and implores: "How do I get
out of here?")
I suspected that the dodecahedron may prove a bit
boring after a few thousand games, so I wrote Wumpus 2 to
extend your pleasure. Some of the more mathematical
minded may have noticed there are lots of ways to link
caves with three tunnels apiece. Some of these patterns are
topologically interesting ....
Wumpus 2 is the same old Wumpus in different settings
— including those of your own design. As you play in the
different caves, you will notice that the game changes in
difficulty and strategy. Now to a description of the various
caves in Wumpus 2.
CAVE (Dodecahedron)
This is the same old Wumpus with which you are
familiar.
CAVE 1 (Mobius Strip)
Since' my original vision was topological, here is the first
wonder of topology, the Mobius strip. Take a strip of
paper, give it a half-twist and join the ends into a loop. The
result has just one side and one edge (if you disbelieve, take
a pencil and go around the thing).
A perceptive player will note that the placement of the
pits influence the game. Two pits placed just right (around
5% of the games have this) will force a detour back around
the strip in certain cases. Getting around is slower than in
Cave 0, but it is easier to search the place.
CAVE 2 (String of Beads)
See the diagram for this one. Here, placement of the pits
will often make parts of the caves inaccessible except by
bat-express. (Can you see why?) Play in this cave is
frustrating until you have gone to the trouble of making a
reference map; otherwise you keep coming back to your
starting point. (Look at the diagram and see how this may
be so.)
CAVE 3 (Hex Network)
This is my attempt at a torus (doughnut). If you can
visualise a hexagon net like a honeycomb or a tile floor and
stretch it onto a doughnut, you've got it!! The drawing tries
to show this, but if you prefer, think of it as a complicated
molecule of some sort. Play in this one is very similar to
CAVE 0.
CAVE 4 (Dendrite)
Up to now, each tunnel leads to another cave and only
one tunnel connects a pair of caves. This need not be a
strict rule and the next two caves illustrate variations on
this. The dendrite is a branching pattern like a tree or a
plant. At the ends of the plant are "leaves" which are caves
leading to themselves or multiple tunnels. This cave is
especially susceptible to severance by pits and getting stuck
in corners near the wumpus. A nice thing is that you often
will know exactly where the Wumpus is when you come
near him.
CAVE 5 (one way streets)
This is the extreme example of all tunnels are one-way.
You will find that getting about this cave is like travel in
Los Angeles — much going to get to the neighbor's house. If
you overshoot, you must travel all the way around, just like
missing a freeway off ram p.
CAVE 6 .(Do Your OWN)
Draw up a map of caves, each cave with tunnels GOING
TO three (exactly three) caves (same or different). Then the
computer will ask you for the numbers of the destination
tunnels for each of the 20 caves in Wumpus. When you have
it entered, play Wumpus on your own caves. Let me know
of your favorite ones, and your most frustrating ones!!!
FINIS
In any case, Wumpus has spawned several versions and
spread about the computer games-dom really nicely. For
myself, the soul of the game is in the idea and fun of it
rather than the program or the computer which hosts it. I
feel that all really good games will turn programmers on
enough for them to write it for their system from the idea
alone and encourage games writers to think carefully on the
art and esthetics of their games before writing a line of
code.
Wumpus-2 and this description are products of Gregory
Yob. They appeared previously in Creative Computing,
Jan/Feb 1976 and the game in People's Computer Co.
Cove 6
(Anything You Like)
181
RUN
UUHPUS 2
CREATIVE C0HPUTIN6
HDRRISTOUN NEU JERSEY
INSTRUCTIONS? YES
UELCOHE TO UUHPUS II
THIS VERSION HAS THE SANE RULES AS 'HUNT THE UUHPUS".
HOWEVER, YOU NOU HAVE A CHOICE OF CAVES TO PLAY IN.
SONE CAVES ARE EASIER THAN OTHERS. ALL CAVES HAVE 20
ROOHS AND 3 TUNNELS LEADING FROH ONE ROOH TO OTHER ROOHS.
THE CAVES ARE:
- DODECAHEDRON THE ROOHS OF THIS CAVE ARE ON A
12-SIDED OBJECT, EACH FORMING A PENTAGON.
THE ROOHS ARE AT THE CORNERS OF THE PENTAGONS.
EACH ROOH HAVING TUNNELS THAT LEAD TO 3 OTHER ROOHS
BATS NEARBY!
YOU ARE IN ROOH 4 TUNNELS LEAD TO 4 6 1
SHOOT OR HOVE ? H
UHERE TO ? 4
BATS NEARBY !
YOU ARE IN ROOH 4 TUNNELS LEAD TO 4 6 1
SHOOT OR HOVE ? H
UHERE TO ? 6
1 - HOBIUS STRIP THIS CAVE IS TUO ROOHS
HIDE AND tO ROOHS AROUND (LIKE A BELT)
YOU UILL NOTICE THERE IS A HALF TUIST
SONEUHERE.
YOU ARE IN ROOH 6 TUNNELS LEAD TO 4 7 5
SHOOT OR HOVE ? M
2 - STRIN6 OF BEADS FIVE BEADS IN A CIRCLE.
EACH BEAD IS A BIAHOND UITH A VERTICAL
CROSS-BAR. THE RIGHT & LEFT CORNERS LEAD
TO NEI6HB0RIN6 BEADS. (THIS ONE IS DIFFICULT
TO PLAY)
3 - HEX NEUORK IMAGINE A HEX TILE FLOOR. TAKE
A RECTANGLE UITH 20 POINTS (INTERSECTIONS)
INSIDE (4X4). JOIN RIGHT S LEFT SIDES TO HAKE A
CYLINDER. THEN JOIN TOP I BOTTOM TO FORH A
TORUS (D0U6HNUT).
HAVE FUN IMAGINING THIS ONE!!
CAVES 1-3 ARE REGULAR IN A SENSE THAT EACH ROOH
GOES TO THREE OTHER ROOHS i TUNNELS ALLOU TUO-
UAY TRAFFIC. HERE ARE SOKE 'IRREGULAR" CAVES:
4 - DENDRITE UITH DEGENERACIES PULL A PLANT FROH
THE GROUND. THE ROOTS t BRANCHES FORH A
DENDRITE - IE., THERE ARE NO LOOPING PATHS
DEGENERACY HEANS A) SONE ROOHS CONNECT TO
THEMSELVES AND S) SOHE ROOHS HAVE HORE THAN ONE
TUNNEL TO THE SAHE OTHER ROOH IE, 12 HAS
TUO TUNNELS TO 13.
5 - ONE UAY LATTICE HERE ALL TUNNELS GO ONE
UAY ONLY. TO RETURN, YOU MUST 60 AROUND THE CAVE
(ABOUT 5 HOVES).
4 - ENTER YOUR OUN CAVE THE COHPUTER UILL ASK YOU
THE ROOHS NEXT TO EACH ROOH IN THE CAVE.
FOR EXAHPLE:
ROOH HI ? 2,3,4 - YOUR REPLY OF 2,3,4
HEANS ROOH 1 HAS TUNNELS GOING TO ROOHS:
2, 3, S 4.
HAPPY HUNTING!
CAVE #(0-4) ? 4
HUNT THE UUHPUS
I SHELL A UUHPUS!
BATS NEARBY!
YOU ARE IN ROOH 11 TUNNELS LEAD TO 13 14 12
SHOOT OR HOVE ? S
NO. OF ROOHS ? 1
ROOH I? 13
HISSED
SHOOT OR HOVE ? H
UHERE TO ? 13
UHERE TO ? 5
YOU ARE IN ROOH S TUNNELS LEAD TO 2 7 3
SHOOT OR HOVE ? H
UHERE TO ? 2
YOU ARE IN ROOH 2 TUNNELS LEAD TO 2 5 3
SHOOT OR HOVE ? H
UHERE TO ? 3
YOU ARE IN ROOH 3 TUNHELS LEAD TO 3 6 4
SHOOT OR MOVE ? H
UHERE TO ? 6
YOU ARE IN ROOH 6 TUNNELS LEAD TO 4 7 5
SHOOT OR HOVE ? H
UHERE TO I 7
YOU ARE IN ROOH 7 TUNNELS LEAD TO 6 10 8
SHOOT OR MOVE ? H
UHERE TO ? 10
I FEEL A DRAFT!
YOU ARE IN ROOM 10 TUNNELS LEAD TO 9 11 10
SHOOT OR HOVE ? H
UHERE TO ? 11
I SHELL A UUHPUS!
BATS NEARBY!
YOU ARE IN ROOH 11 TUNNELS LEAD TO 13 14 12
SHOOT OR HOVE ? S
NO. OF ROOHS ? 1
ROOH 8? 12
ZAP— SUPER BAT SNATCH ! ELSEUHERESVILLE FOR YOU!
YOU ARE IN ROOH 6 TUNNELS LEAD TO 4 7 5
SHOOT OR HOVE ? H
UHERE TO T 4
AHA! YOU GOT THE UUHPUS! HE UAS IN ROOH 12
HEE HEE HEE - THE UUHPUS'LL GET YOU NEXT TINE! !
PLAY AGAIN? NO
Ok
182
LIST
3 PRINT TAB(25);"UUHPUS 2"
4 PRINT TAB(20) {"CREATIVE COMPUTING"
5 PRINT TAB(18);"H0RRIST0UN NEU JERSEY"
7 PRINT
10 PRINT
15 PRINT
20 REN- UUHPUS VERSION 2
30 DIN S(20,3)
40 DIN L(4),H(6),P<5)
50 PRINT "INSTRUCTIONS";
60 INPUT It
70 PRINT
80 IF LEFT*(1$,1> <> "Y" THEN 130
100 60SUB 700
110 REN- CHOOSE AND SET UP CAVE
130 60SUB 2530
140 DEF FNA(X)=INT(20*RND(1))t1
150 DEF FNB(X)=INT(3*RND(1))+1
1 40 DEF FNC(X>=INT<4*RND(1>>+1
170 REH LOCATE L ARRAY ITEHS
180 REH 1-YOU, 2-UUHPUS, 3S4-PITS, . 5S4-BATS
210 FOR J=1 TO 4
220 L(J)=FNA<0)
230 H(J)=L(J>
240 NEXT J
250 REH CHECK FOR CROSSOVERS (IE L(1)=L<2> ETC)
240 FOR J=1 TO 6
270 FOR K=J TO 4
280 IF J=K THEN 300
290 IF L(J)=L(K) THEN 210
300 NEXT K
310 NEXT J
320 REH SET tf ARROUS
330 A=5
340 L*L<1>
350 REH- RUN THE CAHE
340 PRINT "HUNT THE UUHPUS"
370 REH-HAZARDS UARNINGS AND LOCATION
380 GOSUB 1230
390 REM MOVE OR SHOOT
400 GOSUB 1400
410 ON GOTO 430,470
420 REH SHOOT
430 GOSUB 1550
440 IF F=0 THEN 400
450 GOTO 490
440 REH HOVE
470 GOSUB 2150
480 IF F=0 THEN 380
490 IF F > THEN 540
500 REH LOSE
510 PRINT "HA HA HA - YOU LOOSE! "
520 GOTO 550
530 REH UIN
540 PRINT "HEE HEE HEE - THE UUHPUS'LL GET YOU NEXT TIHE! !"
550 FOR J=1 TO 4
540 L(J)=H(J)
570 NEXT J
580 PRINT "PLAY AGAIN";
590 INPUT I*
595 PRINT
400 PRINT
420 IF LEFT»(I*,1) <> "Y" THEN 3310
440 PRINT "SAHE SET-UP ";
450 INPUT 1$
440 PRINT
470 IF LEFT»(I*,1> <> "Y" THEN 130
480 GOTO 330
700 REN- INSTRUCTIONS
710 PRINT "UELCONE TO UUHPUS II"
720 PRINT "THIS VERSION HAS THE SAHE RULES AS 'HUNT THE UUHPUS'."
730 PRINT "HOUEVER, YOU NOU HAVE A CHOICE OF CAVES TO PLAY IN."
740 PRINT "SOME CAVES ARE EASIER THAN OTHERS. ALL CAVES HAVE 20"
750 PRINT "ROOHS AND 3 TUNNELS LEADING FROM ONE ROOH TO OTHER ROONS."
740 PRINT "THE CAVES ARE:"
770 PRINT " - DODECAHEDRON THE ROOHS OF THIS CAVE ARE ON A"
780 PRINT » 12-SIDED OBJECT, EACH F0RMIN6 A PENTAGON."
790 PRINT " THE ROONS ARE AT THE CORNERS OF THE PENTAGONS."
800 PRINT » EACH ROOH HAVING TUNNELS THAT LEAD TO 3 OTHER ROOMS"
805 PRINT
810 PRINT " 1 - HOBIUS STRIP THIS CAVE IS TUO ROOMS"
820 PRINT " UIDE AND 10 ROOMS AROUND (LIKE A BELT) "
830 PRINT " YOU UILL NOTICE THERE IS A HALF TUIST"
840 PRINT » SOHEUHERE. "
850 PRINT
840 PRINT " 2 - STRING OF BEADS FIVE BEADS IN A CIRCLE."
870 PRINT " EACH BEAD IS A DIAHOND UITH A VERTICAL"
880 PRINT " CROSS-BAR. THE RIGHT S LEFT CORNERS LEAD"
890 PRINT " TO NEIGHBORING BEABS. (THIS ONE IS DIFFICULT"
900 PRINT " TO PLAY)"
910 PRINT
920 PRINT " 3 - HEX NEUORK IMAGINE A HEX TILE FLOOR. TAKE"
930 PRINT " A RECTANGLE UITH 20 POINTS (INTERSECTIONS)"
940 Print " inside (4X4). join right s left sides to make a"
950 PRINT " CYLINDER. THEN JOIN TOP S BOTTOM TO FORM A"
940 PRINT " TORUS (DOUGHNUT)."
970 PRINT " HAVE FUN IMAGINING THIS ONE!!"
980 PRINT
990 PRINT " CAVES 1-3 ARE REGULAR IN A SENSE THAT EACH ROOM"
1000 PRINT "GOES TO THREE OTHER ROONS i TUNNELS ALLOU TUO-"
1010 PRINT "UAY TRAFFIC. HERE ARE SOHE 'IRREGULAR' CAVES:"
1020 PRINT
1030 PRINT " 4 - BENBRITE UITH DEGENERACIES PULL A PLANT FROH"
1040 PRINT " THE GROUND. THE ROOTS S BRANCHES FORM A "
1050 PRINT " DENDRITE - IE., THERE ARE NO LOOPING PATHS"
1040 PRINT " DEGENERACY MEANS A) SOHE ROOMS CONNECT TO"
1070 PRINT " THEHSELVES AND B> SONE ROOHS HAVE MORE THAN ONE"
1080 PRINT " TUNNEL TO THE SANE OTHER ROOM IE, 12 HAS "
1090 PRINT " TUO TUNNELS TO 13."
1100 PRINT
1110 PRINT " 5 - ONE UAY LATTICE HERE ALL TUNNELS GO ONE"
1120 PRINT " UAY ONLY. TO RETURN, YOU HUST GO AROUND THE CAVE"
1130 PRINT " (ABOUT 5 MOVES)."
1140 PRINT
1140 PRINT " 4 - ENTER YOUR OUN CAVE THE COMPUTER UILL ASK YOU"
1170 PRINT " THE ROONS NEXT TO EACH ROOH IN THE CAVE."
1180 PRINT " FOR EXAHPLE:"
1190 PRINT " ROOH K1 ? 2,3,4 - YOUR REPLY OF 2,3,4
1200 PRINT " HEANS ROOH 1 HAS TUNNELS GOING TO ROOMS:"
1210 PRINT " 2, 3, S 4."
1220 PRINT " HAPPY HUNTING!"
1225 RETURN
1230 REH
1240 PRINT
1250 FOR J=2 TO 4
1240 FOR K-1 TO 3
1270 IF S(L(1),K) <> L(J) THEN 1340
1280 ON J-1 GOTO 1290,1310,1310,1330,1330
1290 PRINT "I SHELL A UUHPUS ! "
1300 GOTO 1340
1310 PRINT "I FEEL A DRAFT!"
1320 GOTO 1340
1330 PRINT "BATS NEARBY ! "
1340 NEXT K
1350 NEXT J
1340 PRINT "YOU ARE IN ROOM ";L(D;
1370 PRINT " TUNNELS LEAD TO ";S(L,1 );S(L,2);S(L,3)
1380 PRINT
1390 RETURN
1400 REH- CHOOSE OPTION
1410 GOTO 1450
1420 PRINT "ERROR ";
1430 INPUT Z9
1440 PRINT "";
1450 PRINT "SHOOT OR MOVE ";
1440 INPUT I*
1470 PRINT
1490 IF LEFT«(I»,1) <> "S" THEN 1520
1500 0=1
1510 RETURN
1520 IF LEFT»(I»,1) <> "M" THEN 1420
1530 0=2
1540 RETURN
1550 REN- ARROU ROUTINE
1540 F=0
1570 REN- PATH OF ARROU
1590 GOTO 1430
1400 PRINT "ERROR ";
1410 INPUT Z9
1420 PRINT "";
1430 PRINT "NO. OF ROOMS ";
1440 INPUT J9
1450 PRINT
1470 IF J9 < 1 OR J9 > 5 OR INT(J9) <> ABSU9) THEN 1400
183
1180 FOR K=1 TO J?
1490 PRINT -ROOH I";
1700 INPUT POO
1710 PRINT
1730 IF POO > AND POO < 21 AND INT(P<K) )=ABS<POO ) THEN 1780
1740 PRINT "ERROR
17S0 INPUT Z9
1740 PRINT "•;
1770 SOTO 1490
1780 NEXT K
1790 PRINT
1800 REN - SHOOT ARROU
1810 A=A-J9
1820 A?=L(1)
1830 FOR K=1 TO J9
1840 FOR K1=1 TO 3
18S0 IF S(A9,K1)=P(K) THEN 1990
1840 NEXT K1
1870 REN - NO TUNNEL FOR THE ARROU
'1880 A9=S<A9,FNB<1)1
1890 60T0 2000
1900 NEXT K
1910 PRINT "MISSED"
1920 REH - HOVE UUHPUS
1930 60SUD 2070
1940 REN - ANNO CHECK
1950 IF A > THEN 1970
1955 PRINT "YOU HAVE USED ALL OF YOUR ARROUS."
1940 F=-1
1970 RETURN
1980 REN - SEE IF ARROU IS AT LCI] OT LC2]
1990 A9=P(K)
2000 IF A9 <> L(2) THEN 2040
2010 PRINT "AHA! YOU GOT THE UUHPUS! HE UAS IN R00N";L(2)
2020 F=1
2030 RETURN
2040 IF A9 <> L(1) THEN 1900
2050 PRINT "OUCH! ARROU 60T YOU!"
2040 60T0 1940
2070 REN - HOVE UUNPUS ROUTINE
2080 K=FNC<0>
2090 IF K=4 THEN 2140
2100 L(2)=S(L(2),K)
2110 IF L<2) <> L THEN 2140
2120 PRINT "TSK TSK TSK- UUHPUS GOT YOU!"
2130 F=-1
2140 RETURN
2150 REN - HOVE ROUTINE
2140 F=0
2170 60T0 2210
2180 PRINT "ERROR °;
2190 INPUT Z9
2200 PRINT "■;
2210 PRINT "UHERE TO ";
2220 INPUT L
2230 PRINT
2240 IF L < 1 OR L > 20 OR ABS(L) <> INT(L) THEN 2180
2250 FOR K=1 TO 3
2240 REN - CHECK IF LE6AL HOVE
2270 IF S(L(1),K)=L THEN 2350
2280 NEXT K
2290 IF L=L(1) THEN 2350
2300 PRINT "NOT POSSIBLE - ";
2310 INPUT Z9
2320 PRINT "";
2330 SOTO 2210
2340 REN - CHECK FOR HAZARDS
2350 LCI )=L
2340 REH - UUHPUS
2370 IF L <> L(2) THEN 2430
2380 PRINT "... OOPS! BUMPED A UUHPUS ! "
2390 REN - HOVE A UUHPUS
2400 60SUB 2080
2410 IF F=0 THEN 2430
2420 REH - PIT
2430 IF L <> L(3) AND L <> L<4) THEN 2480
2440 PRINT "YYYIIIEEEE . . . FELL IN A PIT"
2450 F=-1
2440 RETURN
2470 REH - BATS
2480 IF L <> L(5) AND L <> L(4) THEN 2520
2490 PRINT "ZAP-SUPER BAT SNATCH! ELSEUHERESVILLE FOR YOU!"
2500 L=FNA(1)
2510 SOTO 2350
2520 RETURN
2530 REH - SELECT CAVE
2540 60T0 2580
2550 PRINT "ERROR ";
2540 INPUT Z9
2570 PRINT "";
2580 PRINT "CAVE 4K0-4) ";
2585 RESTORE
2590 INPUT N
2600 PRINT
2620 IF N<0 OR N>6 OR INT(N) <> ABS(N) THEN 2550
2430 ON Ntl 60SUB 2750,2730,2810,2890,2970,3050,3130
2440 RETURN
2450 REH - DODECAHEDRON
2670 DATA 2,5,8,1,3,10,2,4,12,3,5,14,1,4,4
2480 DATA 5,7,15,4,8,17,1,7,9,8,10,18,2,9,11
2490 DATA 10,12,19,3,11,13,12,14,20,4,13,15,4,4,16
2700 DATA 15,17,20,7,14,18,9,17,19,11,18,20,1314,19
2710 60SUB 3240
2720 RETURN
2730 REH - HOBIUS STRIP
2735 FOR B1=1 TO 1
2737 FOR B2=1 TO 40
2740 READ BO
2742 NEXT B2
2744 NEXT B1
2750 DATA 20,2,3,19,1,4,1,4,5,2,3,4,3,4,7
2740 DATA 4,5,8,5,8,9,4,7,10,7,10,11,8,9,12
2770 DATA 9,12,13,10,11,14,11,14,15,12,13,14,12,14,17
2780 DATA 14,15,18,15,18,19,14,17,20,2,17,20,1,18,19
2790 60SUB 3240
2800 RETURN
2810 REH - STRING OF BEADS
2815 FOR B1=1 TO 2
2817 FOR B2-1 TO 40
2820 READ BO
2822 NEXT B2
2824 NEXT B1
2830 OATA 2,3,20,1,3,4,1,2,4,2,3,5,4,4,7
2840 DATA 5,7,8,5,4,8,4,7,9,8,10,11,9,11,12
2850 DATA 9,10,12,10,11,13,12,14,15,13,15,14,13,14,16
2840 DATA 14,15,17,14,18,19,17,19,20,17,18,20,1,18,19
2870 60SUB 3240
2880 RETURN
2890 .REH - HEX NUT ON TORUS
2895 FOR B1=1 TO 3
2897 FOR B2-1 TO 60
2900 READ BO
2902 NEXT B2
2904 NEXT B1
2910 DATA 6,10,14,4,7,17,7,8,18,8,9,19,9,10,20
2920 DATA 1,2,15,2,3,11,3,4,12,4,5,13,5,4,14
2930 DATA 7,14,20,8,14,17,9,17,18,10,18,19,4,19,20
2940 DATA 1,11,12,2,12,13,3,13,14,4,14,15,5,11,15
2950 GOSUB 3240
2940 RETURN
2970 REN - DENDRITE Ml DEGENERACIES
2975 FOR B1=1 TO 4
2977 FOR B2=1 TO 60
2980 READ BO
2982 NEXT B2
2984 NEXT B1
2990 DATA 1,1,5,2,2,5,3,3,6,4,4,6,1,2,7
3000 DATA 3,4,7,5,4,10,8,9,9,8,8,10,7,9,11
3010 DATA 10,13,14,12,13,13,11,12,12,11,15,14,14,17,18
3020 DATA 14,19,20,15,17,17,15,18,18,14,19,19,14,20,20
3030 60SUB 3240
3040 RETURN
3050 REH - ONE UAY LATTICE
3055 FOR B1-1 TO 5
3057 FOR 82=1 TO 40
3040 READ BO
3042 NEXT B2
3044 NEXT B1
3070 DATA 5,4,8,1,5,4,2,6,7,3,7,8,8,9,12
3080 DATA 5,9,10,4,10,11,7,11,12,12,13,14,9,13,14
3090 DATA 10,14,15,11,15,14,14,17,20,13,17,18,14,18,19
3100 DATA 15,19,20,1,4,20,1,2,17,2,3,18,3,4,19
3110 GOSUB 3240
3120 RETURN
3130 REH - INPUT YOUR OUN CAVE
3140 FOR J=1 TO 20
3150 PRINT "ROOH «";J;
3140 INPUT S(J,t),S(J,2),S(J,3)
3170 FOR K=1 TO 3
3180 IF S(J,K) > AND S(J,K) < 21 AND ABS(S(J,K))=ABS(S(J,K) ) THEN3210
3190 PRINT "*»*** ERROR! MM"
3200 GOTO 3150
3210 NEXT K
3220 NEXT J
3230 RETURN
3240 REH - INPUT CAVE
3250 FOR J=1 TO 20
3240 FOR K=1 TO 3
3270 READ S(J,K>
3280 NEXT K
3290 NEXT J
3300 RETURN
3310 END
Ok
184
185
If you enjoyed
More Basic
Computer Games
then you'll enjoy
a subscription
to Creative
Computing
magazine.
Use the form
attached to order
yours now.
Mail to
Creative
Computing
P.O. Box 789- M
Morristown,
New Jersey
07960
i--
Get the most
out of your
computer!
Software and Applications. Pragmatic, well-
documented programs with complete listings on data
base systems, word processing, communications,
simulations, investment analysis, games, music syn-
thesis, computer art. business functions, building
control and more
System Evaluations. In-depth, probing evaluations of
personal and small business systems every issue No-
nonsense reviews of software from independents as well
as the majors.
Regular Features. Operating Systems Q and A
Columns on the TRS-80. Apple and PET. Book reviews.
Programming techniques. Short programs Computer
games New products. Even a dose of fiction and
foolishness
We guarantee that Creative Computing will help you
get more out of your personal, school, or business
computer or we'll give you your money back!
creative computing
P O Box 769-M. Morristown. NJ 07960
Get the most
out of your
computer!
□ 3 years $40 (Save $32 over retail price)
□ 2 years $28 (Save $20 over retail price)
C] 1 year $15 (Save $9 over retail price)
Foreign: □ Surface add $9/yr □ Air add $24/yr.
[1 Payment enclosed
U Visa ) Card No
U Mastercharge ) Expiration date
C"l Bill me ($1.00 billing fee will be added)
Name .
Cily_
State-
-Zip_
Save time! Phone bankcard orders toll-free to:
800-631-8112
(In NJ call 201-540-0445)
Software and Applications. Pragmatic, well-
documented programs with complete listings on data
base systems, word processing, communications,
simulations, investment analysis, games, music syn-
thesis, computer art. business functions, building
control and more.
System Evaluations. In-depth, probing evaluations of
personal and small business systems every issue. No-
nonsense reviews of software from independents as well
as the majors.
Regular Features. Operating Systems Q and A
Columns on the TRS-80. Apple and PET. Book reviews
Programming techniques. Short programs. Computer
games. New products. Even a dose of fiction and
foolishness.
We guarantee that Creative Computing will help you
get more out of your personal, school, or business
computer or we'll give you your money back!
creative computing
P O Box 789-M. Morristown. NJ 07960
Get the most
out of your
computer!
Software and Applications. Pragmatic, well-
documented programs with complete listings on data
base systems, word processing, communications,
simulations, investment analysis, games, music syn-
thesis, computer art. business functions, building
control and more.
System Evaluations. In-depth, probing evaluations of
personal and small business systems every issue. No-
nonsense reviews of software from independents as well
as the majors.
Regular Features. Operating Systems Q and A.
Columns on the TRS-80. Apple and PET. Book reviews.
Programming techniques. Short programs. Computer
games New products. Even a dose of fiction and
foolishness.
We guarantee that Creative Computing will help you
get more out of your personal, school, or business
computer or we'll give you your money back!
creative computing
P.O. Box 789-M. Morristown. NJ 07960
□ 3 years $40 (Save $32 over retail price)
□ 2 years $28 (Save $20 over retail price)
□ 1 year $15 (Save $9 over retail price)
Foreign: □ Surface add $9/yr □ Air add $24/yr.
□ Payment enclosed
□ Visa ) Card No
□ Mastercharge ) Expiration date
□ Bill me ($1.00 billing fee will be added)
Name -
Address-
City
State _
-Zip_
Save time! Phone bankcard orders toll-free to:
800-631-8112
(In NJ call 201-540-0445)
□ 3 years $40 (Save $32 over retail price)
□ 2 years $28 (Save $20 over retail price)
□ 1 year $15 (Save $9 over retail price)
Foreign: □ Surface add $9/yr. □ Air add $24/yr
□ Payment enclosed
□ Visa ) Card No
□ Mastercharge ) Expiration date
D Bill me ($1.00 billing fee will be added)
Name _
Address.
City
State.
-Zip-
Save time! Phone bankcard orders toll-free to:
800-631-8112
(In NJ call 201-540-0445)
GAM I
From the editor of the best-selling book Bask Computer Games
84 mind-bending games for one or MORE players.
Easy to use on any computer.
Chuck-a-Luck, Four in a Row, Wumpus, Seabattle,
Life Expectancy, Dodgem, Grand Prix, TV Plot, MORE.
This book is for scholars and hackers and even MORE — for friends
and the whole family, even little kids. Trek across the desert. Evade
a man-eating rabbit. Become a millionaire. Step-by-step programs
and sample runs on Microsoft Basic, with conversion table.
Who could ask for MORE? Everyone. Begin.
David H. Ahl, editor of Basic Computer Games and More Basic
Computer Games, is founder and publisher of Creative Computing,
the magazine of computer applications and software.
"For game addicts, one of the best resources for computer fun
— Michael Dormer, Editor, Games magazine
"An important achievement and a very useful pioneering effort in
establishing the value of computer games."
— Dr. Robert Taylor, Computer Center, Columbia University
"Home computer enthusiasts cannot do without this book. A must.'
— Gary Bitter, Professor of Education, Arizona State University
>>$?-T5 ISBN: D-flT4flO-137-L