Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_50.ADF » V/+SOLITA
V/+SOLITA
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_50.ADF |
Filename: | V/+SOLITA |
Read OK: | ✔ |
File size: | 0B13 bytes |
Load address: | 56204556 |
Exec address: | 4F532B2E |
Duplicates
There are 2 duplicate copies of this file in the archive:
- AEW website » eug » eug_3_5_discs_Eug-50_A-EUG50.adf » V/+SOLITA
- AEW website » eug » eug_5_25_discs_Eug-50_D-EUG50.dsd » V.+SOLITA
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_50.ADF » V/+SOLITA
File contents
SOLITAIRE by Dave Robinson and Roy Walmsley SOLITAIRE is a computerised version of the one player game of the same name. Rather than use the normal pegs and board, this version makes good use of your Electron's graphics capabilities. The aim of the game is to finish with a single 'peg' in the centre of the board, the only position at the start that is unoccupied by a peg. Pegs are removed by hopping over them with other pegs. Moves can only be made vertically or horizontally - not diagonally. The only legal move is to hop one peg over another into a hole. The peg hopped over is then removed. Although this may sound easy, it is in fact very difficult! You tend to end up with several pegs out on a limb, with no hope of removing them! In this Electron version, the pegs are in fact space invaders - all the more reason to remove them! You hop an invader by moving a cursor to it using the usual keys, and then hit the space bar. This 'picks up' the invader. You then move the cursor to the target hole and press the space bar again. If it is a legal move then the invader you have jumped over is banished forever to the very darkest corners of your Electron's memory. If you pick up an invader and then change your mind about the whole move, you can reverse matters by simply returning it to its position and pressing the space bar again. When you have won or (shame) you have moved all that you are able, the program will detect this and finish with a suitable congratulatory or consolatory message. Program notes THE bulk of the game is in, or called from, PROCplay, at line 2020. This procedure looks after the movement keys and calls another procedure, PROCcursor, to move the cursor around the board. PROCcursor simply deletes the cursor in the old position, by printing a space, and dis- plays the cursor in the new position. There is also a check to see if you have tried to move the cursor off the edhe of the cross-shaped playing area (line 1790). The rest of PROCplay checks the state of the flag, up%. This reflects whether you are in the middle of a 'hop' or just moving around the board prior to one. Either of the procedures PROCpick and PROCputdown are called depending on ths flag. The procedure PROCcheck is called each time that PROCplay is executed after a hop, to check if the game is over yet. You'll never find a more peaceful way to zap the aliens! Good luck. SOLITAIRE is included on this disk by special request. Several versions of the game exist; this one coming from ELBUG Magazine 2.2. Similarly, these documents have also been reproduced from the accompanying article. If you have a better version then submit it for inclusion in EUG #51. (The) Dave
00000000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00000020 4f 4c 49 54 41 49 52 45 0d 20 20 20 20 20 20 20 |OLITAIRE. | 00000030 20 20 20 20 20 20 20 20 20 20 20 20 62 79 20 44 | by D| 00000040 61 76 65 20 52 6f 62 69 6e 73 6f 6e 20 61 6e 64 |ave Robinson and| 00000050 20 52 6f 79 20 57 61 6c 6d 73 6c 65 79 0d 0d 53 | Roy Walmsley..S| 00000060 4f 4c 49 54 41 49 52 45 20 69 73 20 61 20 63 6f |OLITAIRE is a co| 00000070 6d 70 75 74 65 72 69 73 65 64 20 76 65 72 73 69 |mputerised versi| 00000080 6f 6e 20 6f 66 20 74 68 65 20 6f 6e 65 20 70 6c |on of the one pl| 00000090 61 79 65 72 20 67 61 6d 65 20 6f 66 20 74 68 65 |ayer game of the| 000000a0 20 73 61 6d 65 0d 6e 61 6d 65 2e 20 52 61 74 68 | same.name. Rath| 000000b0 65 72 20 74 68 61 6e 20 75 73 65 20 74 68 65 20 |er than use the | 000000c0 6e 6f 72 6d 61 6c 20 70 65 67 73 20 61 6e 64 20 |normal pegs and | 000000d0 62 6f 61 72 64 2c 20 74 68 69 73 20 76 65 72 73 |board, this vers| 000000e0 69 6f 6e 20 6d 61 6b 65 73 20 67 6f 6f 64 0d 75 |ion makes good.u| 000000f0 73 65 20 6f 66 20 79 6f 75 72 20 45 6c 65 63 74 |se of your Elect| 00000100 72 6f 6e 27 73 20 67 72 61 70 68 69 63 73 20 63 |ron's graphics c| 00000110 61 70 61 62 69 6c 69 74 69 65 73 2e 0d 20 20 20 |apabilities.. | 00000120 54 68 65 20 61 69 6d 20 6f 66 20 74 68 65 20 67 |The aim of the g| 00000130 61 6d 65 20 69 73 20 74 6f 20 66 69 6e 69 73 68 |ame is to finish| 00000140 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 27 | with a single '| 00000150 70 65 67 27 20 69 6e 20 74 68 65 20 63 65 6e 74 |peg' in the cent| 00000160 72 65 20 6f 66 0d 74 68 65 20 62 6f 61 72 64 2c |re of.the board,| 00000170 20 74 68 65 20 6f 6e 6c 79 20 70 6f 73 69 74 69 | the only positi| 00000180 6f 6e 20 61 74 20 74 68 65 20 73 74 61 72 74 20 |on at the start | 00000190 74 68 61 74 20 69 73 20 75 6e 6f 63 63 75 70 69 |that is unoccupi| 000001a0 65 64 20 62 79 20 61 20 70 65 67 2e 0d 50 65 67 |ed by a peg..Peg| 000001b0 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 62 79 |s are removed by| 000001c0 20 68 6f 70 70 69 6e 67 20 6f 76 65 72 20 74 68 | hopping over th| 000001d0 65 6d 20 77 69 74 68 20 6f 74 68 65 72 20 70 65 |em with other pe| 000001e0 67 73 2e 20 4d 6f 76 65 73 20 63 61 6e 20 6f 6e |gs. Moves can on| 000001f0 6c 79 20 62 65 0d 6d 61 64 65 20 76 65 72 74 69 |ly be.made verti| 00000200 63 61 6c 6c 79 20 6f 72 20 68 6f 72 69 7a 6f 6e |cally or horizon| 00000210 74 61 6c 6c 79 20 2d 20 6e 6f 74 20 64 69 61 67 |tally - not diag| 00000220 6f 6e 61 6c 6c 79 2e 0d 20 20 20 54 68 65 20 6f |onally.. The o| 00000230 6e 6c 79 20 6c 65 67 61 6c 20 6d 6f 76 65 20 69 |nly legal move i| 00000240 73 20 74 6f 20 68 6f 70 20 6f 6e 65 20 70 65 67 |s to hop one peg| 00000250 20 6f 76 65 72 20 61 6e 6f 74 68 65 72 20 69 6e | over another in| 00000260 74 6f 20 61 20 68 6f 6c 65 2e 20 54 68 65 0d 70 |to a hole. The.p| 00000270 65 67 20 68 6f 70 70 65 64 20 6f 76 65 72 20 69 |eg hopped over i| 00000280 73 20 74 68 65 6e 20 72 65 6d 6f 76 65 64 2e 0d |s then removed..| 00000290 20 20 20 41 6c 74 68 6f 75 67 68 20 74 68 69 73 | Although this| 000002a0 20 6d 61 79 20 73 6f 75 6e 64 20 65 61 73 79 2c | may sound easy,| 000002b0 20 69 74 20 69 73 20 69 6e 20 66 61 63 74 20 76 | it is in fact v| 000002c0 65 72 79 20 64 69 66 66 69 63 75 6c 74 21 20 59 |ery difficult! Y| 000002d0 6f 75 20 74 65 6e 64 0d 74 6f 20 65 6e 64 20 75 |ou tend.to end u| 000002e0 70 20 77 69 74 68 20 73 65 76 65 72 61 6c 20 70 |p with several p| 000002f0 65 67 73 20 6f 75 74 20 6f 6e 20 61 20 6c 69 6d |egs out on a lim| 00000300 62 2c 20 77 69 74 68 20 6e 6f 20 68 6f 70 65 20 |b, with no hope | 00000310 6f 66 20 72 65 6d 6f 76 69 6e 67 20 0d 74 68 65 |of removing .the| 00000320 6d 21 0d 20 20 20 49 6e 20 74 68 69 73 20 45 6c |m!. In this El| 00000330 65 63 74 72 6f 6e 20 76 65 72 73 69 6f 6e 2c 20 |ectron version, | 00000340 74 68 65 20 70 65 67 73 20 61 72 65 20 69 6e 20 |the pegs are in | 00000350 66 61 63 74 20 73 70 61 63 65 20 69 6e 76 61 64 |fact space invad| 00000360 65 72 73 20 2d 20 61 6c 6c 0d 74 68 65 20 6d 6f |ers - all.the mo| 00000370 72 65 20 72 65 61 73 6f 6e 20 74 6f 20 72 65 6d |re reason to rem| 00000380 6f 76 65 20 74 68 65 6d 21 20 59 6f 75 20 68 6f |ove them! You ho| 00000390 70 20 61 6e 20 69 6e 76 61 64 65 72 20 62 79 20 |p an invader by | 000003a0 6d 6f 76 69 6e 67 20 61 20 63 75 72 73 6f 72 0d |moving a cursor.| 000003b0 74 6f 20 69 74 20 75 73 69 6e 67 20 74 68 65 20 |to it using the | 000003c0 75 73 75 61 6c 20 6b 65 79 73 2c 20 61 6e 64 20 |usual keys, and | 000003d0 74 68 65 6e 20 68 69 74 20 74 68 65 20 73 70 61 |then hit the spa| 000003e0 63 65 20 62 61 72 2e 20 54 68 69 73 20 27 70 69 |ce bar. This 'pi| 000003f0 63 6b 73 20 75 70 27 0d 74 68 65 20 69 6e 76 61 |cks up'.the inva| 00000400 64 65 72 2e 20 59 6f 75 20 74 68 65 6e 20 6d 6f |der. You then mo| 00000410 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f |ve the cursor to| 00000420 20 74 68 65 20 74 61 72 67 65 74 20 68 6f 6c 65 | the target hole| 00000430 20 61 6e 64 20 70 72 65 73 73 20 74 68 65 0d 73 | and press the.s| 00000440 70 61 63 65 20 62 61 72 20 61 67 61 69 6e 2e 20 |pace bar again. | 00000450 49 66 20 69 74 20 69 73 20 61 20 6c 65 67 61 6c |If it is a legal| 00000460 20 6d 6f 76 65 20 74 68 65 6e 20 74 68 65 20 69 | move then the i| 00000470 6e 76 61 64 65 72 20 79 6f 75 20 68 61 76 65 20 |nvader you have | 00000480 6a 75 6d 70 65 64 0d 6f 76 65 72 20 69 73 20 62 |jumped.over is b| 00000490 61 6e 69 73 68 65 64 20 66 6f 72 65 76 65 72 20 |anished forever | 000004a0 74 6f 20 74 68 65 20 76 65 72 79 20 64 61 72 6b |to the very dark| 000004b0 65 73 74 20 63 6f 72 6e 65 72 73 20 6f 66 20 79 |est corners of y| 000004c0 6f 75 72 20 45 6c 65 63 74 72 6f 6e 27 73 0d 6d |our Electron's.m| 000004d0 65 6d 6f 72 79 2e 0d 20 20 20 49 66 20 79 6f 75 |emory.. If you| 000004e0 20 70 69 63 6b 20 75 70 20 61 6e 20 69 6e 76 61 | pick up an inva| 000004f0 64 65 72 20 61 6e 64 20 74 68 65 6e 20 63 68 61 |der and then cha| 00000500 6e 67 65 20 79 6f 75 72 20 6d 69 6e 64 20 61 62 |nge your mind ab| 00000510 6f 75 74 20 74 68 65 20 77 68 6f 6c 65 0d 6d 6f |out the whole.mo| 00000520 76 65 2c 20 79 6f 75 20 63 61 6e 20 72 65 76 65 |ve, you can reve| 00000530 72 73 65 20 6d 61 74 74 65 72 73 20 62 79 20 73 |rse matters by s| 00000540 69 6d 70 6c 79 20 72 65 74 75 72 6e 69 6e 67 20 |imply returning | 00000550 69 74 20 74 6f 20 69 74 73 20 70 6f 73 69 74 69 |it to its positi| 00000560 6f 6e 20 61 6e 64 0d 70 72 65 73 73 69 6e 67 20 |on and.pressing | 00000570 74 68 65 20 73 70 61 63 65 20 62 61 72 20 61 67 |the space bar ag| 00000580 61 69 6e 2e 0d 20 20 20 57 68 65 6e 20 79 6f 75 |ain.. When you| 00000590 20 68 61 76 65 20 77 6f 6e 20 6f 72 20 28 73 68 | have won or (sh| 000005a0 61 6d 65 29 20 79 6f 75 20 68 61 76 65 20 6d 6f |ame) you have mo| 000005b0 76 65 64 20 61 6c 6c 20 74 68 61 74 20 79 6f 75 |ved all that you| 000005c0 20 61 72 65 20 61 62 6c 65 2c 20 0d 74 68 65 20 | are able, .the | 000005d0 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 64 65 74 |program will det| 000005e0 65 63 74 20 74 68 69 73 20 61 6e 64 20 66 69 6e |ect this and fin| 000005f0 69 73 68 20 77 69 74 68 20 61 20 73 75 69 74 61 |ish with a suita| 00000600 62 6c 65 20 63 6f 6e 67 72 61 74 75 6c 61 74 6f |ble congratulato| 00000610 72 79 0d 6f 72 20 63 6f 6e 73 6f 6c 61 74 6f 72 |ry.or consolator| 00000620 79 20 6d 65 73 73 61 67 65 2e 0d 0d 50 72 6f 67 |y message...Prog| 00000630 72 61 6d 20 6e 6f 74 65 73 0d 54 48 45 20 62 75 |ram notes.THE bu| 00000640 6c 6b 20 6f 66 20 74 68 65 20 67 61 6d 65 20 69 |lk of the game i| 00000650 73 20 69 6e 2c 20 6f 72 20 63 61 6c 6c 65 64 20 |s in, or called | 00000660 66 72 6f 6d 2c 20 50 52 4f 43 70 6c 61 79 2c 20 |from, PROCplay, | 00000670 61 74 20 6c 69 6e 65 20 32 30 32 30 2e 20 54 68 |at line 2020. Th| 00000680 69 73 0d 70 72 6f 63 65 64 75 72 65 20 6c 6f 6f |is.procedure loo| 00000690 6b 73 20 61 66 74 65 72 20 74 68 65 20 6d 6f 76 |ks after the mov| 000006a0 65 6d 65 6e 74 20 6b 65 79 73 20 61 6e 64 20 63 |ement keys and c| 000006b0 61 6c 6c 73 20 61 6e 6f 74 68 65 72 20 70 72 6f |alls another pro| 000006c0 63 65 64 75 72 65 2c 0d 50 52 4f 43 63 75 72 73 |cedure,.PROCcurs| 000006d0 6f 72 2c 20 74 6f 20 6d 6f 76 65 20 74 68 65 20 |or, to move the | 000006e0 63 75 72 73 6f 72 20 61 72 6f 75 6e 64 20 74 68 |cursor around th| 000006f0 65 20 62 6f 61 72 64 2e 20 50 52 4f 43 63 75 72 |e board. PROCcur| 00000700 73 6f 72 20 73 69 6d 70 6c 79 20 0d 64 65 6c 65 |sor simply .dele| 00000710 74 65 73 20 74 68 65 20 63 75 72 73 6f 72 20 69 |tes the cursor i| 00000720 6e 20 74 68 65 20 6f 6c 64 20 70 6f 73 69 74 69 |n the old positi| 00000730 6f 6e 2c 20 62 79 20 70 72 69 6e 74 69 6e 67 20 |on, by printing | 00000740 61 20 73 70 61 63 65 2c 20 61 6e 64 20 64 69 73 |a space, and dis| 00000750 2d 0d 70 6c 61 79 73 20 74 68 65 20 63 75 72 73 |-.plays the curs| 00000760 6f 72 20 69 6e 20 74 68 65 20 6e 65 77 20 70 6f |or in the new po| 00000770 73 69 74 69 6f 6e 2e 20 54 68 65 72 65 20 69 73 |sition. There is| 00000780 20 61 6c 73 6f 20 61 20 63 68 65 63 6b 20 74 6f | also a check to| 00000790 20 73 65 65 20 69 66 0d 79 6f 75 20 68 61 76 65 | see if.you have| 000007a0 20 74 72 69 65 64 20 74 6f 20 6d 6f 76 65 20 74 | tried to move t| 000007b0 68 65 20 63 75 72 73 6f 72 20 6f 66 66 20 74 68 |he cursor off th| 000007c0 65 20 65 64 68 65 20 6f 66 20 74 68 65 20 63 72 |e edhe of the cr| 000007d0 6f 73 73 2d 73 68 61 70 65 64 20 0d 70 6c 61 79 |oss-shaped .play| 000007e0 69 6e 67 20 61 72 65 61 20 28 6c 69 6e 65 20 31 |ing area (line 1| 000007f0 37 39 30 29 2e 0d 20 20 20 54 68 65 20 72 65 73 |790).. The res| 00000800 74 20 6f 66 20 50 52 4f 43 70 6c 61 79 20 63 68 |t of PROCplay ch| 00000810 65 63 6b 73 20 74 68 65 20 73 74 61 74 65 20 6f |ecks the state o| 00000820 66 20 74 68 65 20 66 6c 61 67 2c 20 75 70 25 2e |f the flag, up%.| 00000830 20 54 68 69 73 20 72 65 66 6c 65 63 74 73 0d 77 | This reflects.w| 00000840 68 65 74 68 65 72 20 79 6f 75 20 61 72 65 20 69 |hether you are i| 00000850 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 |n the middle of | 00000860 61 20 27 68 6f 70 27 20 6f 72 20 6a 75 73 74 20 |a 'hop' or just | 00000870 6d 6f 76 69 6e 67 20 61 72 6f 75 6e 64 20 74 68 |moving around th| 00000880 65 20 62 6f 61 72 64 0d 70 72 69 6f 72 20 74 6f |e board.prior to| 00000890 20 6f 6e 65 2e 20 45 69 74 68 65 72 20 6f 66 20 | one. Either of | 000008a0 74 68 65 20 70 72 6f 63 65 64 75 72 65 73 20 50 |the procedures P| 000008b0 52 4f 43 70 69 63 6b 20 61 6e 64 20 50 52 4f 43 |ROCpick and PROC| 000008c0 70 75 74 64 6f 77 6e 20 61 72 65 20 0d 63 61 6c |putdown are .cal| 000008d0 6c 65 64 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e |led depending on| 000008e0 20 74 68 73 20 66 6c 61 67 2e 0d 20 20 20 54 68 | ths flag.. Th| 000008f0 65 20 70 72 6f 63 65 64 75 72 65 20 50 52 4f 43 |e procedure PROC| 00000900 63 68 65 63 6b 20 69 73 20 63 61 6c 6c 65 64 20 |check is called | 00000910 65 61 63 68 20 74 69 6d 65 20 74 68 61 74 20 50 |each time that P| 00000920 52 4f 43 70 6c 61 79 20 69 73 20 65 78 65 63 75 |ROCplay is execu| 00000930 74 65 64 0d 61 66 74 65 72 20 61 20 68 6f 70 2c |ted.after a hop,| 00000940 20 74 6f 20 63 68 65 63 6b 20 69 66 20 74 68 65 | to check if the| 00000950 20 67 61 6d 65 20 69 73 20 6f 76 65 72 20 79 65 | game is over ye| 00000960 74 2e 0d 20 20 20 59 6f 75 27 6c 6c 20 6e 65 76 |t.. You'll nev| 00000970 65 72 20 66 69 6e 64 20 61 20 6d 6f 72 65 20 70 |er find a more p| 00000980 65 61 63 65 66 75 6c 20 77 61 79 20 74 6f 20 7a |eaceful way to z| 00000990 61 70 20 74 68 65 20 61 6c 69 65 6e 73 21 20 47 |ap the aliens! G| 000009a0 6f 6f 64 20 6c 75 63 6b 2e 0d 0d 0d 53 4f 4c 49 |ood luck....SOLI| 000009b0 54 41 49 52 45 20 69 73 20 69 6e 63 6c 75 64 65 |TAIRE is include| 000009c0 64 20 6f 6e 20 74 68 69 73 20 64 69 73 6b 20 62 |d on this disk b| 000009d0 79 20 73 70 65 63 69 61 6c 20 72 65 71 75 65 73 |y special reques| 000009e0 74 2e 20 53 65 76 65 72 61 6c 20 76 65 72 73 69 |t. Several versi| 000009f0 6f 6e 73 0d 6f 66 20 74 68 65 20 67 61 6d 65 20 |ons.of the game | 00000a00 65 78 69 73 74 3b 20 74 68 69 73 20 6f 6e 65 20 |exist; this one | 00000a10 63 6f 6d 69 6e 67 20 66 72 6f 6d 20 45 4c 42 55 |coming from ELBU| 00000a20 47 20 4d 61 67 61 7a 69 6e 65 20 32 2e 32 2e 20 |G Magazine 2.2. | 00000a30 53 69 6d 69 6c 61 72 6c 79 2c 0d 74 68 65 73 65 |Similarly,.these| 00000a40 20 64 6f 63 75 6d 65 6e 74 73 20 68 61 76 65 20 | documents have | 00000a50 61 6c 73 6f 20 62 65 65 6e 20 72 65 70 72 6f 64 |also been reprod| 00000a60 75 63 65 64 20 66 72 6f 6d 20 74 68 65 20 61 63 |uced from the ac| 00000a70 63 6f 6d 70 61 6e 79 69 6e 67 20 61 72 74 69 63 |companying artic| 00000a80 6c 65 2e 0d 49 66 20 79 6f 75 20 68 61 76 65 20 |le..If you have | 00000a90 61 20 62 65 74 74 65 72 20 76 65 72 73 69 6f 6e |a better version| 00000aa0 20 74 68 65 6e 20 73 75 62 6d 69 74 20 69 74 20 | then submit it | 00000ab0 66 6f 72 20 69 6e 63 6c 75 73 69 6f 6e 20 69 6e |for inclusion in| 00000ac0 20 45 55 47 20 23 35 31 2e 0d 20 20 20 20 20 20 | EUG #51.. | 00000ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00000b00 20 20 20 20 20 20 20 20 28 54 68 65 29 20 44 61 | (The) Da| 00000b10 76 65 0d |ve.| 00000b13