Keno is a lottery-style gambling simulation where the player selects 1 to 10 numbers from a field of 80, then the computer randomly draws 20 numbers and awards payoffs based on how many the player matched. The program uses individual scalar variables (A through J and AA through AT) rather than arrays to store both the player’s chosen numbers and the 20 dealer draws, which is a common workaround given the absence of array support in early BASIC dialects. A duplicate-entry check covers combinations for the first six player numbers using a series of pairwise comparisons at lines 211–225. The game includes an introductory background text on Keno’s history, a multi-page payoff schedule display, and a special “auto-replay” mode triggered by manually setting XX=100 from the command line. The purse starts at $20, each play costs $1, and maximum winnings reach $25,000 for matching all 10 numbers.
Program Analysis
Program Structure
The program is organized into clearly separated subroutine blocks with a main flow driven by GOSUB calls at lines 2–9. Execution begins with a title screen (GOSUB 1200), initialization (GOSUB 3000), the introduction/menu (GOSUB 5000), another title screen, then the main game loop entry at line 6000 (instructions) or line 10 (play). The overall structure is:
- Lines 1–9: Main entry and game loop dispatch
- Lines 10–299: Game play flow (number entry, same-numbers path, draw display, hit counting)
- Lines 299–640: Hit evaluation, payoff calculation, and play-again prompt
- Lines 900–1020: Hit counter subroutine
- Lines 1050–1060: Variable reset subroutine
- Lines 1100–1110: Exit/thank-you screen
- Lines 1200–1280: Title banner subroutine
- Lines 1300–1395: Number grid display subroutine
- Lines 1500–1560: Duplicate-entry (cheating) detection and scroll
- Lines 1850–1853: Purse status display
- Lines 1900–2275: Dealer draw loop (20 random numbers, hit detection)
- Lines 2300–2400: Player variable initialization subroutine
- Lines 3000–3035: Game initialization (purse, play cost)
- Lines 3200–3547: Key-press input for number-of-spots selection
- Lines 5002–5029: Introduction text and history
- Lines 5029–5065: Main menu (play / instructions / payoff schedule)
- Lines 6000–6195: Instructions display
- Lines 7000–7566: Payoff schedule display (three pages)
- Line 9999: Diagnostic
PRINT PEEK(vestigial debug line)
Variable Storage Strategy
Rather than using arrays, the program stores player picks in individual variables A through J (10 maximum), and the 20 dealer draws in variables AA through AT. Both sets are pre-initialized to negative sentinel values (−1 through −10 for player variables at lines 2300–2390, and −1 through −20 for dealer variables at lines 1900–1995) so that unset slots cannot accidentally match any valid number in the range 1–80. This is a deliberate and effective technique given that BASIC on this platform lacks a convenient way to declare and clear arrays without DIM.
Duplicate Entry Detection
Lines 211–225 perform pairwise comparisons to detect duplicate player entries. However, coverage is incomplete: only the first six variables (A–F) are checked against each other (15 pairs total). Variables G, H, I, and J (picks 7–10) are never tested for duplicates against any other variable. Any duplicate entered as pick 7, 8, 9, or 10 will silently pass through, making the anti-cheat logic only partially effective.
Dealer Draw Deduplication
The 20 dealer numbers are generated in a loop at lines 2000–2093. Each candidate value Y is checked against all 20 previously stored dealer variables (lines 2050–2069) before being accepted, ensuring no repeated dealer numbers. The rejection loop goes back to 2020 to regenerate. This is a standard rejection-sampling approach.
Hit Detection
Hit counting is performed at lines 2260–2269 for each of the 20 dealer draws. For each dealer number Y, the program checks it against all 10 player variables individually with IF Y=A THEN GOSUB 1000, etc. The hit counter subroutine at line 1000 increments X and prints an asterisk. Notably, variable X is not initialized before the draw loop—it is initialized in the GOSUB 1050 at line 34 (which sets X=0), or at line 900 for the “same numbers” path. The separate initialization at line 3002 also covers first-run startup.
Payoff Calculation
Lines 400–541 contain a comprehensive truth table of IF K=spots AND X=hits THEN LET W=amount statements covering all meaningful combinations of spots played (1–10) and hits achieved. Each tier also has a catch-all IF K=n AND X<m THEN LET W=0 to zero out wins below the minimum qualifying threshold. The payoff table matches real Keno odds schedules. One discrepancy exists: the payoff schedule display at line 7165 shows $2 for 7-spot/4-hit, but the calculation at lines 475–486 has no such entry—4-hit on a 7-spot pays $0 in the actual game logic.
Auto-Replay Mode
A hidden feature described in the instructions (lines 6150–6170) allows the player to break execution and type LET XX=100 followed by GOTO 20 to enable continuous auto-replay of the same numbers. When XX=100, the flow at line 35 bypasses number re-entry, the display at line 1851 prints a game counter (YY), and the end-of-game check at line 600 loops back to line 20 automatically rather than prompting the player. This is a manual command-line cheat/automation mode, not a built-in menu option.
Number Selection Input
The quantity of spots to play is captured not via INPUT but via a polling loop at lines 3200–3250 using INKEY$, mapping keys “1”–”9″ and “0” (representing 10) to the variable K. Each matching branch sets K and immediately RETURNs, making the subroutine self-contained. Individual INPUT N statements inside the FOR L=1 TO K loop (line 82) collect the actual player numbers.
Notable Anomalies and Bugs
- Line 45 decrements
Pby 1 (cost per play), but line 241 also decrementsPin the “same numbers” path—both paths deduct the stake correctly via separate code. - The
NEXT Lat line 229 exits the input loop, leavingL=K+1after the loop. The “same numbers” re-display code at lines 248–286 usesIF L=2,IF L=3, etc. to determine how many numbers to print. SinceLisK+1after the loop, these comparisons function asIF K+1=n, which is equivalent to testing the number of spots played—an indirect but functional idiom. - Lines 5015–5026 contain unreachable code: line 5015 checks
INKEY$="C"and jumps to 5019, but line 5019 does not exist, and line 5020 (which would print more text) is skipped. Line 5026 also loops back to 5008 rather than 5015, creating a confusing flow. In practice, pressing C at line 5015 causes a jump to the nonexistent line 5019 which falls through to 5020. - Line 9999 (
PRINT PEEK 16396+256*PEEK 16397-16580) is a diagnostic leftover that computes and prints a memory address offset. It is unreachable during normal play but remains in the listing. - The duplicate check omits picks 7–10, so a player can enter duplicate numbers for those positions without triggering the anti-cheat scroll at line 1500.
Display Techniques
The title banner at lines 1201–1270 uses block graphic characters to render “KENO” in large pixel-art letters across multiple PRINT lines. The number grid subroutine (lines 1300–1390) displays all 80 available numbers in a formatted grid using repeated PRINT statements. PRINT AT is used throughout for positioned output of status information such as hits, payoffs, and purse balance without clearing the whole screen.
Content
Image Gallery
Source Code
1 REM THIS PROGRAM WAS WRITTEN IN 1985 FOR FUN BY TOM ABSTER
2 GOSUB 1200
3 GOSUB 3000
4 GOSUB 5000
7 GOSUB 1200
9 GOTO 6000
10 GOSUB 1200
11 GOSUB 2300
18 GOTO 44
19 CLS
33 PRINT "███[D][O]█[Y][O][U]█[W][A][N][T]█[T][O]█[P][L][A][Y]█[T][H][E]█[S][A][M][E]█[N][U][M][B][E][R][S][?]"
34 GOSUB 1050
35 IF XX=100 THEN GOTO 240
38 IF INKEY$ ="Y" THEN GOTO 240
40 IF INKEY$ ="N" THEN GOTO 43
42 GOTO 38
43 GOSUB 2300
44 PRINT "ENTER HOW MANY NUMBERS YOU WANT TO PLAY ?. *1 TO 10* ["][0][=][1][0]["]"
45 LET P=P-1
50 GOSUB 1300
51 REM
52 GOSUB 3200
60 CLS
62 GOSUB 1300
65 IF K=1 THEN PRINT " YOUR NUMBER IS ? "
70 IF K<>1 THEN PRINT " YOUR ";K;" NUMBERS ARE ? "
80 FOR L=1 TO K
82 INPUT N
85 IF N<1 THEN GOTO 82
87 IF N>80 THEN GOTO 82
119 PRINT N;" ";
120 IF L=1 THEN LET A=N
130 IF L=2 THEN LET B=N
140 IF L=3 THEN LET C=N
150 IF L=4 THEN LET D=N
160 IF L=5 THEN LET E=N
170 IF L=6 THEN LET F=N
180 IF L=7 THEN LET G=N
190 IF L=8 THEN LET H=N
200 IF L=9 THEN LET I=N
210 IF L=10 THEN LET J=N
211 IF A=B THEN GOTO 1500
212 IF A=C THEN GOTO 1500
213 IF B=C THEN GOTO 1500
214 IF A=D THEN GOTO 1500
215 IF B=D THEN GOTO 1500
216 IF C=D THEN GOTO 1500
217 IF A=E THEN GOTO 1500
218 IF B=E THEN GOTO 1500
219 IF C=E THEN GOTO 1500
220 IF D=E THEN GOTO 1500
221 IF A=F THEN GOTO 1500
222 IF B=F THEN GOTO 1500
223 IF C=F THEN GOTO 1500
224 IF D=F THEN GOTO 1500
225 IF E=F THEN GOTO 1500
229 NEXT L
230 PRINT AT 0,7;"▒▒[G][O][O][D]█[L][U][C][K]▒▒"
231 PRINT AT 13,0;"▒▒▒▒▒▒[T][H][E]█[K][E][N][O]█[N][U][M][B][E][R][S]█[A][R][E]▒▒▒▒▒"
233 PRINT AT 15,1;
235 GOTO 289
240 CLS
241 LET P=P-1
242 LET YY=YY+1
245 PRINT AT 10,0;A;" ";
248 IF L=2 THEN GOTO 288
250 IF L>=1 THEN PRINT B;" ";
252 IF L=3 THEN GOTO 288
254 IF L>=2 THEN PRINT C;" ";
256 IF L=4 THEN GOTO 288
258 IF L>=3 THEN PRINT D;" ";
260 IF L=5 THEN GOTO 288
262 IF L>=4 THEN PRINT E;" ";
264 IF L=6 THEN GOTO 288
266 IF L>=5 THEN PRINT F;" ";
270 IF L=7 THEN GOTO 288
272 IF L>=6 THEN PRINT G;" ";
274 IF L=8 THEN GOTO 288
276 IF L>=7 THEN PRINT H;" ";
278 IF L=9 THEN GOTO 288
280 IF L>=8 THEN PRINT I;" ";
282 IF L=10 THEN GOTO 288
285 IF L>=9 THEN PRINT J;" "
286 IF L=10 THEN GOTO 288
288 GOTO 1850
289 GOTO 1900
299 IF X=1 THEN PRINT AT 0,7;"YOU GOT ONE HIT"
300 IF X<>1 THEN PRINT AT 0,7;"YOU GOT ";X ;" HITS"
310 IF X=0 THEN LET W=0
400 IF K=1 AND X=1 THEN LET W=3.00
405 IF K=1 AND X<1 THEN LET W=0
410 IF K=2 AND X=2 THEN LET W=12.00
415 IF K=2 AND X<2 THEN LET W=0
420 IF K=3 AND X=3 THEN LET W=42.00
425 IF K=3 AND X=2 THEN LET W=1.00
426 IF K=3 AND X<2 THEN LET W=0
430 IF K=4 AND X=4 THEN LET W=120.00
433 IF K=4 AND X=3 THEN LET W=3.00
436 IF K=4 AND X=2 THEN LET W=1.00
437 IF K=4 AND X<2 THEN LET W=0
440 IF K=5 AND X=5 THEN LET W=800.00
443 IF K=5 AND X=4 THEN LET W=9.00
446 IF K=5 AND X=3 THEN LET W=1.00
447 IF K=5 AND X<3 THEN LET W=0
450 IF K=6 AND X=6 THEN LET W=1490.00
455 IF K=6 AND X=5 THEN LET W=88.00
460 IF K=6 AND X=4 THEN LET W=4.00
465 IF K=6 AND X=3 THEN LET W=1.00
470 IF K=6 AND X<=2 THEN LET W=0
475 IF K=7 AND X=7 THEN LET W=7000.00
480 IF K=7 AND X=6 THEN LET W=350.00
485 IF K=7 AND X=5 THEN LET W=20.00
486 IF K=7 AND X<5 THEN LET W=0
490 IF K=8 AND X=8 THEN LET W=20000.00
493 IF K=8 AND X=7 THEN LET W=1490.00
496 IF K=8 AND X=6 THEN LET W=90.00
500 IF K=8 AND X=5 THEN LET W=9.00
503 IF K=8 AND X<5 THEN LET W=0
506 IF K=9 AND X=9 THEN LET W=22000
509 IF K=9 AND X=8 THEN LET W=4000.00
512 IF K=9 AND X=7 THEN LET W=300.00
515 IF K=9 AND X=6 THEN LET W=44.00
518 IF K=9 AND X=5 THEN LET W=4.00
521 IF K=9 AND X<5 THEN LET W=0
524 IF K=10 AND X=10 THEN LET W=25000.00
527 IF K=10 AND X=9 THEN LET W=4000.00
530 IF K=10 AND X=8 THEN LET W=1000.00
533 IF K=10 AND X=7 THEN LET W=130.00
536 IF K=10 AND X=6 THEN LET W=20.00
539 IF K=10 AND X=5 THEN LET W=2.00
541 IF K=10 AND X<5 THEN LET W=0
580 PRINT AT 18,7;"YOUR PAYOFF IS $";W
585 LET P=P+W
590 PRINT AT 19,7;"[Y][O][U][R]█[P][U][R][S][E]█[I][S]█[$]";P
600 IF XX=100 THEN GOTO 20
605 PRINT AT 20,0;"DO YOU WANT TO PLAY AGAIN [Y] OR [N]"
620 IF INKEY$ ="Y" THEN GOTO 19
630 IF INKEY$ ="N" THEN GOTO 1100
640 GOTO 620
900 LET X=0
1000 LET X=X+1
1010 IF X>0 THEN PRINT "*";
1020 RETURN
1050 LET X=0
1060 RETURN
1100 CLS
1101 PRINT AT 7,7;"THANK YOU FOR PLAYING "
1102 GOSUB 1200
1105 PRINT "COME BACK SOON"
1110 STOP
1200 CLS
1201 PRINT "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒█▒▒███▒▒█▒▒▒█▒▒▒████▒▒▒▒▒▒"
1210 PRINT "▒▒█▒▒█▒▒▒█▒▒▒▒██▒▒█▒▒▒█▒▒█▒▒▒▒▒▒"
1220 PRINT "▒▒█▒█▒▒▒▒█▒▒▒▒█▒█▒█▒▒▒█▒▒█▒▒▒▒▒▒"
1230 PRINT "▒▒██▒▒▒▒▒███▒▒█▒█▒█▒▒▒█▒▒█▒▒▒▒▒▒"
1240 PRINT "▒▒█▒█▒▒▒▒█▒▒▒▒█▒▒██▒▒▒█▒▒█▒▒▒▒▒▒"
1250 PRINT "▒▒█▒▒█▒▒▒█▒▒▒▒█▒▒▒█▒▒▒█▒▒█▒▒▒▒▒▒"
1260 PRINT "▒▒█▒▒▒█▒▒███▒▒█▒▒▒█▒▒▒████▒▒▒▒▒▒"
1270 PRINT "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
1280 RETURN
1300 PRINT "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
1301 PRINT "██[1]██[2]██[3]██[4]██[5]██[6]██[7]██[8]██[9]█[1][0]█"
1310 PRINT "█[1][1]█[1][2]█[1][3]█[1][4]█[1][5]█[1][6]█[1][7]█[1][8]█[1][9]█[2][0]█"
1320 PRINT "█[2][1]█[2][2]█[2][3]█[2][4]█[2][5]█[2][6]█[2][7]█[2][8]█[2][9]█[3][0]█"
1330 PRINT "█[3][1]█[3][2]█[3][3]█[3][4]█[3][5]█[3][6]█[3][7]█[3][8]█[3][9]█[4][0]█"
1340 PRINT "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
1350 PRINT "█[4][1]█[4][2]█[4][3]█[4][4]█[4][5]█[4][6]█[4][7]█[4][8]█[4][9]█[5][0]█"
1360 PRINT "█[5][1]█[5][2]█[5][3]█[5][4]█[5][5]█[5][6]█[5][7]█[5][8]█[5][9]█[6][0]█"
1370 PRINT "█[6][1]█[6][2]█[6][3]█[6][4]█[6][5]█[6][6]█[6][7]█[6][8]█[6][9]█[7][0]█"
1380 PRINT "█[7][1]█[7][2]█[7][3]█[7][4]█[7][5]█[7][6]█[7][7]█[7][8]█[7][9]█[8][0]█"
1390 PRINT "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
1395 RETURN
1500 CLS
1510 PRINT
1520 SCROLL
1525 FOR M=1 TO 10
1530 PRINT "▒▒[I][T]▒▒[I][S]▒▒[N][O][T]▒▒[N][I][C][E]▒▒[T][O]▒▒[C][H][E][A][T]▒▒"
1540 SCROLL
1545 PRINT
1546 SCROLL
1547 PRINT
1548 SCROLL
1550 NEXT M
1560 GOTO 5029
1850 PRINT
1851 IF XX=100 THEN PRINT YY;
1852 PRINT "▒▒▒[G][O][O][D]█[L][U][C][K]▒▒$ ";
1853 PRINT P;"[=]▒[P][U][R][S][E]▒▒▒▒▒▒"
1900 LET AA=-1
1905 LET AK=-11
1910 LET AB=-2
1915 LET AL=-12
1920 LET AC=-3
1925 LET AM=-13
1930 LET AD=-4
1935 LET AN=-14
1940 LET AE=-5
1945 LET AO=-15
1950 LET AF=-6
1955 LET AP=-16
1960 LET AG=-7
1965 LET AQ=-17
1970 LET AH=-8
1975 LET AR=-18
1980 LET AI=-9
1985 LET AS=-19
1990 LET AJ=-10
1995 LET AT=-20
2000 FOR Z=1 TO 20
2020 LET Y=INT ((RND*80))+1
2050 IF Y=AA THEN GOTO 2020
2051 IF AB=Y THEN GOTO 2020
2052 IF AC=Y THEN GOTO 2020
2053 IF AD=Y THEN GOTO 2020
2054 IF AE=Y THEN GOTO 2020
2055 IF AF=Y THEN GOTO 2020
2056 IF AG=Y THEN GOTO 2020
2057 IF AH=Y THEN GOTO 2020
2058 IF AI=Y THEN GOTO 2020
2059 IF AJ=Y THEN GOTO 2020
2060 IF AK=Y THEN GOTO 2020
2061 IF AL=Y THEN GOTO 2020
2062 IF AM=Y THEN GOTO 2020
2063 IF AN=Y THEN GOTO 2020
2064 IF AO=Y THEN GOTO 2020
2065 IF AP=Y THEN GOTO 2020
2066 IF AQ=Y THEN GOTO 2020
2067 IF AR=Y THEN GOTO 2020
2068 IF AS=Y THEN GOTO 2020
2069 IF AT=Y THEN GOTO 2020
2070 IF Z=1 THEN LET AA=Y
2075 IF Z=2 THEN LET AB=Y
2076 IF Z=3 THEN LET AC=Y
2077 IF Z=4 THEN LET AD=Y
2078 IF Z=5 THEN LET AE=Y
2079 IF Z=6 THEN LET AF=Y
2080 IF Z=7 THEN LET AG=Y
2081 IF Z=8 THEN LET AH=Y
2082 IF Z=9 THEN LET AI=Y
2083 IF Z=10 THEN LET AJ=Y
2084 IF Z=11 THEN LET AK=Y
2085 IF Z=12 THEN LET AL=Y
2086 IF Z=13 THEN LET AM=Y
2087 IF Z=14 THEN LET AN=Y
2088 IF Z=15 THEN LET AO=Y
2089 IF Z=16 THEN LET AP=Y
2090 IF Z=17 THEN LET AQ=Y
2091 IF Z=18 THEN LET AR=Y
2092 IF Z=19 THEN LET AS=Y
2093 IF Z=20 THEN LET AT=Y
2245 IF Y<10 THEN PRINT " ";
2260 IF Y=A THEN GOSUB 1000
2261 IF Y=C THEN GOSUB 1000
2262 IF Y=E THEN GOSUB 1000
2263 IF Y=G THEN GOSUB 1000
2264 IF Y=I THEN GOSUB 1000
2265 IF Y=B THEN GOSUB 1000
2266 IF Y=D THEN GOSUB 1000
2267 IF Y=F THEN GOSUB 1000
2268 IF Y=H THEN GOSUB 1000
2269 IF Y=J THEN GOSUB 1000
2270 PRINT Y;" ";
2274 NEXT Z
2275 GOTO 299
2300 LET A=-1
2310 LET B=-2
2320 LET C=-3
2330 LET D=-4
2340 LET E=-5
2350 LET F=-6
2360 LET G=-7
2370 LET H=-8
2380 LET I=-9
2390 LET J=-10
2400 RETURN
3000 LET XX=1
3002 LET X=0
3005 LET YY=0
3010 PRINT "YOUR PURSE IS $20.00"
3015 PRINT "A PLAY COSTS $1.00"
3020 LET P=20
3025 PAUSE 150
3030 CLS
3035 RETURN
3200 IF INKEY$ ="1" THEN GOTO 3500
3205 IF INKEY$ ="2" THEN GOTO 3505
3210 IF INKEY$ ="3" THEN GOTO 3510
3215 IF INKEY$ ="4" THEN GOTO 3515
3220 IF INKEY$ ="5" THEN GOTO 3520
3225 IF INKEY$ ="6" THEN GOTO 3525
3230 IF INKEY$ ="7" THEN GOTO 3530
3235 IF INKEY$ ="8" THEN GOTO 3535
3240 IF INKEY$ ="9" THEN GOTO 3540
3245 IF INKEY$ ="0" THEN GOTO 3545
3250 GOTO 3200
3500 LET K=1
3502 RETURN
3505 LET K=2
3507 RETURN
3510 LET K=3
3512 RETURN
3515 LET K=4
3517 RETURN
3520 LET K=5
3522 RETURN
3525 LET K=6
3527 RETURN
3530 LET K=7
3532 RETURN
3535 LET K=8
3537 RETURN
3540 LET K=9
3542 RETURN
3545 LET K=10
3547 RETURN
5002 PRINT "HERE IS A LITTLE BACKGROUND ON KENO. IT IS AN OLD GAMBLING GAMEWHICH DESCENDED FROM THE CHINESELOTTERY. IT WAS INTRODUCED TO WESTERN AMERICA BY ORIENTAL RAIL-ROAD WORKERS IN THE NINETEENTH CENTURY."
5003 PRINT
5004 PRINT AT 12,1;"PRESS (C) TO CONTINUE"
5005 IF INKEY$ ="C" THEN GOTO 5007
5006 GOTO 5005
5007 CLS
5008 PAUSE 60
5009 PRINT AT 0,0;"KENO IS A LOW INVESTMENT, GENER-ALY $1.00 BET AND THE WINNINGS ARE LOW, BUT THERE IS ALWAYS THEPOSSIBILITIES OF THE BIG WIN OF $25,000 FOR ONLY THE SMALL WAGEROF $1.00, SO LETS TAKE A LOOK ATTHE PAYOFF SCHEDULE."
5010 PAUSE 60
5012 PRINT AT 0,0;"KENO IS A LOW INVESTMENT, GENER-ALY $1.00 BET AND THE WINNINGS ARE LOW, BUT THERE IS ALWAYS THEPOSSIBILITIES OF THE BIG WIN OF [$][2][5][,][0][0][0] FOR ONLY THE SMALL WAGEROF $1.00, SO LETS TAKE A LOOK ATTHE PAYOFF SCHEDULE."
5014 PRINT AT 12,1;"PRESS (C) TO CONTINUE"
5015 IF INKEY$ ="C" THEN GOTO 5019
5020 PRINT "THEN WE CAN MAKE UP OUR MINDS ASWHICH WILL BE THE BEST FOR US."
5025 IF INKEY$ ="C" THEN GOTO 5029
5026 GOTO 5008
5029 CLS
5030 PRINT "FOR INSTRUCTIONS PRESS (I)"
5033 PRINT
5034 PRINT
5035 PRINT "FOR PAYOFF SCHEDULE PRESS (S)"
5038 PRINT
5039 PRINT
5040 PRINT " TO PLAY PRESS (P)"
5050 IF INKEY$ ="P" THEN GOTO 10
5055 IF INKEY$ ="I" THEN GOTO 6000
5060 IF INKEY$ ="S" THEN GOTO 7000
5065 GOTO 5050
6000 CLS
6001 PRINT "[I][N][S][T][R][U][C][T][I][O][N][S]"
6005 PRINT "EACH GAME OF KENO IS PLAYED BY SELECTING FROM 1 TO 10 NUMBERS BETWEEN 1 AND 80, THEN THE COMP-UTER WILL SELECT 20 RANDOM NUMB-ERS FROM 1 TO 80 AND IF YOU CAN GUESS WHAT THE COMPUTER IS GOING TO SELECT THEN YOU WILL WIN."
6007 PRINT
6010 PRINT "KENO IS A EASY GAME TO PLAY ALL YOU NEED TO DO IS DECIDE ON THE NUMBER OF NUMBERS YOU WILL PLAY."
6015 PRINT
6020 PRINT "IF YOU PLAY 1 NUMBER THE PAYOFF IS SMALL $3, AND IF YOU PLAY 10NUMBERS THE PAYOFF IS $25,000."
6030 PRINT
6035 PRINT "PRESS (C) TO CONTINUE"
6040 IF INKEY$ ="C" THEN GOTO 6050
6045 GOTO 6040
6050 CLS
6055 PRINT "WHEN YOU ARE TOLD TO ENTER THE NUMBER YOU WANT TO PLAY ENTER A NUMBER BETWEEN 1 AND 10 , INSTEAD OF A 10 [U][S][E]█[A] 0."
6057 PRINT
6060 PRINT "THEN YOU WILL BE GIVEN AN OPPOR-TUNITY TO ENTER THE NUMBERS THATYOU HAVE SELECTED DO NOT ENTER THE SAME NUMBER TWICE."
6065 PRINT
6070 PRINT "THE COMPUTER WILL NOW RUN AND SELECT 20 RANDOM NUMBERS BETWEEN1 AND 80, IF ANY OF THESE ARE THE SAME AS THE ONES YOU SELECT-ED IT IS CONSIDERED A HIT"
6071 PRINT
6090 PRINT "PRESS (C) TO CONTINUE"
6092 IF INKEY$ ="C" THEN GOTO 6099
6093 GOTO 6092
6099 CLS
6100 PRINT "[S][P][E][C][I][A][L]███[I][N][S][T][R][U][C][T][I][O][N]"
6105 PRINT
6110 PRINT "IF AFTER PLAYING KENO FOR A TIME AND YOU WOULD LIKE TO"
6115 PRINT "PLAY THE SAME NUMBERS OVER AND OVER, ALL YOU HAVE TO DO IS"
6120 PRINT "WHEN THE SCREEN LOOKS LIKE"
6125 PRINT
6126 PRINT
6133 PRINT "███[D][O]█[Y][O][U]█[W][A][N][T]█[T][O]█[P][L][A][Y]█[T][H][E]█[S][A][M][E]█[N][U][M][B][E][R][S][?]"
6140 PRINT
6145 PRINT
6150 PRINT "PRESS THE BREAK KEY AND ENTER"
6155 PRINT
6160 PRINT "LET XX=100 THEN ENTER "
6170 PRINT "GOTO 20 THEN ENTER "
6175 PRINT
6176 PRINT "PRESS (C) TO CONTINUE"
6180 IF INKEY$ ="C" THEN GOTO 6190
6185 GOTO 6180
6190 CLS
6195 GOTO 5030
6999 STOP
7000 CLS
7001 PRINT " [P][A][Y][O][F][F]█[S][C][H][E][D][U][L][E]"
7005 PRINT "[S][E][L][E][C][T] [H][I][T] [P][A][Y][O][F][F][$]"
7010 PRINT
7020 PRINT " 1 1 3"
7025 PRINT
7030 PRINT " 2 2 12"
7035 PRINT
7036 PRINT
7040 PRINT " 3 3 42"
7045 PRINT " 3 2 1"
7050 PRINT
7051 PRINT
7055 PRINT " 4 4 120"
7060 PRINT " 4 3 3"
7065 PRINT " 4 2 1"
7070 PRINT
7075 PRINT " 5 5 800"
7080 PRINT " 5 4 9"
7085 PRINT " 5 3 1"
7090 PAUSE 100
7091 PRINT
7092 PRINT
7095 PRINT "PRESS (C) TO CONTINUE"
7100 IF INKEY$ ="C" THEN GOTO 7110
7101 GOTO 7100
7110 CLS
7111 PRINT "[S][E][L][E][C][T] [H][I][T] [P][A][Y][O][F][F][$]"
7115 PRINT
7120 PRINT " 6 6 1,490"
7125 PRINT " 6 5 88"
7130 PRINT " 6 4 4"
7135 PRINT " 6 3 1"
7140 PRINT
7150 PRINT " 7 7 7,000"
7155 PRINT " 7 6 350"
7160 PRINT " 7 5 20"
7165 PRINT " 7 4 2"
7170 PRINT
7175 PRINT
7180 PRINT " 8 8 20,000"
7185 PRINT " 8 7 1,490"
7190 PRINT " 8 6 90"
7195 PRINT " 8 5 9"
7200 PRINT
7202 PRINT "ENTER (C) TO CONTINUE"
7205 IF INKEY$ ="C" THEN GOTO 7220
7210 GOTO 7205
7220 CLS
7225 PRINT "[S][E][L][E][C][T] [H][I][T] [P][A][Y][O][F][F][$]"
7227 PRINT
7230 PRINT " 9 9 22,000"
7235 PRINT " 9 8 4,000"
7240 PRINT " 9 7 300"
7245 PRINT " 9 6 44"
7450 PRINT " 9 5 4"
7455 PRINT
7460 PRINT
7500 PRINT " 10 10 25,000"
7510 PRINT " 10 9 4,000"
7520 PRINT " 10 8 1,000"
7530 PRINT " 10 7 130"
7540 PRINT " 10 6 20"
7550 PRINT " 10 5 2"
7555 PRINT
7560 PRINT "PRESS (C) TO CONTINUE"
7565 IF INKEY$ ="C" THEN GOTO 5029
7566 GOTO 7565
9999 PRINT PEEK 16396+256*PEEK 16397-16580
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.