Kasino Kraps

Products: Kasino Kraps
Date: 1983
Type: Cassette
Platform(s): TS 1000
Tags: Gambling, Game

Kasino Kraps is a casino-style craps dice game that simulates a full craps table layout drawn entirely with inverse-video characters and block graphics. The program supports multiple simultaneous bet types including Pass Line, Don’t Come, Field, Hardways (4, 6, 8, and 10), Any Craps, Any 7, and Big 6/8, each mapped to a keyboard letter for quick input. Dice are rendered on-screen using asterisk characters positioned within block-graphic frames, with separate display routines for each face value of both dice. Payouts follow standard casino odds — hardways pay 7:1 or 9:1 depending on the number, Any 7 pays 4:1, Any Craps pays 7:1, and Field bets pay 1:1, 2:1, or 3:1 based on the roll. The Don’t Come bet implements a two-roll tracking mechanism using variables D1 and D3 to remember the established point across subsequent rolls.


Program Analysis

Program Structure

The program is organized into several broad functional regions:

  1. Lines 9–26: Instruction screen displayed in inverse video, explaining the betting interface.
  2. Lines 30–60: Variable initialization block (all bet amounts and state flags zeroed).
  3. Lines 100–249: Main table layout rendering using inverse video and block graphics, drawing the craps layout with labeled betting areas.
  4. Lines 255–315: Main input dispatch loop — polls INKEY$ and routes to subroutine-like blocks via GOTO.
  5. Lines 350–800: Dice roll generation and graphical dice face rendering for both dice.
  6. Lines 800–851: Post-roll bet evaluation dispatcher — checks each active bet flag in priority order.
  7. Lines 900–2150: Individual bet entry routines (Pass, Don’t Come, Any Craps, Any 7, Hardways, Field, Any Craps K-bet, Big 6/8, Easy 8/6).
  8. Lines 2300–2645: Payout/loss resolution for Any 7, Hardways, Any Craps, and Field bets.
  9. Lines 3000–4080: Resolution for Easy 8 (E) and Big 6 (S) bets.
  10. Lines 5000–6002: Pass Line bet logic with point establishment and tracking.
  11. Lines 7000–9011: Don’t Come bet logic with two-roll state machine.

Bet Types and Key Mappings

KeyBet TypeVariablePayout
PPass LineP1:1 (natural/point)
DDon’t ComeD1:1 (craps)/loss on 7 or 11
FFieldF1:1, 2:1 (2), 3:1 (12)
HHardways (4/6/8/10)H1–H47:1 or 9:1
KAny CrapsK7:1
VAny 7V4:1
EEasy 8E1:1
SBig 6S1:1
RRoll dice

Dice Face Rendering

Each die is drawn independently. Die A is rendered at column 22–24 and die B at column 26–29, both within a block-graphic frame printed at lines 502–509. Separate GOTO chains at lines 511–516 and 700–706 dispatch to face-specific drawing routines (lines 610–660 for die A, 710–760 for die B). Each routine prints asterisk characters at specific AT positions to represent the pips. Notably, faces 3 and 5 reuse face 2 and 4 code respectively via GOTO fall-through (lines 630→620, 650→640, 730→710, 750→710), and face 5 also adds a center pip by calling face 1’s routine (line 642→610).

State Machine for Don’t Come Bet

The Don’t Come bet (lines 7000–9011) uses a two-variable state machine: D1 tracks whether a point has been established (0 = no point, 1 = point set), and D3 stores the established point number. On the first roll after betting, if a 2 is thrown the bet is voided (line 7111); 3 or 12 wins (line 7500); 7 or 11 loses (line 7600); any other number establishes the point. On subsequent rolls, rolling the point loses and rolling 7 wins — the inverse of the Pass Line. Lines 9000–9010 display the bet amount at the correct column on row 2 based on which point value was established.

Pass Line Logic

The Pass Line uses variables P (bet amount), P1 (the established point), and U (a flag indicating whether a point has been set). On the come-out roll (U=0), P1 is set to the current total W. A 7 or 11 wins immediately (line 5600); 2, 3, or 12 loses (line 5700). Any other number sets the point and increments U. On subsequent rolls (line 6000), a 7 loses and matching P1 wins.

Hardways Bet Logic

The Hardways bets (lines 2400–2473) check not just the total W but also die value A to confirm the hard way was thrown (e.g., hard 4 requires A=2, implying B=2 as well). A 7 clears all four hardways bets. Wins pay 7:1 for hard 4 and 10, and 9:1 for hard 6 and 8. Lines 2457–2472 chain through all four hardways variables to deduct losses when a 7 is rolled.

Field Bet Payouts

The Field bet (lines 2600–2645) wins on 2 (pays 2:1), 12 (pays 3:1), and 3, 4, 9, 10, or 11 (pays 1:1). Rolls of 5, 6, 7, or 8 lose the Field bet. This is consistent with standard casino Field bet rules, though real tables sometimes pay 2:1 on 12; here 12 pays 3:1.

Key BASIC Idioms and Techniques

  • The main input loop (lines 303–315) uses the PAUSE 0 / INKEY$ idiom in a different form: line 303 waits for the key to be released and line 304 waits for a key to be pressed, preventing key repeat from triggering multiple actions.
  • INT(RND*6)+1 is used at lines 350–351 to generate fair six-sided die rolls.
  • All monetary display uses variable M initialized to 1000 (line 106), representing a starting bankroll of $1000.
  • Line 249 uses GOTO 255 skipping the bare PRINT at line 250, which appears to be vestigial dead code.
  • Bets are validated to a $100 maximum with input loops (e.g., lines 907, 1006, 1206) using IF >100 THEN GOTO to re-prompt.
  • Variable C1 is set to zero at line 2251 but the Come bet (C) input at lines 1100–1110 collects both a point (C) and amount (C1) yet neither is evaluated in any payout routine, making the Come bet effectively unimplemented.

Bugs and Anomalies

  • The Come bet (key C, lines 1100–1150) inputs values but no resolution code references C or C1 in the payout dispatcher, making it a non-functional placeholder.
  • Line 2251 (LET C1=0) appears between two unrelated sections and is unreachable — it falls between the Any 7 and Hardways resolution blocks with no branch leading to it.
  • Lines 730 and 750 both jump to line 710 (face 1 pip pattern) for die B faces 3 and 5, which is incorrect — face 3 should show two pips plus one center, and face 5 should show four corner pips plus center. This is the same structural approach used for die A but die A’s face 5 correctly chains through 640 then 610; die B’s face 5 at line 750 only calls 710, producing a face-1 display.
  • Lines 839–842 clear hardways variables on non-hardway rolls of those totals, but lines 836 and 841 both clear H3 on a roll of 8, making the second assignment redundant.
  • At line 2412 the check IF H1=0 THEN GOTO 809 comes after the winnings are added at line 2413, meaning the zero-check is in the wrong order — a zero bet would still add zero to M before being caught.
  • Line 8518 executes LET M=(M-D) after D has already been set to zero at line 8516, making the deduction always zero; this code path is effectively a no-op loss handler.

Content

Appears On

Related Products

Like the real thing. Dice visible at all times, multiple bets possible. 16K.

Related Articles

Related Content

Image Gallery

Source Code

   9 FAST 
  10 FOR O=1 TO 20
  11 PRINT AT O,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
  12 NEXT O
  13 PRINT AT 1,0;"%T%O% %E%N%T%E%R% %B%E%T% %P%R%E%S%S% %C%O%R%R%E%S%P%O%N%D%I%N%G"
  14 PRINT AT 2,0;"%L%E%T%T%E%R% %I%N% %(% %)% %T%H%A%T% %I%S% %N%E%X%T% %T%O"
  15 PRINT AT 3,0;"%B%E%T%.% %N%O%W% %Y%O%U% %A%R%E% %R%E%A%D%Y% %T%O% %E%N%T%E%R"
  16 PRINT AT 4,0;"%I%N% %T%H%E% %A%M%O%U%N%T% %Y%O%U% %W%I%S%H% %T%O% %B%E%T%."
  17 PRINT AT 10,0;"%T%O% %R%O%L%L% %D%I%C%E% %P%R%E%S%S% %"%R%"%."
  18 PRINT AT 6,0;"%T%O% %B%E%T% %H%A%R%D%W%A%Y%S% %P%R%E%S%S% %"%H%"% %T%H%E%N"
  19 PRINT AT 7,0;"%E%N%T%E%R% %I%N% %4%,%6%,%8% %O%R% %1%0%.% %N%O%W% %E%N%T%E%R% %I%N% %A%M%O%U%N%T% %O%F% %B%E%T%."
  20 PRINT AT 12,0;"%M%I%N%I%M%U%M% %B%E%T% %I%S% %$%1% % % % % % % % % % % % % % % %M%A%X%I%M%U%M% %B%E%T% %I%S% %$%1%0%0"
  21 PRINT AT 15,7;"%O%N%E% %T%I%M%E% %B%E%T%S% %A%R%E% % "
  22 PRINT AT 16,0;"%A%N%Y% %C%R%A%P%S% % %A%N%Y% %7% % %A%N%D% % %T%H%E% %F%I%E%L%D"
  25 PRINT AT 18,10;"PRESS ENTER"
  26 INPUT A$
  30 LET K=0
  31 LET F=0
  32 LET Q=0
  33 LET H1=0
  34 LET H2=0
  35 LET H3=0
  36 LET H4=0
  37 LET E3=0
  38 LET P1=0
  40 LET A=0
  41 LET D1=0
  42 LET D3=0
  44 LET U=0
  45 LET C=0
  46 LET H=0
  50 LET D=0
  55 LET P=0
  56 LET E=0
  57 LET S=0
  60 LET V=0
 100 FAST 
 101 LET B$="X"
 105 FOR O=1 TO 20
 106 LET M=1000
 107 PRINT AT 21,9;M
 110 PRINT AT O,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 111 NEXT O
 120 PRINT AT 21,0;"BETS FROM $1 TO $100"
 132 PRINT AT 3,0;": % % % % : % % % % : % % % % : % % % % : % % % % : % % % % %  :"
 133 PRINT AT 2,0;": % % % % : % % % % : % % % % : % % % % : % % % % : % % % % %  :"
 134 PRINT AT 1,3;"%4"
 135 PRINT AT 1,8;"%5"
 136 PRINT AT 1,13;"%6"
 137 PRINT AT 1,18;"%8"
 139 PRINT AT 1,23;"%9"
 140 PRINT AT 1,27;"%1%0"
 145 PRINT AT 4,0;"................................................................"
 150 PRINT AT 5,1;"% % % % % % % % % %(%D%)% %D%O%N%T% %C%O%M%E% % % % % % % % % % "
 155 PRINT AT 6,0;"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''"
 156 PRINT AT 7,6;"%(%E%)% % % %(%S%)"
 160 PRINT AT 8,0;"% % % % % % % %8% %B%I%G% %6"
 161 PRINT AT 9,0;"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''"
 162 PRINT AT 7,21;"%A%N%Y% %7% %(%V%)"
 163 PRINT AT 8,22;"%4%:%1"
 170 PRINT AT 18,0;"........................................"
 171 PRINT AT 19,2;"%P%A%S%S% %L%I%N%E"
 172 PRINT AT 17,0;"%2% % % % % % % % % % % % % % % % %1%2"
 173 PRINT AT 16,2;"%3% % % % % % % % % % % %1%1"
 174 PRINT AT 20,2;"%(%P%)"
 175 PRINT AT 15,5;"%4% % %9% % %1%0"
 176 PRINT AT 14,0;"''''''''''''''''''''''''''''''''''''''''"
 177 FOR O=10 TO 20
 178 PRINT AT 16,4;"%(%F%)% %F%I%E%L%D"
 180 PRINT AT O,20;" :"
 181 NEXT O
 200 PRINT AT 10,4;"%(%H%)% %H%A%R%D%W%A%Y%S"
 210 PRINT AT 11,2;"%6% % % % % %9%:%1% % % % % %8"
 212 PRINT AT 13,2;"%4% % % % % %7%:%1% % % % % %1%0"
 216 PRINT AT 10,22;"%A%N%Y% %C%R%A%P%S"
 221 PRINT AT 11,21;"%(%K%)% %2%,%3%,%1%2"
 222 PRINT AT 12,25;"%7%:%1"
 224 PRINT AT 15,21;"####################"
 225 PRINT AT 19,21;"####################"
 226 PRINT AT 16,21;"##   ##   ####"  
 227 PRINT AT 17,21;"##   ##   ####"  
 228 PRINT AT 18,21;"##   ##   ####"  
 249 GOTO 255
 250 PRINT 
 255 PRINT AT 21,22;"$";M;"  "
 302 SLOW 
 303 IF INKEY$<>"" THEN GOTO 303
 304 IF INKEY$="" THEN GOTO 304
 305 IF INKEY$="P" THEN GOTO 900
 306 IF INKEY$="D" THEN GOTO 1000
 307 IF INKEY$="C" THEN GOTO 1100
 308 IF INKEY$="V" THEN GOTO 1200
 309 IF INKEY$="H" THEN GOTO 1300
 310 IF INKEY$="K" THEN GOTO 1500
 311 IF INKEY$="Y" THEN GOTO 1600
 312 IF INKEY$="R" THEN GOTO 350
 313 IF INKEY$="F" THEN GOTO 1400
 314 IF INKEY$="S" THEN GOTO 2000
 315 IF INKEY$="E" THEN GOTO 2100
 350 LET A=INT (RND*6)+1
 351 LET B=INT (RND*6)+1
 502 PRINT AT 15,21;"####################"
 503 PRINT AT 19,21;"####################"
 504 PRINT AT 16,21;"##   ##   ####"  
 506 PRINT AT 17,21;"##   ##   ####"  
 509 PRINT AT 18,21;"##   ##   ####"  
 511 IF A=1 THEN GOTO 610
 512 IF A=2 THEN GOTO 620
 513 IF A=3 THEN GOTO 630
 514 IF A=4 THEN GOTO 640
 515 IF A=5 THEN GOTO 650
 516 IF A=6 THEN GOTO 660
 610 PRINT AT 17,23;"*"
 611 IF A=3 THEN GOTO 700
 612 GOTO 700
 620 PRINT AT 16,22;"*"
 621 PRINT AT 18,24;"*"
 622 IF A=3 THEN GOTO 631
 623 GOTO 700
 630 GOTO 620
 631 GOTO 610
 640 PRINT AT 16,22;"* *"
 641 PRINT AT 18,22;"* *"
 642 IF A=5 THEN GOTO 610
 647 GOTO 700
 650 GOTO 640
 660 PRINT AT 17,22;"* *"
 661 GOTO 640
 700 IF B=1 THEN GOTO 710
 701 IF B=2 THEN GOTO 720
 702 IF B=3 THEN GOTO 730
 703 IF B=4 THEN GOTO 740
 705 IF B=5 THEN GOTO 750
 706 IF B=6 THEN GOTO 760
 710 PRINT AT 17,27;"*"
 711 IF B=3 THEN GOTO 720
 712 IF B=5 THEN GOTO 740
 715 GOTO 800
 720 PRINT AT 16,26;"*"
 721 PRINT AT 18,28;"*"
 728 GOTO 800
 730 GOTO 710
 740 PRINT AT 16,26;"* *"
 741 PRINT AT 18,26;"* *"
 748 GOTO 800
 750 GOTO 710
 760 PRINT AT 17,26;"* *"
 761 GOTO 740
 800 LET W=A+B
 801 IF K>0 THEN GOTO 2500
 802 IF F>0 THEN GOTO 2600
 803 IF H1>0 THEN GOTO 2400
 804 IF D1>0 THEN GOTO 2400
 805 IF H2>0 THEN GOTO 2400
 806 IF H3>0 THEN GOTO 2400
 807 IF H4>0 THEN GOTO 2400
 809 IF V>0 THEN GOTO 2300
 810 IF C>0 THEN GOTO 2200
 815 GOTO 816
 816 IF E>0 THEN GOTO 3000
 817 IF S>0 THEN GOTO 4000
 820 IF P>0 THEN GOTO 5000
 822 IF D>0 THEN GOTO 7000
 823 PAUSE 50
 824 PRINT AT 17,4;"% % % % % % % "
 825 PRINT AT 13,23;"% % % % % % "
 827 LET K=0
 830 IF W=7 THEN PRINT AT 8,0;"% % % % % % ";AT 5,5;"% % % % ";AT 11,3;"% % % % % ";AT 13,3;"% % % % % ";AT 11,11;"% % % % % ";AT 13,11;"% % % % % "
 832 IF W=8 THEN LET E=0
 833 IF W=6 THEN LET S=0
 834 IF W=6 THEN PRINT AT 8,15;"% % % % % % ";AT 11,3;"% % % % % "
 835 IF W=8 THEN PRINT AT 8,0;"% % % % % % % ";AT 11,11;"% % % % % "
 836 IF W=8 THEN LET H3=0
 837 IF W=10 THEN PRINT AT 13,11;"% % % % % "
 838 IF W=4 THEN PRINT AT 13,3;"% % % % % "
 839 IF W=4 THEN LET H1=0
 840 IF W=6 THEN LET H2=0
 841 IF W=8 THEN LET H3=0
 842 IF W=10 THEN LET H4=0
 845 PRINT AT 8,25;"% % % % % % "
 851 GOTO 250
 900 IF P>0 THEN GOTO 303
 901 PRINT AT 19,12;"$"
 905 INPUT P
 906 LET E3=0
 907 IF P>100 THEN GOTO 905
 908 LET P=INT (P)
 910 PRINT AT 19,13;P
 950 GOTO 250
 1000 IF D1>0 THEN GOTO 823
 1001 LET D1=0
 1004 PRINT AT 5,24;"$"
 1005 INPUT D
 1006 LET D=INT (D)
 1007 IF D>100 THEN GOTO 1005
 1010 PRINT AT 5,25;D
 1050 GOTO 250
 1100 PRINT AT 5,5;"C"
 1101 INPUT C
 1102 PRINT AT 5,5;C
 1103 PRINT AT 5,8;"$"
 1105 INPUT C1
 1110 PRINT AT 5,9;C1
 1150 GOTO 250
 1200 PRINT AT 8,26;"$"
 1205 INPUT V
 1206 IF V>100 THEN GOTO 1205
 1207 LET V=INT (V)
 1210 PRINT AT 8,27;V
 1250 GOTO 250
 1300 PRINT AT 10,3;"H"
 1305 INPUT Z
 1306 PRINT AT 10,3;"% "
 1307 IF Z=4 THEN GOTO 1340
 1308 IF Z=6 THEN GOTO 1360
 1309 IF Z=8 THEN GOTO 1380
 1310 IF Z=10 THEN GOTO 1390
 1311 GOTO 1300
 1340 PRINT AT 13,4;"$"
 1341 INPUT H1
 1342 IF H1>100 THEN GOTO 1341
 1343 LET H1=INT (H1)
 1344 PRINT AT 13,5;H1
 1345 GOTO 250
 1360 PRINT AT 11,4;"$"
 1361 INPUT H2
 1363 IF H2>100 THEN GOTO 1361
 1364 LET H2=INT (H2)
 1365 PRINT AT 11,5;H2
 1366 GOTO 250
 1367 GOTO 250
 1380 PRINT AT 11,12;"$"
 1381 INPUT H3
 1382 IF H3>100 THEN GOTO 1381
 1383 LET H3=INT (H3)
 1384 PRINT AT 11,13;H3
 1385 GOTO 250
 1390 PRINT AT 13,12;"$"
 1391 INPUT H4
 1393 IF H4>100 THEN GOTO 1391
 1394 LET H4=INT (H4)
 1395 PRINT AT 13,13;H4
 1396 GOTO 250
 1400 PRINT AT 17,5;"$"
 1401 INPUT F
 1402 IF F>100 THEN GOTO 1401
 1403 LET F=INT (F)
 1405 PRINT AT 17,6;F
 1450 GOTO 250
 1500 PRINT AT 13,24;"$"
 1505 INPUT K
 1506 IF K>100 THEN GOTO 1505
 1507 LET K=INT (K)
 1520 PRINT AT 13,25;K
 1550 GOTO 250
 2000 PRINT AT 8,16;"$"
 2005 INPUT S
 2006 IF S>100 THEN GOTO 2005
 2007 LET S=INT (S)
 2010 PRINT AT 8,17;S
 2050 GOTO 250
 2100 PRINT AT 8,2;"$"
 2105 INPUT E
 2106 IF E>100 THEN GOTO 2105
 2107 LET E=INT (E)
 2110 PRINT AT 8,3;E
 2150 GOTO 250
 2251 LET C1=0
 2300 IF W=7 THEN GOTO 2350
 2305 IF W<>7 THEN LET M=(M-V)
 2306 PRINT AT 8,25;"% % % % % % "
 2310 LET V=0
 2315 GOTO 810
 2350 PRINT AT 8,25;"W$";(V*4)
 2355 LET M=M+(V*4)
 2360 LET V=0
 2365 GOTO 810
 2400 IF W=7 THEN GOTO 2457
 2405 IF W=4 THEN GOTO 2410
 2406 IF W=6 THEN GOTO 2420
 2407 IF W=8 THEN GOTO 2430
 2408 IF W=10 THEN GOTO 2450
 2409 GOTO 809
 2410 IF A=2 THEN GOTO 2412
 2411 GOTO 2457
 2412 IF H1=0 THEN GOTO 809
 2413 LET M=M+(H1*7)
 2415 PRINT AT 13,3;"W"
 2416 PRINT AT 13,5;(H1*7)
 2417 LET H1=0
 2418 GOTO 809
 2420 IF A=3 THEN GOTO 2422
 2421 GOTO 2462
 2422 LET M=M+(H2*9)
 2423 IF H2=0 THEN GOTO 809
 2424 PRINT AT 11,3;"W$";(H2*9)
 2425 LET H2=0
 2426 GOTO 809
 2430 IF A=4 THEN GOTO 2432
 2431 GOTO 2467
 2432 LET M=M+(H3*9)
 2433 IF H3=0 THEN GOTO 809
 2434 PRINT AT 11,11;"W$";(H3*9)
 2444 LET H3=0
 2445 GOTO 809
 2450 IF A=5 THEN GOTO 2452
 2451 GOTO 2471
 2452 LET M=M+(H4*7)
 2453 IF H4=0 THEN GOTO 809
 2454 PRINT AT 13,11;"W$";(H4*7)
 2455 LET H4=0
 2456 GOTO 809
 2457 LET M=(M-H1)
 2458 LET H1=0
 2459 IF W=7 THEN GOTO 2462
 2460 GOTO 809
 2462 LET M=(M-H2)
 2463 LET H2=0
 2464 IF W=7 THEN GOTO 2467
 2465 GOTO 809
 2467 LET M=(M-H3)
 2468 LET H3=0
 2469 IF W=7 THEN GOTO 2471
 2470 GOTO 809
 2471 LET M=(M-H4)
 2472 LET H4=0
 2473 GOTO 809
 2500 IF W=2 THEN GOTO 2530
 2501 IF W=3 THEN GOTO 2530
 2502 IF W=12 THEN GOTO 2530
 2503 PRINT AT 13,23;"% % % % % % "
 2504 LET M=(M-K)
 2510 GOTO 802
 2530 PRINT AT 13,25;(K*7)
 2531 LET M=M+(K*7)
 2550 PRINT AT 13,23;"W"
 2555 GOTO 802
 2600 IF W=2 THEN GOTO 2612
 2602 IF W=12 THEN GOTO 2640
 2603 IF W=3 THEN GOTO 2630
 2604 IF W=4 THEN GOTO 2630
 2605 IF W=9 THEN GOTO 2630
 2606 IF W=10 THEN GOTO 2630
 2607 IF W=11 THEN GOTO 2630
 2608 LET M=(M-F)
 2609 PRINT AT 17,4;"% % % % % % % "
 2610 LET F=0
 2611 GOTO 803
 2612 PRINT AT 17,6;(F*2)
 2613 PRINT AT 17,4;"W"
 2614 LET M=M+(F*2)
 2615 LET F=0
 2616 GOTO 803
 2630 PRINT 
 2631 PRINT AT 17,4;"W"
 2634 LET M=M+(F*1)
 2635 LET F=0
 2637 GOTO 803
 2640 LET M=M+(F*3)
 2641 PRINT AT 17,6;(F*3)
 2642 PRINT AT 17,4;"W"
 2643 LET F=0
 2645 GOTO 803
 3000 IF W=7 THEN GOTO 3050
 3005 IF W=8 THEN GOTO 3070
 3006 GOTO 817
 3050 LET M=(M-E)
 3055 PRINT AT 8,0;"% % % % % % "
 3065 LET E=0
 3069 GOTO 817
 3070 LET M=(M+E)
 3075 PRINT AT 8,1;"W$";E
 3090 GOTO 817
 4000 IF W=7 THEN GOTO 4050
 4005 IF W=6 THEN GOTO 4070
 4010 GOTO 820
 4050 LET M=(M-S)
 4055 PRINT AT 8,16;"% % % % % % "
 4056 LET S=0
 4057 GOTO 820
 4070 PRINT AT 8,15;"W$";S
 4075 LET M=(M+S)
 4080 GOTO 820
 5000 IF U=0 THEN LET P1=W
 5001 IF P=0 THEN GOTO 822
 5002 PRINT AT 19,18;P1
 5014 IF U>=1 THEN GOTO 6000
 5015 LET U=U+1
 5500 IF W=7 THEN GOTO 5600
 5501 IF W=11 THEN GOTO 5600
 5503 IF W=3 THEN GOTO 5700
 5504 IF W=12 THEN GOTO 5700
 5505 IF W=2 THEN GOTO 5700
 5506 GOTO 822
 5600 LET M=(M+P)
 5601 PRINT AT 19,11;"W$"
 5602 PAUSE 60
 5605 LET P=0
 5606 LET U=0
 5607 LET P1=0
 5610 PRINT AT 19,11;"% % % % % % % % % "
 5611 GOTO 822
 5700 LET M=(M-P)
 5704 LET P1=0
 5705 LET P=0
 5706 LET U=0
 5708 PRINT AT 19,11;"% % % % % % % % % "
 5709 GOTO 822
 6000 IF W=7 THEN GOTO 5700
 6001 IF W=P1 THEN GOTO 5600
 6002 GOTO 822
 7000 IF D1=0 THEN GOTO 7002
 7001 GOTO 7005
 7002 IF W=2 THEN GOTO 7111
 7003 LET D3=W
 7005 IF D1>0 THEN GOTO 8500
 7100 LET D1=D1+1
 7104 IF D1=1 THEN GOTO 7200
 7110 GOTO 823
 7111 LET D1=0
 7113 LET D3=0
 7115 GOTO 823
 7200 IF D3=3 THEN GOTO 7500
 7201 IF D3=12 THEN GOTO 7500
 7205 IF D3=7 THEN GOTO 7600
 7206 IF D3=11 THEN GOTO 7600
 7210 GOTO 8500
 7500 PRINT AT 5,23;"W$";D
 7505 LET M=(M+D)
 7506 LET D1=0
 7507 LET D=0
 7508 PAUSE 50
 7509 PRINT AT 5,23;"% % % % % % "
 7510 GOTO 823
 7600 LET M=(M-D)
 7601 LET D=0
 7602 LET D1=0
 7603 LET D3=0
 7604 PRINT AT 5,23;"% % % % % % "
 7605 GOTO 823
 8500 IF D1=1 THEN GOTO 9000
 8501 IF W=D3 THEN GOTO 8505
 8502 IF W=7 THEN GOTO 8505
 8503 GOTO 823
 8505 PRINT AT 2,7;"% % % "
 8506 PRINT AT 2,2;"% % % "
 8507 PRINT AT 2,12;"% % % "
 8508 PRINT AT 2,17;"% % % "
 8509 PRINT AT 2,22;"% % % "
 8510 PRINT AT 2,27;"% % % "
 8511 IF W=D3 THEN GOTO 7600
 8512 IF W=7 THEN GOTO 7500
 8513 IF W=2 THEN GOTO 7111
 8515 LET D3=0
 8516 LET D=0
 8517 LET D1=0
 8518 LET M=(M-D)
 8519 PRINT AT 5,23;"% % % % % % "
 8520 GOTO 823
 9000 PRINT AT 5,23;"% % % % % % "
 9001 LET D1=D1+1
 9005 IF D3=5 THEN PRINT AT 2,7;D
 9006 IF D3=4 THEN PRINT AT 2,2;D
 9007 IF D3=6 THEN PRINT AT 2,12;D
 9008 IF D3=8 THEN PRINT AT 2,17;D
 9009 IF D3=9 THEN PRINT AT 2,22;D
 9010 IF D3=10 THEN PRINT AT 2,27;D
 9011 GOTO 823

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top