From 93117e521398bcb6bfd08dcd0f40e97f4e928ae8 Mon Sep 17 00:00:00 2001 From: dewdude Date: Mon, 5 Nov 2018 21:49:00 -0500 Subject: [PATCH] 1.05 release --- CHANGELOG | 29 ++ DRUGWAR2E.DSK | Bin 143360 -> 143360 bytes DRUGWAR2e.bas | 827 ++++++++++++++++++++------------------------------ Drugwar2e.baz | 745 ++++++++++++++++++--------------------------- LICENSE | 675 +--------------------------------------- README.md | 23 +- drugwar2e.zip | Bin 0 -> 32718 bytes 7 files changed, 679 insertions(+), 1620 deletions(-) create mode 100644 drugwar2e.zip diff --git a/CHANGELOG b/CHANGELOG index d7b9019..7c19353 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,32 @@ +``` + _____ _____ _ _ _______ __ _____ ____ + | __ \| __ \| | | |/ ____\ \ / /\ | __ \ / / / + | | | | |__) | | | | | __ \ \ /\ / / \ | |__) | / / /__ + | | | | _ /| | | | | |_ | \ \/ \/ / /\ \ | _ / / / / _ \ + | |__| | | \ \| |__| | |__| | \ /\ / ____ \| | \ \ / / / __/ + |_____/|_| \_\\____/ \_____| \/ \/_/ \_\_| \_\/_/_/ \___| +``` +CHANGELOG + +1.05: 5-NOV-2018 + +First GitLab Exclusive Release. No more Sourceforge + +Changed to BSD 2-Clause Simplified License + +Anti-Cheat System: + Pointed out from the c64 version and existing in core code; it was easy to use negative numbers in the right places and cheat your way to riches. I've fixed this, but the game lets you get away with some cheating. Cheat too much and it will boot you out of the game. + +Inventory Calculation for Police: + Police originally only acted if your inventory was more than 50. They now only react if you're using more than half your total inventory space. + +Police Shoot When You Run + IF you don't have a gun your only choice is to run. Originally you just ran and nothing happened. The cops now shoot at you if you do. Hey...welcome to the jungle. + +Code Condesing + What was partially done in 1.04 is now totally done. The total number of lines of code have been condensed to less than 300. This has greatly reduced the size of the program. + + 1.04: Initial commit to gitlab. \ No newline at end of file diff --git a/DRUGWAR2E.DSK b/DRUGWAR2E.DSK index f1d0943d7e681af72f2ba1f6b6ea8cddd796aa12..bc3bbe88ea8dc1ea6134d7645ddb6158c3b56093 100644 GIT binary patch delta 15786 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 delta 7751 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 -110 POKE 36,0 : POKE 37, 1 : CALL -958 -120 INVERSE:?" ":NORMAL:?:?:RETURN -130 REM->TITLEBAR -140 HOME:HTAB 16 : ? "DRUGWAR//E":GOSUB 110:GOTO 730 -150 REM->WAIT -160 ? -170 INPUT "PRESS ENTER TO CONTINUE.";X$ -180 RETURN -190 REM->TWOFIFTEEN -200 VTAB 2 : HTAB 15:RETURN -210 REM->TWOSIXTEEN -220 VTAB 2:HTAB 16:RETURN -230 REM->TWOSEVENTEEN -240 VTAB 2:HTAB 17:RETURN -250 REM->TWOEIGHTEEN -260 VTAB 2: HTAB 18:RETURN -270 REM->TWONINETEEN -280 VTAB 2:HTAB 19:RETURN -290 REM->JETALTHERE -300 INVERSE:GOSUB 280:?"JET":NORMAL:RETURN -310 REM->TIMERA -320 FOR J = 1 TO 2500:NEXT J:K = INT(RND(2)+.5):RETURN -330 REM->TIMERB -340 FOR J = 1 TO 1000:NEXT J:RETURN -350 REM->TIMERC -360 FOR J = 1 TO 2000:NEXT J:RETURN -370 REM->HOWMUCHBUY -380 ? "YOU CAN AFFORD ";J:? "YOU CAN CARRY ";F -390 REM->HOWMANYBUY -400 ?:INPUT "HOW MANY? (ENTER 0 CANCEL): ";K -410 IF K=0 GOTO 730 -420 IF K>F THEN INVERSE : ? "YOU CAN'T CARRY THAT MUCH!" : NORMAL : GOTO 400 -430 IF K>J THEN INVERSE : ? "YOU CAN'T AFFORD THAT MUCH!" : NORMAL : GOTO 400 -440 RETURN -450 REM->HOWMUCHSELL -460 ? "YOU CAN SELL: ";J:? -470 REM->HOWMANYSELL -480 INPUT "HOW MANY? (ENTER 0 TO CANCEL.): ";K -490 IF K>J THEN ? "YOU DON'T HAVE THAT MANY!" : GOTO 480 -500 IF K=0 GOTO 730 -510 RETURN -520 REM->FREESPACE -530 F=I-((G*5)+M+N+O+U+T+Q):RETURN -540 REM->CHASE -550 INVERSE:GOSUB 200: ?"BEING CHASED":NORMAL:RETURN -560 REM->GMOD -570 SPEED=100:GOSUB 220:INVERSE:?"GAME OVER":NORMAL:SPEED=255:RETURN -580 REM->BRONXCHECK -590 IF P$ = "THE BRONX" THEN RETURN -600 ? "YOU NEED TO HEAD TO THE BRONX":? "TO TAKE CARE OF THIS BUSINESS." -610 GOSUB 360:GOTO 730 -620 REM->DAILY -630 C=INT(RND(5)*12000+16000.5):H=INT(RND(5)*7000+5000.5):A=INT((RND(5)*34+10)*100+.5):Z=INT((RND(5)*42+33)*10+.5):S=INT((RND(5)*15+7)*10+.5):L=INT((RND(5)*4+1)*10+.5):B=INT(RND(5)*20+.5):D=D+1 -640 REM->CHECKDAY -650 IF D >= 31 GOTO 4750:RETURN -660 REM->SCORECALCULATE -670 K=(W+E)-V:IF K<0 THEN K=0 : RETURN -680 K=INT(SQR((K/31.5)+.5)):IF K>100 THEN K=100 -690 RETURN -700 REM->GAMESTART -710 W=2000:E=0:V=5000:P$="THE BRONX":G=0:I=100:M=0:N=0:O=0:U=0:T=0:Q=0:GOSUB 630:GOTO 140 -720 REM->MENU -730 GOSUB 110:GOSUB 530 -740 INVERSE : VTAB 2:HTAB 4:? "DAY: "D : GOSUB 260:?"LOCATION: "P$ :NORMAL -750 VTAB4:? "(C)HECK PRICES":? "(T)RENCHCOAT":? "(B)UY":? "(S)ELL":? "(J)ET":? "SEE (L)OAN SHARK":? "(V)ISIT BANK":? -760 INPUT "PLEASE MAKE YOUR SELECTION: ";X$ -770 IF X$ = "C" GOTO 860 -780 IF X$ = "T" GOTO 980 -790 IF X$ = "B" GOTO 1100 -800 IF X$ = "S" GOTO 1280 -810 IF X$ = "J" GOTO 1490 -820 IF X$ = "L" GOTO 1730 -830 IF X$ = "V" GOTO 1860 -840 GOTO 730 -850 REM->PRICES -860 GOSUB 110 -870 INVERSE:GOSUB 260:?"PRICES":NORMAL -880 ?:?"COCAINE:","$"C -890 ?"HEROIN:","$"H -900 ?"ACID:","$"A -910 ?"WEED:","$"Z -920 ?"SPEED:","$"S -930 ?"LUDES:","$"L -940 ?"WALLET:","$"W -950 GOSUB 160 -960 GOTO 730 -970 REM->INVENTORY -980 GOSUB 110 -990 INVERSE:GOSUB 220 :?"TRENCHCOAT":NORMAL -1000 ?:?"COCAINE:",M -1010 ?"HEROIN:",N -1020 ?"ACID:",O -1030 ?"WEED:",U -1040 ?"SPEED:",T -1050 ?"LUDES:",Q -1060 ?"FREE SPACE:",F -1070 GOSUB 160 -1080 GOTO 730 -1090 REM->BUY -1100 GOSUB 110 -1110 INVERSE:GOSUB 280: ?"BUY":NORMAL -1120 ?:?"WHAT DO YOU WANT TO BUY?":? -1130 ? "(C)OCAINE" -1140 ? "(H)EROIN" -1150 ? "(A)CID" -1160 ? "(W)EED" -1170 ? "(S)PEED" -1180 ? "(L)UDES" -1190 INPUT "ENTER SELECTION: ";X$ -1200 IF X$="C" GOTO 1980 -1210 IF X$="H" GOTO 2050 -1220 IF X$="A" GOTO 2120 -1230 IF X$="W" GOTO 2190 -1240 IF X$="S" GOTO 2260 -1250 IF X$="L" GOTO 2330 -1260 GOTO 730 -1270 REM->SELL -1280 GOSUB 110 -1290 INVERSE: GOSUB 260: ?"SELL":NORMAL -1300 ?:? "WHAT WOULD YOU LIKE TO SELL?":? -1310 ? "(C)OCAINE" -1320 ? "(H)EROIN" -1330 ? "(A)CID" -1340 ? "(W)EED" -1350 ? "(S)PEED" -1360 ? "(L)UDES" -1370 REM->SELLSEL -1380 INPUT "ENTER SELECTION: (0 TO CANCEL)";X$ -1390 IF X$="C" GOTO 2400 -1400 IF X$="H" GOTO 2470 -1410 IF X$="A" GOTO 2540 -1420 IF X$="W" GOTO 2610 -1430 IF X$="S" GOTO 2680 -1440 IF X$="L" GOTO 2750 -1450 IF X$="0" GOTO 730 -1460 ? "INVALID SELECTION!" -1470 GOTO 1380 -1480 REM->JET -1490 GOSUB 110 -1500 GOSUB 300 -1510 ? -1520 ? "(B)RONX" -1530 ? "(G)HETTO" -1540 ? "(C)ENTRAL PARK -1550 ? "(M)ANHATTAN" -1560 ? "CONEY (I)SLAND" -1570 ? "BROO(K)LYN" -1580 ? "(O)OPS...STAY!" -1590 INPUT "WHERE TO DUDE? ";X$ -1600 IF X$="B" THEN Y$ = "THE BRONX" : GOTO 1690 -1610 IF X$="G" THEN Y$ = "THE GHETTO" : GOTO 1690 -1620 IF X$="C" THEN Y$ = "CENTRAL PARK" : GOTO 1690 -1630 IF X$="M" THEN Y$ = "MANHATTAN" : GOTO 1690 -1640 IF X$="I" THEN Y$ = "CONEY ISLAND" : GOTO 1690 -1650 IF X$="K" THEN Y$ = "BROOKLYN" : GOTO 1690 -1660 IF X$="O" THEN GOTO 730 -1670 GOTO 1490 -1680 REM->JETB -1690 IF Y$=P$ THEN GOTO 2820 -1700 P$ = Y$ : Y$ = "" -1710 GOTO 2900 -1720 REM->LOAN -1730 GOSUB 110 -1740 INVERSE : GOSUB 220:? "LOAN SHARK":NORMAL -1750 ? -1760 GOSUB 590 -1770 ? "YOUR DEBT IS: $";V -1780 ? "YOU HAVE: $";W -1790 ? -1800 INPUT "(R)EPAY, (B)ORROW, (L)EAVE: ";X$ -1810 IF X$ = "R" THEN GOTO 4150 -1820 IF X$ = "B" THEN GOTO 4220 -1830 IF X$ = "L" THEN GOTO 730 -1840 GOTO 1730 -1850 REM->BANK -1860 GOSUB 110 -1870 INVERSE : GOSUB 200: ?"BANK O'MURICA":NORMAL -1880 ? : GOSUB 590 -1890 ? "YOUR BALANCE: $";E -1900 ? "YOUR WALLET: $";W:? -1910 INPUT "(D)EPOSIT, (W)ITHDRAW, (L)EAVE: ";X$ -1920 IF X$ = "D" THEN GOTO 4310 -1930 IF X$ = "W" THEN GOTO 4380 -1940 IF X$ = "L" THEN GOTO 730 -1950 IF X$ = EG$ THEN GOTO @EGG -1960 GOTO 1860 -1970 REM->COKEBUY -1980 GOSUB 110 -1990 INVERSE:GOSUB 220: ?"BUY COCAINE":NORMAL -2000 ? :J=INT(W/C) -2010 GOSUB 380 -2020 M=M+K : W=W-(C*K) -2030 GOTO 730 -2040 REM->HERBUY -2050 GOSUB 110 -2060 INVERSE:GOSUB 220: ?"BUY HEROIN":NORMAL -2070 ? : J=INT(W/H) -2080 GOSUB 380 -2090 N=N+K : W=W-(H*K) -2100 GOTO 730 -2110 REM->ACIDBUY -2120 GOSUB 110 -2130 INVERSE:GOSUB 240:?"BUY ACID":NORMAL -2140 ? : J=INT(W/A) -2150 GOSUB 380 -2160 O=O+K : W=W-(A*K) -2170 GOTO 730 -2180 REM->WEEDBUY -2190 GOSUB 110 -2200 INVERSE:GOSUB 240: ?"BUY WEED":NORMAL -2210 ? : J=INT(W/Z) -2220 GOSUB 380 -2230 U=U+K : W=W-(Z*K) -2240 GOTO 730 -2250 REM->SPDBUY -2260 GOSUB 110 -2270 INVERSE:GOSUB 240: ?"BUY SPEED":NORMAL -2280 ? : J=INT(W/S) -2290 GOSUB 380 -2300 T=T+K : W=W-(S*K) -2310 GOTO 730 -2320 REM->LUDBUY -2330 GOSUB 110 -2340 INVERSE:GOSUB 240: ?"BUY LUDES":NORMAL -2350 ? : J=INT(W/L) -2360 GOSUB 380 -2370 Q=Q+K : W=W-(L*K) -2380 GOTO 730 -2390 REM->COKESELL -2400 GOSUB 110 -2410 INVERSE:GOSUB 200:?"SELL COCAINE":NORMAL -2420 ? : J=M -2430 GOSUB 460 -2440 M=M-K : W=W+(C*K) -2450 GOTO 730 -2460 REM->HERSELL -2470 GOSUB 110 -2480 INVERSE:GOSUB 240:?"SELL HEROIN":NORMAL -2490 ?:J=N -2500 GOSUB 460 -2510 N=N-K:W=W+(H*K) -2520 GOTO 730 -2530 REM->ACIDSELL -2540 GOSUB 110 -2550 INVERSE:GOSUB 240: ?"SELL ACID":NORMAL -2560 ?:J=O -2570 GOSUB 460 -2580 O=O-K:W=W+(A*K) -2590 GOTO 730 -2600 REM->WEEDSELL -2610 GOSUB 110 -2620 INVERSE:GOSUB 240:?"SELL WEED":NORMAL -2630 ?:J=U -2640 GOSUB 460 -2650 U=U-K:W=W+(Z*K) -2660 GOTO 730 -2670 REM->SPDSELL -2680 GOSUB 110 -2690 INVERSE:GOSUB 220:?"SELL SPEED":NORMAL -2700 ?:J=T -2710 GOSUB 460 -2720 T=T-K:W=W+(S*K) -2730 GOTO 730 -2740 REM->LUDSELL -2750 GOSUB 110 -2760 INVERSE:GOSUB 220:?"SELL LUDES":NORMAL -2770 ?:J=Q -2780 GOSUB 460 -2790 Q=Q-K:W=W+(L*K) -2800 GOTO 730 -2810 REM->ALREADYTHERE -2820 GOSUB 110 -2830 GOSUB 300 -2840 ? -2850 ? "YOU'RE ALREADY IN:" -2860 ? " ";P$ -2870 GOSUB 360 -2880 GOTO 1490 -2890 REM->SUBWAY -2900 GOSUB 110:GOSUB 630:V=INT(V*1.1+.5):E=INT(E*1.06+.5) :INVERSE:GOSUB 260:?"SUBWAY":NORMAL:?:? -2910 IF B=1 THEN GOTO 3120 -2920 IF B=2 THEN GOTO 3140 -2930 IF B=3 THEN GOTO 3160 -2940 IF B=4 THEN GOTO 3180 -2950 IF B=5 THEN GOTO 3180 -2960 IF B=6 THEN GOTO 3200 -2970 IF B=7 THEN GOTO 3200 -2980 IF B=8 THEN GOTO 3220 -2990 IF B=9 THEN GOTO 3240 -3000 IF B=10 THEN GOTO 3240 -3010 IF B=11 THEN GOTO 3240 -3020 IF B=12 THEN GOTO 3810 -3030 IF B=13 THEN GOTO 3810 -3040 IF B=14 THEN GOTO 3890 -3050 IF B=15 THEN GOTO 3940 -3060 IF B=16 THEN GOTO 3990 -3070 IF B=17 THEN GOTO 4100 -3080 REM->NOTHINGHAPPENED -3090 REM->NOTHINGHAPPENS -3100 ?:? "WELCOME TO ";P$:?:GOSUB 360:GOTO 730 -3110 REM->CHEAPLUDES -3120 ? "RIVAL DEALERS ARE SELLING CHEAP LUDES!":L=2:GOSUB 360:GOTO 730 -3130 REM->CHEEPWEED -3140 ? "WEED PRICES HAVE BOTTOMED-OUT!":Z=122:GOSUB 360:GOTO 730 -3150 REM->PIGHEROIN -3160 ? "PIGS ARE SELLING CHEAP HEROIN":? "FROM LAST WEEK'S RAID!":H=INT((RND(9)*1150)+850.5):GOSUB 360:GOTO 730 -3170 REM->HEROINBUST -3180 ? "ADDICTS ARE BUYING HEROIN":? "AT OUTRAGEOUS PRICES!":H=INT((RND(9)*25000)+18000.5):GOSUB 360:GOTO 730 -3190 REM->COKEBUST -3200 ? "PIGS MADE A BIG COKE BUST!":? "PRICES ARE OUTRAGEOUS!!!!":C=INT((RND(9)*60000)+80000.5):GOSUB 360:GOTO 730 -3210 REM->MUGGED -3220 ? "YOU GOT MUGGED!":?:J=INT((W/3)*2):? "YOU LOST $";W-J:W=W-J:GOSUB 360:GOTO 730 -3230 REM->COPS -3240 K=M+N+U+O+T+P:IF K<50 THEN GOTO 3090 -3250 IF B=9 THEN B = 2 -3260 IF B=10 THEN B=4 -3270 IF B=11 THEN B=5 -3280 ? "IT'S THE COPS!":?:? "OFFICER HARDASS AND ";B-1;" OF HIS":? "DEPUTIES ARE AFTER YOU!":?:GOSUB 360:GOTO 3300 -3290 REM->POLICE -3300 GOSUB 110:GOSUB 550:?:? :? "VIEW (G)UNS":? "VIEW (D)AMAGE":? "(N)UMBER OF PIGS":? "(R)UN":? "(F)IGHT":? -3310 INPUT "WHAT DO YOU WANT TO DO? ";X$ -3320 IF X$="G" GOTO 3390 -3330 IF X$ = "D" GOTO 3410 -3340 IF X$ = "N" GOTO 3430 -3350 IF X$ = "R" GOTO 3450 -3360 IF X$="F" GOTO 3500 -3370 GOTO 3300 -3380 REM->PGUN -3390 GOSUB 110:GOSUB 550:?:? :? "YOU HAVE ";G;" GUNS.:?:GOSUB 160:GOTO 3300 -3400 REM->DAMAGE -3410 GOSUB 110:GOSUB 550:?:? :? "YOUR HEALTH IS ";BB;".":?:? "0 AND YOU DIE!":?:GOSUB 160:GOTO 3300 -3420 REM->NCOPS -3430 GOSUB 110:GOSUB 550:?:?:? "THERE ARE ";B;" PIGS STILL CHASING YOU!":?:?:GOSUB 160:GOTO 3300 -3440 REM->RUN -3450 GOSUB 110:GOSUB 550:?:?:? "RUNNING...":GOSUB 320:IF K = 0 THEN ? "YOU LOST THEM IN AN ALLEY!" : GOTO 3480 -3460 ? "YOU CAN'T SHAKE THEM!":?:GOSUB 160:GOTO 3300 -3470 REM->LOSERUN -3480 ?:GOSUB 160:GOTO 730 -3490 REM->FIGHT -3500 IF G<=0 THEN ? : ? : ? "YOU DON'T HAVE ANY GUNS!" : GOSUB 160 : GOTO 3300 -3510 GOSUB 110:GOSUB 550 -3520 ?:? "YOU SHOOT!":GOSUB 320:IF K=0 THEN GOTO 3550 -3530 ? "YOU GOT ONE!" : B = B-1 : GOTO 3570 -3540 REM->MISS -3550 ? "YOU MISSED!" -3560 REM->NEXT -3570 ?:?:IF B <= 0 THEN GOTO 3680 -3580 GOSUB 340:? "THEY'RE FIRING AT YOU!":GOSUB 320:IF K=0 THEN GOTO 3620 -3590 ? "YOU'VE BEEN HIT!":BB=BB-6:IF BB >= 0 GOTO 3660 -3600 GOTO 3640 -3610 REM->THEYMISS -3620 ? "THEY MISSED!" -3630 REM->NEXTA -3640 GOSUB 320:GOTO 3300 -3650 REM->DED -3660 ?:? "YOU'VE BEEN KILLED!":GOSUB 160:GOTO 4750 -3670 REM->ALLGONE -3680 ? "YOU KILLED ALL OF THEM!":?:GOSUB 320 -3690 J=INT(((RND(7)*1250)+750)+.5):W=W+J -3700 ? "YOU FOUND $";J;" ON OFFICER HARDASS'" -3710 ? "CARCASS!" -3720 IF W>=1200 THEN GOTO 3750 -3730 GOTO 730 -3740 REM->DOCTOR -3750 GOSUB 360 -3760 ?:? "WILL YOU PAY $1000 FOR A DOCTOR" -3770 INPUT "TO SEW YOU UP? (Y/N)";X$ -3780 IF X$ <> "Y" THEN GOTO 730 -3790 W=W-1000:BB=100:GOTO 730 -3800 REM->GUNBUY -3810 IF W < 500 THEN GOTO 3090:GOSUB 530:IF F < 5 THEN GOTO 3090 -3820 J=INT((RND(4)*2)+.5) -3830 IF J = 0 THEN Y$ = "BARETTA" -3840 IF J = 1 THEN Y$ = "SATURDAY NIGHT SPECIAL" -3850 IF J = 2 THEN Y$ = ".44 MAGNUM" -3860 ? "WILL YOU BUY A ";Y$:INPUT "FOR $400? (Y/N)";X$:IF X$ <> "Y" THEN GOTO 730 -3870 G = G+1:W = W-400:GOTO 730 -3880 REM->DEDWEED -3890 ? "THERE'S SOME WEED HERE THAT SMELLS":? "LIKE GOOD STUFF!!":? -3900 INPUT "WILL YOU SMOKE IT? (Y/N)";X$ -3910 IF X$ = "Y" THEN GOTO 4630 -3920 GOTO730 -3930 REM->NEWCOAT -3940 IF W<300 THEN GOTO 3100 -3950 ? "WILL YOU BUY A NEW TRENCHCOAT":INPUT "WITH MORE POCKETS FOR $200? (Y/N)";X$ -3960 IF X$ <> "Y" THEN GOTO 730 -3970 I=I+10:W=W-200:GOTO 730 -3980 REM->DEDGUY -3990 GOSUB 530 -4000 IF F<8 THEN GOTO 3100 -4010 J=INT((RND(3)*7)+1.5):K=INT(RND(3)*5+.5) -4020 IF K=0 THEN Q=Q+J : Y$ = "LUDES" -4030 IF K=1 THEN T=T+J : Y$ = "SPEED" -4040 IF K=2 THEN U=U+J : Y$ = "WEED" -4050 IF K=3 THEN O=O+J : Y$ = "ACID" -4060 IF K=4 THEN N=N+J : Y$ = "HEROIN" -4070 IF K=5 THEN M=M+J : Y$ = "COKE" -4080 ? "YOU FOUND "J" UNITS OF "Y$:? "ON A DEAD DUDE IN THE SUBWAY!":?:GOSUB 360:GOTO 730 -4090 REM->HOMEACID -4100 ? "THE MARKET HAS BEEN FLOODED" -4110 ? "WITH CHEAP HOME-MADE ACID!" -4120 A=INT((RND(4)*550)+250.5) -4130 GOSUB 360:GOTO 730 -4140 REM->PAYME -4150 INPUT "REPAY HOW MUCH? ";K -4160 IF K>W THEN ?:? "YOU DON'T HAVE THAT MUCH!" : GOSUB 340 : GOTO 1730 -4170 IF K>V THEN ?:? "YOU DON'T OWE THAT MUCH!" : GOSUB 340 : GOTO 1730 -4180 W=W-K : V=V-K -4190 ?:? "THANK YOU." -4200 GOSUB 360:GOTO 730 -4210 REM->BORROW -4220 ? -4230 INPUT "HOW MUCH DO YOU WANT? ";K -4240 ? : J=INT((RND(10)*10000)+4000) -4250 IF K>14000 THEN ? "HE'S NOT THAT STUPID!" : GOSUB 360 : GOTO 730 -4260 IF K > J THEN ? "HE DOESN'T FEEL LIKE IT." : GOSUB 340 : GOTO 730 -4270 V=V+K : W=W+K -4280 ?:? "HERE'S YOUR MONEY." : ? : ? "REMEMBER, I BREAK THUMBS." -4290 GOSUB 360:GOTO 730 -4300 REM->DEPOSIT -4310 ? -4320 INPUT "HOW MUCH? ";J -4330 IF J>W THEN ? "YOU DON'T HAVE THAT MUCH CASH." : GOTO 4310 -4340 E=E+J:W=W-J -4350 ?:? "THANK YOU FOR YOUR DEPOSIT." -4360 GOSUB 360:GOTO 730 -4370 REM->MYMONEY -4380 ? -4390 INPUT "HOW MUCH? ";J -4400 IF J>E THEN ? "YOU DON'T HAVE SUFFICIENT FUNDS." : GOTO 4380 -4410 E=E-J:W=W+J -4420 ?:? "THANK YOU FOR YOUR BUSINESS." -4430 GOSUB 360:GOTO 730 -4440 REM->INSTRUCTIONS -4450 HOME:VTAB 2:HTAB10:? "WELCOME TO DRUGWAR//E":HTAB14:?"VERSION ";RV -4460 VTAB 8:HTAB 3:? "BASED ON THE CLASSIC TI-BASIC CLONE":HTAB 2:? "OF JOHN E. DELL'S 1984 IBM/TRS80 GAME." -4470 VTAB 12:HTAB 6:? "APPLESOFT VERSION BY: JAY MOORE":VTAB 19:INPUT "WOULD YOU LIKE INSTRUCTIONS? (Y/N): ";X$ -4480 J =RND(-1 *(PEEK(78)+256*PEEK(79))):IF X$ = "Y" THEN GOTO 4510 -4490 GOTO 710 -4500 REM->INST -4510 HOME -4520 ? -4530 ? "THIS IS A GAME OF BUYING AND SELLING." -4540 ? "YOUR GOAL IS TO PAY OFF YOUR DEBT AND" -4550 ? "MAKE AS MUCH MONEY AS POSSIBLE IN A ONE" -4560 ? "MONTH PERIOD. PRICES FLUCTUATE EVERY DAYAND INTEREST ON YOUR LOAN IS CALCULATED AS WELL." -4570 ?:? "IF YOU DEAL TOO HEAVILY, YOU'LL ATTRACT THE ATTENTION OF THE POLICE." -4580 ? -4590 ? "COMMANDS ARE ENTERED USING THE LETTER HIGHLIGHTED (L)IKE (S)O. Y IS YES AND ANYTHING COUNTS AS NO." -4600 GOSUB 160 -4610 GOTO 710 -4620 REM->WEEDEND -4630 GOSUB 110 -4640 INVERSE : GOSUB 200: ? "SMOKE WEED" : NORMAL -4650 SPEED = 50 :? "YOU HALLUCINATE ON THE WILDEST TRIP" -4660 ? "OF YOUR LIFE, STUMBLE ON TO THE TRACKS," -4670 ? "AND GET CREAMED BY A TRAIN!" -4680 ? -4690 ? -4700 HTAB 10:? "JUST SAY NO TO DRUGS!":SPEED=255 -4710 GOSUB 360 -4720 GOSUB 340 -4730 GOTO 4890 -4740 REM->ENDGAME -4750 GOSUB 110 -4760 GOSUB 670 -4770 GOSUB 570 -4780 ? -4790 ? "YOUR SCORE ON A SCALE OF 1 TO 100: ";K -4800 ? -4810 INPUT "WOULD YOU LIKE TO PLAY AGAIN? (Y/N)";X$ -4820 IF X$ = "Y" THEN GOTO 710 -4830 ? "THANKS FOR PLAYING." -4840 ? "REMEMBER, WATCH YOUR BACK." -4850 ? "HAVE A NICE DAY!" -4860 CLEAR -4870 END -4880 REM->IRONICEND -4890 GOSUB 110 -4900 GOSUB 570 -4910 ? -4920 SPEED = 50 : ? "YOU DIED FROM SMOKING WEED." -4930 ?:?:GOSUB 360: ?"SEE? GAMES ARE TOTALLY FAKE." : SPEED = 255:? -4940 INPUT "WOULD YOU LIKE TO PLAY AGAIN? ";X$ -4950 IF X$= "Y" THEN GOTO 710 -4960 CLEAR -4970 END +1 +2 RV=1.05:GOTO308 +3 +4 POKE36,0:POKE37,1:CALL -958:INVERSE:?" ":NORMAL:?:?:RETURN +5 +6 ?:INPUT"PRESS ENTER TO CONTINUE.";X$:RETURN +7 +8 VTAB2:HTAB15:RETURN +9 +10 VTAB2:HTAB16:RETURN +11 +12 VTAB2:HTAB17:RETURN +13 +14 VTAB2:HTAB18:RETURN +15 +16 VTAB2:HTAB19:RETURN +17 +18 INVERSE:GOSUB16:?"JET":NORMAL:RETURN +19 +20 FORJ=1TO2500:NEXT J:K=INT(RND(1)+.5):RETURN +21 +22 FORJ=1TO1000:NEXT J:RETURN +23 +24 FORJ=1TO2000:NEXT J:RETURN +25 +26 ?"YOU CAN AFFORD ";J:?"YOU CAN CARRY ";F +27 +28 ?:INPUT"HOW MANY? (ENTER 0 CANCEL):";K:IFK=0GOTO65 +29 IFKFTHENINVERSE:?"YOU CAN'T CARRY THAT MUCH!":NORMAL:GOTO28 +32 IFK>JTHENINVERSE:?"YOU CAN'T AFFORD THAT MUCH!":NORMAL:GOTO28 +33 RETURN +34 +35 ?"YOU CAN SELL:";J:? +36 +37 INPUT"HOW MANY? (ENTER 0 TO CANCEL.):";K +38 IFK=0GOTO65 +39 IFK>JTHEN?"YOU DON'T HAVE THAT MANY!":GOTO37 +40 RETURN +41 +42 F=I-((G*5)+M+N+O+U+T+Q):RETURN +43 +44 INVERSE:GOSUB8:?"BEING CHASED":NORMAL:RETURN +45 +46 SPEED=100:GOSUB10:INVERSE:?"GAME OVER":NORMAL:SPEED=255:RETURN +47 +48 IFP$="THE BRONX"THEN RETURN +49 ?"YOU NEED TO HEAD TO THE BRONX":?"TO TAKE CARE OF THIS BUSINESS." +50 GOSUB24:GOTO65 +51 +52 IFAD>=3THENGOTO315 +53 RETURN +54 +55 C=INT(RND(1)*12000+16000.5):H=INT(RND(1)*7000+5000.5):A=INT((RND(1)*34+10)*100+.5):Z=INT((RND(1)*42+33)*10+.5):S=INT((RND(1)*15+7)*10+.5):L=INT((RND(1)*4+1)*10+.5):B=INT(RND(1)*20+.5):D=D+1:AC=INT(((RND(1)*3)+1)*-1) +56 +57 IFD>=31GOTO320:RETURN +58 +59 K=(W+E)-V:IFK<0THENK=0:RETURN +60 K=INT(SQR((K/31.5)+.5)):IFK>100THENK=100 +61 RETURN +62 +63 W=2000:E=0:V=5000:P$="THE BRONX":G=0:I=100:M=0:N=0:O=0:U=0:T=0:Q=0:GOSUB55:HOME:HTAB16:?"DRUGWAR//E":GOTO65 +64 +65 GOSUB4:GOSUB42 +66 INVERSE:VTAB2:HTAB4:?"DAY:"D:GOSUB14:?"LOCATION:"P$:NORMAL +67 VTAB4:?"(C)HECK PRICES":?"(T)RENCHCOAT":?"(B)UY":?"(S)ELL":?"(J)ET":?"SEE (L)OAN SHARK":?"(V)ISIT BANK":? +68 INPUT"PLEASE MAKE YOUR SELECTION:";X$ +69 IFX$="C"GOTO78 +70 IFX$="T"GOTO83 +71 IFX$="B"GOTO88 +72 IFX$="S"GOTO100 +73 IFX$="J"GOTO113 +74 IFX$="L"GOTO129 +75 IFX$="V"GOTO135 +76 GOTO65 +77 +78 GOSUB4 +79 INVERSE:GOSUB14:?"PRICES":NORMAL +80 ?:?"COCAINE:","$"C:?"HEROIN:","$"H:?"ACID:","$"A:?"WEED:","$"Z:?"SPEED:","$"S:?"LUDES:","$"L:?"WALLET:","$"W +81 GOSUB6:GOTO65 +82 +83 GOSUB4 +84 INVERSE:GOSUB10:?"TRENCHCOAT":NORMAL +85 ?:?"COCAINE:",M:?"HEROIN:",N:?"ACID:",O:?"WEED:",U:?"SPEED:",T:?"LUDES:",Q:?"FREE SPACE:",F +86 GOSUB6:GOTO65 +87 +88 GOSUB4 +89 INVERSE:GOSUB16:?"BUY":NORMAL +90 ?:?"WHAT DO YOU WANT TO BUY?":?:?"(C)OCAINE":?"(H)EROIN":?"(A)CID":?"(W)EED":?"(S)PEED":?"(L)UDES" +91 INPUT"ENTER SELECTION:";X$ +92 IFX$="C"GOTO142 +93 IFX$="H"GOTO144 +94 IFX$="A"GOTO146 +95 IFX$="W"GOTO148 +96 IFX$="S"GOTO150 +97 IFX$="L"GOTO152 +98 GOTO65 +99 +100 GOSUB4:INVERSE:GOSUB14:?"SELL":NORMAL +101 ?:?"WHAT WOULD YOU LIKE TO SELL?":?:?"(C)OCAINE":?"(H)EROIN":?"(A)CID":?"(W)EED":?"(S)PEED":?"(L)UDES" +102 +103 INPUT"ENTER SELECTION:(0 TO CANCEL)";X$ +104 IFX$="C"GOTO154 +105 IFX$="H"GOTO156 +106 IFX$="A"GOTO158 +107 IFX$="W"GOTO160 +108 IFX$="S"GOTO162 +109 IFX$="L"GOTO164 +110 IFX$="0"GOTO65 +111 ?"INVALID SELECTION!":GOTO103 +112 +113 GOSUB4:GOSUB18 +114 ?:?"(B)RONX":?"(G)HETTO":?"(C)ENTRAL PARK +115 ?"(M)ANHATTAN":?"CONEY (I)SLAND":?"BROO(K)LYN":?"(O)OPS...STAY!":INPUT"WHERE TO DUDE?";X$ +116 IFX$="B"THEN Y$="THE BRONX":GOTO125 +117 IFX$="G"THEN Y$="THE GHETTO":GOTO125 +118 IFX$="C"THEN Y$="CENTRAL PARK":GOTO125 +119 IFX$="M"THEN Y$="MANHATTAN":GOTO125 +120 IFX$="I"THEN Y$ ="CONEY ISLAND":GOTO125 +121 IFX$="K"THEN Y$="BROOKLYN":GOTO125 +122 IFX$="O"THENGOTO65 +123 GOTO113 +124 +125 IFY$=P$THENGOTO166 +126 P$=Y$ :Y$="" +127 GOTO168 +128 +129 GOSUB4:INVERSE:GOSUB10:?"LOAN SHARK":NORMAL:?:GOSUB48:?"YOUR DEBT IS:$";V:?"YOU HAVE:$";W:?:INPUT"(R)EPAY, (B)ORROW, (L)EAVE:";X$ +130 IFX$="R"THENGOTO285 +131 IFX$="B"THENGOTO290 +132 IFX$="L"THENGOTO65 +133 GOTO129 +134 +135 GOSUB4:INVERSE:GOSUB8:?"BANK O'MURICA":NORMAL:?:GOSUB48:?"YOUR BALANCE:$";E:?"YOUR WALLET:$";W:? +136 INPUT"(D)EPOSIT, (W)ITHDRAW, (L)EAVE:";X$ +137 IFX$="D"THENGOTO296 +138 IFX$="W"THENGOTO303 +139 IFX$="L"THENGOTO65 +140 GOTO135 +141 +142 GOSUB4:INVERSE:GOSUB10:?"BUY COCAINE":NORMAL:?:J=INT(W/C):AC=0:GOSUB26:M=M+K:W=W-(C*K):GOTO65 +143 +144 GOSUB4:INVERSE:GOSUB10:?"BUY HEROIN":NORMAL:?:J=INT(W/H):AC=0:GOSUB26:N=N+K:W=W-(H*K):GOTO65 +145 +146 GOSUB4:INVERSE:GOSUB12:?"BUY ACID":NORMAL:?:J=INT(W/A):GOSUB26:O=O+K:W=W-(A*K):GOTO65 +147 +148 GOSUB4:INVERSE:GOSUB12:?"BUY WEED":NORMAL:?:J=INT(W/Z):GOSUB26:U=U+K:W=W-(Z*K):GOTO65 +149 +150 GOSUB4:INVERSE:GOSUB12:?"BUY SPEED":NORMAL:?:J=INT(W/S):GOSUB26:T=T+K:W=W-(S*K):GOTO65 +151 +152 GOSUB4:INVERSE:GOSUB12:?"BUY LUDES":NORMAL:?:J=INT(W/L):GOSUB26:Q=Q+K:W=W-(L*K):GOTO65 +153 +154 GOSUB4:INVERSE:GOSUB8:?"SELL COCAINE":NORMAL:?:J=M:GOSUB35:M=M-K:W=W+(C*K):GOTO65 +155 +156 GOSUB4:INVERSE:GOSUB12:?"SELL HEROIN":NORMAL:?:J=N:GOSUB35:N=N-K:W=W+(H*K):GOTO65 +157 +158 GOSUB4:INVERSE:GOSUB12:?"SELL ACID":NORMAL:?:J=O:GOSUB35:O=O-K:W=W+(A*K):GOTO65 +159 +160 GOSUB4:INVERSE:GOSUB12:?"SELL WEED":NORMAL:?:J=U:GOSUB35:U=U-K:W=W+(Z*K):GOTO65 +161 +162 GOSUB4:INVERSE:GOSUB10:?"SELL SPEED":NORMAL:?:J=T:GOSUB35:T=T-K:W=W+(S*K):GOTO65 +163 +164 GOSUB4:INVERSE:GOSUB10:?"SELL LUDES":NORMAL:?:J=Q:GOSUB35:Q=Q-K:W=W+(L*K):GOTO65 +165 +166 GOSUB4:GOSUB18:?:?"YOU'RE ALREADY IN:":HTAB15:? P$:GOSUB24:GOTO113 +167 +168 GOSUB4:GOSUB55:V=INT(V*1.1+.5):E=INT(E*1.06+.5):INVERSE:GOSUB14:?"SUBWAY":NORMAL:?:? +169 IFB=1THENGOTO190 +170 IFB=2THENGOTO192 +171 IFB=3THENGOTO194 +172 IFB=4THENGOTO196 +173 IFB=5THENGOTO196 +174 IFB=6THENGOTO198 +175 IFB=7THENGOTO198 +176 IFB=8THENGOTO200 +177 IFB=9THENGOTO202 +178 IFB=10THENGOTO202 +179 IFB=11THENGOTO202 +180 IFB=12THENGOTO255 +181 IFB=13THENGOTO255 +182 IFB=14THENGOTO263 +183 IFB=15THENGOTO267 +184 IFB=16THENGOTO272 +185 IFB=17THENGOTO283 +186 +187 +188 ?:?"WELCOME TO ";P$:?:GOSUB24:GOTO65 +189 +190 ?"RIVAL DEALERS ARE SELLING CHEAP LUDES!":L=2:GOSUB24:GOTO65 +191 +192 ?"WEED PRICES HAVE BOTTOMED-OUT!":Z=122:GOSUB24:GOTO65 +193 +194 ?"PIGS ARE SELLING CHEAP HEROIN":?"FROM LAST WEEK'S RAID!":H=INT((RND(1)*1150)+850.5):GOSUB24:GOTO65 +195 +196 ?"ADDICTS ARE BUYING HEROIN":?"AT OUTRAGEOUS PRICES!":H=INT((RND(1)*25000)+18000.5):GOSUB24:GOTO65 +197 +198 ?"PIGS MADE A BIG COKE BUST!":?"PRICES ARE OUTRAGEOUS!!!!":C=INT((RND(1)*60000)+80000.5):GOSUB24:GOTO65 +199 +200 ?"YOU GOT MUGGED!":?:J=INT((W/3)*2):?"YOU LOST $";W-J:W=W-J:GOSUB24:GOTO65 +201 +202 GOSUB42:IFF=0GOTO242 +236 GOTO240 +237 +238 ?"THEY MISSED!" +239 +240 GOSUB20:GOTO208 +241 +242 ?:?"YOU'VE BEEN KILLED!":GOSUB6:GOTO320 +243 +244 ?"YOU KILLED ALL OF THEM!":?:GOSUB20 +245 J=INT(((RND(1)*1250)+750)+.5):W=W+J +246 ?"YOU FOUND $";J;"ON OFFICER HARDASS'" +247 ?"CARCASS!" +248 IFW>=1200THENGOTO251 +249 GOTO65 +250 +251 GOSUB24:?:?"WILL YOU PAY $1000 FOR A DOCTOR":INPUT"TO SEW YOU UP? (Y/N)";X$ +252 IFX$<>"Y"THENGOTO65 +253 W=W-1000:BB=100:GOTO65 +254 +255 IFW<500THENGOTO187:GOSUB42:IFF<5THENGOTO187 +256 J=INT((RND(1)*2)+.5) +257 IFJ=0THENY$="BARETTA" +258 IFJ=1THENY$="SATURDAY NIGHT SPECIAL" +259 IFJ=2THENY$=".44 MAGNUM" +260 ?"WILL YOU BUY A ";Y$:INPUT"FOR $400? (Y/N)";X$:IFX$<>"Y"THENGOTO65 +261 G=G+1:W=W-400:GOTO65 +262 +263 ?"THERE'S SOME WEED HERE THAT SMELLS":?"LIKE GOOD STUFF!!":?:INPUT"WILL YOU SMOKE IT? (Y/N)";X$ +264 IFX$="Y"THENGOTO317 +265 GOTO65 +266 +267 IFW<300THENGOTO188 +268 ?"WILL YOU BUY A NEW TRENCHCOAT":INPUT"WITH MORE POCKETS FOR $200? (Y/N)";X$ +269 IFX$<>"Y"THENGOTO65 +270 I=I+10:W=W-200:GOTO65 +271 +272 GOSUB42 +273 IFF<8THENGOTO188 +274 J=INT((RND(1)*7)+1.5):K=INT(RND(1)*5+.5) +275 IFK=0THENQ=Q+J:Y$="LUDES" +276 IFK=1THENT=T+J:Y$="SPEED" +277 IFK=2THENU=U+J:Y$="WEED" +278 IFK=3THENO=O+J:Y$="ACID" +279 IFK=4THENN=N+J:Y$="HEROIN" +280 IFK=5THENM=M+J:Y$="COKE" +281 ?"YOU FOUND "J"UNITS OF "Y$:?"ON A DEAD DUDE IN THE SUBWAY!":?:GOSUB24:GOTO65 +282 +283 ?"THE MARKET HAS BEEN FLOODED":?"WITH CHEAP HOME-MADE ACID!":A=INT((RND(1)*550)+250.5):GOSUB24:GOTO65 +284 +285 INPUT"REPAY HOW MUCH?";K:IFK=0THEN?"GET OUT OF HERE, LOSER!":GOSUB22:GOTO65 +286 IFK>WTHEN?:?"YOU DON'T HAVE THAT MUCH!":GOSUB22:GOTO129 +287 IFK>VTHEN?:?"YOU DON'T OWE THAT MUCH!":GOSUB22:GOTO129 +288 W=W-K:V=V-K:?:?"THANK YOU.":GOSUB24:GOTO65 +289 +290 ?:J=INT((RND(1)*10000)+4000):INPUT"HOW MUCH DO YOU WANT?";K:?:IFK=0GOTO65 +291 IFK<0THEN?"TRYING TO CHEAT? DOUBLE DEBT!":AD=AD+3:V=V*2:GOSUB24:GOSUB52:GOTO65 +292 IFK>14000THEN?"HE'S NOT THAT STUPID!":GOSUB24:GOTO65 +293 IFK>JTHEN?"HE DOESN'T FEEL LIKE IT.":GOSUB22:GOTO65 +294 V=V+K:W=W+K:?:?"HERE'S YOUR MONEY.":?:?" +295 +296 ?:K=INT((RND(1)*100)+1):INPUT"HOW MUCH?";J:IFJ=0GOTO65 +297 IFJ>WTHEN?"YOU DON'T HAVE THAT MUCH CASH.":GOTO296 +298 IFK=2THENGOTO301 +299 IFJ<0THEN?"YOU TRIED TO ROB THE BANK, BUT BARELY":?"MADE IT OUT WITH NOTHING.":AD=AD+3:GOSUB24:GOTO65 +300 +301 E=E+J:W=W-J:?:?"THANK YOU FOR YOUR DEPOSIT.":GOSUB24:GOTO65 +302 +303 ?:INPUT"HOW MUCH?";J +304 IFJ<0THEN?"TRY MAKING A DEPOSIT.":GOSUB24:GOTO135 +305 IFJ>ETHEN?"YOU DON'T HAVE SUFFICIENT FUNDS.":GOTO303 +306 E=E-J:W=W+J:?:?"THANK YOU FOR YOUR BUSINESS.":GOSUB24:GOTO65 +307 +308 HOME:VTAB2:HTAB10:?"WELCOME TO DRUGWAR//E":HTAB14:?"VERSION ";RV:VTAB8:HTAB3:?"BASED ON THE CLASSIC TI-BASIC CLONE":HTAB2:?"OF JOHN E. DELL'S 1984 IBM/TRS80 GAME.":VTAB12:HTAB6:?"APPLESOFT VERSION BY:JAY MOORE" +309 VTAB19:INPUT"WOULD YOU LIKE INSTRUCTIONS? (Y/N):";X$:J =RND(-1 *(PEEK(78)+256*PEEK(79))):IFX$="Y"THENGOTO312 +310 GOTO63 +311 +312 HOME:?:?"THIS IS A GAME OF BUYING AND SELLING.":?"YOUR GOAL IS TO PAY OFF YOUR DEBT AND":?"MAKE AS MUCH MONEY AS POSSIBLE IN A ONE":?"MONTH PERIOD. PRICES FLUCTUATE EVERY DAYAND INTEREST ON YOUR LOAN IS CALCULATED AS WELL." +313 ?:?"IF YOU DEAL TOO HEAVILY, YOU'LL ATTRACT THE ATTENTION OF THE POLICE.":?:?"COMMANDS ARE ENTERED USING THE LETTER HIGHLIGHTED (L)IKE (S)O. Y IS YES AND ANYTHING COUNTS AS NO.":GOSUB6:GOTO63 +314 +315 HOME:HTAB8:VTAB10:?"PUT A QUARTER IN YOUR ASS":GOSUB22:HTAB7:?"'CAUSE YOU PLAYED YOURSELF!":GOSUB24:GOSUB24:VTAB19:HTAB11:?"DON'T CHEAT SO MUCH.":GOSUB24:GOSUB24:GOSUB24:CLEAR:END +316 +317 GOSUB4:INVERSE:GOSUB8:?"SMOKE WEED":NORMAL:SPEED=50:?"YOU HALLUCINATE ON THE WILDEST TRIP":?"OF YOUR LIFE, STUMBLE ON TO THE TRACKS,":?"AND GET CREAMED BY A TRAIN!":?:? +318 HTAB10:?"JUST SAY NO TO DRUGS!":SPEED=255:GOSUB24:GOSUB22:GOTO324 +319 +320 GOSUB4:GOSUB59:GOSUB46:?:?"YOUR SCORE ON A SCALE OF 1 TO 100:";K:? +321 INPUT"WOULD YOU LIKE TO PLAY AGAIN? (Y/N)";X$:IFX$="Y"THENGOTO63 +322 ?"THANKS FOR PLAYING.":?" +323 +324 GOSUB4:GOSUB46:?:SPEED=50:?"YOU DIED FROM SMOKING WEED.":?:?:GOSUB24:?"SEE? GAMES ARE TOTALLY FAKE.":SPEED=255:?:INPUT"WOULD YOU LIKE TO PLAY AGAIN?";X$:IFX$= "Y"THENGOTO63 +325 CLEAR:END +326 REM DRUGWAR//E - VERSION 1.05 +327 REM 5-NOV-2018 +328 REM COPYRIGHT 2018 JAY MOORE +330 REM GITLAB.COM/DEWDUDE/DRUGWAR2E +331 REM TWITTER: _NQ4T \ No newline at end of file diff --git a/Drugwar2e.baz b/Drugwar2e.baz index afbc82a..e4fc19b 100644 --- a/Drugwar2e.baz +++ b/Drugwar2e.baz @@ -1,589 +1,436 @@ -rem Drugwar//e - Version 1.04 -rem 27-OCT-2018 -rem Copyright 2018 Jay Moore -rem Released under GPL v3 -rem drugwar2e.sourceforge.io -rem twitter: _nq4t - rv=1.04 - goto @instructions {because we're sticking subroutines up here} -£home - poke 36,0 : poke 37, 1 : call -958 - inverse:?" ":normal:?:?:return - -£titlebar {this literally just draws the game title at the top of the screen} - home:HTAB 16 : ? "Drugwar//e":gosub @home:goto @menu + rv=1.05:goto@instructions {because we're sticking subroutines up here} + +£home {replaces home and rewrites only inverted bar - spc(40) doesn't have desired effect} + poke36,0:poke37,1:call -958:inverse:?" ":normal:?:?:return + £wait {ubiquitious "Press ENTER to continue} - ? - input "Press enter to continue.";x$ - return + ?:input"Press enter to continue.";x$:return +[ +Bunch of positions I use commonly. +] £twofifteen - vtab 2 : htab 15:return + vtab2:htab15:return £twosixteen - vtab 2:htab 16:return + vtab2:htab16:return £twoseventeen - vtab 2:htab 17:return + vtab2:htab17:return £twoeighteen - vtab 2: htab 18:return + vtab2:htab18:return £twonineteen - vtab 2:htab 19:return + vtab2:htab19:return £jetalthere - inverse:gosub @twonineteen:?"Jet":normal:return + inverse:gosub@twonineteen:?"Jet":normal:return £timera - for j = 1 to 2500:next j:k = int(rnd(2)+.5):return + forj=1to2500:next j:k=int(rnd(1)+.5):return £timerb - for j = 1 to 1000:next j:return + forj=1to1000:next j:return £timerc - for j = 1 to 2000:next j:return + forj=1to2000:next j:return [ -"Common logic" has been moved to buy/sell subroutines. -This has cleaned the code up a bit +Rather than repeat the logic to check if a purchase or sale is valid based on inventory or wallet amount; we write either our drug inventory or the number we can afford to J; jump to these subroutines to ask for the amount; run the logic; and just return back to the subroutine if the buy/sale is valid...whichthenadjusts inventory and wallet. Otherwise we dump back to the menu. ] £howmuchbuy {some common purchase code} - ? "You can afford ";j:? "You can carry ";f + ?"You can afford ";j:?"You can carry ";f £howmanybuy - ?:input "How many? (Enter 0 cancel): ";k - if K=0 goto @menu - if k>f THEN inverse : ? "You can't carry that much!" : normal : goto @howmanybuy - if k>j THEN inverse : ? "You can't afford that much!" : normal : goto @howmanybuy + ?:input"How many? (Enter 0 cancel):";k:ifK=0goto@menu + ifkftheninverse:?"You can't carry that much!":normal:goto@howmanybuy + ifk>jtheninverse:?"You can't afford that much!":normal:goto@howmanybuy return £howmuchsell {common sell code} - ? "You can sell: ";j:? + ?"You can sell:";j:? £howmanysell - input "How many? (Enter 0 to cancel.): ";k - If k>j then ? "You don't have that many!" : goto @howmanysell - if K=0 goto @menu + input"How many? (Enter 0 to cancel.):";k + ifK=0goto@menu + ifk>jthen?"You don't have that many!":goto@howmanysell return £freespace f=i-((g*5)+m+n+o+u+t+q):return £chase - inverse:gosub @twofifteen: ?"Being Chased":normal:return + inverse:gosub@twofifteen:?"Being Chased":normal:return £gmod - speed=100:gosub @twosixteen:inverse:?"Game Over":normal:speed=255:return + speed=100:gosub@twosixteen:inverse:?"Game Over":normal:speed=255:return + £bronxcheck - if p$ = "THE BRONX" then return - ? "you need to head to the bronx":? "to take care of this business." - gosub @timerc:goto @menu + ifp$="THE BRONX"then return + ?"you need to head to the bronx":?"to take care of this business." + gosub@timerc:goto@menu + +£cheater + ifad>=3thengoto@threestrikes + return + £daily {randomizes drug prices, adds a day, calculates interests, checks day number} - c=int(rnd(5)*12000+16000.5):h=int(rnd(5)*7000+5000.5):a=int((rnd(5)*34+10)*100+.5):z=int((rnd(5)*42+33)*10+.5):s=int((rnd(5)*15+7)*10+.5):l=int((rnd(5)*4+1)*10+.5):b=int(rnd(5)*20+.5):d=d+1 + c=int(rnd(1)*12000+16000.5):h=int(rnd(1)*7000+5000.5):a=int((rnd(1)*34+10)*100+.5):z=int((rnd(1)*42+33)*10+.5):s=int((rnd(1)*15+7)*10+.5):l=int((rnd(1)*4+1)*10+.5):b=int(rnd(1)*20+.5):d=d+1:ac=int(((rnd(1)*3)+1)*-1) £checkday {so I can check the day by itself} - if D >= 31 GOTO @endgame:return + ifD>=31goto@endgame:return £scorecalculate - k=(w+e)-v:if k<0 THEN k=0 : return - k=int(sqr((k/31.5)+.5)):if k>100 then k=100 + k=(w+e)-v:ifk<0thenk=0:return + k=int(sqr((k/31.5)+.5)):ifk>100thenk=100 return £gamestart {set wallet, debt, location, inventory space, zero out inventory} - w=2000:e=0:v=5000:p$="The Bronx":g=0:i=100:m=0:n=0:o=0:u=0:t=0:q=0:gosub @daily:goto @titlebar + w=2000:e=0:v=5000:p$="The Bronx":g=0:i=100:m=0:n=0:o=0:u=0:t=0:q=0:gosub@daily:home:htab16:?"Drugwar//e":goto@menu £menu {main menu. everything should loop back here} - gosub @home:gosub @freespace - inverse : vtab 2:htab 4:? "Day: "D : gosub @twoeighteen:?"Location: "p$ :normal - vtab4:? "(C)heck Prices":? "(T)renchcoat":? "(B)uy":? "(S)ell":? "(J)et":? "See (L)oan shark":? "(V)isit Bank":? - input "Please make your selection: ";x$ - if x$ = "C" goto @prices - if x$ = "T" goto @inventory - if x$ = "B" goto @buy - if x$ = "S" goto @sell - if x$ = "J" goto @jet - if x$ = "L" goto @loan - if x$ = "V" goto @bank - goto @menu + gosub@home:gosub@freespace + inverse:vtab2:htab4:?"Day:"D:gosub@twoeighteen:?"Location:"p$:normal + vtab4:?"(C)heck Prices":?"(T)renchcoat":?"(B)uy":?"(S)ell":?"(J)et":?"See (L)oan shark":?"(V)isit Bank":? + input"Please make your selection:";x$ + ifx$="C"goto@prices + ifx$="T"goto@inventory + ifx$="B"goto@buy + ifx$="S"goto@sell + ifx$="J"goto@jet + ifx$="L"goto@loan + ifx$="V"goto@bank + goto@menu [ £debug -? "Testing Screen" +?"Testing Screen" ? -? "(w)allet,(g)uns,(v)debt,(e)savings,(i)nventory space" -input "What to change?";db$ -input "To?";dx -if db$ = "w" then w=dx -if db$ = "g" then g=dx -if db$="v" then v=dx -if db$="e" then e=dx -if db$="i" then i=dx -goto @menu +?"(w)allet,(g)uns,(v)debt,(e)savings,(i)nventory space" +input"What to change?";db$ +input"To?";dx +ifdb$="w"then w=dx +ifdb$="g"then g=dx +ifdb$="v"then v=dx +ifdb$="e"then e=dx +ifdb$="i"then i=dx +goto@menu ] £prices - gosub @home - inverse:gosub @twoeighteen:?"Prices":normal - ?:?"cocaine:","$"c - ?"heroin:","$"h - ?"acid:","$"a - ?"weed:","$"z - ?"speed:","$"s - ?"ludes:","$"l - ?"wallet:","$"w - gosub @wait - goto @menu + gosub@home + inverse:gosub@twoeighteen:?"Prices":normal + ?:?"cocaine:","$"c:?"heroin:","$"h:?"acid:","$"a:?"weed:","$"z:?"speed:","$"s:?"ludes:","$"l:?"wallet:","$"w + gosub@wait:goto@menu £inventory - gosub @home + gosub@home - inverse:gosub @twosixteen :?"Trenchcoat":normal - ?:?"cocaine:",m - ?"heroin:",n - ?"acid:",o - ?"weed:",u - ?"speed:",t - ?"ludes:",q - ?"free space:",f - gosub @wait - goto @menu + inverse:gosub@twosixteen:?"Trenchcoat":normal + ?:?"cocaine:",m:?"heroin:",n:?"acid:",o:?"weed:",u:?"speed:",t:?"ludes:",q:?"free space:",f + gosub@wait:goto@menu £buy - gosub @home + gosub@home - inverse:gosub @twonineteen: ?"Buy":normal - ?:?"What do you want to buy?":? - ? "(C)ocaine" - ? "(H)eroin" - ? "(A)cid" - ? "(W)eed" - ? "(S)peed" - ? "(L)udes" - input "Enter Selection: ";x$ - if x$="c" goto @cokebuy - if x$="h" goto @herbuy - if x$="a" goto @acidbuy - if x$="w" goto @weedbuy - if x$="s" goto @spdbuy - if x$="l" goto @ludbuy - goto @menu + inverse:gosub@twonineteen:?"Buy":normal + ?:?"What do you want to buy?":?:?"(C)ocaine":?"(H)eroin":?"(A)cid":?"(W)eed":?"(S)peed":?"(L)udes" + input"Enter Selection:";x$ + ifx$="c"goto@cokebuy + ifx$="h"goto@herbuy + ifx$="a"goto@acidbuy + ifx$="w"goto@weedbuy + ifx$="s"goto@spdbuy + ifx$="l"goto@ludbuy + goto@menu £sell - gosub @home - - inverse: gosub @twoeighteen: ?"Sell":normal - ?:? "What would you like to sell?":? - ? "(C)ocaine" - ? "(H)eroin" - ? "(A)cid" - ? "(W)eed" - ? "(S)peed" - ? "(L)udes" + gosub@home:inverse:gosub@twoeighteen:?"Sell":normal + ?:?"What would you like to sell?":?:?"(C)ocaine":?"(H)eroin":?"(A)cid":?"(W)eed":?"(S)peed":?"(L)udes" £sellsel - input "Enter Selection: (0 to cancel)";x$ - if x$="c" goto @cokesell - if x$="h" goto @hersell - if x$="a" goto @acidsell - if x$="w" goto @weedsell - if x$="s" goto @spdsell - if x$="l" goto @ludsell - if x$="0" goto @menu - ? "Invalid Selection!" - goto @sellsel + input"Enter Selection:(0 to cancel)";x$ + ifx$="c"goto@cokesell + ifx$="h"goto@hersell + ifx$="a"goto@acidsell + ifx$="w"goto@weedsell + ifx$="s"goto@spdsell + ifx$="l"goto@ludsell + ifx$="0"goto@menu + ?"Invalid Selection!":goto@sellsel £jet - gosub @home - - gosub @jetalthere - ? - ? "(B)ronx" - ? "(G)hetto" - ? "(C)entral Park - ? "(M)anhattan" - ? "Coney (I)sland" - ? "Broo(K)lyn" - ? "(O)ops...stay!" - input "Where to dude? ";x$ - if x$="B" then y$ = "The Bronx" : GOTO @jetb {we can use strings} - if x$="G" then y$ = "The Ghetto" : GOTO @jetb - if x$="C" then y$ = "Central Park" : GOTO @jetb - if x$="M" then y$ = "Manhattan" : goto @jetb - if x$="I" then y$ = "Coney Island" : goto @jetb - if x$="K" then y$ = "Brooklyn" : goto @jetb - if x$="O" then goto @menu - {if x$="COPTEST" then b = 5 : goto @police} - goto @jet + gosub@home:gosub@jetalthere + ?:?"(B)ronx":?"(G)hetto":?"(C)entral Park + ?"(M)anhattan":?"Coney (I)sland":?"Broo(K)lyn":?"(O)ops...stay!":input"Where to dude?";x$ + ifx$="B"then y$="The Bronx":goto@jetb {we can use strings} + ifx$="G"then y$="The Ghetto":goto@jetb + ifx$="C"then y$="Central Park":goto@jetb + ifx$="M"then y$="Manhattan":goto@jetb + ifx$="I"then y$ ="Coney Island":goto@jetb + ifx$="K"then y$="Brooklyn":goto@jetb + ifx$="O"thengoto@menu + {ifx$="COPTEST"then b=5:goto@police} + goto@jet £jetb - {input "event: ";ev testing/debug} - if y$=p$ then goto @alreadythere {more advanced thatn Bronx only on TI} - p$ = y$ {it's valid, copy it and move along} : y$ = "" - goto @subway + {input"event:";ev testing/debug} + ify$=p$thengoto@alreadythere {more advanced than Bronx only on TI} + p$=y$ {it's valid, copy it and move along}:y$="" + goto@subway £loan - gosub @home - - inverse : gosub @twosixteen:? "Loan Shark":normal - ? - gosub @bronxcheck - ? "Your debt is: $";v - ? "You have: $";w - ? - input "(R)epay, (B)orrow, (L)eave: ";X$ - If X$ = "R" THEN goto @payme - If X$ = "B" Then goto @borrow - If X$ = "L" then goto @Menu - goto @loan + gosub@home:inverse:gosub@twosixteen:?"Loan Shark":normal:?:gosub@bronxcheck:?"Your debt is:$";v:?"You have:$";w:?:input"(R)epay, (B)orrow, (L)eave:";X$ + ifX$="R"THENgoto@payme + ifX$="B"Thengoto@borrow + ifX$="L"thengoto@Menu + goto@loan £bank - gosub @home - - inverse : gosub @twofifteen: ?"Bank O'Murica":normal - ? : gosub @bronxcheck - ? "Your balance: $";e - ? "Your wallet: $";w:? - INPUT "(D)EPOSIT, (W)ITHDRAW, (L)EAVE: ";X$ - if x$ = "d" then goto @deposit - if x$ = "w" then goto @mymoney - if x$ = "l" then goto @menu - if x$ = eg$ then goto @egg - goto @bank + gosub@home:inverse:gosub@twofifteen:?"Bank O'Murica":normal:?:gosub@bronxcheck:?"Your balance:$";e:?"Your wallet:$";w:? + input"(D)EPOSIT, (W)ITHDRAW, (L)EAVE:";X$ + ifx$="d"thengoto@deposit + ifx$="w"thengoto@mymoney + ifx$="l"thengoto@menu + {ifx$=eg$thengoto@egg} + goto@bank + +[ + +How buy works: + +divide wallet by drug price - write to J +hand to subroutine, it handles buy logic +if pass subroutine-logic, return to actually complete + +] £cokebuy - gosub @home - - inverse:gosub @twosixteen: ?"Buy Cocaine":normal - ? :j=int(w/c) {calculate how many we can buy} - gosub @howmuchbuy - m=m+k : w=w-(c*k) {when the subroutine sends us back when the purchase is valid} - goto @menu + gosub@home:inverse:gosub@twosixteen:?"Buy Cocaine":normal:?:j=int(w/c):AC=0:gosub@howmuchbuy:m=m+k:w=w-(c*k):goto@menu + £herbuy - gosub @home - - inverse:gosub @twosixteen: ?"Buy Heroin":normal - ? : j=int(w/h) - gosub @howmuchbuy - n=n+k : w=w-(h*k) - goto @menu + gosub@home:inverse:gosub@twosixteen:?"Buy Heroin":normal:?:j=int(w/h):AC=0:gosub@howmuchbuy:n=n+k:w=w-(h*k):goto@menu + £acidbuy - gosub @home - - inverse:gosub @twoseventeen:?"Buy Acid":normal - ? : j=int(w/a) - gosub @howmuchbuy - o=o+k : w=w-(a*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Buy Acid":normal:?:j=int(w/a):gosub@howmuchbuy:o=o+k:w=w-(a*k):goto@menu + £weedbuy - gosub @home - - inverse:gosub @twoseventeen: ?"Buy Weed":normal - ? : j=int(w/z) - gosub @howmuchbuy - u=u+k : w=w-(z*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Buy Weed":normal:?:j=int(w/z):gosub@howmuchbuy:u=u+k:w=w-(z*k):goto@menu + £spdbuy - gosub @home - - inverse:gosub @twoseventeen: ?"Buy Speed":normal - ? : j=int(w/s) - gosub @howmuchbuy - t=t+k : w=w-(s*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Buy Speed":normal:?:j=int(w/s):gosub@howmuchbuy:t=t+k:w=w-(s*k):goto@menu + £ludbuy - gosub @home - - inverse:gosub @twoseventeen: ?"Buy Ludes":normal - ? : j=int(w/l) - gosub @howmuchbuy - q=q+k : w=w-(l*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Buy Ludes":normal:?:j=int(w/l):gosub@howmuchbuy:q=q+k:w=w-(l*k):goto@menu + +[ +How sell works: + +write inventory to J +run subroutine with logic +if pass subroutine, adjust wallet and inventory + +] £cokesell - gosub @home - - inverse:gosub @twofifteen:?"Sell Cocaine":normal - ? : j=m {write amount to variable} - gosub @howmuchsell {some buy logic} - m=m-k : w=w+(c*k) - goto @menu + gosub@home:inverse:gosub@twofifteen:?"Sell Cocaine":normal:?:j=m:gosub@howmuchsell:m=m-k:w=w+(c*k):goto@menu £hersell - gosub @home - - inverse:gosub @twoseventeen:?"Sell Heroin":normal - ?:j=n - gosub @howmuchsell - n=n-k:w=w+(h*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Sell Heroin":normal:?:j=n:gosub@howmuchsell:n=n-k:w=w+(h*k):goto@menu £acidsell - gosub @home - - inverse:gosub @twoseventeen: ?"Sell Acid":normal - ?:j=o - gosub @howmuchsell - o=o-k:w=w+(a*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Sell Acid":normal:?:j=o:gosub@howmuchsell:o=o-k:w=w+(a*k):goto@menu £weedsell - gosub @home - - inverse:gosub @twoseventeen:?"Sell Weed":normal - ?:j=u - gosub @howmuchsell - u=u-k:w=w+(z*k) - goto @menu + gosub@home:inverse:gosub@twoseventeen:?"Sell Weed":normal:?:j=u:gosub@howmuchsell:u=u-k:w=w+(z*k):goto@menu £spdsell - gosub @home - - inverse:gosub @twosixteen:?"Sell Speed":normal - ?:j=t - gosub @howmuchsell - t=t-k:w=w+(s*k) - goto @menu + gosub@home:inverse:gosub@twosixteen:?"Sell Speed":normal:?:j=t:gosub@howmuchsell:t=t-k:w=w+(s*k):goto@menu £ludsell - gosub @home - - inverse:gosub @twosixteen:?"Sell Ludes":normal - ?:j=q - gosub @howmuchsell - q=q-k:w=w+(l*k) - goto @menu + gosub@home:inverse:gosub@twosixteen:?"Sell Ludes":normal:?:j=q:gosub@howmuchsell:q=q-k:w=w+(l*k):goto@menu + £alreadythere - gosub @home - - gosub @jetalthere - ? - ? "You're already in:" - ? " ";p$ - gosub @timerc - goto @jet + gosub@home:gosub@jetalthere:?:?"You're already in:":htab15:? p$:gosub@timerc:goto@jet £subway - gosub @home:gosub @daily:V=int(V*1.1+.5):E=int(E*1.06+.5) :inverse:gosub @twoeighteen:?"Subway":normal:?:? - if b=1 then goto @cheapludes - if b=2 then goto @cheepweed - if b=3 then goto @pigheroin - if b=4 then goto @heroinbust - if b=5 then goto @heroinbust - if b=6 then goto @cokebust - if b=7 then goto @cokebust - if b=8 then goto @mugged - if b=9 then goto @cops - if b=10 then goto @cops - if b=11 then goto @cops - if b=12 then goto @gunbuy - if b=13 then goto @gunbuy - if b=14 then goto @dedweed - if b=15 then goto @newcoat - if b=16 then goto @dedguy - if b=17 then goto @homeacid + gosub@home:gosub@daily:V=int(V*1.1+.5):E=int(E*1.06+.5):inverse:gosub@twoeighteen:?"Subway":normal:?:? + ifb=1thengoto@cheapludes + ifb=2thengoto@cheepweed + ifb=3thengoto@pigheroin + ifb=4thengoto@heroinbust + ifb=5thengoto@heroinbust + ifb=6thengoto@cokebust + ifb=7thengoto@cokebust + ifb=8thengoto@mugged + ifb=9thengoto@cops + ifb=10thengoto@cops + ifb=11thengoto@cops + ifb=12thengoto@gunbuy + ifb=13thengoto@gunbuy + ifb=14thengoto@dedweed + ifb=15thengoto@newcoat + ifb=16thengoto@dedguy + ifb=17thengoto@homeacid £nothinghappened £nothinghappens - ?:? "Welcome to ";p$:?:gosub @timerc:goto @menu + ?:?"Welcome to ";p$:?:gosub@timerc:goto@menu £cheapludes - ? "Rival dealers are selling cheap ludes!":l=2:gosub @timerc:goto @menu + ?"Rival dealers are selling cheap ludes!":l=2:gosub@timerc:goto@menu £cheepweed - ? "Weed prices have bottomed-out!":z=122:gosub @timerc:goto @menu + ?"Weed prices have bottomed-out!":z=122:gosub@timerc:goto@menu £pigheroin - ? "Pigs are selling cheap heroin":? "from last week's raid!":h=int((rnd(9)*1150)+850.5):gosub @timerc:goto @menu + ?"Pigs are selling cheap heroin":?"from last week's raid!":h=int((rnd(1)*1150)+850.5):gosub@timerc:goto@menu £heroinbust - ? "Addicts are buying heroin":? "at outrageous prices!":h=int((rnd(9)*25000)+18000.5):gosub @timerc:goto @menu + ?"Addicts are buying heroin":?"at outrageous prices!":h=int((rnd(1)*25000)+18000.5):gosub@timerc:goto@menu £cokebust - ? "Pigs made a big coke bust!":? "Prices are outrageous!!!!":c=int((rnd(9)*60000)+80000.5):gosub @timerc:goto @menu + ?"Pigs made a big coke bust!":?"Prices are outrageous!!!!":c=int((rnd(1)*60000)+80000.5):gosub@timerc:goto@menu £mugged - ? "You got mugged!":?:j=int((w/3)*2):? "You lost $";w-j:w=w-j:gosub @timerc:goto @menu + ?"You got mugged!":?:j=int((w/3)*2):?"You lost $";w-j:w=w-j:gosub@timerc:goto@menu £cops - k=m+n+u+o+t+p:if k<50 then goto @nothinghappened - if b=9 then b = 2 - if b=10 then b=4 - if b=11 then b=5 - ? "It's the cops!":?:? "Officer Hardass and ";B-1;" of his":? "deputies are after you!":?:gosub @timerc:goto @police + gosub@freespace:iff= 0 goto @ded - goto @nexta + ?:?:ifb<=0thengoto@allgone + gosub@timerb:?"They're firing at you!":gosub@timera:ifk=0thengoto@theymiss + ?"You've been hit!":bb=bb-6:ifbb>=0goto@ded + goto@nexta £theymiss - ? "They missed!" + ?"They missed!" £nexta - gosub @timera:goto @police + gosub@timera:goto@police £ded - ?:? "You've been killed!":gosub @wait:goto @endgame + ?:?"You've been killed!":gosub@wait:goto@endgame £allgone - ? "You killed all of them!":?:gosub @timera - j=int(((rnd(7)*1250)+750)+.5):w=w+j - ? "You found $";j;" on officer Hardass'" - ? "carcass!" - if w>=1200 then goto @doctor - goto @menu + ?"You killed all of them!":?:gosub@timera + j=int(((rnd(1)*1250)+750)+.5):w=w+j + ?"You found $";j;"on officer Hardass'" + ?"carcass!" + ifw>=1200thengoto@doctor + goto@menu £doctor - gosub @timerc - ?:? "Will you pay $1000 for a doctor" - input "to sew you up? (Y/N)";x$ - if X$ <> "Y" then goto @menu - w=w-1000:bb=100:goto @menu + gosub@timerc:?:?"Will you pay $1000 for a doctor":input"to sew you up? (Y/N)";x$ + ifX$<>"Y"thengoto@menu + w=w-1000:bb=100:goto@menu £gunbuy - if w < 500 THEN goto @nothinghappened:gosub @freespace:if f < 5 THEN goto @nothinghappened - j=int((rnd(4)*2)+.5) - if j = 0 then y$ = "Baretta" - if j = 1 then y$ = "Saturday Night Special" - if j = 2 then y$ = ".44 Magnum" - ? "Will you buy a ";y$:input "for $400? (Y/N)";x$:if x$ <> "Y" then goto @menu - g = g+1:w = w-400:goto @menu + ifw<500thengoto@nothinghappened:gosub@freespace:iff<5thengoto@nothinghappened + j=int((rnd(1)*2)+.5) + ifj=0theny$="Baretta" + ifj=1theny$="Saturday Night Special" + ifj=2theny$=".44 Magnum" + ?"Will you buy a ";y$:input"for $400? (Y/N)";x$:ifx$<>"Y"thengoto@menu + g=g+1:w=w-400:goto@menu £dedweed {don't smoke the weed} - ? "There's some weed here that smells":? "like good stuff!!":? - input "Will you smoke it? (Y/N)";X$ - If X$ = "Y" THEN GOTO @weedend + ?"There's some weed here that smells":?"like good stuff!!":?:input"Will you smoke it? (Y/N)";X$ + ifX$="Y"THENgoto@weedend goto@menu £newcoat - if w<300 then goto @nothinghappens {only if you can afford it} - ? "Will you buy a new trenchcoat":input "with more pockets for $200? (Y/N)";X$ - if X$ <> "Y" then goto @menu - i=i+10:w=w-200:goto @menu + ifw<300thengoto@nothinghappens + ?"Will you buy a new trenchcoat":input"with more pockets for $200? (Y/N)";X$ + ifX$<>"Y"thengoto@menu + i=i+10:w=w-200:goto@menu £dedguy - gosub @freespace - If f<8 THEN goto @nothinghappens {only if you have enough freespace} - j=int((rnd(3)*7)+1.5):k=int(rnd(3)*5+.5) - if k=0 THEN q=q+j : y$ = "Ludes" - if k=1 THEN t=t+j : y$ = "Speed" - if k=2 THEN u=u+j : y$ = "Weed" - if k=3 THEN o=o+j : y$ = "Acid" - if k=4 THEN n=n+j : y$ = "Heroin" - if k=5 THEN m=m+j : y$ = "Coke" - ? "You found "j" units of "Y$:? "on a dead dude in the subway!":?:gosub @timerc:goto @menu + gosub@freespace + iff<8thengoto@nothinghappens + j=int((rnd(1)*7)+1.5):k=int(rnd(1)*5+.5) + ifk=0thenq=q+j:y$="Ludes" + ifk=1thent=t+j:y$="Speed" + ifk=2thenu=u+j:y$="Weed" + ifk=3theno=o+j:y$="Acid" + ifk=4thenn=n+j:y$="Heroin" + ifk=5thenm=m+j:y$="Coke" + ?"You found "j"units of "Y$:?"on a dead dude in the subway!":?:gosub@timerc:goto@menu £homeacid - ? "The market has been flooded" - ? "with cheap home-made acid!" - a=int((rnd(4)*550)+250.5) - gosub @timerc:goto @menu + ?"The market has been flooded":?"with cheap home-made acid!":a=int((rnd(1)*550)+250.5):gosub@timerc:goto@menu £payme - INPUT "Repay how much? ";k - IF k>w THEN ?:? "YOU DON'T HAVE THAT MUCH!" : GOSUB @timerb : GOTO @LOAN - IF k>v THEN ?:? "YOU DON'T OWE THAT MUCH!" : GOSUB @timerb : GOTO @LOAN - W=W-k : v=v-k - ?:? "THANK YOU." - GOSUB @timerc:GOTO @MENU + input"Repay how much?";k:ifk=0then?"Get out of here, loser!":gosub@timerb:goto@menu + ifk>wthen?:?"YOU DON'T HAVE THAT MUCH!":gosub@timerb:goto@LOAN + ifk>vthen?:?"YOU DON'T OWE THAT MUCH!":gosub@timerb:goto@LOAN + W=W-k:v=v-k:?:?"THANK YOU.":gosub@timerc:goto@MENU £borrow - ? - Input "How much do you want? ";K - ? : j=int((rnd(10)*10000)+4000) - if K>14000 then ? "He's not that stupid!" : gosub @timerc : goto @menu - if K > J then ? "He doesn't feel like it." : gosub @timerb : goto @menu - v=v+k : w=w+k - ?:? "Here's your money." : ? : ? "Remember, I break thumbs." - gosub @timerc:goto @menu + ?:j=int((rnd(1)*10000)+4000):input"How much do you want?";K:?:ifk=0goto@menu + ifk<0then?"Trying to cheat? Double debt!":AD=ad+3:v=v*2:gosub@timerC:gosub@cheater:goto@menu + ifK>14000then?"He's not that stupid!":gosub@timerc:goto@menu + ifK>Jthen?"He doesn't feel like it.":gosub@timerb:goto@menu + v=v+k:w=w+k:?:?"Here's your money.":?:?"Remember, I break thumbs.":gosub@timerc:goto@menu £deposit - ? - INPUT "How much? ";j - If j>w then ? "You don't have that much cash." : goto @deposit - e=e+j:w=w-j - ?:? "Thank you for your deposit." - gosub @timerc:goto @menu + ?:k=int((rnd(1)*100)+1):input"How much?";j:ifj=0goto@menu + ifj>wthen?"You don't have that much cash.":goto@deposit + ifk=2thengoto@chaching + ifj<0then?"You tried to rob the bank, but barely":?"made it out with nothing.":ad=ad+3:gosub@timerC:goto@menu + +£chaching + e=e+j:w=w-j:?:?"Thank you for your deposit.":gosub@timerc:goto@menu [ £egg - ? "You found the easter egg!" + ?"You found the easter egg!" ? - ? "$1,000,000 has been deposited in to your account." - gosub @timerc - goto @bank + ?"$1,000,000 has been deposited in to your account." + gosub@timerc + goto@bank ] £mymoney - ? - INPUT "How much? ";j - If j>e then ? "You don't have sufficient funds." : goto @mymoney - e=e-j:w=w+j - ?:? "Thank you for your business." - gosub @timerc:goto @menu + ?:input"How much?";j + ifj<0then?"Try making a deposit.":gosub@timerc:goto@bank + ifj>ethen?"You don't have sufficient funds.":goto@mymoney + e=e-j:w=w+j:?:?"Thank you for your business.":gosub@timerc:goto@menu £instructions -home:vtab 2:htab10:? "Welcome to Drugwar//e":htab14:?"Version ";rv -vtab 8:htab 3:? "Based on the classic TI-BASIC clone":htab 2:? "of John E. Dell's 1984 IBM/TRS80 game." -vtab 12:htab 6:? "Applesoft version by: Jay Moore":vtab 19:input "Would you like instructions? (Y/N): ";X$ - j =RND(-1 *(PEEK(78)+256*PEEK(79))):If X$ = "Y" THEN GOTO @inst -GOTO @gamestart + home:vtab2:htab10:?"Welcome to Drugwar//e":htab14:?"Version ";rv:vtab8:htab3:?"Based on the classic TI-BASIC clone":htab2:?"of John E. Dell's 1984 IBM/TRS80 game.":vtab12:htab6:?"Applesoft version by:Jay Moore" + vtab19:input"Would you like instructions? (Y/N):";X$:j =RND(-1 *(PEEK(78)+256*PEEK(79))):ifX$="Y"THENgoto@inst + goto@gamestart £inst - home - - ? - ? "This is a game of buying and selling." - ? "Your goal is to pay off your debt and" - ? "make as much money as possible in a one" - ? "month period. Prices fluctuate every dayand interest on your loan is calculated as well." - ?:? "If you deal too heavily, you'll attract the attention of the police." - ? - ? "Commands are entered using the letter highlighted (L)ike (S)o. Y is yes and anything counts as no." - gosub @wait - goto @gamestart + home:?:?"This is a game of buying and selling.":?"Your goal is to pay off your debt and":?"make as much money as possible in a one":?"month period. Prices fluctuate every dayand interest on your loan is calculated as well." + ?:?"If you deal too heavily, you'll attract the attention of the police.":?:?"Commands are entered using the letter highlighted (L)ike (S)o. Y is yes and anything counts as no.":gosub@wait:goto@gamestart + +£threestrikes {if you try to cheat three times and get caught; your ass gets booted out of the game.} + home:htab8:vtab10:?"Put a quarter in your ass":gosub@timerb:htab7:?"'Cause you played yourself!":gosub@timerc:gosub@timerc:vtab19:htab11:?"Don't cheat so much.":gosub@timerc:gosub@timerc:gosub@timerc:clear:end + £weedend - gosub @home - - inverse : gosub @twofifteen: ? "SMOKE Weed" : NORMAL - speed = 50 :? "You hallucinate on the wildest trip" - ? "of your life, stumble on to the tracks," - ? "and get creamed by a train!" - ? - ? - htab 10:? "Just say NO to drugs!":speed=255 - gosub @timerc - gosub @timerb - goto @ironicend + gosub@home:inverse:gosub@twofifteen:?"SMOKE Weed":NORMAL:speed=50:?"You hallucinate on the wildest trip":?"of your life, stumble on to the tracks,":?"and get creamed by a train!":?:? + htab10:?"Just say NO to drugs!":speed=255:gosub@timerc:gosub@timerb:goto@ironicend £endgame - gosub @home - - gosub @scorecalculate - gosub @gmod - ? - ? "Your score on a scale of 1 to 100: ";k - ? - input "Would you like to play again? (Y/N)";x$ - if x$ = "Y" then goto @gamestart - ? "Thanks for playing." - ? "Remember, watch your back." - ? "Have a nice day!" - clear - end + gosub@home:gosub@scorecalculate:gosub@gmod:?:?"Your score on a scale of 1 to 100:";k:? + input"Would you like to play again? (Y/N)";x$:ifx$="Y"thengoto@gamestart + ?"Thanks for playing.":?"Remember, watch your back.":?"Have a nice day!":clear:end £ironicend - gosub @home + gosub@home:gosub@gmod:?:speed=50:?"You died from smoking weed.":?:?:gosub@timerc:?"See? Games are totally fake.":speed=255:?:input"Would you like to play again?";x$:ifx$= "Y"THENgoto@GAMESTART + clear:end +rem Drugwar//e - Version 1.05 +rem 5-NOV-2018 +rem Copyright 2018 Jay Moore +rem gitlab.com/dewdude/drugwar2e +rem twitter:_nq4t - gosub @gmod - ? - speed = 50 : ? "You died from smoking weed." - ?:?:gosub @timerc: ?"See? Games are totally fake." : speed = 255:? - input "Would you like to play again? ";x$ - if x$= "Y" THEN GOTO @GAMESTART - clear - end - diff --git a/LICENSE b/LICENSE index d199723..c0be790 100644 --- a/LICENSE +++ b/LICENSE @@ -1,674 +1,9 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +Copyright 2018 Jay Moore - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Preamble +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - The GNU General Public License is a free, copyleft license for -software and other kinds of works. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - Drugwar2e - Copyright (C) 2018 Jay Moore - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Drugwar2e Copyright (C) 2018 Jay Moore - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md index 7f5545b..9de7484 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +``` _____ _____ _ _ _______ __ _____ ____ | __ \| __ \| | | |/ ____\ \ / /\ | __ \ / / / | | | | |__) | | | | | __ \ \ /\ / / \ | |__) | / / /__ @@ -10,6 +11,8 @@ Copyright 2018 Jay Moore - A FOSS Game http://gitlab.com/dewdude/drugwar2e http://gitlab.com/dewdude/drugwar64 + + Contents: About @@ -17,7 +20,7 @@ Instructions Files Updates Support - +``` About: @@ -82,9 +85,11 @@ Files: Your DRUGWAR2E.ZIP package contains the following file: DRUGWAR2E.DSK - Drugwar//e DOS 3.3 Disk Image - drugwar2ev104.bas - Applesoft BASIC code - drugwar2ev104.baz - Virtual Applesoft BASIC code - README.txt - This readme file + drugwar2e.bas - Applesoft BASIC code + drugwar2e.baz - Virtual Applesoft BASIC code + README.md - This readme file + LICENSE - FreeBSD 2-Clause Simplified LICENSE + CHANGELOG - Detailed changelog These files are also available indvidually on the project page. @@ -92,6 +97,16 @@ These files are also available indvidually on the project page. Updates +5-NOV-2018: Version 1.05 + + First all GitLab release - No more Sourceforge! + Condensed Code Even More!!! + First releases were over 700, last one was around 450. This one is under 300!!!!! + Closed the big gaping cheat hole. + Special "anti-cheat" system that lets you cheat a little + Changed how cops react to inventory. + Cops now shoot when you run. + 29-OCT-2018: Version 1.04 Added the missing goto after using the doctor. I don't know how I missed that. diff --git a/drugwar2e.zip b/drugwar2e.zip new file mode 100644 index 0000000000000000000000000000000000000000..a6581f35fefff5ce761726dc7fcd2511473298f8 GIT binary patch literal 32718 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 literal 0 HcmV?d00001