Electron User 3.06 ================== 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 seenOn 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 car1car2car3 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 carMARCHING 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 sequenceTIMEPIECE 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