DICER
Robert and Michael Crowe introduce you to this deceptively tricky, intriguing and sometimes infuriating game
Dicer is a simulation of a compelling, traditional dice game which can be played by one to four players. The object is to get the highest score possible by using a set of five dice to tick off each one of a special list of scoring combinations.
Players take turns at throwing the dice, each turn consisting of a maximum of three throws. After each of the first two throws you may:
- Throw all the dice again
- Hold selected dice and throw the rest
- Accept the throw as seen
On the third throw of the dice you must accept the dice shown.
Your task - and the crux of the whole game - is to choose one of the available scoring combinations for that turn's score. Once you've chosen an option you can't pick it again, so take care.
Having made a valid selection your score for that option is calculated and displayed on the score sheet, your running total is updated, and play passes to the next person. The game cycles round all the players until everyone has had thirteen turns - sufficient to cover all the scoring combinations possible.
If you should wish to hold some of the dice and re-throw the others, first answer Y to the re-throw prompt.
You will then see displayed above the dice five tick symbols. These indicate the die or dice that will be re-thrown. Selecting the number of the dice that you wish to retain will change the tick to a cross symbol.
If you find you have made an error, entering the number of the appropriate dice will change its symbol back to a tick. Once you are satisfied with your selection, confirm it by pressing the Spacebar and the remaining dice will be thrown again.
When you decide to attempt a throw, enter N at the re-throw prompt and you will be asked to enter the category number in which you wish your score to be entered.
There are two sections to the score sheet. The upper section simply totals the number of like dice. The lower section consists of special scores based on special combinations such as triplets.
Should the total scores achieved in the upper section - options 1 to 6 - be greater than 61, a bonus of thirty points is awarded.
There will be occasions when the combination displayed after three turns does not match any of the remaining scoring options. You might, for instance, have chosen it earlier.
Should this occur, you must pick out of the outstanding options - which will be ticked off the list for a score of zero. The point is that you must always score something at the end of your turn, even if it is a zero.
You'll find Dicer intriguing, thought-provoking and infuriating. Do yourself a favour - type it in today!
Combination | Scoring | Range |
Ones | Total all ones | 1-5 |
Twos | Total all twos | 2-10 |
Three | Total all threes | 3-15 |
Fours | Total all fours | 4-20 |
Fives | Total all fives | 5-25 |
Sixes | Total all sixes | 6-30 |
Figure 1: Upper section of score sheet- options 1 to 6 |
Combination | Description | Score |
Triplets | Any three dice the same | Total value of ALL dice |
Quads | Any four dice the same | Total value of ALL dice |
Full house | Two dice the same, the other three the same | 25 points |
Low straight | A consecutive run 12345 | 30 points |
High straight | A consecutive run 23456 | 40 points |
Dicer | All five dice the same | 55 points |
Lucky chance | Any five dice | Total value of ALL dice |
Figure 2: Lower section of score sheet - special scores |
Variables | |
goes% | Round number |
times% | Player's turn |
tries% | Number of re-throws for current player |
pl% | Number of players |
dot% | Puts dots on dice |
c% | Chosen category |
name$ | Category name |
Procedures |
|
envelope | Defines SOUND envelope |
colour | Changes colour |
characters | Defines characters |
players | Prompts for number of players |
variables | Initialises arrays |
set_up | Sets up screen |
window | Clears text window |
cancel | Toggles tick and cross signs |
choose | Prompts for re-throw |
throws | Random number generator for dice |
draw | Draws dice |
dice | Prints ticks and crosses |
cat | Category input |
value | Works out points scored |
printscore | Updates and prints totals |
addition | Calculates final totals |
Arrays |
|
cat%(4,13) | TRUE when category used |
dice%(5) | Each dice's value |
total%(4) | Player's current score |
true%(5) | TRUE when re-throw required |
sc%(4,13) | Stores each player's score in each category |
Functions |
|
FNval1-6 | Used to calculate score |
FNdicetot | Totals all five dice |
FNnumber%(n0%) | Calculates how many numbers thrown |
FNreplay | Another game? |
GRAND PRIX
By Stephen Merrigan
Zip up your fireproof suit, don your crash helmet and slide into the cockpit of your grand prix racing car. Strap yourself in and prepare for the big race.
It may be a Grand Prix but at times it'll seem more like the dodgems as you battle your way to the front of the pack. Once you're in front, hang on.
If you're first across the line at the finish you move up into the next race class.
There the skill of the competitors increases to match your own so there's always a challenge. You won't find these drivers so easy to beat!
The keys are < to turn anticlockwise and > to turn clockwise. There isn't an accelerator or brake - it's an automatic, you go flat out all the time.
Variables | |
B%() | Stores the track |
A%() | Cars' directions |
Q%,W% | Your car's coordinates |
q%,w% a%,s% d%,f% |
The other cars' coordinates |
Procedures |
|
var | Sets the variables, defines the characters and envelopes |
draw | Draws the track |
car1 car2 car3 |
Moves the other cars |
raceover | Ends the race and moves you up to the next class if you've won |
ins | Prints the instructions |
move_man | Moves your car |
MARCHING ORDER
Robin Nixon presents an entertaining teaching aid for young children
MARCHING ORDER is designed as an aid to teaching simple numeracy and ordering of numbers between 1 and 9.
The program is in two sections. In the first the pupil is shown a group of numbers which light up in turn.
As each number appears the pupil must press the SPACE bar the same number of times. For each press a brick will appear above the number.
Delete can be used if too many bricks are chosen and RETURN confirms selection.
In the second section the pupil must place the numbers in the correct order to enable a man to march up the bricks.
To arrange the bricks in the correct order the pupil presses SPACE under the lowest number. The bricks above this number then re-position themselves at the bottom of the screen when RETURN is pressed.
When all the bricks have been re-positioned in the correct order the pupil is rewarded with a short animated sequence.
At the end of each game the selection menu is redisplayed so that you can change the level of difficulty should you wish to do so.
OXO
High strategy and low cunning are demanded in this game by John Woollard
OXO is a game of strategy between two players. Each opponent takes it in turn to place either an X or an O on the 10 by 10 grid.
The object is to make as many combinations of the word OXO as possible.
The game ends when all the places are filled or when a player resigns.
The motivation I had for writing this program came from my class at school. All credit for the ideas, layout of the screen, design of the grid and colour combination must go to the pupils of 3R2 at Broom Field School.
The program can be loaded and run on an ordinary Electron.
However, if it is to be used with a disc drive the value of PAGE must be lowered to &E00.
The program requires a lot of memory to store all the grid values and to accommodate the high resolution graphics mode. The ADFS reduces the micro's memory.
When you run the program, the first prompt to be displayed is Sound? Tapping Y within ten seconds will give full sound cues throughout the game.
The names of the two players are then entered. Only eleven characters are allowed for each name.
The prompt Auto start? then appears. If Y is pressed, the Electron will randomly place up to twenty crosses on the grid at the start of the game.
We have found that this speeds up the start and makes it more interesting. It does not give the first player any advantage or disadvantage, but it does mean that a mistake in the early part of the game may be fatal.
The computer selects which player goes first and his or her name is displayed at the bottom of the screen.
A character is placed on the grid by typing the coordinate of the required position as a letter followed by a number.
The character X or O is then pressed. Delete can be used at any time if you make a mistake.
When you're sure that the entry is correct, press RETURN.
The game continues until, after 100 moves, the grid is full. The winner is then declared.
It is possible to resign by pressing the ESCAPE key.
The game has been written to a structured format to help with debugging and to allow changes to be made more easily.
Lines 10 to 490 contain the main sequence of events.
From this section of the listing all the procedures and functions are called. These are contained in lines 500 onward.
Procedures | |
autoplay | Puts randomly selected Xs on the grid at the start of autoplay |
cube | Draws a cube |
display | Draws grid, cube and scorepad |
endmessage | States the winner |
gamesetup | Clears grid before the start of play |
get(low%,high%) | Waits until a key is pressed in the range defined by the parameters. VDU 7 if out-of-range key is pressed |
initiate | Dimension variables for such things as the grid, sets up double height routine, reads data |
input | A double height utility input |
oxo1, oxo2 | Analyses grid for a winning comination of O-X-O |
play | Displays the prompt and receives player's move |
print(x%,y%,a$) | Pritns a$ out at TAB(x%,y%) in double height |
printsetup | Contains the machine code assembly for the double height print routine |
score | Uses FNoxo1 and FNoxo2 to calculate score |
tune | Plays a five note sequence |
TIMEPIECE
By Ken Goodacre
TIMEPIECE is a superb graphics program which animates the hands on a fob watch.
When the program is RUN a set of arrays are initialised to speed up the drawing of the watch.
This takes quite some time - no pun intended - so please be patient.
Once this is compelte the fob watch is drawn on the screen with great speed and you can enter the correct time.
You can reset this by pressing SHIFT once the hands are moving.
Now you can sit back, relax and enjoy the superbly animated hands as they sweep around the clock face.
Procedures | |
array | Initialises data arrays |
case | Draws sections of the case |
seconds | Updates second hand |
minutes | Updates minute hand |
hour | Updates hour hand |
init | Initialises variables |
error | Traps program errors |
knurl | Draws knurl at top of watch |
face | Draws clock face |
name | Draws name on clock face |
set | Sets clock to specified time |
reset | Erases hands from clock face |
strike | Sounds chime each hour |