--- title: "Kasino Kraps" id: 51908 type: "computer_media" slug: "kasino-kraps" url: "http://localhost/computer_media/kasino-kraps/" markdown_url: "http://localhost/computer_media/kasino-kraps.md" published_at: "2023-08-16T01:42:21+00:00" modified_at: "2026-04-04T20:17:53+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2023/08/SCR-20260403-oory.png" excerpt: "A full craps table simulation with block-graphic dice, multiple simultaneous bet types, and casino-accurate payouts — all controlled from the keyboard." 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: "Timex Computer Corporation" slug: "timex-computer-corporation" taxonomy: "post_tag" url: "http://localhost/tag/timex-computer-corporation/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" genre: - name: "Gambling" slug: "gambling" taxonomy: "genre" url: "http://localhost/type/gambling/" - name: "Game" slug: "game" taxonomy: "genre" url: "http://localhost/type/game/" media_type: "Cassette" download_url: "https://archive.org/download/timex-sinclair-software-archive/KasinoKraps (1983)(Timex)(US)(TS1000)(Cassette).zip" mediadate: "1983" producer_company: - id: 11401 title: "Timex Computer Corporation" type: "company" url: "http://localhost/company/timex-computer-corporation/" images: - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260403-oory.png" - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260403-oopn.png" related_products: - id: 13005 title: "Kasino Kraps" type: "product" url: "http://localhost/product/kasino-kraps/" media_type_tags: "Gambling, Game" --- # Kasino Kraps 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 | Key | Bet Type | Variable | Payout | | --- | --- | --- | --- | | P | Pass Line | `P` | 1:1 (natural/point) | | D | Don’t Come | `D` | 1:1 (craps)/loss on 7 or 11 | | F | Field | `F` | 1:1, 2:1 (2), 3:1 (12) | | H | Hardways (4/6/8/10) | `H1–H4` | 7:1 or 9:1 | | K | Any Craps | `K` | 7:1 | | V | Any 7 | `V` | 4:1 | | E | Easy 8 | `E` | 1:1 | | S | Big 6 | `S` | 1:1 | | R | Roll 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. ## 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 ```