FORTUNE TELLER
This program is a sure-fire money spinner for fetes and shows, or it could add to the fun at a party. If you have a printed, the customers can be given a hard copy of their fortune.
FORTUNE TELLER produces a set of sentences concerning a person's future. They are, in fact, completely random and a disclaimer appears on the printout to avoid upsetting the astrologers and the faint-hearted among your clientele.
The program asks for your name, sex and date of birth. It will tell you the day on which you were born, with a relevant line from the "Monday's child is fair of face" ditty and also your starsign.
You are then given seven sentences of forture on topics ranging from work and money to love, travel and leisure. There are twenty million possible combinations.
Line 190 checks for mistakes in entering dates of birth. If you want to use the program with people over 100 years or babies born after 1985, you will need to alter the value of Y%.
When you are ready to leave one fortune and start the next you have to press the Space bar. This instruction is not on the screen to keep the display uncluttered for the client, but the operator will need to know it.
The addition of a hard copy adds interest for the custoemrs. Three more short lines are needed for this:
375 VDU 2
515 VDU 3
535 REM *FX call to set up printer.
Go seek your fortune, and may the stars shine favourably upon you.
HILO
Simple but fun, HILO by Andrew Lord has the Electron testing your powers of mental arithmetic.
The micro "thinks" of a number and you have to try and guess what it is. After each guess, if you're wrong, you're told if the number you picked was higher or lower than the correct one.
Using this information you can then guess again. The process continues until you arrive at the right answer.
MONEYCRAZY
Feeling short of money? Well, have a go at Andrew Logan's MONEYCRAZY.
You are in control of a man who runs around the screen trying to collect pound notes that are scattered about.
However, like life, nothing is ever that simple and in his rush to get rich quick the little man has to avoid blocks that start appearing all over the place.
It's not easy, but it is fun.
Procedures | |
PROCtitle | Displays title and instructions |
PROCinit | Sets up the arrays and picks the first position and the direction of the man |
PROCmove | Checks the key to see if a change of direction is desired and prints the man in his new position |
PROCobstacles | Prints either a block or a pounds sign. If RND(1) is less than 0.22 a pound sign appears otherwise it's a block |
PROCcheck | Sees whether you have hit a block or collected some money |
PROCnewgame | Asks if you want another game |
PROCscore | Displays the score |
PROCdead | Happens when you hit a block! |
PROCdel(D%) | A delay procedure. The program is delayed for the parameter D% |
ODD ONE OUT
This game was written with the aim of being both educational and at the same time being fun to play.
It was originally intended for children from 7 to 11 years of age, but can be used by students of all ages if the words held in the data lines are changed.
In it you are shown a series of questions, each consisting of four words displayed in boxes.
Three of these words are connected in some way and you must try to find the "odd man out".
To make life more difficult you must make your selection before a yacht sails right across the screen.
In case you think this is easy, each question you get right makes the yacht travel a little bit faster.
In order to select the out-of-place word move the lorry using the keys A for up and Z for down until it is next to the word you select. Then press the Space bar.
Variables | |
A$ | Keyboard input |
X%, Y% | Coordinates for graphics |
S% | Score |
Z% | Graphics colour |
F$, B$, C$, D$ | Words in each question |
B% | Number of correct answer |
AA$ | Keyboard input to move graphics characters |
YY%, YZ% | Check for previous graphics position |
T% | Set time limit |
Procedures |
|
PROCinstructions | Gives instructions |
PROCcurof | Turns cursor off |
PROCtitle | Prints title graphics |
PROCguess | Guess word |
PROCa ... PROCi | Print graphics |
PROClose | Get question wrong |
PROCtime | Used for time limits |
PROCwin | Get question right |
PROCerror | Error reports |
STARCHART
By Rog Frost
If you are interested in Astronomy this program is for you. It draws stars - about 200 in all - that are visible in Great Britain.
It is set for Birmingham's latitude but it will be reasonably accurate for anywhere in the British Isles. The stars are grouped in 29 constellations.
Because of the earth's movement around the sun and its spinning rotation we cannot, of course, see all the stars at the same time.
The program draws a second, smaller, circle to include the stars visible at the time and date entered.
A list of constellations is put on the screen, and by using a moving symbol any constellation name can be selected and its stars made to flash.
Incidentally, it is the normal convention for star charts to have North at the bottom because star charts are viewed from below.
Most variables have been given appropriate names and explain themselves.
offset% is set by day% and time%. It is an angle used to rotate the stars to a position suitable for that day and time. 90 is added as a "fiddle factor" to get the stars in the right place.
The variable day% is calculated on the basis of 12 months of 30 days. Real astronomy purists might like to remove that minor source of error.
DELAY% at line 590 is set to loop up to 200. This program was written on an Electron. Users of BBC Micros might find a value of 500 easier to manage.
X% and Y% at lines 450/460 are multiplied by 4.5 because the radius of the chart the information was taken from is 100mm and the radius of the computer chart is 450 screen units.
There is one problem with typing in the program, RESTORE numbers are stored as DATA in the program and so the RENUMBER command cannot cope with this.
Therefore, on no account, RENUMBER the program.
Procedures | |
PROCintro | Sets up arrays and reads in data of constellation names, number of stars in constellations and at which line number star data is held. It also prints up instructions and accepts day and date inputs to work out the value of offset% |
PROCcircle | Draws the blue circle |
PROCconst | Collects the data to place each star in the constellation |
PROCstar_place | Converts the polar coordinates for each star into screen coordinates and plots each star |
PROChorizon | Draws the horizon line |
PROCselect | Allows a chosen constellation to flash |
PROCdelay | Keeps stars flashing for five seconds |
Arrays |
|
name$ | Name of constellation |
no% | Number of stars in constellation |
restore% | Program line at which DATA is stored |
SUPER ARCHER
Use your Electron to get right on target!
Ever fancied yourself as a budding Robin Hood? Do you think using a longbow is easy?
Put yourself to the test with Ian Brown's SUPER ARCHER, a game for one to four players.
You must try to hit a target with an arrow at four different ranges.
And if that isn't difficult enough the real toxophilites among you have the choice of combatting side winds.
All the instructions are in the program and the controls are simplicity itself. However it may be easy to play but it's not easy to hit the target.
SUPER ARCHER is just like the real thing - but you don't have to keep retrieving the arrows.
Variables | |
players | Number of players |
play | Current player |
arrow | Current arrow of current player |
dist | Distance from player to target: 25/50/75/100m |
windvel | Prevailing wind velocity in m/s |
windang | Prevailing wind direction in degrees |
strength | Strength of shot (relative) |
elev | Elevation of shot from ground in degrees |
angle | Horizontal angle of shot in degrees |
velh | Horizontal velocity of arrow |
velv | Initial vertical velocity of arrow |
dev | Current deviation of arrow (in metres from straight line from player to target) |
disp | Current distance of arrow from player |
height | Current height of arrow from ground |
time | Artificial time function |
x, y, z | Variables for calculation of accuracy of shot |
ra%, i%, j% | Variables for plotting of circular target |
lim | Variable for calculation of score gained by arrow |
note | Current note being played in PROCmusic |
pitch | Pitch of note |
duration | Duration of note |
Arrays |
|
arrowheight (play, arrow) | Final height of particular arrow above ground |
arrowdev (play, arrow) | Final deviation of particular arrow |
col%(r%) | Colour of ring r% of target |
score(play) | Score of particular player |
Flags |
|
allmiss | TRUE if all arrows of a particular player have missed target |
wind | TRUE if wind effects have been selected |
Procedures |
|
PROCinit | Dimensions arrays and reads in some data |
PROCenter | Requests various bits of information about the client |
PROCday | Works out the day of the week on which the person was born |
PROCsign | Works out the person's zodiac sign |
PROCfortune | Reads in all the fortune data. As the program is less than 6K there is scope here for much extension. The data for fortunes is stored in various categories. Variable names will give some idea of what they are about. |
PROCdisplay | Clears the input screen and displays the fortune. The love fortune depends on the sex of the person and is chosen out of 20 possibilities. The other fortunes are chosen out of ten variables. |