From ea506d7b5ccfd3f503bdb622c24b1597aee9498d Mon Sep 17 00:00:00 2001 From: SweepingDeveloper <31598664+SweepingDeveloper@users.noreply.github.com> Date: Sun, 21 Apr 2019 17:09:42 -0500 Subject: [PATCH] Create code.txt NO REAL MONEY NOR PRIZES ARE AWARDED. THIS IS JUST A COMPUTER PROGRAM. Deal or No Deal is owned by Endemol. No ownership is implied. The source code. Press SHIFT + INSERT in AppleWin to copy the program to the emulator. Then type "SAVE DOND", then "RUN" it. --- code.txt | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 code.txt diff --git a/code.txt b/code.txt new file mode 100644 index 0000000..53af287 --- /dev/null +++ b/code.txt @@ -0,0 +1,178 @@ +10 DIM V(26): DIM CV(26) +20 DIM CTG(9): DIM CA(26): DIM VA(26) +22 DIM OM(9) +23 RS = 0:CO = 1 +25 R = 1:D = 0: DIM RO(9) +30 FOR A = 0 TO 25 +40 CA(A) = 1:VA(A) = - 1 +50 READ V(A): REM CASE VALUES +60 NEXT A +70 FOR A = 0 TO 25 +75 PRINT "LOADING CASE #";A + 1 +80 VC = INT ( RND (1) * 26) +90 IF VA(VC) = - 1 THEN CV(A) = VC +100 IF VA(VC) < > - 1 THEN GOTO 80 +110 VA(VC) = 1: NEXT A +115 IF RS = 1 THEN RS = 0: GOTO 200 +120 FOR A = 0 TO 8: READ CTG(A): NEXT A +130 FOR A = 0 TO 8: READ OM(A): NEXT A +140 FOR A = 0 TO 8: PRINT OM(A): NEXT A +200 REM *** DRAW SCREEN FROM START *** +210 HOME +220 FOR A = 0 TO 12 +225 VTAB 1 + A: HTAB 8 - LEN ( STR$ (V(A))) +230 IF VA(A) = 1 THEN PRINT "$";V(A) +235 VTAB 1 + A: HTAB 40 - LEN ( STR$ (V(A + 13))) +240 IF VA(A + 13) = 1 THEN PRINT "$";V(A + 13) +250 NEXT A +300 REM *** DRAW CASES *** +310 FOR A = 0 TO 12 +320 VTAB 15: HTAB A * 3 + 1 +330 IF CA(A) = 1 AND A + 1 < 10 THEN PRINT " ";A + 1 +340 IF CA(A) = 1 AND A + 1 > 9 THEN PRINT A + 1 +350 VTAB 16: HTAB A * 3 + 1 +360 IF CA(A + 13) = 1 THEN PRINT A + 14 +370 NEXT A +380 VTAB 18: HTAB 2: INPUT "PICK A CASE >";CTP +400 CA(CTP - 1) = 0 +500 REM *** GAME LOOP *** +510 HOME +520 FOR A = 0 TO 12 +525 VTAB 1 + A +526 IF VA(A) = 0 THEN HTAB 1: PRINT " " +530 IF VA(A) = 1 THEN HTAB 8 - LEN ( STR$ (V(A))): PRINT "$";V(A) +534 VTAB 1 + A +535 IF VA(A + 13) = 0 THEN HTAB 32: PRINT " " +540 IF VA(A + 13) = 1 THEN HTAB 40 - LEN ( STR$ (V(A + 13))): PRINT "$";V(A + 13) +550 NEXT A +600 REM *** DRAW CASES AGAIN *** +610 FOR A = 0 TO 12 +620 VTAB 15: HTAB A * 3 + 1 +630 IF CA(A) = 1 AND A + 1 < 10 THEN PRINT " ";A + 1 +640 IF CA(A) = 1 AND A + 1 > 9 THEN PRINT A + 1 +645 IF CA(A) = 0 THEN PRINT ".." +650 VTAB 16: HTAB A * 3 + 1 +660 IF CA(A + 13) = 1 THEN PRINT A + 14 +665 IF CA(A + 13) = 0 THEN PRINT ".." +670 NEXT A +700 VTAB 18: HTAB 2: PRINT "ROUND ";R;": ";CTG(R - 1);" CASES TO GO" +705 IF CTG(R - 1) = 0 THEN GOTO 800 +710 VTAB 19: HTAB 2: INPUT "PICK A CASE TO ELIMINATE: ";CE +715 IF CE = 0 THEN GOTO 510 +720 IF CE < 1 OR CE > 26 OR CA(CE - 1) = 0 THEN GOTO 710 +730 VTAB 3: HTAB 11 +735 PRINT "........": VTAB 3: HTAB 11 +740 PRINT "$";V(CV(CE - 1)) +750 CA(CE - 1) = 0 +755 VA(CV(CE - 1)) = 0 +760 CTG(R - 1) = CTG(R - 1) - 1 +770 IF CTG(R - 1) > - 1 THEN GOTO 520 +800 REM *** BANK OFFER *** +810 FOR A = 18 TO 19: VTAB A: HTAB 1: FOR B = 1 TO 40: PRINT " ";: NEXT B: NEXT A +820 IF D > 0 THEN VTAB 18: HTAB 2: PRINT "THE BANK WOULD HAVE OFFERED YOU": GOTO 835 +830 VTAB 18: HTAB 2: PRINT "THE BANK WISHES TO BUY YOUR CASE FOR" +835 VT = 0:CC = 0 +840 FOR A = 0 TO 25 +850 IF VA(A) = 1 THEN VT = VT + V(A):CCC = CC + 1 +860 VTAB 19: HTAB 2: PRINT "$ ": VTAB 19: HTAB 2: PRINT "$"; INT (VT) +870 NEXT A +880 VT = VT / CC +890 VTAB 19: HTAB 2: PRINT "$ ": VTAB 19: HTAB 2: PRINT "$"; INT (VT) +900 O = INT (VT * OM(R - 1)) +904 O = O * (1 + ( INT ( RND (1) * 40) - 20) / 100) +905 IF O > 9999 THEN O = INT (O / 1000) * 1000 +906 IF O > 999 AND O < 10000 THEN O = INT (O / 100) * 100 +907 RO(R - 1) = O +910 VTAB 19: HTAB 2: PRINT "$ ": VTAB 19: HTAB 2: PRINT "$";O +915 IF D > 0 THEN GOTO 921 +920 VTAB 20: HTAB 2: PRINT "(D)EAL OR (N)O DEAL?" +921 FOR A = 0 TO R - 1 +922 VTAB 2 + A: HTAB 25 +923 IF D = A + 1 THEN INVERSE +924 IF D < > A + 1 THEN NORMAL +925 PRINT "$";RO(A) +926 NEXT A +927 NORMAL +928 IF D > 0 THEN FOR X = 1 TO 1000: NEXT X: GOTO 950 +930 GET PAK$: IF PAK$ < > "D" AND PAK$ < > "N" AND PAK$ < > "C" THEN GOTO 970 +940 IF PAK$ = "D" AND D = 0 THEN D = R +945 IF PAK$ = "C" AND CO = 1 THEN GOTO 4000 +950 R = R + 1 +955 IF R = 10 THEN GOTO 2000 +960 FOR A = 17 TO 20: VTAB A: HTAB 1: FOR B = 1 TO 40: PRINT " ";: NEXT B: NEXT A +970 GOTO 520 +1000 DATA 1,2,5,10,25,50,75,100,200,300,400,500,750,1000,5000,10000,25000,50000,75000,100000,200000,300000,400000,500000,750000,1000000 +1010 DATA 6,5,4,3,2,1,1,1,1 +1020 DATA .15,.30,.65,.80,.90,.95,1,1,1 +2000 REM *** END OF GAME *** +2005 IF D > 0 THEN GOTO 3000 +2010 FOR A = 17 TO 21: VTAB A: HTAB 1: FOR B = 1 TO 40: PRINT " ";: NEXT B: NEXT A +2020 CR = 0 +2030 FOR A = 0 TO 25 +2032 IF CA(A) = 1 THEN CR = A +2034 NEXT A +2040 VTAB 18: HTAB 2: PRINT "ONE FINAL DECISION." +2050 VTAB 19: HTAB 2: PRINT "YOU CAN EITHER HAVE YOUR CASE, ";CTP;"..." +2060 VTAB 20: HTAB 2: PRINT "(PRESS ANY KEY)" +2070 GET PAK$ +2080 FOR A = 17 TO 23: VTAB A: HTAB 1: FOR B = 1 TO 40: PRINT " ";: NEXT B: NEXT A +2090 VTAB 18: HTAB 2: PRINT "OR YOU CAN SWAP IT WITH CASE # ";CR + 1;"." +2100 VTAB 20: HTAB 2: PRINT "(PRESS ANY KEY)" +2110 GET PAK$ +2120 FOR A = 17 TO 23: VTAB A: HTAB 1: FOR B = 1 TO 40: PRINT " ";: NEXT B: NEXT A +2130 VTAB 18: HTAB 2: PRINT "WAP OR O SWAP?" +2140 GET PAK$ +2150 IF PAK$ < > "S" AND PAK$ < > "N" THEN GOTO 2140 +2160 IF PAK$ = "S" THEN SN = 1 +2170 IF PAK$ = "N" THEN SN = 0 +2180 IF SN = 1 THEN CTP = CR + 1 +3000 HOME +3010 VTAB 2: HTAB 2 +3020 IF D = 0 THEN PRINT "YOU HOLD CASE # ";CTP;"." +3030 IF D > 0 THEN PRINT "YOU MADE A DEAL FOR $";RO(D - 1);"." +3040 FOR A = 1 TO 1000: NEXT A +3050 VTAB 10: HTAB 2: PRINT "YOUR CASE CONTAINS..." +3060 VTAB 12: HTAB 2: PRINT "/--------\" +3070 VTAB 13: HTAB 2: PRINT "[########]" +3075 IF CTP < 10 THEN VTAB 13: HTAB 7 +3076 IF CTP > 9 THEN VTAB 13: HTAB 6 +3077 PRINT CTP +3080 VTAB 14: HTAB 2: PRINT "\--------/" +3090 FOR A = 1 TO 2000: NEXT A +3100 VTAB 13: HTAB 2: PRINT "[ ]" +3120 FOR A = 1 TO 100: NEXT A +3130 VTAB 13: HTAB 3: PRINT "$";V(CV(CTP - 1)) +3140 FOR A = 1 TO 1000: NEXT A +3150 VTAB 18: HTAB 2: PRINT "PLAY AGAIN?" +3160 VTAB 19: HTAB 2: PRINT "ES OR O" +3170 GET PAK$ +3180 IF PAK$ < > "Y" AND PAK$ < > "N" THEN GOT3170 +3190 IF PAK$ = "Y" THEN GOTO 3210 +3200 IF PAK$ = "N" THEN END +3210 FOR A = 0 TO 25 +3220 CA(A) = 1:VA(A) = - 1:R = 1:D = 0 +3230 IF A < 10 THEN RO(A) = 0 +3240 NEXT A +3250 RS = 1 +3260 CTG(0) = 6:CTG(1) = 5:CTG(2) = 4:CTG(3) = 3:CTG(4) = 2 +3270 FOR A = 5 TO 8:CTG(A) = 1: NEXT A +3280 GOTO 70 +4000 REM *** COUNTER OFFER *** +4005 IF CO = 1 THEN CO = 0 +4010 VTAB 20: HTAB 2: PRINT " " +4020 VTAB 20: HTAB 2: INPUT "HOW MUCH? >";COO +4030 PO = 1 + ( INT ( RND (1) * 15) + 15) / 100 +4040 IF COO > 0 AND COO > ( INT (VT * OM(R - 1))) * PO THEN GOTO 4100 +4050 VTAB 21: HTAB 2: PRINT "THE BANKER SAYS..." +4060 FOR A = 1 TO 1000: NEXT A +4070 VTAB 21: HTAB 2: PRINT "DEAL." +4075 FOR A = 1 TO 3000: NEXT A +4076 VTAB 21: HTAB 2: PRINT " " +4080 D = R:RO(R - 1) = COO +4090 GOTO 950 +4100 VTAB 21: HTAB 2: PRINT "THE BANKER SAYS..." +4110 FOR A = 1 TO 1000: NEXT A +4120 VTAB 21: HTAB 2: PRINT "NO DEAL. " +4125 FOR A = 1 TO 3000: NEXT A +4126 VTAB 21: HTAB 2: PRINT " " +4130 GOTO 950