--- title: "Las Vegas" id: 72147 type: "computer_media" slug: "las-vegas" url: "http://localhost/computer_media/las-vegas/" markdown_url: "http://localhost/computer_media/las-vegas.md" published_at: "2026-10-22T16:24:12+00:00" modified_at: "2026-10-22T16:24:13+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/vegas-1.png" excerpt: "Five casino and puzzle games behind one menu: a fruit machine with holds, gambles and jackpots, a sliding colour puzzle, a five-in-a-row board game, Boule and One to Five." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" genre: - name: "Gambling" slug: "gambling" taxonomy: "genre" url: "http://localhost/type/gambling/" media_type: "Cassette" download_url: "https://archive.org/download/timex-sinclair-software-archive/Las%20Vegas%20%28198x%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "Las Vegas (198x)(TS2068)(US)(Program).tap" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/10/vegas-1.png" - url: "http://localhost/wp-content/uploads/2026/10/vegas-2.png" - url: "http://localhost/wp-content/uploads/2026/10/vegas2-boule.png" media_type_tags: "Gambling" --- # Las Vegas A collection of casino and puzzle games behind a single menu. A scrolling message asks you to press the number of the game you want. The menu has slots for nine games, but only five are filled and the last four read NOTHING. - **1 Las Vegas** is a three-reel fruit machine. You INSERT a dollar for four credits, and each PLAY costs two. A table beside the machine shows the payouts for two and three of a kind. Four jokers can be collected, and holding all four doubles your wins for 15 turns. Three of certain symbols start a jackpot run. After a win you can HOLD reels, GAMBLE or COLLECT. The gamble cycles through double, nothing, one and a half and half until you press S. Choosing END shows what you put in and got back, your highest total, your gambling result and how many holds, gambles and turns you made. - **2 Squares** (“Rainbow Square Dance” in the listing) is a five-by-five grid of coloured blocks that starts as five solid-coloured rows and is shuffled at the start. You choose a row (1–5) or a column (6–9 and 0) and shift it from −4 to 4 steps, and try to bring the rows back. Entering 999 returns to the menu. - **3 Qui Vive** is a board game against the computer on a five-by-five board with squares A1 to E5. Each side places five checkers and then moves one checker at a time. The first player whose five checkers form one of 42 shapes, such as a row, column, diagonal, plus, X or “wing”, wins. - **4 Boule** is a nine-number roulette-style game with a $100 stake. You can bet on pairs, impairs, manque, passe, black numbers or white numbers at even money, or on a single number at 7 to 1. Number 5 is the house number and loses every bet. A bet of 0 returns to the menu. - **5 One to Five** is a three-by-three number puzzle. Pressing a key from 1 to 9 changes that square and the others in its row and column, with each value counting up from 0 to 5 and back to 0. The goal is to get every square back to zero, and the program counts your moves. Pressing the full stop gives up. No author or publisher is named anywhere in the program. The menu also has hidden keys: 0 saves the collection to tape as `GAME1` and verifies it, and SPACE erases the program with `NEW`. This copy was found on a Larken disk labelled Poker. A cassette transfer of the program had already been made in 2023, but the TAP from that transfer was broken. The disk copy matches the cassette in 741 of its 743 lines, with only the disk save and load lines differing, and its TAP has replaced the broken one. The download still includes the 2023 cassette transfer files: a TZX, a WAV recording and a photo of the hand-labelled tape, which is marked “LAS VAGAS”. ## Program Analysis ### Menu The program autostarts at line 33, where lines 33–41 define user-defined graphic `e` as a checkerboard pattern. That pattern makes the border of the menu screen and fills the scrolling prompt. Line 1 scrolls the prompt across the bottom line. Line 9 sends the key pressed to line `VAL R$+10`, a jump table at lines 10–19. Line 7 accepts only keys 0–5, so the entries for the four empty slots at lines 16–19 are never reached. ### Las Vegas Reel stops are weighted. Line 292 draws a number from 1 to 100, and line 293 turns it into a symbol index with a chain of comparisons such as `(FI>7)+(FI>10)`. Values below 5 are jokers. The spinning reels at lines 300–306 step each reel through the 13 symbols in `W$` and stop it when it reaches the drawn symbol. Each reel stops later than the one before. Payouts come from `R(NS,K(2))`, where `NS` counts the matching neighbouring reels, and a single `%` pays 1. Money is kept in quarters, which is why the end-of-game report divides by four. ### Qui Vive The 42 winning shapes are stored in `DATA` at lines 757–776 as five-letter strings of squares A–Y and decoded into `S(42,5)`. Lines 784–792 pack 108 pairs of overlapping shapes into `D(108,2)` as two characters each, offset from `CODE "0"`. The player’s checkers count 1 and the computer’s count 10, so the sum over a shape shows at once who owns it. For example, 4 means the player has four of the five squares and 40 means the computer does. The computer’s move search at lines 704–722 tries each empty square, uses those sums to block threats and to score the overlapping shapes, and picks the best one. ### Boule and One to Five Boule names its numbers with variables such as `ONE`, `TWELVE` and `TWENTYONE`, all set in line 1010, and draws the wheel with UDGs `f`–`l` printed over one another with `OVER 1`. One to Five keeps the board in `A(3,3)`. Line 7420 subtracts 1 from the chosen square before the row and column loop adds 1 to it twice, so that square goes up by one like the rest. Line 7500 wraps 6 back to 0. ## Notable Techniques - Computed `GO TO` and `GO SUB` with Boolean `AND`, as in line 403 `GO SUB (250 AND CA=1)+(260 AND CA=2)+…`, take the place of `ON … GO TO`. - Line 380 adds trailing zeros to money amounts by comparing `LEN STR$ X` with `LEN STR$ INT X`. - Qui Vive’s 1-and-10 weighting lets one sum describe the state of a whole shape. - The gamble pointer at line 347 slows down by raising its delay to the power 1.3 at each step, so it eases to a stop after you press S. ## Potential Issues - Line 366 is meant to report a gambling loss but sets `C` instead of `X`, so the “LOST BY GAMBLING” figure repeats the previous line’s value. - In One to Five, line 7330 jumps to line 795 when a key is still held, which is Qui Vive’s play-again prompt. Answering Y there starts Qui Vive rather than another round of One to Five. Because the `PAUSE 500` before it ends on a key press, this is the likely path. - Boule doesn’t check the bet for a negative value. A negative bet that loses increases the stake. - Boule compares the choice with upper-case letters only, and the program never turns on caps lock, so a lower-case `a` to `f` always loses. - Squares has no check for a solved grid. The game carries on until you enter 999. - Line 141 and lines 1480–1490 print an empty string and the same character twice, so the jackpot flash and the Boule ball animation appear to show nothing. A character may have been lost from these lines. The TAP in the download was converted from the Larken disk copy. The `PRINT #4` disk prefixes and the disk load line were removed, the autostart was corrected to line 33 and the disk’s variables marker was dropped. It was tested in ZEsarUX on the menu, the fruit machine and Boule. ## Source Code ``` 1 FOR I=1 TO LEN A$-20: PRINT AT 21,4;A$(I TO I+20): PAUSE 15: NEXT I 2 IF INKEY$<>"" THEN GO TO 2 3 IF INKEY$="" THEN GO TO 3 4 LET R$=INKEY$ 5 IF R$=" " THEN NEW 7 IF R$<"0" OR R$>"5" THEN GO TO 2 9 GO TO VAL R$+10 10 GO TO 44 11 GO TO 50: REM LAS VEGAS 12 GO TO 501: REM SQUARES 13 GO TO 555: REM QUI VIVE 14 GO TO 1000: REM BOULE 15 GO TO 7000: REM ONE TO FIVE 16 GO TO 1: REM SIXTH GAME 17 GO TO 1: REM SEVENTH GAME 18 GO TO 1: REM EIGHTH GAME 19 GO TO 1: REM NINTH GAME 20 CLS : POKE 23659,0: PRINT "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" 21 FOR I=1 TO 22: PRINT "::eeeeeeeeeeeeeeeeeeeeeeeeeeeeee::": NEXT I 22 PRINT "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::": POKE 23659,2: PRINT AT 2,13; FLASH 1;"MENU"; FLASH 0 23 PRINT AT 5,2;"1 LAS VEGAS" 24 PRINT AT 6,2;"2 SQUARES" 25 PRINT AT 7,2;"3 QUI VIVE" 26 PRINT AT 8,2;"4 BOULE" 27 PRINT AT 9,2;"5 ONE TO FIVE" 28 PRINT AT 10,2;"6 NOTHING" 29 PRINT AT 11,2;"7 NOTHING" 30 PRINT AT 12,2;"8 NOTHING" 31 PRINT AT 13,2;"9 NOTHING" 32 GO TO 1 33 POKE USR "e",BIN 10101010 34 POKE USR "e"+1,BIN 01010101 35 POKE USR "e"+2,BIN 10101010 36 POKE USR "e"+3,BIN 01010101 37 POKE USR "e"+4,BIN 10101010 38 POKE USR "e"+5,BIN 01010101 39 POKE USR "e"+5,BIN 01010101 40 POKE USR "e"+6,BIN 10101010 41 POKE USR "e"+7,BIN 01010101 42 LET A$="eeeeeehit number corresponding to program desiredeeeeeeeeeeeeeeeeeeeee" 43 GO TO 20 44 CLS : SAVE "GAME1" LINE 33 45 PRINT AT 3,6;"REWIND TAPE";AT 5,5;" AND HIT ENTER";AT 7,6;"TO VERIFY";: PRINT : PRINT 46 VERIFY "GAME1" 47 GO TO 33 50 REM ***LAS VEGAS*** 51 CLS : DIM R(3,13): DIM J(13): LET J(5)=1: LET J(6)=1: LET J(7)=1: LET W$="AKQJ7*$0/=+#%" 52 RESTORE 53: FOR I=5 TO 12: READ R(2,I),R(3,I): NEXT I 53 DATA 8,40,8,40,7,30,5,25,3,20,3,20,2,10,2,10 54 DIM H(3): DIM P(3): DIM C(4): DIM D(4): DIM K(3): DIM V(4): DIM O(3): DIM A(3): DIM F(3): DIM G(4): DIM E(4,2) 55 FOR I=1 TO 3: READ P(I): NEXT I 56 FOR I=1 TO 4: READ D(I): READ E(I,1): READ E(I,2): NEXT I 57 DATA 12,14,16,12,1,14,13,2,20,15,3,14,16,2,9 58 LET B$=" ": LET NT=-1: LET NJ=4: LET NI=0: LET WI=0: LET HB=0: LET DO=0: LET DC=0: LET JA=0: LET JC=0: LET MO=0: LET MM=0: LET R=0: LET GW=0: LET NH=0: LET NG=0 60 FOR I=1 TO 3: LET V(I)=INT (RND*14): NEXT I 62 GO TO 400 100 REM ***FLASH S$ AND GET INKEY$*** 101 PRINT AT R,C; OVER 1; FLASH 1;S$; 102 LET I$=INKEY$: IF I$="" THEN GO TO 102 103 PRINT AT R,C; PAPER CL;T$; 104 RETURN 110 REM ***ADD INCREMENT TO MONEY*** 111 FOR I=SGN (IN) TO IN STEP SGN (IN) 112 PRINT AT 0,7;MO+I;" ";: BEEP .1,40: NEXT I 113 LET MO=MO+IN: RETURN 120 REM ***REMOVE DOUBLE*** 121 LET DO=0: PRINT AT 6,11; PAPER 2;" "; 122 FOR I=1 TO 4: PRINT AT 7,D(I);W$(I);: LET C(I)=0: NEXT I: RETURN 130 REM ***CLEAR LAST LINE*** 131 PRINT AT 21,0;TAB 31;"";: RETURN 140 REM ***JACKPOT*** 141 FOR T=1 TO 4: FOR C=1 TO JC: PRINT AT 0,11+C;"";: NEXT C 142 FOR C=1 TO JC: BEEP .1,10+2*C: PRINT AT 0,11+C;"J";: NEXT C 143 NEXT T: RETURN 150 REM ***FLASH POSSIBLE HOLDS AND GET INKEYS$*** 151 FOR I=1 TO 3: IF H(I)=0 THEN PRINT AT 11,P(I); FLASH 1; PAPER 2; INK 7; OVER 1;"H"; 152 NEXT I: LET HO=0 153 LET I$=INKEY$: IF I$="" THEN GO TO 153 154 IF I$<>"1" AND I$<>"2" AND I$<>"3" THEN GO TO 157 155 LET I=VAL I$: PRINT AT 11,P(I); PAPER 2; INK 7;"H"; 156 LET HO=1: LET H(I)=1: GO TO 153 157 FOR I=1 TO 3: IF H(I)=0 THEN PRINT AT 11,P(I); PAPER 2;" "; 158 NEXT I: LET NH=NH+HO: RETURN 200 REM ***DRAW SCREEN*** 201 PRINT AT 5,11; PAPER 3;" "; 202 FOR I=0 TO 4: PRINT AT 6+I,10; PAPER 3;" "; PAPER 2;" "; PAPER 3;" "; PAPER 7;" "; PAPER 3;" ";: NEXT I 203 PRINT AT 6,20; PAPER 2;" ";: PRINT AT 10,19; PAPER 3;" "; 204 FOR I=0 TO 2: PRINT AT 9,12+2*I; PAPER 6;" ";: NEXT I 205 PRINT AT 11,11; PAPER 5;" "; 206 FOR I=0 TO 2: PRINT AT 11,12+2*I; PAPER 2;" ";: NEXT I 207 FOR I=0 TO 3: PRINT AT 12+I,12; PAPER 5;" ";: NEXT I 208 FOR I=0 TO 3: FOR K=0 TO 4+2*I: PRINT AT 16+I,12-I+K; PAPER 1;" ";: NEXT K: NEXT I 209 PRINT AT 0,0;"TOTAL: 0"; 210 PRINT AT 8,0;"--%--= 1"; 211 FOR I=12 TO 5 STEP -1 212 PRINT AT 21-I,0;"-";W$(I);W$(I);"- = ";R(2,I); 213 PRINT AT 21-I,22;W$(I);W$(I);W$(I);" = ";R(3,I); 214 IF J(I) THEN PRINT "+J"; 215 NEXT I: RETURN 230 REM ***ADAPT VARIABLES*** 231 LET NT=NT+1: IF WI>0 THEN LET HB=1: LET WI=0 232 FOR I=1 TO 3: LET H(I)=0: PRINT AT 11,P(I); PAPER 2;" ";: NEXT I 233 IF DO THEN GO TO 238 234 FOR I=1 TO 4: IF C(I)=0 THEN GO TO 237 235 LET C(I)=C(I)-1: IF C(I)>0 THEN GO TO 237 236 LET NJ=NJ+1: PRINT AT 7,D(I);W$(I); 237 NEXT I: GO TO 239 238 LET DC=DC-1: IF DC=0 THEN GO SUB 120 239 IF JA THEN PRINT AT 0,11+JC;" ";: LET JC=JC-1: IF JC=0 THEN LET JA=0 240 IF MO>MM THEN LET MM=MO 241 RETURN 250 REM ***NOT ENOUGH MONEY*** 251 LET HB=1: GO SUB 120 252 LET JA=0: PRINT AT 0,10;TAB 31;""; 253 GO SUB 130: PRINT AT 21,8; PAPER 5;"INSERT OR END"; 254 LET S$="INSERT (I)": LET T$=B$: LET CL=7: LET R=2: LET C=0: GO SUB 100 255 IF I$="P" OR I$="p" THEN GO TO 254 256 RETURN 260 REM ***HOLD POSSIBLE*** 261 GO SUB 130: PRINT AT 21,2; PAPER 5;"INSERT, HOLD, PLAY OR END"; 262 GO SUB 150: RETURN 270 REM ***NO HOLD POSSIBLE*** 271 GO SUB 130: PRINT AT 21,5; PAPER 5;"INSERT, PLAY OR END"; 272 LET S$="???": LET T$=" ": LET CL=1: LET R=18: LET C=13: GO SUB 100 273 RETURN 280 REM ***WHAT TO DO WITH WINNINGS*** 281 GO SUB 130 282 IF HB THEN PRINT AT 21,7;"";: GO TO 284 283 PRINT AT 21,4; PAPER 5;"HOLD, "; 284 PRINT ; PAPER 5;"GAMBLE OR COLLECT"; 285 LET S$="???": LET T$=" ": LET CL=1: LET R=18: LET C=13: GO SUB 100 286 RETURN 290 REM ***PLAY*** 291 FOR I=1 TO 3: IF H(I) THEN GO TO 294 292 LET O(I)=V(I): LET FI=INT (RND*100)+1: LET V(I)=FI: IF FI<5 THEN GO TO 294 293 LET V(I)=5+(FI>7)+(FI>10)+(FI>13)+(FI>36)+(FI>49)+(FI>68)+(FI>87) 294 NEXT I 295 FOR C=6 TO 9: PRINT AT C,20;" ";: PRINT AT C+1,20; PAPER 2;" "; 296 FOR I=1 TO 15: NEXT I: NEXT C 297 FOR C=10 TO 7 STEP -1: PRINT AT C,20; PAPER 3;" ";: PRINT AT C-1,20; PAPER 2;" "; 298 FOR I=1 TO 15: NEXT I: NEXT C 299 FOR I=1 TO 3: LET F(I)=0: NEXT I 300 FOR I=0 TO 70: FOR J=1 TO 3 301 IF H(J)=1 THEN GO TO 306 302 IF F(J)=1 THEN GO TO 305 303 LET O(J)=O(J)+1: IF O(J)>13 THEN LET O(J)=1 304 IF (I>10+13*J) AND O(J)=V(J) THEN LET F(J)=1: BEEP .02,8*J 305 PRINT AT 9,P(J); PAPER 6;W$(O(J)); 306 NEXT J: NEXT I: RETURN 310 REM ***TAKE CARE OF JOKERS*** 311 LET JO=0: FOR I=1 TO 3: LET V=V(I) 312 IF V>4 THEN LET FV=V: GO TO 315 313 LET JW=I: LET JO=JO+1: IF C(V)>0 THEN GO TO 315 314 PRINT AT 7,D(V); PAPER 3;" ";: LET C(V)=20: LET NJ=NJ-1 315 NEXT I: LET DO=(NJ=0): IF DO THEN LET DC=15: PRINT AT 6,11; PAPER 6;"DOUBLE!"; 316 RETURN 320 REM ***COMPUTE WINNINGS*** 321 LET HV=5: GO TO (322 AND JO=0)+(325 AND JO=1)+(322 AND JO=2)+(327 AND JO=3) 322 LET HV=FV 323 GO TO 327 325 LET V(4)=15: LET JR=JW+1: LET JL=JW-1: IF JL=0 THEN LET JL=4 326 LET HV=V(JR): IF V(JR)>V(JL) THEN LET HV=V(JL) 327 FOR I=1 TO 3: LET K(I)=V(I): IF V(I)<5 THEN LET K(I)=HV 328 NEXT I: IF K(1)<>K(2) OR K(2)<>K(3) THEN GO TO 330 329 IF J(K(1)) THEN LET JA=1: LET JC=15: GO SUB 140 330 LET W1=0: LET W2=0 331 FOR I=1 TO 3: IF K(I)=13 THEN LET W1=W1+1 332 NEXT I: LET NS=1+(K(1)=K(2))+(K(2)=K(3)): LET W2=R(NS,K(2)) 333 LET WI=W2: IF W1>WI THEN LET WI=W1 334 IF JA AND WI>0 AND WI<10 THEN LET WI=10 335 IF DO THEN LET WI=2*WI 336 RETURN 340 REM ***GAMBLE ROUTINE** 341 LET DT=1: LET G(1)=2*WI: LET G(2)=0: LET G(3)=INT (3*WI/2): LET G(4)=INT (WI/2) 342 LET NG=NG+1: GO SUB 130: PRINT AT 21,12; PAPER 5;"STOP"; 343 FOR I=1 TO 3: PRINT AT I,8; PAPER 6;" ";: NEXT I: REM 15* 344 LET R=R+1: IF R>4 THEN LET R=1 345 PRINT AT E(R,1),E(R,2); PAPER 6;G(R);: BEEP .003,10+3*R 346 IF I$<>"S" AND I$<>"s" THEN LET I$=INKEY$: GO TO 349 347 LET DT=(2+RND)*0.5*DT^1.3: IF DT>250 THEN LET DT=250 348 FOR I=1 TO DT: NEXT I: IF DT>200 THEN GO TO 350 349 PRINT AT E(R,1),E(R,2); PAPER 6;" ";: GO TO 344 350 FOR I=1 TO 3: PRINT AT I,8;TAB 31;"";: NEXT I 351 LET GW=GW+G(R)-WI: LET WI=G(R): RETURN 360 REM ***END OF GAME*** 361 CLS : PRINT : PRINT "AMOUNT OF MONEY": PRINT 362 PRINT " PUT IN:";TAB 18;"$";: LET X=NI: GO SUB 380 363 PRINT " GOT BACK:";TAB 18;"$";: LET X=MO/4: GO SUB 380 364 PRINT " MAX AT ONE TIME: $";: LET X=MM/4: GO SUB 380 365 IF GW>=0 THEN PRINT " WON BY GAMBLING: $";: LET X=GW/4: GO SUB 380 366 IF GW<0 THEN PRINT " LOST BY GAMBLING:$";: LET C=-GW/4: GO SUB 380 367 PRINT : PRINT : PRINT "NUMBER OF HOLDS:";TAB 19;: LET X=NH: GO SUB 390 368 PRINT "NUMBER OF GAMBLES:";TAB 19;: LET X=NG: GO SUB 390 369 PRINT "NUMBER OF TURNS:";TAB 19;: LET X=NT: GO SUB 390 370 RETURN 380 LET L=LEN STR$ X-LEN STR$ INT X 381 LET X$=STR$ X+("0" AND L=2)+(".00" AND L=0) 382 FOR I=LEN X$ TO 5: PRINT " ";: NEXT I: PRINT X$: RETURN 390 FOR I=LEN STR$ X TO 2: PRINT " ";: NEXT I: PRINT X: RETURN 400 REM ***MAIN PROGRAM*** 401 GO SUB 200: REM SCREEN 402 GO SUB 230: REM ADAPT 403 LET CA=2*HB+(MO>1)+1: GO SUB (250 AND CA=1)+(260 AND CA=2)+(250 AND CA=3)+(270 AND CA=4) 404 PRINT AT 3,8;TAB 31;"";: LET CA=(I$="I" OR I$="i")+2*(I$="P" OR I$="p")+3*(I$="E" OR I$="e") 405 GO TO (403 AND CA=0)+(410 AND CA=1)+(412 AND CA=2)+(470 AND CA=3) 410 LET NI=NI+1: LET IN=4: GO SUB 110: IF MO>MM THEN LET MM=MO 411 GO TO 403 412 LET IN=-2: GO SUB 110 421 GO SUB 290: REM PLAY 422 GO SUB 310: REM JOKERS 423 GO SUB 320: REM WINNINGS 424 IF H(1)+H(2)+H(3)>0 THEN GO TO 426 425 LET HB=0: LET LW=WI: GO TO (429 AND WI>0)+(402 AND WI<=0) 426 LET HB=1: IF WI>LW THEN GO TO 429 427 IF LW=0 THEN GO TO 402 428 PRINT AT 3,10;TAB 31;"";: PRINT AT 3,11; PAPER 6;"YOU LOST";: BEEP 2,10: GO TO 402 429 PRINT AT 3,10; PAPER 6;"YOU WON ";WI;: FOR I=1 TO WI: BEEP .1,20: NEXT I 430 IF MO<2 THEN LET HB=1 431 GO SUB 280: REM GET INSTRUCTION 432 LET CA=((I$="H" OR I$="h") AND NOT HB)+2*(I$="G" OR I$="g")+3*(I$="C" OR I$="c") 433 GO TO (431 AND CA=0)+(460 AND CA=1)+(450 AND CA=2)+(440 AND CA=3) 440 LET IN=WI: GO SUB 110: GO TO 402 450 LET HB=1: GO SUB 340: REM GAMBLE 451 IF WI>0 THEN GO TO 429 452 GO TO 428 460 LET WI=0: GO TO 402 470 GO SUB 360 480 IF INKEY$<>"" THEN GO TO 480 490 IF INKEY$="" THEN GO TO 490 500 GO TO 33: REM EXIT PROGRAM 501 REM RAINBOW SQUARE DANCE 502 DIM A(6,6) 503 FOR X=1 TO 5 504 FOR Y=2 TO 6 505 LET A(X,Y)=Y-1 506 NEXT Y 507 NEXT X 508 FOR I=1 TO 20 509 LET K=1+INT (10*RND) 510 GO SUB 540 511 NEXT I 512 CLS 513 REM ***BEGIN GAME*** 514 FOR Y=2 TO 6 515 LET P=(Y-2)*4-1 516 PRINT AT (P+2),5;Y-1 517 FOR I=1 TO 4 518 PRINT AT (P+I),7; INK A(1,Y);"::::::::"; INK A(2,Y);"::::::::"; INK A(3,Y);"::::::::"; INK A(4,Y);;"::::::::"; INK A(5,Y);"::::::::" 519 NEXT I 520 NEXT Y 521 PRINT AT 21,7;" 6 7 8 9 0" 522 INPUT AT 0,0;"COLUMNNUMBER(0..9): ";K;AT 1,0;"NUMBER OF STEPS (-4..4): ";S 524 IF K=999 OR S=999 THEN GO TO 33 526 IF K=0 THEN LET K=10 528 IF (K<1 OR K>10) OR (S<-4 OR S>4) THEN GO TO 522 530 IF S<0 THEN LET S=S+5 532 FOR I=1 TO S 534 GO SUB 540 536 NEXT I 538 GO TO 513 540 IF K>5 THEN GO TO 547 542 FOR X=6 TO 2 STEP -1 543 LET A(X,K+1)=A(X-1,K+1) 544 NEXT X 545 LET A(1,K+1)=A(6,K+1) 546 RETURN 547 FOR Y=2 TO 6 548 LET A(K-5,Y-1)=A(K-5,Y) 549 NEXT Y 550 LET A(K-5,6)=A(K-5,1) 551 RETURN 554 REM **QUI VIVE** 555 DIM S(42,5): DIM O(42) 556 DIM D(108,2): DIM F(16,9) 557 DIM E(5,2): DIM B(25): DIM C(25) 558 GO TO 695 560 REM **COMPUTE POINTS OF F(.,.)** 561 LET P1=0: LET P2=0: LET C1=0: LET C2=0: LET D1=B(F(N,1)): LET D2=B(F(N,2)) 562 IF D1=1 OR D2=1 THEN LET P1=1 563 IF D1=10 OR D2=10 THEN LET C1=10 564 LET D1=B(F(N,3)): LET D2=B(F(N,4)) 565 IF D1=1 OR D2=1 THEN LET P2=1 566 IF D1=10 OR D2=10 THEN LET C2=10 567 LET GV=B(F(N,5))+B(F(N,6))+B(F(N,7)) 568 LET P=GV+P1+P2+C1+C2 569 IF GV=30 AND (C1=0 OR C2=0) THEN LET P=P-10 570 IF GV=3 AND (P1=0 OR P2=0) THEN LET P=P-1 571 RETURN 575 REM **COMPUTE DOUBLE FIGURES FIELDS** 576 LET TC=5: LET TN=1 577 FOR I=1 TO 5: LET C(S(D(F,1),I))=1: NEXT I 578 FOR I=1 TO 5: LET S=S(D(F,2),I) 579 IF C(S)=1 THEN GO TO 581 580 LET F(N,TN)=S: LET TN=TN+1: GO TO 582 581 LET F(N,TC)=S: LET TC=TC+1: LET C(S)=0 582 NEXT I 583 FOR I=1 TO 5: LET S=S(D(F,1),I) 584 IF C(S)=1 THEN LET F(N,TN)=S: LET TN=TN+1: LET C(S)=0 585 NEXT I: RETURN 587 REM **DETERMINE OWNERS OF S(.,.)'S** 588 LET OM=-1: LET WM=-1 589 FOR S=1 TO 42 590 LET P=B(S(S,1))+B(S(S,2))+B(S(S,3))+B(S(S,4))+B(S(S,5)) 591 IF P=0 OR P=10 OR P=20 OR P=30 THEN LET O(S)=10: GO TO 601 592 IF P<>40 THEN GO TO 596 593 GO SUB 603 594 GO SUB 608 595 LET WM=1: LET S=42: GO TO 601 596 IF P>20 OR P<3 OR P=11 OR P=12 THEN LET O(S)=0: GO TO 601 597 LET O(S)=1 598 IF P=4 AND OM=-1 THEN GO SUB 603 599 IF P=14 THEN GO SUB 608 600 IF P=5 THEN LET S=42 601 NEXT S: RETURN 603 REM **DETERMINE OBLIGATORY MOVE (OM)** 604 FOR I=1 TO 5 605 IF B(S(S,I))=0 THEN LET OM=S(S,I) 606 NEXT I: RETURN 608 REM **DETERMINE PENDED CHECKER** 609 FOR I=1 TO 5 610 IF B(S(S,I))<>10 THEN GO TO 614 611 FOR J=1 TO CC 612 IF S(S,I)=E(J,1) THEN LET E(J,2)=1 613 NEXT J 614 NEXT I 615 RETURN 617 REM **DETERMINE INTERESTING F(.,.)'S** 618 LET NC=0: LET NP=0: LET N=1 619 FOR I=1 TO 16 620 LET F(I,9)=-1 621 LET F(I,8)=0 622 NEXT I 623 FOR F=1 TO 108 624 LET O1=O(D(F,1)): LET O2=O(D(F,2)) 625 IF O1<>O2 OR O1=0 OR O2=0 THEN GO TO 637 626 GO SUB 575 627 GO SUB 560 628 IF P=4 OR P=14 THEN LET F(N,8)=1: GO TO 631 629 IF O1=1 OR P<=F(N,9) THEN GO TO 637 630 LET F(N,8)=10 631 LET F(N,9)=P 632 LET N=1 633 FOR I=1 TO 16 634 IF F(I,9)>=F(N,9) THEN GO TO 636 635 IF F(I,8)=0 OR F(I,8)=10 THEN LET N=I 636 NEXT I 637 NEXT F 638 RETURN 640 REM **TREAT MOVE** 641 IF WM=1 THEN GO TO 657 642 LET MC=0: LET N2=0 643 FOR N=1 TO 16 644 IF F(N,8)=0 THEN GO TO 651 645 GO SUB 560 646 IF F(N,8)=1 THEN GO TO 650 647 IF P=MC THEN LET N2=N2+1 648 IF P>MC THEN LET MC=P: LET N2=1 650 IF P=4 THEN LET N=16 651 NEXT N 652 IF R=0 THEN GO TO 657 653 IF P=4 THEN RETURN 654 IF MC1 THEN BEEP 1,20: GO TO 664 666 PRINT AT 19,3;"YOU TAKE CHECKER FROM: ";M$ 667 INPUT "WHERE DO YOU PLACE YOUR CHECKER?A1..E5: ";M$ 668 GO SUB 675: LET R=X: IF NP OR B(R)<>0 THEN BEEP 1,20: GO TO 667 669 PRINT AT 20,3;"YOU PLACE CHECKER ON : ";M$ 670 IF PC=5 THEN LET B(T)=0 671 IF PC<5 THEN LET PC=PC+1 672 LET B(R)=1: GO SUB 731 673 RETURN 675 REM ** INPUT ** 676 LET NP=0: LET X=1: IF LEN M$<>2 THEN GO TO 681 677 LET CO=CODE M$(1): IF CO>96 THEN LET M$(1)=CHR$ (CO-32) 678 LET L$=M$(1): LET D$=M$(2) 679 IF L$<"A" OR L$>"E" OR D$<"1" OR D$>"5" THEN GO TO 681 680 LET X=CODE L$-5*VAL D$-39: RETURN 681 LET NP=1: RETURN 683 REM **COMPUTER MOVE** 684 BEEP 1,30: IF CC<5 THEN LET T=CC+1: LET CC=CC+1: GO TO 690 685 PRINT AT 19,4;"I TAKE CHECKER FROM: ";CHR$ (64+T-INT ((T-1)/5)*5);5-INT ((T-1)/5) 686 LET B(T)=0 687 FOR C=1 TO 5 688 IF E(C,1)=T THEN LET T=C: LET C=5 689 NEXT C 690 PRINT AT 20,4;"I PLACE CHECKER ON : ";CHR$ (64+R-INT ((R-1)/5)*5);5-INT ((R-1)/5) 691 LET B(R)=10: LET E(T,1)=R 692 GO SUB 731 693 RETURN 695 REM **MAIN PROGRAM** 696 LET D=1: LET B=1: LET WM=-1 697 GO SUB 741: PRINT AT 17,11;"PLEASE WAIT" 698 GO SUB 751: GO SUB 778 699 LET CC=0: LET PC=0: PRINT AT 17,0;TAB 31;"" 700 INPUT "DO YOU WANT TO BEGIN?";TAB 32;"Y OR N: ";A$ 701 IF A$="N" OR A$="n" THEN LET R=13: GO TO 723 702 IF A$="Y" OR A$="y" THEN GO TO 725 703 GO TO 700 704 FOR I=1 TO 5: LET E(I,2)=0: NEXT I 705 GO SUB 587: IF P=5 THEN GO TO 727 706 PRINT AT 17,6;" NOW IT'S MY TURN! ": PRINT AT 19,0;TAB 31;"": PRINT AT 20,0;TAB 10;"PLEASE WAIT";TAB 31;"" 707 IF WM<>1 THEN GO SUB 617 708 LET MP=0: LET N1=0: LET R=0 709 LET BF=1: LET EF=25 710 IF OM<>-1 THEN LET BF=OM: LET EF=OM 711 FOR D=BF TO EF 712 IF B(D)<>0 THEN GO TO 722 713 LET B(D)=10 714 IF CC<5 THEN GO SUB 640: GO TO 721 715 FOR C=1 TO 5 716 IF E(C,2) THEN GO TO 720 717 LET B=E(C,1): LET B(B)=0 718 GO SUB 640 719 LET B(B)=10 720 NEXT C 721 LET B(D)=0 722 NEXT D 723 GO SUB 683 724 IF WM=1 THEN GO TO 728 725 GO SUB 661 726 GO TO 704 727 PRINT AT 21,12; PAPER 6;"YOU WIN!": GO TO 729 728 PRINT AT 21,13; PAPER 5;"I WIN!" 729 BEEP 2,25: GO TO 794 731 REM **DISPLAY CHECKERS** 732 FOR I=0 TO 4: FOR J=1 TO 5 733 LET H=5*I+J 734 IF B(H)=0 THEN PRINT AT 4+2*I,9+2*J;" "; 735 IF B(H)=1 THEN PRINT AT 4+2*I,9+2*J; PAPER 6;"P"; 736 IF B(H)=10 THEN PRINT AT 4+2*I,9+2*J; PAPER 5;"C"; 737 NEXT J: NEXT I: RETURN 738 PRINT AT 14,11;"A B C D E"; 739 RETURN 741 REM **DISPLAY BOARD** 742 CLS : PRINT AT 1,9;"***QUI VIVE***" 743 FOR I=0 TO 5 744 PLOT 84,147-16*I: DRAW 80,0 745 PLOT 84+16*I,147: DRAW 0,-80 746 NEXT I 747 FOR I=1 TO 5: PRINT AT 14-2*I,21;I: NEXT I 748 PRINT AT 14,11;"A B C D E";: GO SUB 5000 749 RETURN 750 REM **INIT SINGLE FEATURES** 751 RESTORE 757 752 FOR I=1 TO 42: READ M$ 753 FOR J=1 TO 5 754 LET S(I,J)=CODE M$(J)-64 755 NEXT J: NEXT I: RETURN 756 REM WINGS (AV><) 757 DATA "UQMSY","PLMNT","KGCIO" 758 DATA "AGMIE","FLRNJ","KQWSO" 759 DATA "AGMQU","BHNRV","CIOSW" 760 DATA "EIMSY","DHLRX","CGKQW" 761 REM TIMES (X) 762 DATA "ACGKM","BDHLN","CEIMO" 763 DATA "FLHPR","GIMQS","HJNRT" 764 DATA "KMQUW","LNRVX","MOSWY" 765 REM PLUS(+) 766 DATA "BFGHL","CGHIM","DHIJN" 767 DATA "GKLMQ","HLMNR","IMNOS" 768 DATA "LPQRV","MQRSW","NRSTX" 769 REM DIAGONALS (/) 770 DATA "AGMSY","EIMQU" 771 REM COLUMNS(!) 772 DATA "AFKPU","BGQLV","CHMRW" 773 DATA "DINSX","EJOTY" 774 REM ROWS (-) 775 DATA "ABCDE","FGHIJ","KLMNO" 776 DATA "PQRST","UVWXY" 778 REM **INIT DOUBLE FIGURES** 779 FOR I=0 TO 107 STEP 12: READ X$ 780 FOR J=1 TO 12 781 LET D(I+J,1)=CODE X$(2*J-1)-48: LET D(I+J,2)=CODE X$(2*J)-48 782 NEXT J: NEXT I 783 RETURN 784 DATA "171:1A1C1E1M1O1P2>2@2B2J" 785 DATA "393<3=3?3G474:4=4?4A4G4O" 786 DATA "4P5@5B5D5J696<6C6E6M7=7A" 787 DATA "7C7I7O7P8>8B8D8J9?9E9K:?" 788 DATA ":A:E:K:O:P;>;@;D;J<=F>H>J?G?K?P@F@J@L" 790 DATA "AGAIAKAMAOAPBHBJBNCICMCP" 791 DATA "DJDLDNEKEMEOFRFWGSGWHTHW" 792 DATA "IRIXJSJXKTKXLRLYMSMYNTNY" 794 CLS : PRINT AT 5,3;"WANNA PLAY AGAIN?" 795 IF INKEY$<>"" THEN GO TO 795 796 IF INKEY$="" THEN GO TO 796 797 IF INKEY$="Y" OR INKEY$="y" THEN GO TO 555 798 GO TO 33 1000 CLS 1010 LET ZERO=0: LET ONE=1: LET TWO=2: LET THREE=3: LET FOUR=4: LET FIVE=5: LET SIX=6: LET SEVEN=7: LET EIGHT=8: LET NINE=9: LET TEN=10: LET ELEVEN=11: LET TWELVE=12: LET THIRTN=13: LET FOURTN=14: LET FIFTN=15: LET SIXTN=16: LET SEVENTN=17: LET EIGHTN=18: LET NINETN=19: LET TWENTY=20: LET TWENTYONE=21 1060 FOR I=ZERO TO TWENTYONE 1070 PRINT "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" 1080 NEXT I 1090 PRINT AT ONE,ONE;"1 2 MANQUE 3 4";AT ONE,TWENTY;"""BOULE""" 1100 PRINT AT TWO,ONE;"................................" 1110 PRINT AT THREE,ONE;"1::::::::PAIRS::::::::2" 1120 PRINT AT FOUR,SEVEN;"2,4" 1130 PRINT AT FIVE,ONE;"3";AT FIVE,SEVEN;"6,8";AT FIVE,FIFTN;"4" 1140 PRINT AT SIX,EIGHT;"5" 1150 PRINT AT SEVEN,ONE;"6 IMPAIRS 7" 1160 PRINT AT EIGHT,SEVEN;"1,3" 1170 PRINT AT NINE,ONE;"8";AT NINE,SEVEN;"7,9";AT NINE,FIFTN;"9" 1180 PRINT AT TEN,ONE;".............................." 1190 PRINT AT ELEVEN,ONE;"6 7 PASSE 8 9" 1200 PRINT AT TWO,SEVENTN;"YOU CAN BET ON" 1210 PRINT AT THREE,EIGHTN;"A) ""PAIRS""" 1220 PRINT AT FOUR,EIGHTN;"B) ""IMPAIRS""" 1230 PRINT AT FIVE,EIGHTN;"C) ""MANQUE""" 1240 PRINT AT SIX,EIGHTN;"D) ""PASSE""" 1250 PRINT AT SEVEN,EIGHTN;"E) BLACK NOS." 1260 PRINT AT EIGHT,EIGHTN;"F) WHITE NOS." 1270 PRINT AT NINE,EIGHTN;"*) ANY ONE NO.";AT NINE,TWENTYONE;"(7 TO 1)" 1280 PRINT AT THIRTN,ONE;"ALL PAYOFFS ARE EVEN MONEY-- EXCEPT ""*"" WHICH PAYS 7 TO 1." 1290 PRINT AT FIFTN,ONE;"NO. 5 IS THE HOUSE NO. YOU LOSE IF 5 COMES UP." 1300 PRINT AT TWENTY,ONE;"PRESS ENTER TO CONTINUE." 1310 INPUT LINE Z$ 1320 GO SUB 4000 1330 LET M=100 1350 PRINT AT THIRTN,ONE;"YOUR STAKE IS $";M;" ";AT SIXTN,ONE;"ENTER YOUR BET:" 1360 INPUT H 1361 IF H=ZERO THEN GO TO 33 1362 IF H>M THEN GO TO 1360 1365 PRINT AT SIXTN,ONE;" " 1366 PRINT AT SIXTN,TWELVE;"BET: ";H;" " 1370 PRINT AT THIRTN,ONE;" " 1380 PRINT AT THIRTN,ONE;"ENTER YOUR CHOICE";AT FOURTN,ONE;"(A-F) OR A NUMBER" 1390 INPUT LINE U$ 1400 PRINT AT THIRTN,ONE;" ";AT FOURTN,ONE;" " 1405 PRINT AT FIFTN,TEN;"STAKE: ";M;" " 1410 PRINT AT SEVENTN,NINE;"PICKED: ";U$;" " 1420 PRINT AT TWENTY,ONE;"PRESS ""ENTER"" TO ROLL THE BALL" 1430 IF INKEY$="" THEN GO TO 1430 1440 PRINT AT TWENTY,ZERO;" " 1450 RANDOMIZE 1460 LET K=INT (RND*NINE)+ONE 1470 FOR N=ONE TO 50 1480 PRINT AT SEVENTN,24;".'" 1490 PRINT AT SEVENTN,24;".'" 1500 NEXT N 1510 PRINT AT NINETN,ONE;"THE NUMBER IS: ";K;" " 1520 IF K<>FIVE THEN GO TO 1580 1540 IF K=FIVE THEN PRINT AT THIRTN,ONE;"SORRY ABOUT THAT HOUSE NUMBER" 1550 LET M=M-H 1560 IF M<=ZERO THEN GO TO 1800 1570 GO TO 2300 1580 IF U$>"0" AND U$<"A" THEN GO TO 1900 1600 IF (K=ONE OR K=THREE) AND (U$="B" OR U$="C" OR U$="E") THEN GO TO 1750 1610 IF (K=TWO OR K=FOUR) AND (U$="A" OR U$="C" OR U$="F") THEN GO TO 1750 1620 IF (K=SIX OR K=EIGHT) AND (U$="A" OR U$="D" OR U$="E") THEN GO TO 1750 1630 IF (K=SEVEN OR K=NINE) AND (U$="B" OR U$="D" OR U$="F") THEN GO TO 1750 1675 PRINT AT TWENTY,ONE;" SORRY YOU LOSE $";H;" " 1680 LET M=M-H 1690 IF M<=ZERO THEN GO TO 1800 1700 GO TO 2300 1750 PRINT AT TWENTY,ONE;"YOU PICKED A WINNER." 1760 LET M=M+H 1770 GO TO 2300 1800 PRINT AT THIRTN,ONE;"SORRY, MY FRIEND, BUT IT SEEMS YOU ARE OUT OF CASH. +++++++++ " 1810 GO SUB 4050 1830 GO TO 33 1900 LET P=VAL U$ 1910 IF K<>P THEN GO TO 2000 1920 IF K=P THEN PRINT AT TWENTY,ONE;"A BONANZA FOR YOU: $";H*SEVEN;" " 1930 LET M=M+(H*SEVEN) 1940 GO TO 2300 2000 PRINT AT TWENTY,ONE;"GOOD TRY..IT COST YOU $";H;" " 2010 LET M=M-H 2020 IF M<=ZERO THEN GO TO 1800 2300 GO SUB 4050 2310 GO SUB 4000 2320 GO TO 1350 4000 PRINT AT THIRTN,ZERO; 4010 FOR I=ONE TO EIGHT 4020 PRINT " " 4030 NEXT I 4040 RETURN 4050 FOR I=ONE TO 75 4060 NEXT I 4070 RETURN 5000 POKE USR "f"+0,BIN 00000000 5010 POKE USR "f"+1,BIN 00000000 5020 POKE USR "f"+2,BIN 00000000 5030 POKE USR "f"+3,BIN 00000000 5040 POKE USR "f"+4,BIN 00000000 5050 POKE USR "f"+5,BIN 00000100 5060 POKE USR "f"+6,BIN 00000010 5070 POKE USR "f"+7,BIN 00000001 5100 POKE USR "g"+0,BIN 00000000 5110 POKE USR "g"+1,BIN 00000000 5120 POKE USR "g"+2,BIN 00000000 5130 POKE USR "g"+3,BIN 00000000 5140 POKE USR "g"+4,BIN 00000000 5150 POKE USR "g"+5,BIN 00100000 5160 POKE USR "g"+6,BIN 01000000 5170 POKE USR "g"+7,BIN 10000000 5200 POKE USR "h"+0,BIN 00000001 5210 POKE USR "h"+1,BIN 00000010 5220 POKE USR "h"+2,BIN 00000100 5230 POKE USR "h"+3,BIN 00000000 5240 POKE USR "h"+4,BIN 00000000 5250 POKE USR "h"+5,BIN 00000000 5260 POKE USR "h"+6,BIN 00000000 5270 POKE USR "h"+7,BIN 00000000 5300 POKE USR "i"+0,BIN 10000000 5310 POKE USR "i"+1,BIN 01000000 5320 POKE USR "i"+2,BIN 00100000 5330 POKE USR "i"+3,BIN 00000000 5340 POKE USR "i"+4,BIN 00000000 5350 POKE USR "i"+5,BIN 00000000 5360 POKE USR "i"+6,BIN 00000000 5370 POKE USR "i"+7,BIN 00000000 5400 POKE USR "j"+0,BIN 00010000 5410 POKE USR "j"+1,BIN 00010000 5420 POKE USR "j"+2,BIN 00010000 5430 POKE USR "j"+3,BIN 00000000 5440 POKE USR "j"+4,BIN 00000000 5450 POKE USR "j"+5,BIN 00010000 5460 POKE USR "j"+6,BIN 00010000 5470 POKE USR "j"+7,BIN 00010000 5500 POKE USR "k"+0,BIN 00000000 5510 POKE USR "k"+1,BIN 00000000 5520 POKE USR "k"+2,BIN 00000000 5530 POKE USR "k"+3,BIN 11100111 5540 POKE USR "k"+4,BIN 00000000 5550 POKE USR "k"+5,BIN 00000000 5560 POKE USR "k"+6,BIN 00000000 5570 POKE USR "k"+7,BIN 00000000 5600 POKE USR "l"+0,BIN 00000000 5610 POKE USR "l"+1,BIN 00000000 5620 POKE USR "l"+2,BIN 00000000 5630 POKE USR "l"+3,BIN 00011000 5640 POKE USR "l"+4,BIN 00011000 5650 POKE USR "l"+5,BIN 00000000 5660 POKE USR "l"+6,BIN 00000000 5670 POKE USR "l"+7,BIN 00000000 6000 OVER 1 6010 PRINT AT 2,4;"h";AT 2,4;"g";AT 2,4;"l" 6020 PRINT AT 3,3;"h";AT 3,3;"g";AT 3,3;"l" 6030 PRINT AT 4,2;"h";AT 4,2;"g";AT 4,2;"l" 6040 PRINT AT 5,1;"h";AT 5,1;"g";AT 5,1;"l" 6050 PRINT AT 6,0;"h";AT 6,0;"g";AT 6,0;"l" 6110 PRINT AT 3,5;"f";AT 3,5;"g";AT 3,5;"l" 6120 PRINT AT 4,4;"h";AT 4,4;"g";AT 4,4;"l" 6130 PRINT AT 5,3;"h";AT 5,3;"g";AT 5,3;"l" 6140 PRINT AT 4,6;"i";AT 4,6;"f";AT 4,6;"l" 6150 PRINT AT 5,7;"i";AT 5,7;"f";AT 5,7;"l" 6210 PRINT AT 6,5;"j";AT 6,5;"l" 6220 PRINT AT 7,5;"j";AT 7,5;"k";AT 7,5;"l" 6230 PRINT AT 8,5;"j";AT 8,5;"l" 6240 PRINT AT 7,4;"k";AT 7,4;"l" 6250 PRINT AT 7,6;"k";AT 7,6;"l" 6310 PRINT AT 8,0;"j";AT 8,0;"l" 6320 PRINT AT 9,0;"j";AT 9,0;"l" 6330 PRINT AT 10,0;"j";AT 10,0;"l" 6340 PRINT AT 11,0;"j";AT 11,0;"l" 6350 PRINT AT 12,0;"j";AT 12,0;"l" 6410 PRINT AT 10,2;"i";AT 10,2;"f";AT 10,2;"l" 6420 PRINT AT 11,3;"i";AT 11,3;"f";AT 11,3;"h";AT 11,3;"g";AT 11,3;"l" 6430 PRINT AT 12,4;"i";AT 12,4;"f";AT 12,4;"l" 6440 PRINT AT 10,4;"h";AT 10,4;"g";AT 10,4;"l" 6450 PRINT AT 12,2;"h";AT 12,2;"g";AT 12,2;"l" 6510 PRINT AT 9,6;"i";AT 9,6;"f";AT 9,6;"l" 6520 PRINT AT 10,7;"i";AT 10,7;"f";AT 10,7;"l" 6530 PRINT AT 11,8;"i";AT 11,8;"g";AT 11,8;"l" 6540 PRINT AT 12,7;"h";AT 12,7;"g";AT 12,7;"l" 6550 PRINT AT 13,6;"h";AT 13,6;"g";AT 13,6;"l" 6610 PRINT AT 14,0;"k";AT 14,0;"l" 6620 PRINT AT 14,1;"k";AT 14,1;"l" 6630 PRINT AT 14,2;"k";AT 14,2;"l" 6640 PRINT AT 14,3;"k";AT 14,3;"l" 6650 PRINT AT 14,4;"k";AT 14,4;"l" 6660 OVER 0 6700 RETURN 7000 REM ONE TO FIVE 7010 POKE USR "m"+0,BIN 00010000 7020 POKE USR "m"+1,BIN 00010000 7030 POKE USR "m"+2,BIN 00010000 7040 POKE USR "m"+3,BIN 00010000 7050 POKE USR "m"+4,BIN 00010000 7060 POKE USR "m"+5,BIN 00010000 7070 POKE USR "m"+6,BIN 00010000 7080 POKE USR "m"+7,BIN 00010000 7090 CLS 7100 DIM A(3,3) 7105 LET C$="123456789" 7108 PRINT AT 8,6;"SELECT";TAB 16;"BOARD" 7110 PRINT AT 10,6;"-----";TAB 16;"-----" 7120 FOR I=1 TO 3 7125 LET I2=I*2: LET I3=(I-1)*3 7130 PRINT AT i2+9,5;"m";i3+1;" ";i3+2;" ";i3+3;"m";TAB 15;"m m" 7135 PRINT AT i2+10,5;"m m";TAB 15;"m m" 7140 NEXT I 7150 PRINT AT 16,5;" ----- ";TAB 15;" ----- " 7160 FOR A=1 TO 10 7170 LET I=INT (RND*9)+1: GO SUB 7400 7180 NEXT A 7190 LET M=0: LET T=0 7200 LET T$=INKEY$ 7210 IF T$="" THEN GO TO 7200 7212 IF T$="." THEN GO TO 7310 7220 FOR I=1 TO 9 7230 IF T$=C$(I) THEN GO TO 7260 7240 NEXT I 7250 GO TO 7200 7260 LET M=M+1 7270 GO SUB 7400 7280 IF T<9 THEN GO TO 7200 7290 PRINT FLASH 1;"YOU DID IT" 7300 PRINT : PRINT "IN";M;" MOVES": FLASH 0 7310 PAUSE 500 7320 CLS : PRINT AT 5,3;"WANNA PLAY AGAIN?" 7330 IF INKEY$<>"" THEN GO TO 795 7340 IF INKEY$="" THEN GO TO 7330 7350 IF INKEY$="Y" OR INKEY$="y" THEN GO TO 7000 7360 GO TO 33 7400 LET X=INT ((I-1)/3)+1 7410 LET Y=I-3*(X-1) 7420 LET A(X,Y)=A(X,Y)-1 7430 FOR I=1 TO 3 7440 LET A(X,I)=A(X,I)+1 7450 LET A(I,Y)=A(I,Y)+1 7460 NEXT I 7470 LET T=0 7480 FOR I=1 TO 3 7490 FOR J=1 TO 3 7500 IF A(I,J)=6 THEN LET A(I,J)=0 7510 IF A(I,J)=0 THEN LET T=T+1 7520 PRINT AT 11+(I-1)*2,16+(J-1)*2;A(I,J) 7530 NEXT J 7540 NEXT I 7550 RETURN 9996 PRINT #4: SAVE "LOSVEG.B1" LINE 33 9999 PRINT #4: LOAD "L.B1" ```