Drugwars for the TI-82/83/83+ Calculators

A look back at the classic business simulation game Drugwars, which became a staple for students using Texas Instruments graphing calculators, featuring its unique TI-BASIC source code.
Save mattmanning/1002653 to your computer and use it in GitHub Desktop.
Drugwars for the TI-82/83/83+ Calculators
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Lbl G | | | ClrHome | | | Disp " J.M.'S DRUGWAR"," SIMULATION",""," VERSION 2.00",""," JUST SAY NO." | | | 2000→Z | | | 5000→Y | | | 0→V | | | 100→K | | | 1→B | | | 2→N | | | 0→I | | | 0→J | | | 100→T | | | 0→M | | | 0→N | | | 0→O | | | 0→P | | | 0→Q | | | 0→R | | | Pause | | | ClrHome | | | Disp "","ORIGINAL GAME","FOR IBM BY:"," JOHN E. DELL","" | | | Disp "INSTRUCTIONS?" | | | Input "(1=YES,2=NO)",X | | | If X=1 | | | Then | | | ClrHome | | | Disp "THIS IS A GAME","OF BUYING AND","SELLING. YOUR","GOAL IS TO PAY-","OFF YOUR DEBT TO","THE LOAN SHARK,","AND THEN MAKE AS" | | | Pause | | | ClrHome | | | Disp "MUCH MONEY AS","POSSIBLE IN A 1","MONTH PERIOD.","WATCH-OUT FOR","THE POLICE IF","YOU DEAL TOO","HEAVILY!" | | | Pause | | | ClrHome | | | Disp "PRICES FOR DRUGS","ARE:","COCAINE:","15000-28000","HEROINE:","5000-12000","ACID: 1000-4200" | | | Pause | | | Disp "WEED: 300-720","SPEED: 70-220","LUDES: 10-50" | | | Pause | | | ClrHome | | | Disp "GENERALY, TYPE","THE FIRST LETTER","OF WHAT YOU WANT","TO DO, I.E.:","W=WEED, L=LUDES","ETC..." | | | Pause | | | Disp "BUT, 1=YES AND","2=NO" | | | Pause | | | ClrHome | | | Disp "THE LAST NUMBER","IN THE PRICES","LIST IS YOUR","WALLET. THE LAST","NUMBER IN YOUR","TRENCHCOAT IS","FREE SPACE." | | | Pause | | | End | | | Lbl θ | | | round(rand12000+16000,0)→C | | | round(rand7000+5000,0)→H | | | round(rand34+10,0)100→A | | | round(rand42+33,0)10→W | | | round(rand15+7,0)10→S | | | round(rand4+1,0)10→L | | | round(rand20,0)→D | | | If D=1 | | | Then | | | ClrHome | | | Disp "RIVAL DEALERS","ARE SELLING","CHEAP LUDES!!!" | | | Pause | | | 2→L | | | End | | | If D=2 | | | Then | | | ClrHome | | | Disp "WEED PRICES HAVE","BOTTOMED-OUT!!!" | | | Pause | | | 122→W | | | End | | | If D=3 | | | Then | | | ClrHome | | | Disp "PIGS ARE SELLING","CHEAP HEROINE","FROM LAST WEEK'S","RAID!!!!" | | | Pause | | | rand→H | | | (850+(H1150))→H | | | (int(H)→H | | | End | | | If D=4 or D=5 | | | Then | | | ClrHome | | | Disp "ADDICTS ARE","BUYING HEROINE","AT OUTRAGEOUS","PRICES!!!" | | | Pause | | | rand→H | | | (18000+(H25000))→H | | | (int(H)→H | | | End | | | If D=6 or D=7 | | | Then | | | ClrHome | | | Disp "PIGS MADE A BIG","COKE BUST!","PRICES ARE","OUTRAGEOUS!!!!" | | | Pause | | | rand→C | | | (80000+(C60000))→C | | | (int(C)→C | | | End | | | If D=8 | | | Then | | | ClrHome | | | Disp "YOU WERE MUGGED","IN THE SUBWAY!" | | | Pause | | | (Z/3)→Z | | | (int(Z)→Z | | | (Z2)→Z | | | End | | | If D=15 and Zù300 | | | Then | | | ClrHome | | | Disp "WILL YOU BUY A","NEW TRENCHCOAT","WITH MORE","POCKETS FOR 200","BUCKS?" | | | Input X | | | If X=1 | | | Then | | | (T+10)→T | | | (T-M-N-O-P-Q-R)→K | | | (Z-200)→Z | | | End | | | End | | | If D=14 | | | Then | | | ClrHome | | | Disp "THERE'S SOME","WEED HERE THAT","SMELLS LIKE GOOD","STUFF!!" | | | Pause | | | Disp "WILL YOU SMOKE" | | | Input "IT?",X | | | If X=1 | | | Then | | | ClrHome | | | Disp "YOU HALLUCINATE","ON THE WILDEST","TRIP OF YOUR","LIFE," | | | Pause | | | Disp "STUMBLE ON TO","THE SUBWAY","TRACKS AND GET","CREAMED BY A","TRAIN." | | | Pause | | | ClrHome | | | Disp "JUST SAY NO TO","DRUGS." | | | Pause | | | Goto C | | | End | | | End | | | If Zù500 and Kù5 | | | Then | | | If D=12 or D=13 | | | Then | | | ClrHome | | | Disp "WILL YOU BUY A" | | | round(rand2,0)→X | | | If X=0 | | | Disp "BARRETTA" | | | If X=1 | | | Disp "SATURDAY NIGHT","SPECIAL" | | | If X=2 | | | Disp ".44 MAGNUM" | | | Disp "FOR 400 DOLLARS?" | | | Input X | | | If X=1 | | | Then | | | (I+1)→I | | | (Z-400)→Z | | | (T-5)→T | | | (T-M-N-O-P-Q-R)→K | | | End | | | End | | | End | | | If D=16 and Kù8 | | | Then | | | int((rand7+1)→F | | | ClrHome | | | Disp "YOU FOUND:",F,"UNITS OF:" | | | int((rand5)→X | | | If X=0 | | | Then | | | Disp " LUDES" | | | (R+F)→R | | | End | | | If X=1 | | | Then | | | Disp " SPEED" | | | (Q+F)→Q | | | End | | | If X=2 | | | Then | | | Disp " WEED" | | | (P+F)→P | | | End | | | If X=3 | | | Then | | | Disp " ACID" | | | (O+F)→O | | | End | | | If X=4 | | | Then | | | Disp " HEROINE" | | | (N+F)→N | | | End | | | If X=5 | | | Then | | | Disp " COCAINE" | | | (M+F)→M | | | End | | | Disp "ON A DEAD DUDE","IN THE SUBWAY!!!" | | | (T-M-N-O-P-Q-R)→K | | | Pause | | | Goto A | | | End | | | If D=17 | | | Then | | | ClrHome | | | Disp "THE MARKET HAS","BEEN FLOODED","WITH CHEAP HOME-","MADE ACID!!!!" | | | int((250+(rand550))→A | | | Pause | | | Goto A | | | End | | | If D=9 or D=10 or D=11 | | | Then | | | If (M+N+O+P+Q+R)ù50 | | | Then | | | ClrHome | | | If D=9 | | | 1→D | | | If D=10 | | | 3→D | | | If D=11 | | | 4→D | | | Disp "OFFICER HARDASS","AND",D,"OF HIS DEPPUTIES","ARE AFTER YOU!" | | | Pause | | | ClrHome | | | Lbl M | | | Menu("BEING CHASED!!","VIEW GUNS",H,"VIEW DAMMAGE",I,"NUMBER OF PIGS",J,"RUN",K,"FIGHT",L) | | | Lbl H | | | ClrHome | | | Disp "NUMBER OF GUNS","YOU HAVE:" | | | Disp I | | | Pause | | | Goto M | | | Lbl I | | | ClrHome | | | Disp "YOUR DAMMAGE=" | | | Disp J | | | Disp "(50 DAMMAGE AND","YOU DIE!)" | | | Pause | | | Goto M | | | Lbl J | | | ClrHome | | | Disp "THERE ARE:" | | | (D+1)→D | | | Disp D | | | (D-1)→D | | | Disp "PIGS STILL","CHASING YOU!" | | | Pause | | | Goto M | | | Lbl K | | | ClrHome | | | Disp "","","",""," RUNNING" | | | round(rand1,0)→X | | | If X=0 | | | Then | | | ClrHome | | | Disp "YOU LOST THEM IN","AN ALLEY!!" | | | Pause | | | If B=31 | | | Then | | | Goto A | | | Else | | | Goto θ | | | End | | | End | | | If X=1 | | | Then | | | ClrHome | | | Disp "YOU CAN'T SHAKE","THEM!" | | | Pause | | | Goto O | | | End | | | Lbl L | | | If I=0 | | | Then | | | ClrHome | | | Disp "YOU DON'T HAVE","ANY GUNS!" | | | Pause | | | Disp "YOU HAVE TO RUN!" | | | Pause | | | Goto M | | | Else | | | round(rand1,0)→X | | | If X=0 | | | Then | | | ClrHome | | | Disp "YOU MISSED!!!" | | | Pause | | | Else | | | ClrHome | | | Disp "YOU KILLED ONE!!" | | | Pause | | | (D-1)→D | | | If D=(ú1) | | | Goto N | | | End | | | Lbl O | | | round(rand1,0)→X | | | ClrHome | | | Disp "THEY'RE FIRING","AT YOU!!" | | | If X=0 | | | Then | | | Disp "THEY MISSED!!" | | | Pause | | | Goto M | | | Else | | | Disp "YOU'VE BEEN HIT!" | | | (J+3)→J | | | Pause | | | If Jù50 | | | Then | | | Disp "YOU'VE BEEN ","KILLED!!" | | | Pause | | | Goto C | | | End | | | Goto M | | | End | | | Lbl N | | | ClrHome | | | Disp "YOU KILLED ALL","OF THEM!" | | | int((rand*1250+750)→X | | | (Z+X)→Z | | | Pause | | | Disp "YOU FOUND" | | | Disp X | | | Disp "DOLLARS ON","OFFICER HARDASS'","CARCASS!!" | | | Pause | | | If Zù1200 | | | Then | | | ClrHome | | | Disp "WILL YOU PAY","1000 DOLLARS FOR","A DOCTOR TO SEW","YOU UP?" | | | Input X | | | If X=1 | | | Then | | | (Z-1000)→Z | | | 0→J | | | End | | | End | | | End | | | End | | | End | | | Lbl A | | | ClrHome | | | Menu("DRUGWAR!","SEE PRICES",1,"TRENCHCOAT",2,"BUY",3,"SELL",4,"JET",5,"SEE LOAN SHARK",6,"VISIT BANK",7) | | | Lbl 1 | | | ClrHome | | | Disp C,H,A,W,S,L,Z | | | Output(1,1,"COCAINE") | | | Output(2,1,"HEROINE") | | | Output(3,1,"ACID") | | | Output(4,1,"WEED") | | | Output(5,1,"SPEED") | | | Output(6,1,"LUDES") | | | Output(7,1,"WALLET") | | | Pause | | | Goto A | | | Lbl 2 | | | ClrHome | | | Disp M,N,O,P,Q,R,K | | | Output(1,1,"COCAINE") | | | Output(2,1,"HEROINE") | | | Output(3,1,"ACID") | | | Output(4,1,"WEED") | | | Output(5,1,"SPEED") | | | Output(6,1,"LUDES") | | | Output(7,1,"FREE SPACE") | | | Pause | | | Goto A | | | Lbl 3 | | | ClrHome | | | Disp "DAY NUMBER:",B | | | Input "WHAT TO BUY?",F | | | If FøC and FøH and FøA and FøW and FøS and FøL | | | Goto 3 | | | int((Z/F)→E | | | Disp "HOW MUCH"
Source: Hacker News










