Oil-Rig
Emulation Item Preview
Share or Embed This Item
Notes
Disk info for Oil_Rig_1981_C.P.U..do:
File Name: a2_Oil_Rig_1981_C.P.U./Oil_Rig_1981_C.P.U..do
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 5376
Used Space (bytes): 137984
Physical Size (KB): 140
Free Space (KB): 5
Used Space (KB): 134
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 21
Used Sectors: 539
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for Oil_Rig_1981_C.P.U..do:
a2_Oil_Rig_1981_C.P.U./Oil_Rig_1981_C.P.U..do DISK VOLUME #254
B 111 OIL RIG.B
A 065 BOOT2.B
A 037 NEW OIL RIG
B 002 SOUND
B 003 L SHAPE
B 033 DISASTER1
A 003 BOOT
A 003 BOOT2
B 045 SCORE
B 033 DISASTER3
B 033 DISASTER2
B 033 DISASTER4
B 002 FFSHAPES
B 033 LOGOPIC
A 037 NEW OIL RIG2
B 002 ROTATE LEFT
DOS 3.3 format; 5,376 bytes free; 137,984 bytes used.
Text found in Oil_Rig_1981_C.P.U..do/BOOT.bas:
10 REM BOOT
20 HOME : HGR : POKE -16302,0: PRINT "BLOAD LOGO PIC": PRINT "BLOADSOUND": VTAB 22: PRINT " COPYRIGHT 1981 BY SYNERGISTIC SOFTWARE": PRINT "BLOADL SHAPE": POKE 232,0: POKE 233,64: SCALE= 1: ROT= 0
30 POKE 769,2: FOR I = 1 TO 10: FOR J = 1 TO 5: GOSUB 50: XDRAW J AT 103,125: XDRAW J AT 163,125: FOR P = 1 TO 50: NEXT P: GOSUB 60: XDRAW J AT 103,125: XDRAW J AT 163,125: NEXT J: NEXT I
35 XDRAW 1 AT 103,125: XDRAW 1 AT 163,125
40 POKE -16301,0: VTAB 1: FOR P = 1 TO 2500: NEXT P: POKE 104,66: POKE 103,1: POKE 16896,0: PRINT "RUN NEW OIL RIG"
50 POKE 826,200: FOR Z = 1 TO 4: CALL 768: NEXT Z: RETURN
60 POKE 826,240: FOR Z = 1 TO 2: CALL 768: NEXT Z: RETURN
Text found in Oil_Rig_1981_C.P.U..do/BOOT2.B.bas:
1 CALL 7936
Text found in Oil_Rig_1981_C.P.U..do/BOOT2.bas:
20 HOME : POKE -16304,0: POKE -16297,0: POKE -16301,0: POKE -16300,0: POKE 230,32: PRINT "BLOADSOUND": VTAB 22: PRINT " COPYRIGHT 1981 BY C. P. U. SOFTWARE": POKE 232,0: POKE 233,64: SCALE= 1: ROT= 0
30 POKE 769,2: FOR I = 1 TO 8: FOR J = 1 TO 5: GOSUB 50: XDRAW J AT 103,125: XDRAW J AT 163,125: FOR P = 1 TO 50: NEXT P: GOSUB 60: XDRAW J AT 103,125: XDRAW J AT 163,125: NEXT J: NEXT I
35 XDRAW 1 AT 103,125: XDRAW 1 AT 163,125
40 POKE -16301,0: VTAB 1: FOR P = 1 TO 2500: NEXT P: POKE -16302,0: POKE 104,8: POKE 103,1: PRINT "BRUN OIL RIG.B"
50 POKE 826,200: FOR Z = 1 TO 4: CALL 768: NEXT Z: RETURN
60 POKE 826,240: FOR Z = 1 TO 2: CALL 768: NEXT Z: RETURN
Text found in Oil_Rig_1981_C.P.U..do/FFSHAPES.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 0F 0F 22 00 23 00 24 00 25 00 26 00 27 00 28 00 ..".#.$. %.&.'.(.
$000010 29 00 2A 00 2B 00 2C 00 33 00 38 00 42 00 51 00 ).*.+.,. 3.8.B.Q.
$000020 61 00 00 00 00 00 00 00 00 00 00 00 3F 3F 3F 3F a....... ....????
$000030 3F 07 00 2D 2D 2D 05 00 2C 2E 3E 3E 3C 26 27 25 ?..---.. ,.>><&'%
$000040 05 00 18 18 18 3C 3C 7C 49 09 36 76 09 2C 2C 2C .....<<| I.6v.,,,
$000050 00 49 24 3C 3F 3F 3F 36 36 36 2D 2D 2D 25 24 04 .I$??6 66---%$.
$000060 00 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
** END **
Text found in Oil_Rig_1981_C.P.U..do/L SHAPE.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 0A 0A 18 00 34 00 50 00 69 00 81 00 9C 00 B3 00 ....4.P. i.....3.
$000010 CD 00 EB 00 0F 01 36 01 2C 24 3C 3C 3C 3C 37 37 M.k...6. ,$<<<<77
$000020 3F 24 25 25 25 25 2D 3E 3E 2E 2D 2E 2E 2E 36 36 ?$%%%%-> >.-...66
$000030 35 3F 3F 00 25 24 3C 3C 27 3F 3E 3E 27 2C 2C 2C 5??.%$<< '?>>',,,
$000040 2C 2C 35 37 37 2D 35 2D 2E 36 36 35 3F 27 37 00 ,,577-5- .665?'7.
$000050 2C 24 3C 3C 3F 37 37 3F 2C 2C 24 25 25 35 3E 36 ,$<77? ,,$%%5>6
$000060 2D 2D 2D 36 36 35 3F 3F 00 2C 24 3C 3F 3F 37 3E ---665?? .,$?7>
$000070 27 24 24 24 2D 36 36 2D 2D 2D 2D 36 36 35 3F 3F '$$$-66- ---665??
$000080 00 2C 24 3C 27 3F 37 37 3F 24 25 2C 24 25 2D 36 .,$<'?77 ?$%,$%-6
$000090 37 3E 2D 2D 35 2D 36 36 35 3F 3F 00 24 2C 24 2C 7>--5-66 5??.$,$,
$0000A0 24 3C 2D 3D 36 2E 36 2E 36 2E 3F 3F 3F 2F 2D 25 $<-=6.6. 6.???/-%
$0000B0 27 05 00 24 2C 24 2C 24 3C 2D 3D 36 2E 36 2E 36 '..$,$,$ <-=6.6.6
$0000C0 2E 3F 3F 3F 2F 2D 25 27 25 27 25 07 00 24 2C 24 .???/-%' %'%..$,$
$0000D0 2C 24 3C 2D 3D 36 2E 36 2E 36 2E 3F 3F 3F 2F 2D ,$<-=6.6 .6.???/-
$0000E0 25 27 25 27 3D 2C 26 24 24 3C 00 24 2C 24 2C 24 %'%'=,&$ $<.$,$,$
$0000F0 3C 2D 3D 36 2E 36 2E 36 2E 3F 3F 3F 2F 2D 25 27 <-=6.6.6 .???/-%'
$000100 25 27 25 27 25 24 3C F8 68 8A 01 28 08 05 00 24 %'%'%$>&%-5%-
$000120 2C 35 35 DE 1B 37 36 35 36 35 36 3D 3F 24 24 3C ,55^.765 656=?$$<
$000130 36 36 3E 3F 05 00 .. .. .. .. .. .. .. .. .. .. 66>?..
** END **
Text found in Oil_Rig_1981_C.P.U..do/NEW OIL RIG.bas:
10 REM 3
11 POKE 232,0: POKE 233,64
12 TEXT : HOME : INPUT "HOW MANY YEARS? (10 TO 40) :";TY$:TY = VAL(TY$): ON TY >40 OR TY <10 OR INT(TY) < >TY GOTO 12
13 PRINT "1 = NOVICE THROUGH 9 = PROWHICH? ";: GET AN$:LD = 10 - VAL(AN$): ON LD <1 OR LD >9 GOTO 13
14 REM 27
15 DIM CS%(27,16),A1%(12),A%(12),BP(14),P$(14),P(18),T1(14),IT(14),AO(14):SP% = 1:MO = 1
24 FOR I = 1 TO 14: READ P(I): NEXT : DATA 1,1.2,1.4,2,2.4,3,585,600,620,550,730,720,575,800
25 FOR I = 1 TO 14: READ T1(I): NEXT : DATA .1,.04,.1,.14,.16,.18,.29,.3,.32,.31,.35,.34,.32,.39
26 DATA O.P.E.C. PRICE REDUCTION,GOVERNMENT CONTROLS,GOVERNMENT RECOMMENDATIONS,OFF SEASON PRICES,STANDARD INFLATION,MARGINAL GROWTH,SEASONAL INCREASE,CONGRESS VETOS ALT. ENERGY,POOR RESOURCES REPORT,O.P.E.C. PRICE INCREASE
27 FOR I = 1 TO 10: READ MF$(I): NEXT
29 GOSUB 40: GOTO 100
30 DATA CRUDE,SHALE,OIL-R,KEROSENE,GAS,PETROL PROD.
35 REM 13
40 P1 = 1: FOR I = 1 TO 6: READ P$(I): NEXT : TEXT : HOME : HTAB 1: PRINT "RETURN FOR COMMANDS ";: INVERSE : PRINT " MASTER BOARD ": VTAB 3: PRINT "PRODUCTS - QUANTITY - VALUE - TOTAL": NORMAL : FOR I = 1 TO 6: VTAB I +4: HTAB 1: PRINT CHR$(I +64);" ";P$(I);: HTAB 15: PRINT "# $ $": NEXT
50 DATA DRILL RIG,OIL RIG,REFINERY,WAREHOUSE,PIPELINE,TANKER,TRUCK,PLATFORM
60 FOR I = 7 TO 14: READ P$(I): NEXT : INVERSE : PRINT "EQUIPMENT - QUANTITY - VALUE - TOTAL": NORMAL : FOR I = 7 TO 14: VTAB I +7: HTAB 1: PRINT CHR$(I +64);" ";P$(I);: HTAB 15: PRINT "# $ $": NEXT
65 FOR I = 1 TO 39: PRINT "-";: NEXT
70 IF RT THEN RT = 0: GOSUB 143: GOTO 72
71 GOSUB 142
72 RETURN
100 GOSUB 110: ON YE <1 AND MO = <1 GOTO 100: FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 200: NEXT TV: GOTO 100
110 ZZ = FRE(0):IC = INT(IC):AS = INT(AS): GOSUB 5000
120 ON ND GOTO 125:ND = 1: GOSUB 170: GOSUB 190: RETURN
125 GOSUB 150:CT = CT +1:VT = (CT <7) *((CT <7) *CT +4) +(CT >6) *((CT >6) *CT +7): IF NR AND CT = 1 THEN AO(CT) = AO(CT) +NR *20
126 IF AO(9) AND NR AND CT = 3 THEN AO(CT) = AO(CT) +AO(9) *20
129 ON AO(CT) >9999 GOSUB 135: VTAB VT: HTAB 23: GOSUB 300: VTAB VT: HTAB 23:BP(CT) = INT(10 *(IT(CT) +MF +IS) *P(CT)): ON BP(CT) >1E6 GOSUB 180: GOSUB 310:P(CT) = BP(CT)/10/1.2 +1: GOSUB 1000: ON CT = 14 GOTO 130: RETURN
130 CT = 0: POKE 769,20: POKE 826,50: CALL 768: GOSUB 145:MO = MO +1: ON MO = 13 GOTO 140:CT = 0:ND = 0: RETURN
131 AS = 1000: RETURN
135 ON AO(10) GOTO 137
136 VTAB 23: HTAB 1: CALL -958: PRINT "OVERSTOCKED! FORCED LIQUIDATION!!";P$(CT);" LIQUIDATED!";: GOSUB 15000: ON AO(10) AND AO(CT) GOTO 137:AO(CT) = 0: GOTO 138
137 AS = AS +(AO(CT) *BP(CT)/2):AO(CT) = 0: VTAB 24: HTAB 1: CALL -868: PRINT "WAREHOUSE SALE GAINS 50% OF VALUE";: GOSUB 15000: GOTO 136
138 RETURN
140 ND = 0: POKE 769,20: POKE 826,80: CALL 768:YE = YE +1: ON YE >TY GOTO 4000:MO = 1: GOSUB 142: RETURN
142 AS = AS +IC:TX = ((AS/100000 <.8) *AS/100000) +((AS/100000 >.79) *.8) *AS/100000:AS = INT(AS -((AS >10000) *AS *TX)/2)
143 TZ = INT(((AS >10000) *(AS *TX))/2): VTAB 24: HTAB 1: CALL -868: PRINT "MONTH:";MO;" YEAR:";YE;" NET WORTH:";: VTAB 23: HTAB 1: PRINT "CASH:$";AS;" INCOME:$";IC;" TAX $";TZ;: CALL -868: GOSUB 4000: RETURN
145 AS = AS +IC: ON MO = 1 AND YE = 0 GOSUB 131: GOSUB 143: ON NR >5 AND NOT (AO(11) OR AO(12) OR AO(13)) GOSUB 146: RETURN
146 NR = NR -1:IC = IC -2000:AS = AS -5000: VTAB 22: HTAB 1: CALL -958: PRINT "LOST PRODUCTION DUE TO NO TRANSPORTATION$2000 REDUCTION TO INCOME$5000 ASSESED TO REMOVE OIL RIG": GOSUB 15000: GOSUB 143: RETURN
150 Z = INT( RND(1) *14) +1:IT(Z) = (T1(Z) -(T1(Z) *.25) * RND(1)): RETURN
160 REM 27
170 MF = INT( RND(1) *10) +1: VTAB 2: HTAB 1: CALL -868: PRINT "FACTOR : ";MF$(MF):T = (MF -5)/10:MF = T: RETURN
175 REM 13
180 FOR S = 1 TO 20: GOSUB 768: NEXT :BP(CT) = INT(BP(CT)/4):AO(CT) = AO(CT) *2: RETURN
190 IS = ( RND(1) *.8) +.5: RETURN
200 T% = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): POKE -16368,0: ON K$ = CHR$(13) GOTO 400: ON K$ = "B" GOTO 500: ON K$ = "S" GOTO 600: ON K$ = "P" GOTO 700: ON K$ = "D" GOTO 800: GOTO 100
299 END
300 IF P1 = 2 OR P1 = 1 THEN PRINT " "
301 RETURN
310 IF P1 = 2 OR P1 = 1 THEN PRINT BP(CT)
311 RETURN
400 TEXT : HOME : PRINT "RETURN FOR MASTER BOARD":P1 = 2: VTAB 5: HTAB 6: INVERSE : PRINT "COMMANDS": NORMAL : PRINT " = COMMANDS = BUY = SELL
= PROSPECT = DRILL": VTAB 23: HTAB 1: PRINT "CASH $";AS;" ";
405 PRINT "INCOME $";IC;" TAX $";TZ;: CALL -868
410 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 415: NEXT TV: GOSUB 120: GOTO 410
415 RESTORE : FOR I = 1 TO 28: READ N: NEXT : FOR I = 1 TO 10: READ MF$(I): NEXT : GOSUB 40: POKE -16368,0: GOTO 100
420 TV = 0: GOSUB 768: VTAB 1: HTAB 1: CALL -868: PRINT "RETURN FOR COMMANDS ";: INVERSE : PRINT " MASTER BOARD ": NORMAL
421 RESTORE : FOR I = 1 TO 28: READ N: NEXT : FOR I = 1 TO 10: READ MF$(I): NEXT : FOR I = 1 TO 6: READ P$(I): NEXT : FOR I = 7 TO 14: READ P$(I): NEXT :P1 = 1: POKE -16368,0: GOSUB 143:RT = 1: GOTO 100
500 POKE -16368,0:P1 = 1: GOTO 505
505 VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "BUY";: NORMAL : PRINT " WHICH ITEM ? ";: FLASH : PRINT " ";: NORMAL
510 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 520: NEXT TV: GOSUB 110: GOTO 510
520 TV = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): ON K = 13 OR (K >64 AND K <79) GOTO 540
530 POKE -16368,0: GOTO 510
540 POKE -16368,0: ON K = 13 GOTO 590: VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "BUY";: NORMAL : PRINT " HOW MANY ? ";P$(K -64);" ";: FLASH : PRINT " ";: NORMAL
545 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 550: NEXT TV: GOSUB 110: GOTO 545
550 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) AND AM$ = "" GOTO 505: ON K1$ = CHR$(8) GOTO 570
551 ON K1 = 13 AND AM$ = "" GOTO 590: ON K1 = 13 GOTO 560:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 590:AM$ = AM$ +K1$: VTAB 1: HTAB 33: CALL -868: PRINT AM$: GOTO 545
560 AM = VAL(AM$):DS = AM *BP(K -64):AS = AS -DS:AO(K -64) = AO(K -64) +AM:K = 0:K1 = 0:AM$ = "":K1$ = "": GOTO 420
570 POKE -16368,0:K1$ = "":AM$ = "": VTAB 1: HTAB 33: CALL -868: GOTO 545
590 VTAB 1: HTAB 1: CALL -868: PRINT "$20 ASSESMENT FOR NO-BUY TRANSACTION";: FOR D = 1 TO 500: NEXT D:AS = AS -20:AM$ = "": GOTO 420
600 POKE -16368,0:P1 = 1
605 VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "SELL";: NORMAL : PRINT " WHICH ITEM ? ";: FLASH : PRINT " ";: NORMAL
610 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 620: NEXT TV: GOSUB 110: GOTO 610
620 TV = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): ON K = 8 GOTO 600: ON K = 13 OR (K >64 AND K <79) GOTO 640
630 POKE -16368,0: GOTO 610
640 POKE -16368,0: ON K = 13 GOTO 690: VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "SELL";: NORMAL : PRINT " HOW MANY OF ";AO(K -64);" ";P$(K -64);" ";: FLASH : PRINT " ";: NORMAL
645 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 650: NEXT TV: GOSUB 110: GOTO 645
650 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) AND AM$ = "" GOTO 605: ON K1$ = CHR$(8) GOTO 670
651 ON K1 = 13 AND AM$ = "" GOTO 690: ON K1 = 13 GOTO 660:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 690:AM$ = AM$ +K1$: VTAB 1: HTAB 33: CALL -868: PRINT AM$: GOTO 645
660 AM = VAL(AM$): ON AM >AO(K -64) GOTO 665:DM = AM *(BP(K -64) *.9):AS = INT(AS +DM):AO(K -64) = AO(K -64) -AM:K = 0:K1 = 0:AM$ = "":K1$ = "": GOTO 420
665 VTAB 1: HTAB 1: CALL -868: PRINT "YOU DO NOT OWN ";AM$;" ";P$(K -64): FOR I = 1 TO 10: GOSUB 110: NEXT I: GOTO 690
670 POKE -16368,0:K1$ = "":AM$ = "": VTAB 1: HTAB 33: CALL -868: GOTO 645
690 VTAB 1: HTAB 1: CALL -868: PRINT "$20 ASSESMENT FOR NO-SELL TRANSACTION";: FOR D = 1 TO 500: NEXT D:AS = AS -20:AM$ = "": GOTO 420
700 GOSUB 750
701 P1 = 3: VTAB 23: HTAB 1: CALL -958
702 ON NN GOTO 710:ND = 1:H1% = PDL(0) *279/256:V1% = PDL(1) *160/256: XDRAW 4 AT H1%,V1%: GOTO 710
705 ON PEEK( -16287) >127 GOTO 720:H2% = PDL(0) *279/256:V2% = PDL(1) *160/256: ON H2%
H1% +2 OR V2% V1% +2 GOTO 710: GOSUB 110: GOTO 705
710 QH% = H2%/10:QV% = V2%/10: VTAB 23: HTAB 1: CALL -868: INVERSE : PRINT "SURVEYING SECTION ";QH%;" - ";QV%: CALL -868: NORMAL : XDRAW 4 AT H2%,V2%: XDRAW 4 AT H1%,V1%:H1% = H2%:V1% = V2%:NN = 0: GOTO 705
720 VTAB 23: HTAB 1: CALL -868: INVERSE : PRINT "CORE SAMPLE TAKEN AT ";QH%;" - ";QV%:CR = 160 -( INT( RND(1) *9 +4) *10 +30): PRINT "CORE RATING = ";CR;:CS%(QH%,QV%) = CR: NORMAL : FOR P = 1 TO 3000: NEXT : VTAB 23: CALL -958: TEXT : GOTO 420
750 HGR :M1% = SIN(0) *120 +140:MH% = M1%:M2% = COS(0) *68 +80:MV% = M2%: HPLOT M1%,M2%: FOR I = .1 TO 6.3 STEP .1: HCOLOR= 3: HPLOT MH%,MV%:MH% = SIN(I) *(110 +( RND(1) *20)) +140:MV% = COS(I) *(60 +( RND(1) *16)) +80
752 HPLOT TO MH%,MV%: HCOLOR= 2: HPLOT (MH% >140) *279,MV% TO MH%,MV%: NEXT : HPLOT TO M1%,M2%
755 HCOLOR= 3: FOR I = 1 TO 12:M1% = RND(1) *150 +70:M2% = RND(1) *70 +40: GOSUB 770: NEXT :AS = AS -1000: RETURN
768 POKE 769,2: POKE 826,10: CALL 768: RETURN
770 HPLOT M1% -10,M2% +4 TO M1% -2,M2% -2 TO M1% +4,M2% +6: HPLOT M1% +2,M2% +4 TO M1% +8,M2% -3 TO M1% +12,M2% +4: RETURN
799 END
800 GOSUB 10000: ON AO(7) <1 GOTO 965:AO(7) = AO(7) -1: POKE 232,0: POKE 233,64: SCALE= 1: ROT= 0
801 GOSUB 10000: VTAB 22: HTAB 1: CALL -868: PRINT "DRILL AT X = (0 TO 27) ";: FLASH : PRINT " ";: NORMAL
802 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 803: NEXT TV: GOSUB 110: GOTO 802
803 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) GOTO 808: ON K1 = 13 AND AM$ = "" GOTO 809: ON K1 = 13 AND SN GOTO 805: ON K1 = 13 GOTO 804:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 690:AM$ = AM$ +K1$: VTAB 22: HTAB 33: CALL -868: PRINT AM$: GOTO 802
804 GOSUB 10000:A1$ = AM$:AM$ = "":SN = 1: VTAB 22: HTAB 1: CALL -868: PRINT "DRILL AT Y = (0 TO 16) ";: FLASH : PRINT " ";: NORMAL : GOTO 802
805 SN = 0:A2$ = AM$:A1 = VAL(A1$):A2 = VAL(A2$): ON CS%(A1,A2) = 0 GOTO 809:Z% = 160 -CS%(A1,A2):Q% = Z%/10 *2:CS%(A1,A2) = 0: GOTO 810
808 POKE -16368,0:K1$ = "":AM$ = "": VTAB 22: HTAB 33: CALL -868: GOTO 645
809 Q% = 4:Z% = 150
810 IF A1 >27 THEN A1 = 27
811 IF A2 >16 THEN A2 = 16
815 AM$ = "": HGR : GOSUB 10000: PRINT "DRILLING AT SECTION ";A1;" - ";A2;: GOSUB 11000:D% = 41
820 FOR I = 40 TO 150 STEP 10:C% = C% +1
830 A1% = RND(1) *6: ON A1% = 0 OR A1% = 4 OR A1% = B% GOTO 830:A1%(C%) = A1%: HCOLOR= A1%(C%): FOR J = 0 TO 10 STEP 2: HPLOT 0,I +J TO 279,I +J: NEXT J:B% = A1%: NEXT I
840 X% = A1%((Z%/10) -3):Y% = 0
850 FOR G = 250 TO 40 STEP -1: GOSUB 880: FOR J = Z% TO Z% +8 STEP 2: HCOLOR= Y%: HPLOT G,J TO G -Q%,J: NEXT : HCOLOR= X%: FOR J = Z% TO Z% +8 STEP 2: HPLOT G,J: NEXT J,G
860 FOR J = Z% TO Z% +8 STEP 2: HPLOT I,J TO I -Q%,J: NEXT
870 GOTO 950
880 ON DD GOTO 910: ON O GOTO 890:O = 1:H1% = PDL(0) *279/256: XDRAW 6 AT H1%,38: RETURN
890 ON PEEK( -16287) >127 GOTO 910:V1% = PDL(0) *279/256: ON V1% >H1% +1 OR V1%
Z% AND H1% >G -Q% AND H1% 160 GOTO 950: HPLOT H1% +1,D% TO H1% +3,D%: RETURN
920 POKE 769,4: HCOLOR= 3: FOR J = 1 TO 5: FOR I = 6 TO 10: POKE 826,J *I: CALL 768: DRAW I AT H1% +1,38: DRAW I AT H1%,38: NEXT I: HCOLOR= 0: DRAW I -1 AT H1% +1,38: DRAW I -1 AT H1%,38: HCOLOR= 3: NEXT J: ON AO(8) <1 GOTO 980:AO(8) = AO(8) -1
930 IC = IC +(40 -Q%) *Z%: HCOLOR= 3: DRAW I -1 AT H1% +1,38: DRAW I -1 AT H1%,38: VTAB 21: HTAB 1: CALL -958:AS = AS -(D% *40): PRINT "COST = $";D% *40;" - PRODUCING PER MONTH$";(40 -Q%) *Z%: POKE 769,10: FOR I = 200 TO 1 STEP -2: POKE 826,I: CALL 768: NEXT :NR = NR +1
940 G = 0:DD = 0:O = 0:Z% = 0:B% = 0:Q% = 0:H1% = 0:V1% = 0:Y% = 0:C% = 0:D% = 0:X% = 0: GOTO 415
950 VTAB 21: HTAB 1: CALL -958: PRINT "DRY WELL - COST = $";D% *40: POKE 769,10: FOR J = 1 TO 100: POKE 826,J: CALL 768: NEXT :AS = AS -(D% *40)
960 GOTO 940
965 GOSUB 10000: PRINT "YOU DO NOT OWN A DRILL RIG$100 ASSESSMENT FOR NO-DRILL":AS = AS -100: GOSUB 15000: GOTO 940
980 GOSUB 10000: PRINT "YOU DO NOT OWN AN OIL RIG$1000 ASSESSMENT FOR CLEAN-UP":AS = AS -1000: GOSUB 15000: GOTO 940
999 END
1000 REM DETERMINE AMOUNT OWNED
1010 ON P1 < >1 GOTO 1020: VTAB VT: HTAB 16: PRINT " ";: VTAB VT: HTAB 16: PRINT AO(CT);: VTAB VT: HTAB 31: PRINT " ";: VTAB VT: HTAB 31: PRINT AO(CT) *BP(CT);: RETURN
1020 RETURN
4000 IF YE <1 AND MO < = 1 THEN RETURN
4005 FOR I = 1 TO 14:T = BP(I) +T: NEXT :T = 10 *T: FOR I = 1 TO 14:TT = TT +(AO(I) *BP(I)): NEXT :PE = ( INT((TT/T) *TY) +1 <100) * INT((TT/T) *TY) +1 +(( INT((TT/T) *TY) +1 >99) *99)
4010 POKE 769,PE: IF YE < = TY AND AS = >0 THEN VTAB 24: HTAB 28: PRINT "$";TT +AS;:TT = 0: RETURN
4020 IF AS <0 THEN 5000
4500 POKE 769,PE:D$ = CHR$(13) + CHR$(4): PRINT D$;"BRUN SCORE"
5000 ON AS <0 GOTO 6000
5020 VE% = RND(1) *400: ON VE% = 2 AND (AO(14) OR NR >10 OR AO(9) OR AO(11)) GOTO 7000: RETURN
6000 TEXT : HOME : POKE 769,5: FOR I = 23 TO 10 STEP -1: FOR J = 1 TO I: POKE 826,J: CALL 768: NEXT J: VTAB I: HTAB 1: PRINT "INSUFFICIENT CASH!! BANKRUPTCY DECLARED!";: VTAB I +1: HTAB 1: CALL -868: NEXT : GOTO 4500
7000 AM$ = "":K1$ = "":AM = 0:K$ = "": POKE -16368,0
7005 TEXT : HOME : FLASH : VTAB 10: HTAB 17: PRINT " ATTENTION! ": INVERSE : VTAB 12: HTAB 5: PRINT "URGENT MESSAGE FROM HEADQUARTERS!": NORMAL
7010 ON AO(14) GOTO 7050: ON NR >5 GOTO 7100: ON AO(9) GOTO 7150: ON AO(11) GOTO 7200: GOTO 7400
7050 E = 1:AO(14) = AO(14) -1:AS = AS -20000:IC = IC -1000: GOTO 7300
7100 E = 2:AS = AS -20000:IC = IC -1000:NR = NR -1: GOTO 7300
7150 AO(9) = AO(9) -1:E = 3:AS = AS -15000:IC = IC -700: GOTO 7300
7200 AO(11) = AO(11) -1:E = 4:AS = AS -17500:IC = IC -750: GOTO 7300
7300 PRINT "BLOADDISASTER";E: POKE -16302,0: POKE -16304,0: POKE -16297,0: POKE -16300,0: GOSUB 15000: GOSUB 15000: TEXT : GOTO 7500
7400 TEXT : HOME : FLASH : PRINT "DISASTER - OIL WORKERS STRIKE": NORMAL : PRINT "LOSS OF INCOME OF $2000 PER MONTH":IC = IC -2000: GOSUB 15000: GOSUB 15000
7500 POP : GOTO 415
10000 VTAB 21: HTAB 1: CALL -958: RETURN
11000 HCOLOR= 3: HPLOT 0,41: FOR H = 8 TO 270 STEP 8:V = RND(1) *10 +31: HPLOT TO H,V: NEXT : HPLOT TO 279,41: RETURN
15000 FOR P = 1 TO 2500: NEXT P: RETURN
Text found in Oil_Rig_1981_C.P.U..do/NEW OIL RIG2.bas:
11 POKE 232,0: POKE 233,64
12 TEXT : HOME : INPUT "HOW MANY YEARS? (10 TO 40) :";TY$:TY = VAL(TY$): ON TY >40 OR TY <10 OR INT(TY) < >TY GOTO 12
13 PRINT "1 = NOVICE THROUGH 9 = PROWHICH? ";: GET AN$:LD = 10 - VAL(AN$): ON LD <1 OR LD >9 GOTO 13
15 DIM CS%(27,16),A1%(12),A%(12),BP(14),P$(14),P(18),T1(14),IT(14),AO(14):SP% = 1:MO = 1
24 FOR I = 1 TO 14: READ P(I): NEXT : DATA 1,1.2,1.4,2,2.4,3,585,600,620,550,730,720,575,800
25 FOR I = 1 TO 14: READ T1(I): NEXT : DATA .1,.04,.1,.14,.16,.18,.29,.3,.32,.31,.35,.34,.32,.39
26 DATA O.P.E.C. PRICE REDUCTION,GOVERNMENT CONTROLS,GOVERNMENT RECOMMENDATIONS,OFF SEASON PRICES,STANDARD INFLATION,MARGINAL GROWTH,SEASONAL INCREASE,CONGRESS VETOS ALT. ENERGY,POOR RESOURCES REPORT,O.P.E.C. PRICE INCREASE
27 FOR I = 1 TO 10: READ MF$(I): NEXT
29 GOSUB 40: GOTO 100
30 DATA CRUDE,SHALE,OIL-R,KEROSENE,GAS,PETROL PROD.
35 REM
40 P1 = 1: FOR I = 1 TO 6: READ P$(I): NEXT : TEXT : HOME : HTAB 1: PRINT "RETURN FOR COMMANDS ";: INVERSE : PRINT " MASTER BOARD ": VTAB 3: PRINT "PRODUCTS - QUANTITY - VALUE - TOTAL": NORMAL : FOR I = 1 TO 6: VTAB I +4: HTAB 1: PRINT CHR$(I +64);" ";P$(I);: HTAB 15: PRINT "# $ $": NEXT
50 DATA DRILL RIG,OIL RIG,REFINERY,WAREHOUSE,PIPELINE,TANKER,TRUCK,PLATFORM
60 FOR I = 7 TO 14: READ P$(I): NEXT : INVERSE : PRINT "EQUIPMENT - QUANTITY - VALUE - TOTAL": NORMAL : FOR I = 7 TO 14: VTAB I +7: HTAB 1: PRINT CHR$(I +64);" ";P$(I);: HTAB 15: PRINT "# $ $": NEXT
65 FOR I = 1 TO 39: PRINT "-";: NEXT
70 IF RT THEN RT = 0: GOSUB 143: GOTO 72
71 GOSUB 142
72 RETURN
100 GOSUB 110: ON YE <1 AND MO = <1 GOTO 100: FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 200: NEXT TV: GOTO 100
110 ZZ = FRE(0):IC = INT(IC):AS = INT(AS): GOSUB 5000
120 ON ND GOTO 125:ND = 1: GOSUB 170: GOSUB 190: RETURN
125 GOSUB 150:CT = CT +1:VT = (CT <7) *((CT <7) *CT +4) +(CT >6) *((CT >6) *CT +7): IF NR AND CT = 1 THEN AO(CT) = AO(CT) +NR *20
126 IF AO(9) AND NR AND CT = 3 THEN AO(CT) = AO(CT) +AO(9) *20
129 ON AO(CT) >9999 GOSUB 135: VTAB VT: HTAB 23: GOSUB 300: VTAB VT: HTAB 23:BP(CT) = INT(10 *(IT(CT) +MF +IS) *P(CT)): ON BP(CT) >1E6 GOSUB 180: GOSUB 310:P(CT) = BP(CT)/10/1.2 +1: GOSUB 1000: ON CT = 14 GOTO 130: RETURN
130 CT = 0: POKE 769,20: POKE 826,50: CALL 768: GOSUB 145:MO = MO +1: ON MO = 13 GOTO 140:CT = 0:ND = 0: RETURN
131 AS = 1000: RETURN
135 ON AO(10) GOTO 137
136 VTAB 23: HTAB 1: CALL -958: PRINT "OVERSTOCKED! FORCED LIQUIDATION!!";P$(CT);" LIQUIDATED!";: GOSUB 15000: ON AO(10) AND AO(CT) GOTO 137:AO(CT) = 0: GOTO 138
137 AS = AS +(AO(CT) *BP(CT)/2):AO(CT) = 0: VTAB 24: HTAB 1: CALL -868: PRINT "WAREHOUSE SALE GAINS 50% OF VALUE";: GOSUB 15000: GOTO 136
138 RETURN
140 ND = 0: POKE 769,20: POKE 826,80: CALL 768:YE = YE +1: ON YE >TY GOTO 4000:MO = 1: GOSUB 142: RETURN
142 AS = AS +IC:TX = ((AS/100000 <.8) *AS/100000) +((AS/100000 >.79) *.8) *AS/100000:AS = INT(AS -((AS >10000) *AS *TX)/2)
143 TZ = INT(((AS >10000) *(AS *TX))/2): VTAB 24: HTAB 1: CALL -868: PRINT "MONTH:";MO;" YEAR:";YE;" NET WORTH:";: VTAB 23: HTAB 1: PRINT "CASH:$";AS;" INCOME:$";IC;" TAX $";TZ;: CALL -868: GOSUB 4000: RETURN
145 AS = AS +IC: ON MO = 1 AND YE = 0 GOSUB 131: GOSUB 143: ON NR >5 AND NOT (AO(11) OR AO(12) OR AO(13)) GOSUB 146: RETURN
146 NR = NR -1:IC = IC -2000:AS = AS -5000: VTAB 22: HTAB 1: CALL -958: PRINT "LOST PRODUCTION DUE TO NO TRANSPORTATION$2000 REDUCTION TO INCOME$5000 ASSESED TO REMOVE OIL RIG": GOSUB 15000: GOSUB 143: RETURN
150 Z = INT( RND(1) *14) +1:IT(Z) = (T1(Z) -(T1(Z) *.25) * RND(1)): RETURN
160 REM
170 MF = INT( RND(1) *10) +1: VTAB 2: HTAB 1: CALL -868: PRINT "FACTOR : ";MF$(MF):T = (MF -5)/10:MF = T: RETURN
180 FOR S = 1 TO 20: GOSUB 768: NEXT :BP(CT) = INT(BP(CT)/4):AO(CT) = AO(CT) *2: RETURN
190 IS = ( RND(1) *.8) +.5: RETURN
200 T% = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): POKE -16368,0: ON K$ = CHR$(13) GOTO 400: ON K$ = "B" GOTO 500: ON K$ = "S" GOTO 600: ON K$ = "P" GOTO 700: ON K$ = "D" GOTO 800: GOTO 100
299 END
300 IF P1 = 2 OR P1 = 1 THEN PRINT " "
301 RETURN
310 IF P1 = 2 OR P1 = 1 THEN PRINT BP(CT)
311 RETURN
400 TEXT : HOME : PRINT "RETURN FOR MASTER BOARDGAME IS ON STAND-BY!":P1 = 2: VTAB 5: HTAB 6: INVERSE : PRINT "COMMANDS": NORMAL : PRINT " = COMMANDS = BUY
= PROSPECT = DRILL": VTAB 23: HTAB 1: PRINT "CASH $";AS;" ";
405 PRINT "INCOME $";IC;" TAX $";TZ;: CALL -868
410 VTAB 3: HTAB 20: GET A$: ON A$ = CHR$(13) GOTO 415: GOTO 410
415 RESTORE : FOR I = 1 TO 28: READ N: NEXT : FOR I = 1 TO 10: READ MF$(I): NEXT : GOSUB 40: POKE -16368,0: GOTO 100
420 TV = 0: GOSUB 768: VTAB 1: HTAB 1: CALL -868: PRINT "RETURN FOR COMMANDS ";: INVERSE : PRINT " MASTER BOARD ": NORMAL
421 RESTORE : FOR I = 1 TO 28: READ N: NEXT : FOR I = 1 TO 10: READ MF$(I): NEXT : FOR I = 1 TO 6: READ P$(I): NEXT : FOR I = 7 TO 14: READ P$(I): NEXT :P1 = 1: POKE -16368,0: GOSUB 143:RT = 1: GOTO 100
500 POKE -16368,0:P1 = 1: GOTO 505
505 VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "BUY";: NORMAL : PRINT " WHICH ITEM ? ";: FLASH : PRINT " ";: NORMAL
510 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 520: NEXT TV: GOSUB 110: GOTO 510
520 TV = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): ON K = 13 OR (K >64 AND K <79) GOTO 540
530 POKE -16368,0: GOTO 510
540 POKE -16368,0: ON K = 13 GOTO 590: VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "BUY";: NORMAL : PRINT " HOW MANY ? ";P$(K -64);" ";: FLASH : PRINT " ";: NORMAL
545 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 550: NEXT TV: GOSUB 110: GOTO 545
550 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) AND AM$ = "" GOTO 505: ON K1$ = CHR$(8) GOTO 570
551 ON K1 = 13 AND AM$ = "" GOTO 590: ON K1 = 13 GOTO 560:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 590:AM$ = AM$ +K1$: VTAB 1: HTAB 33: CALL -868: PRINT AM$: GOTO 545
560 AM = VAL(AM$):DS = AM *BP(K -64):AS = AS -DS:AO(K -64) = AO(K -64) +AM:K = 0:K1 = 0:AM$ = "":K1$ = "": GOTO 420
570 POKE -16368,0:K1$ = "":AM$ = "": VTAB 1: HTAB 33: CALL -868: GOTO 545
590 VTAB 1: HTAB 1: CALL -868: PRINT "$20 ASSESMENT FOR NO-BUY TRANSACTION";: FOR D = 1 TO 500: NEXT D:AS = AS -20:AM$ = "": GOTO 420
600 POKE -16368,0:P1 = 1
605 VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "SELL";: NORMAL : PRINT " WHICH ITEM ? ";: FLASH : PRINT " ";: NORMAL
610 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 620: NEXT TV: GOSUB 110: GOTO 610
620 TV = 0: GOSUB 768:K = PEEK( -16384) -128:K$ = CHR$(K): ON K = 8 GOTO 600: ON K = 13 OR (K >64 AND K <79) GOTO 640
630 POKE -16368,0: GOTO 610
640 POKE -16368,0: ON K = 13 GOTO 690: VTAB 1: HTAB 1: CALL -868: INVERSE : PRINT "SELL";: NORMAL : PRINT " HOW MANY OF ";AO(K -64);" ";P$(K -64);" ";: FLASH : PRINT " ";: NORMAL
645 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 650: NEXT TV: GOSUB 110: GOTO 645
650 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) AND AM$ = "" GOTO 605: ON K1$ = CHR$(8) GOTO 670
651 ON K1 = 13 AND AM$ = "" GOTO 690: ON K1 = 13 GOTO 660:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 690:AM$ = AM$ +K1$: VTAB 1: HTAB 33: CALL -868: PRINT AM$: GOTO 645
660 AM = VAL(AM$): ON AM >AO(K -64) GOTO 665:DM = AM *(BP(K -64) *.9):AS = INT(AS +DM):AO(K -64) = AO(K -64) -AM:K = 0:K1 = 0:AM$ = "":K1$ = "": GOTO 420
665 VTAB 1: HTAB 1: CALL -868: PRINT "YOU DO NOT OWN ";AM$;" ";P$(K -64): FOR I = 1 TO 10: GOSUB 110: NEXT I: GOTO 690
670 POKE -16368,0:K1$ = "":AM$ = "": VTAB 1: HTAB 33: CALL -868: GOTO 645
690 VTAB 1: HTAB 1: CALL -868: PRINT "$20 ASSESMENT FOR NO-SELL TRANSACTION";: FOR D = 1 TO 500: NEXT D:AS = AS -20:AM$ = "": GOTO 420
700 GOSUB 750
701 P1 = 3: VTAB 23: HTAB 1: CALL -958
702 ON NN GOTO 710:ND = 1:H1% = PDL(0) *279/256:V1% = PDL(1) *160/256: XDRAW 4 AT H1%,V1%: GOTO 710
705 ON PEEK( -16287) >127 GOTO 720:H2% = PDL(0) *279/256:V2% = PDL(1) *160/256: ON H2%
H1% +2 OR V2% V1% +2 GOTO 710: GOSUB 110: GOTO 705
710 QH% = H2%/10:QV% = V2%/10: VTAB 23: HTAB 1: CALL -868: INVERSE : PRINT "SURVEYING SECTION ";QH%;" - ";QV%: CALL -868: NORMAL : XDRAW 4 AT H2%,V2%: XDRAW 4 AT H1%,V1%:H1% = H2%:V1% = V2%:NN = 0: GOTO 705
720 VTAB 23: HTAB 1: CALL -868: INVERSE : PRINT "CORE SAMPLE TAKEN AT ";QH%;" - ";QV%:CR = 160 -( INT( RND(1) *9 +4) *10 +30): PRINT "CORE RATING = ";CR;:CS%(QH%,QV%) = CR: NORMAL : FOR P = 1 TO 3000: NEXT : VTAB 23: CALL -958: TEXT : GOTO 420
750 HGR :M1% = SIN(0) *120 +140:MH% = M1%:M2% = COS(0) *68 +80:MV% = M2%: HPLOT M1%,M2%: FOR I = .1 TO 6.3 STEP .1: HCOLOR= 3: HPLOT MH%,MV%:MH% = SIN(I) *(110 +( RND(1) *20)) +140:MV% = COS(I) *(60 +( RND(1) *16)) +80
752 HPLOT TO MH%,MV%: HCOLOR= 2: HPLOT (MH% >140) *279,MV% TO MH%,MV%: NEXT : HPLOT TO M1%,M2%
755 HCOLOR= 3: FOR I = 1 TO 12:M1% = RND(1) *150 +70:M2% = RND(1) *70 +40: GOSUB 770: NEXT :AS = AS -1000: RETURN
768 POKE 769,2: POKE 826,10: CALL 768: RETURN
770 HPLOT M1% -10,M2% +4 TO M1% -2,M2% -2 TO M1% +4,M2% +6: HPLOT M1% +2,M2% +4 TO M1% +8,M2% -3 TO M1% +12,M2% +4: RETURN
799 END
800 GOSUB 10000: ON AO(7) <1 GOTO 965:AO(7) = AO(7) -1: POKE 232,0: POKE 233,64: SCALE= 1: ROT= 0
801 GOSUB 10000: VTAB 22: HTAB 1: CALL -868: PRINT "DRILL AT X = (0 TO 27) ";: FLASH : PRINT " ";: NORMAL
802 FOR TV = 1 TO LD *20 -YE: ON PEEK( -16384) >127 GOTO 803: NEXT TV: GOSUB 110: GOTO 802
803 TV = 0: GOSUB 768:K1 = PEEK( -16384) -128: POKE -16368,0:K1$ = CHR$(K1): ON K1$ = CHR$(8) GOTO 808: ON K1 = 13 AND AM$ = "" GOTO 809: ON K1 = 13 AND SN GOTO 805: ON K1 = 13 GOTO 804:K1 = VAL(K1$): ON ASC(K1$) <48 OR ASC(K1$) >57 GOTO 690:AM$ = AM$ +K1$: VTAB 22: HTAB 33: CALL -868: PRINT AM$: GOTO 802
804 GOSUB 10000:A1$ = AM$:AM$ = "":SN = 1: VTAB 22: HTAB 1: CALL -868: PRINT "DRILL AT Y = (0 TO 16) ";: FLASH : PRINT " ";: NORMAL : GOTO 802
805 SN = 0:A2$ = AM$:A1 = VAL(A1$):A2 = VAL(A2$): ON CS%(A1,A2) = 0 GOTO 809:Z% = 160 -CS%(A1,A2):Q% = Z%/10 *2:CS%(A1,A2) = 0: GOTO 810
808 POKE -16368,0:K1$ = "":AM$ = "": VTAB 22: HTAB 33: CALL -868: GOTO 645
809 Q% = 4:Z% = 150
810 IF A1 >27 THEN A1 = 27
811 IF A2 >16 THEN A2 = 16
815 AM$ = "": HGR : GOSUB 10000: PRINT "DRILLING AT SECTION ";A1;" - ";A2;: GOSUB 11000:D% = 41
820 FOR I = 40 TO 150 STEP 10:C% = C% +1
830 A1% = RND(1) *6: ON A1% = 0 OR A1% = 4 OR A1% = B% GOTO 830:A1%(C%) = A1%: HCOLOR= A1%(C%): FOR J = 0 TO 10 STEP 2: HPLOT 0,I +J TO 279,I +J: NEXT J:B% = A1%: NEXT I
840 X% = A1%((Z%/10) -3):Y% = 0
850 FOR G = 250 TO 40 STEP -1: GOSUB 880: FOR J = Z% TO Z% +8 STEP 2: HCOLOR= Y%: HPLOT G,J TO G -Q%,J: NEXT : HCOLOR= X%: FOR J = Z% TO Z% +8 STEP 2: HPLOT G,J: NEXT J,G
860 FOR J = Z% TO Z% +8 STEP 2: HPLOT I,J TO I -Q%,J: NEXT
870 GOTO 950
880 ON DD GOTO 910: ON O GOTO 890:O = 1:H1% = PDL(0) *279/256: XDRAW 6 AT H1%,38: RETURN
890 ON PEEK( -16287) >127 GOTO 910:V1% = PDL(0) *279/256: ON V1% >H1% +1 OR V1%
Z% AND H1% >G -Q% AND H1% 160 GOTO 950: HPLOT H1% +1,D% TO H1% +3,D%: RETURN
920 POKE 769,4: HCOLOR= 3: FOR J = 1 TO 5: FOR I = 6 TO 10: POKE 826,J *I: CALL 768: DRAW I AT H1% +1,38: DRAW I AT H1%,38: NEXT I: HCOLOR= 0: DRAW I -1 AT H1% +1,38: DRAW I -1 AT H1%,38: HCOLOR= 3: NEXT J: ON AO(8) <1 GOTO 980:AO(8) = AO(8) -1
930 IC = IC +(40 -Q%) *Z%: HCOLOR= 3: DRAW I -1 AT H1% +1,38: DRAW I -1 AT H1%,38: VTAB 21: HTAB 1: CALL -958:AS = AS -(D% *40): PRINT "COST = $";D% *40;" - PRODUCING PER MONTH$";(40 -Q%) *Z%: POKE 769,10: FOR I = 200 TO 1 STEP -2: POKE 826,I: CALL 768: NEXT :NR = NR +1
940 G = 0:DD = 0:O = 0:Z% = 0:B% = 0:Q% = 0:H1% = 0:V1% = 0:Y% = 0:C% = 0:D% = 0:X% = 0: GOTO 415
950 VTAB 21: HTAB 1: CALL -958: PRINT "DRY WELL - COST = $";D% *40: POKE 769,10: FOR J = 1 TO 100: POKE 826,J: CALL 768: NEXT :AS = AS -(D% *40)
960 GOTO 940
965 GOSUB 10000: PRINT "YOU DO NOT OWN A DRILL RIG$100 ASSESSMENT FOR NO-DRILL":AS = AS -100: GOSUB 15000: GOTO 940
980 GOSUB 10000: PRINT "YOU DO NOT OWN AN OIL RIG$1000 ASSESSMENT FOR CLEAN-UP":AS = AS -1000: GOSUB 15000: GOTO 940
999 END
1000 REM DETERMINE AMOUNT OWNED
1010 ON P1 < >1 GOTO 1020: VTAB VT: HTAB 16: PRINT " ";: VTAB VT: HTAB 16: PRINT AO(CT);: VTAB VT: HTAB 31: PRINT " ";: VTAB VT: HTAB 31: PRINT AO(CT) *BP(CT);: RETURN
1020 RETURN
4000 IF YE <1 AND MO < = 1 THEN RETURN
4005 FOR I = 1 TO 14:T = BP(I) +T: NEXT :T = 10 *T: FOR I = 1 TO 14:TT = TT +(AO(I) *BP(I)): NEXT :PE = ( INT((TT/T) *TY) +1 <100) * INT((TT/T) *TY) +1 +(( INT((TT/T) *TY) +1 >99) *99)
4010 POKE 769,PE: IF YE < = TY AND AS = >0 THEN VTAB 24: HTAB 28: PRINT "$";TT +AS;:TT = 0: RETURN
4020 IF AS <0 THEN 5000
4500 POKE 769,PE:D$ = CHR$(13) + CHR$(4): PRINT D$;"BRUN SCORE"
5000 ON AS <0 GOTO 6000
5020 VE% = RND(1) *400: ON VE% = 2 AND (AO(14) OR NR >10 OR AO(9) OR AO(11)) GOTO 7000: RETURN
6000 TEXT : HOME : POKE 769,5: FOR I = 23 TO 10 STEP -1: FOR J = 1 TO I: POKE 826,J: CALL 768: NEXT J: VTAB I: HTAB 1: PRINT "INSUFFICIENT CASH!! BANKRUPTCY DECLARED!";: VTAB I +1: HTAB 1: CALL -868: NEXT : GOTO 4500
7000 AM$ = "":K1$ = "":AM = 0:K$ = "": POKE -16368,0
7005 TEXT : HOME : FLASH : VTAB 10: HTAB 17: PRINT " ATTENTION! ": INVERSE : VTAB 12: HTAB 5: PRINT "URGENT MESSAGE FROM HEADQUARTERS!": NORMAL
7010 ON AO(14) GOTO 7050: ON NR >5 GOTO 7100: ON AO(9) GOTO 7150: ON AO(11) GOTO 7200: GOTO 7400
7050 E = 1:AO(14) = AO(14) -1:AS = AS -20000:IC = IC -1000: GOTO 7300
7100 E = 2:AS = AS -20000:IC = IC -1000:NR = NR -1: GOTO 7300
7150 AO(9) = AO(9) -1:E = 3:AS = AS -15000:IC = IC -700: GOTO 7300
7200 AO(11) = AO(11) -1:E = 4:AS = AS -17500:IC = IC -750: GOTO 7300
7300 PRINT "BLOADDISASTER";E: POKE -16302,0: POKE -16304,0: POKE -16297,0: POKE -16300,0: GOSUB 15000: GOSUB 15000: TEXT : GOTO 7500
7400 TEXT : HOME : FLASH : PRINT "DISASTER - OIL WORKERS STRIKE": NORMAL : PRINT "LOSS OF INCOME OF $2000 PER MONTH":IC = IC -2000: GOSUB 15000: GOSUB 15000
7500 POP : GOTO 415
10000 VTAB 21: HTAB 1: CALL -958: RETURN
11000 HCOLOR= 3: HPLOT 0,41: FOR H = 8 TO 270 STEP 8:V = RND(1) *10 +31: HPLOT TO H,V: NEXT : HPLOT TO 279,41: RETURN
15000 FOR P = 1 TO 2500: NEXT P: RETURN
Text found in Oil_Rig_1981_C.P.U..do/ROTATE LEFT.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 18 A9 20 85 07 A9 00 85 06 A2 20 A0 00 B1 06 2A .) ..).. ." .1.*
$000010 EA 6A 6A 91 06 88 D0 F5 E6 07 CA 30 02 D0 EE 60 jjj...Pu f.J0.Pn`
** END **
- Addeddate
- 2014-06-12 22:03:12
- Emulator
- apple2e
- Emulator_ext
- do
- Identifier
- a2_Oil_Rig_1981_C.P.U.
- Scanner
- Internet Archive Python library 0.6.5
comment
Reviews
368 Views
1 Favorite
DOWNLOAD OPTIONS
IN COLLECTIONS
The Apple II Library: Games The Software Library: Apple Computer Software Library The Emulation StationUploaded by Jason Scott on