[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: German game 'Oil' or 'Öl'
On Apr 16, 1:09 am, Calibrator <calibra...@freenet.de> wrote:
> On Apr 14, 11:49 pm, Calibrator <calibra...@freenet.de> wrote:
>
>
>
> > I have a disk image of a public domain software collection
> > (Apple Portland User Group - apparently) and it contains
> > among other things a single Applesoft file called OIL.BAS
> > that fits your description. It's all English, though.
>
> > I sent the image to your email account.
>
> Bill,
>
> my mail to you bounced twice - please check.
>
> bye
> Marcus
Here is the file listing for that file. Portland was our sister group
in the early late '70's and early '80's. The program is on Disk 107
of the A.P.P.L.E. PDS Library
1 HOME
4 DEF FN DR(K) = INT(100 *K +.5)/100
40 VTAB (5)
42 PRINT "YOU HAVE JUST INHERITED AN OIL COMPANY."
50 PRINT "THIS OIL COMPANY WAS LEFT TO YOU IN A ": PRINT "WILL OF A
DISTANT UNCLE"
60 PRINT "HE WISHED THAT YOU WOULD INVEST HIS ": PRINT "MONEY WISELY
SO THAT YOU COULD KEEP"
70 PRINT "IT IN THE FAMILY.DON'T DISSAPOINT YOUR": PRINT "UNCLE BY
MAKING BAD INVESTMENTS"
80 DIM Y%(30,30),Z$(30,30)
82 DIM R(10,20)
90 REM
110 FOR I = 0 TO 10
120 FOR J = 0 TO 20
140 Z$(I,J) = "."
142 Y%(I,J) = 0
150 NEXT J
160 NEXT I
170 GOSUB 10000
190 D = 1:P = 50000:C = 2000:R = 1:G = 0:F = 0:K = 0:L = 0:O = 0:W =
1:X1 = 0
199 HOME : VTAB (5)
200 INPUT "DO YOU WANT INSTRUCTIONS? ";I$
210 IF LEFT$(I$,1) = "Y" THEN HOME : VTAB (2): GOTO 3390
220 HOME : VTAB (10): INPUT "YEARS YOU WISH TO PLAY (5-100) ? ";B5
230 REM
240 IF B5 <5 OR B5 >100 THEN 220
250 IF P < = 0 THEN 3050
260 GOSUB 10000
262 PRINT "<*> <*> <*> <*> <*> <*> <*> <*> <*>"
270 PRINT " YEAR ";D
280 PRINT TAB( 10);"ASSETS= "; FN DR(P)
290 PRINT TAB( 10);"GALLONS OF CRUDE OIL= "; INT(100 *C +.5)/100
300 PRINT TAB( 10);"REFINERIES= ";R
310 PRINT TAB( 10);"WELLS OWNED= ";W
320 REM
335 PRINT : PRINT
340 PRINT "COMMANDS ARE: "
350 PRINT "1-IMPORT OIL 2-EXPORT OIL PRODUCTS"
352 PRINT "3-BUILD REFINERIES 4-REFINE OIL"
354 PRINT "5-STORAGE REPORT 6-DRILL WELLS"
356 PRINT "7-SELL WELLS/REFINERS"
358 PRINT "8-OWNER'S STATUS 9-SELL OUT"
380 PRINT "10-PASS YEAR"
382 PRINT
390 INPUT "COMMAND ";Z:Z = INT(Z): IF Z <1 OR Z >10 THEN 390
392 HOME : VTAB (5)
400 ON Z GOTO 410,500,1160,1320,2280,2340,4650,4830,3000,4840
410 REM
420 B = INT(10 * RND(1) +10)
430 PRINT "COST OF IMPORTED OIL IS "; FN DR(B): PRINT "FOR 50
GALLONS."
432 PRINT : PRINT
440 INPUT "HOW MANY 50 GAL. BARRELS DO YOU WANT ";F7
450 F7 = INT(F7)
460 IF F7 <0 THEN 320
470 IF F7 *B >P THEN 480
475 GOTO 490
480 PRINT "YOU ONLY HAVE "; INT(100 *P +.5)/100;" DOLLARS": GOTO 440
490 C = C +(F7 *50):P = P -(F7 *B): GOTO 2720
500 REM
510 G1 = (1.25 -.38) * RND(1) +.38
520 F1 = (1 -.33) * RND(1) +.33
530 O1 = (.95 -.48) * RND(1) +.48
540 K1 = (.95 -.48) * RND(1) +.48
550 L1 = (1.25 -.58) * RND(1) +.58
560 HOME : VTAB (5)
562 PRINT "PRODUCTS"; TAB( 15);"GALLONS"; TAB( 30);"SELLING"
564 PRINT "IN STOCK"; TAB( 15);"ON HAND"; TAB( 30);"PRICE/GAL."
566 PRINT "--------"; TAB( 15);"-------"; TAB( 30);"----------"
570 PRINT : PRINT "GASOLINE"; TAB( 15); FN DR(G); TAB( 30); FN DR(G1)
572 PRINT "FUEL OIL"; TAB( 15); FN DR(F); TAB( 30); FN DR(F1)
574 PRINT "OIL PRODUCTS"; TAB( 15); FN DR(O); TAB( 30); FN DR(O1)
576 PRINT "KEROSENE"; TAB( 15); FN DR(K); TAB( 30); FN DR(K1)
578 PRINT "LUBRICANTS"; TAB( 15); FN DR(L); TAB( 30); FN DR(L1)
580 VTAB (18): PRINT " ": VTAB (18): PRINT "ASSETS
"; FN DR(P)
600 POKE 34,20
630 HOME : VTAB (21): INPUT "WHAT TO EXPORT (E TO EXIT) ? ";E$
631 HOME : VTAB (21)
632 IF LEFT$(E$,1) = "E" THEN 1150
640 IF LEFT$(E$,1) = "G" THEN 650
645 GOTO 710
650 REM
660 INPUT "HOW MUCH GASOLINE TO EXPORT ";G2
670 IF G2 < = 0 THEN 560
680 IF G2 >G THEN 690
685 GOTO 700
690 PRINT "YOU ONLY HAVE "; INT(100 *G +.5)/100;" GALLONS OF
GASOLINE": GOTO 660
700 G = G -G2:P = P +(G2 *G1): GOTO 560
710 IF LEFT$(E$,1) = "F" THEN 720
715 GOTO 780
720 REM
730 INPUT "HOW MUCH FUEL OIL TO EXPORT ";F2
740 IF F2 < = 0 THEN 560
750 IF F2 >F THEN 760
755 GOTO 770
760 PRINT "YOU ONLY HAVE "; INT(100 *F +.5)/100;" GALLONS OF FUEL
OIL"
770 F = F -F2:P = P +(F2 *F1): GOTO 560
780 IF LEFT$(E$,1) = "O" THEN 790
785 GOTO 850
790 REM
800 INPUT "HOW MUCH OIL PRODUCTS TO EXPORT ";O2
810 IF O2 < = 0 THEN 560
820 IF O2 >O THEN 830
825 GOTO 840
830 PRINT "YOU ONLY HAVE "; INT(100 *O +.5)/100;" GALLONS OF OIL
PRODUCTS": GOTO 800
840 O = O -O2:P = P +(O2 *O1): GOTO 560
850 IF LEFT$(E$,1) = "K" THEN 860
855 GOTO 920
860 REM
870 INPUT "HOW MUCH KEROSENE TO EXPORT ";K2
880 IF K2 < = 0 THEN 560
890 IF K2 >K THEN 900
895 GOTO 910
900 PRINT "YOU ONLY HAVE "; INT(100 *K +.5)/100;" GALLONS OF
KEROSENE": GOTO 870
910 K = K -K2:P = P +(K2 *K1): GOTO 560
920 IF LEFT$(E$,1) = "L" THEN 930
925 GOTO 1000
930 REM
940 INPUT "HOW MUCH LUBRICANTS TO EXPORT ";L2
950 IF L2 < = 0 THEN 560
960 IF L2 >L THEN 970
965 GOTO 980
970 PRINT "YOU ONLY HAVE "; INT(100 *L +.5)/100;" GALLONS OF
LUBRICANT": GOTO 940
980 L = L -L2:P = P +(L2 *L1): GOTO 560
990 PRINT "THE PRODUCTS YOU CAN EXPORT ARE:"
1000 PRINT "GASOLINE,FUEL,OIL,OIL PRODUCTS,KEROSENE,AND LUBRICANTS"
1010 GOTO 560
1020 PRINT "THE PRODUCTS IN STOCK ARE:"
1030 PRINT TAB( 10);" GASOLINE "; INT(100 *G +.5)/100;" GALLONS"
1040 PRINT TAB( 10);" FUEL OIL "; INT(100 *F +.5)/100;" GALLONS"
1050 PRINT TAB( 10);" OIL PRODUCTS "; INT(100 *O +.5)/100;" GALLONS"
1060 PRINT TAB( 10);" KEROSENE "; INT(100 *K +.5)/100;" GALLONS"
1070 PRINT TAB( 10);" LUBRICANTS "; INT(100 *L +.5)/100;" GALLONS"
1080 GOTO 560
1090 PRINT TAB( 10);" GASOLINE "; INT(100 *G1 +.5)/100
1100 PRINT TAB( 10);"FUEL OIL "; INT(100 *F1 +.5)/100
1110 PRINT TAB( 10);"OIL PRODUCTS "; INT(100 *O1 +.5)/100
1120 PRINT TAB( 10);"KEROSENE "; INT(100 *K1 +.5)/100
1130 PRINT TAB( 10);"LUBRICANTS "; INT(100 *L1 +.5)/100
1140 GOTO 560
1150 GOTO 2720
1160 REM
1170 R1 = INT(50000 -30000) * RND(1) +30000
1180 PRINT "THE PRICE OF A REFINERY IS "; INT(100 *R1 +.5)/100
1190 INPUT "DO YOU WANT TO BUILD A REFINERY ";R$
1200 IF LEFT$(R$,1) = "Y" THEN 1240
1210 IF LEFT$(R$,1) = "N" THEN 320
1220 PRINT "I NEED (YES OR NO)"
1230 GOTO 1190
1240 INPUT "HOW MANY REFINERIES TO BUILD ";R2
1250 IF R2 <0 OR R2 < > INT(R2) THEN 1260
1255 GOTO 1280
1260 PRINT "YOU HAVE TO BUY EITHER 0 OR ANY WHOLE NUMBER OF
REFINERIES"
1270 GOTO 1240
1280 IF R2 *R1 >P THEN 1290
1285 GOTO 1310
1290 PRINT "YOU ONLY HAVE "; FN DR(P);" DOLLARS"
1300 GOTO 1240
1310 P = P -(R2 *R1):R = R +R2: GOTO 2720
1320 X1 = 0: REM INITALIZE CAPACITY FOR YEAR.
1330 G3 = .5 * RND(1) +.5
1340 F3 = .3 * RND(1) +.45
1350 O3 = .1 * RND(1) +.6
1360 L3 = .3 * RND(1) +.7
1370 K3 = .1 * RND(1) +.6
1380 REM
1400 VTAB (2)
1414 PRINT : PRINT : PRINT "YOUR COST TO REFINE CRUDE OIL/GAL.":
PRINT
1415 PRINT "GASOLINE "; TAB( 15); FN DR(G3)
1416 PRINT "FUEL OIL "; TAB( 15); FN DR(F3)
1417 PRINT "OIL PRODUCTS "; TAB( 15); FN DR(O3)
1418 PRINT "KEROSENE "; TAB( 15); FN DR(K3): PRINT "LUBRICANTS ";
TAB( 15); FN DR(L3)
1420 VTAB (16): PRINT " ": VTAB (16): PRINT
"ASSETS "; FN DR(P)
1422 VTAB (18): PRINT " ": VTAB (18): PRINT
"CRUDE OIL "; FN DR(C)
1430 ON R3 GOTO 1440,2180,2240,2270
1440 POKE 34,20: HOME : VTAB (21): INPUT "WHAT DO YOU WISH TO REFINE
(E TO EXIT)";A$
1442 HOME : IF LEFT$(A$,1) = "E" THEN 2270
1450 IF LEFT$(A$,1) = "G" THEN 1460
1455 GOTO 1590
1460 REM
1470 INPUT "HOW MUCH GASOLINE TO REFINE ";G4
1480 G4 = INT(G4)
1500 IF G4 >C THEN 1510
1505 GOTO 1520
1510 PRINT "YOU ONLY HAVE "; INT(100 *C +.5)/100;
1512 PRINT "GALLONS OF CRUDE OIL ": GOTO 1470
1520 IF G4/125000 >R THEN 1530
1525 GOTO 1540
1530 PRINT "THAT IS TOO MUCH CRUDE OIL FOR "
1532 PRINT "YOUR REFINERIES ": GOTO 1470
1540 IF G4 *G3 >P THEN 1550
1545 GOTO 1560
1550 PRINT "YOU DON'T HAVE ENOUGH MONEY ": GOTO 1470
1560 IF (X1 +G4)/125000 >R THEN 1570
1565 GOTO 1580
1570 PRINT "YOU CAN REFINE ";(R *125000) -X1;" GALS ": GOTO 1470
1580 G = G +(G4 -(G4 *.03)):G = INT(G):P = P -(G4 *G3):C = C -G4:X1 =
X1 +G4: GOTO 1380
1590 IF LEFT$(A$,1) = "F" THEN 1600
1595 GOTO 1730
1600 REM
1610 INPUT "HOW MUCH FUEL OIL TO REFINE ";F4
1620 F4 = INT(F4)
1630 IF F4 < = 0 THEN 1380
1640 IF F4 >C THEN 1650
1645 GOTO 1660
1650 PRINT "YOU ONLY HAVE "; INT(100 *C +.5)/100;" GALS OF CRUDE "
1655 GOTO 1610
1660 IF F4/125000 >R THEN 1670
1665 GOTO 1680
1670 PRINT "THAT IS TOO MUCH CRUDE OIL FOR YOUR "
1672 PRINT "REFINERIES ": GOTO 1610
1680 IF F4 *F3 >P THEN 1690
1685 GOTO 1700
1690 PRINT "YOU DON'T HAVE ENOUGH MONEY ": GOTO 1610
1700 IF (X1 +F4)/125000 >R THEN 1710
1705 GOTO 1720
1710 PRINT "YOU CAN REFINE ";(R +125000) -X1;" GALS ": GOTO 1610
1720 F = F +(F4 -(F4 *.03)):F = INT(F):P = P -(F4 *F3):C = C -F4:X1 =
X1 +F4: GOTO 1380
1730 IF LEFT$(A$,1) = "O" THEN 1740
1735 GOTO 1870
1740 REM
1750 INPUT "HOW MUCH OIL PRODUCTS TO REFINE ";O4
1760 O4 = INT(O4)
1770 IF O4 < = 0 THEN 1380
1780 IF O4 >C THEN 1790
1785 GOTO 1800
1790 PRINT "YOU ONLY HAVE "; INT(100 *C +.5)/100;" GALLONS OF CRUDE
OIL": GOTO 1750
1800 IF O4/125000 >R THEN 1810
1805 GOTO 1820
1810 PRINT "THAT IS TOO MUCH CRUDE OIL FOR YOUR REFINERIES ": GOTO
1750
1820 IF O4 *O3 >P THEN 1830
1825 GOTO 1840
1830 PRINT "YOU DON'T HAVE ENOUGH MONEY": GOTO 1750
1840 IF (X1 +O4)/125000 >R THEN 1850
1845 GOTO 1860
1850 PRINT "YOU CAN REFINE ";(R *125000) -X1;" GALLONS": GOTO 1750
1860 O = O +(O4 -(O4 *.03)):O = INT(O):P = P -(O4 *O3):C = C -O4:X1 =
X1 +O4: GOTO 1380
1870 IF LEFT$(A$,1) = "K" THEN 1880
1875 GOTO 2010
1880 REM
1890 INPUT "HOW MUCH KEROSENE TO REFINE ";K4
1900 K4 = INT(K4)
1910 IF K4 < = 0 THEN 1380
1920 IF K4 >C THEN 1930
1925 GOTO 1940
1930 PRINT "YOU ONLY HAVE "; INT(100 *C +.5) PRINT 100" GALLONS OF
CRUDE OIL": GOTO 1890
1940 IF K4/125000 >R THEN 1950
1945 GOTO 1960
1950 PRINT "THAT IS TOO MUCH CRUDE OIL FOR YOUR REFINERIES": GOTO
1890
1960 IF K4 *K3 >P THEN 1970
1965 GOTO 1980
1970 PRINT "YOU DON'T HAVE ENOUGH MONEY": GOTO 1890
1980 IF (X1 +K4)/125000 >R THEN 1990
1985 GOTO 2000
1990 PRINT "YOU CAN REFINE ";(R *125000) -X1;" GALLONS": GOTO 1890
2000 K = K +(K4 -(K4 *.03)):K = INT(K):P = P -(K4 *K3):C = C -K4:X1 =
X1 +K4: GOTO 1380
2010 IF LEFT$(A$,1) = "L" THEN 2020
2015 GOTO 2150
2020 REM
2030 INPUT "HOW MUCH LUBRICANTS TO REFINE ";L4
2040 L4 = INT(L4)
2050 IF L4 < = 0 THEN 1380
2060 IF L4 >C THEN 2070
2065 GOTO 2080
2070 PRINT "YOU ONLY HAVE "; INT(100 *C +.5)/100" GALLONS OF CRUDE
OIL": GOTO 2030
2080 IF L4/125000 >R THEN 2090
2085 GOTO 2100
2090 PRINT "THAT IS TOO MUCH FOR YOUR REFINERIES": GOTO 2030
2100 IF L4 *L3 >P THEN 2110
2105 GOTO 2120
2110 PRINT "YOU DON'T HAVE ENOUGH MONEY": GOTO 2030
2120 IF (X1 +L4)/125000 >R THEN 2130
2125 GOTO 2140
2130 PRINT "YOU CAN REFINE ";(R *125000) -X1;" GALLONS": GOTO 2030
2140 L = L +(L4 -(L4 *.03)):L = INT(L):P = P -(L4 *L3):C = C -L4:X1 =
X1 +L4: GOTO 1380
2150 PRINT "THE PRODUCTS YOU CAN REFINE ARE*"
2160 PRINT "GASOLINE,FUEL OIL,OIL PRODUCTS"
2162 PRINT "KEROSENE, AND LUBRICANTS"
2170 GOTO 1440
2240 PRINT "ASSETS=$"; INT(100 *P +.5)/100
2250 PRINT "CRUDE OIL="; INT(100 *C +.5)/100;" GALLONS"
2260 GOTO 1380
2270 GOTO 2720
2280 PRINT "GASOLINE "; TAB( 15); FN DR(G)
2290 PRINT "FUEL OIL"; TAB( 15); FN DR(F)
2300 PRINT "OIL PRODUCTS" TAB( 15); FN DR(O)
2310 PRINT "KEROSENE"; TAB( 15); FN DR(K)
2320 PRINT "LUBRICANTS"; TAB( 15); FN DR(L)
2330 GOTO 320
2340 HOME
2342 MR = 8
2350 VTAB (6): FOR I = 1 TO 10: HTAB (MR +1): FOR J = 1 TO 20: PRINT Z
$(I,J);: NEXT J: PRINT : NEXT I
2360 PRINT
2370 POKE 34,20: VTAB (21)
2380 VTAB (19): PRINT " ": VTAB (19): PRINT
"ASSETS "; FN DR(P): HOME : VTAB (22): INPUT "WHERE DO YOU WANT TO
DRILL ";I,J
2390 IF I >10 OR J >20 OR I <1 OR J <1 THEN 2400
2395 GOTO 2410
2400 PRINT "I NEED 2 WHOLE NUMBERS THE 1ST (1-10)"
2402 PRINT "THE 2ND (1-20)": GOTO 2380
2410 I = INT(I):J = INT(J): IF W9 = 200 THEN 2990
2420 IF Z$(I,J) = "." THEN Z = INT(3 * RND(1) +1): ON Z GOTO
2590,2540,2490
2430 VTAB (18): PRINT "YOU ALREADY DRILLED ": PRINT "ASSETS "; FN
DR(P): GOTO 2380
2440 VTAB (18): PRINT "OIL FOUND AT 2000 FEET":P = P -2000: PRINT
"ASSETS "; FN DR(P)
2450 IF P <0 THEN 2460
2455 GOTO 2470
2460 P = 0: VTAB (21): PRINT "YOU RAN OUT OF MONEY": GOSUB 10000: GOTO
2720
2470 REM
2480 Z$(I,J) = "#": GOTO 2640
2490 VTAB (18): PRINT "OIL FOUND AT 4000 FEET":P = P -4000: PRINT
"ASSETS "; FN DR(P)
2500 IF P <0 THEN 2510
2505 GOTO 2520
2510 P = 0: VTAB (21): PRINT "YOU RAN OUT OF MONEY": GOSUB 10000: GOTO
2720
2520 REM
2530 Z$(I,J) = "#": GOTO 2640
2540 VTAB (18): PRINT "OIL FOUND AT 6000 FEET":P = P -6000: PRINT
"ASSETS "; FN DR(P)
2550 IF P <0 THEN 2560
2555 GOTO 2570
2560 P = 0: VTAB (21): PRINT "YOU RAN OUT OF MONEY": GOSUB 10000: GOTO
2720
2570 REM
2580 Z$(I,J) = "#": GOTO 2640
2590 VTAB (18): PRINT "NO OIL FOUND HERE ":P = P -6000: PRINT
"ASSETS "; FN DR(P)
2600 IF P <0 THEN 2610
2605 GOTO 2620
2610 P = 0: VTAB (21): PRINT "YOU RAN OUT OF MONEY": GOSUB 10000: GOTO
2720
2620 REM
2630 Z$(I,J) = "^": GOTO 2650: REM NO OIL
2640 W = W +1
2650 W9 = W9 +1
2655 VTAB (19): PRINT " ": VTAB (19): PRINT
"ASSETS "; FN DR(P)
2660 VTAB (I +5): HTAB (J +MR): PRINT Z$(I,J): HOME : VTAB (22):
INPUT "DO YOU WANT TO DRILL AGAIN ";D$
2670 IF LEFT$(D$,1) = "Y" OR LEFT$(D$,1) = "N" THEN 2680
2675 GOTO 2660
2680 IF LEFT$(D$,1) = "Y" THEN 2380
2690 GOTO 2720
2700 IF LEFT$(Y9$,1) = "1" THEN 2720
2705 GOTO 2710
2710 IF LEFT$(Y9$,1) = "2" THEN 320
2715 GOTO 2690
2720 TEXT : HOME : VTAB (5)
2730 U = INT(60 * RND(1))
2740 IF U = 50 THEN 2750
2745 GOTO 2760
2750 R = R *.75:R = INT(R): GOTO 2780
2760 IF U = 40 THEN 2770
2765 GOTO 2810
2770 P = P *.5:P = INT(P): GOTO 2790
2780 PRINT "REFINERIES EXPLODE ";R;" REFINERIES"
2782 PRINT "LEFT ": GOTO 2890
2790 PRINT "BAD INVESTMENT "; INT(100 *P +.5)/100;" DOLLARS LEFT"
2800 GOTO 2890
2810 IF U = 30 THEN 2820
2815 GOTO 2840
2820 PRINT "OIL SPILL ";C *.75;" GALLONS OF CRUDE"
2830 C = C -(C *.75): GOTO 2890
2840 IF U = 20 THEN 2850
2845 GOTO 2860
2850 WD = INT(W *.5 +1): PRINT "FIRE DAMAGE! ";WD;" WELLS
DESTROYED":W = W -WD
2851 CT = 1
2852 FOR I = 1 TO 10: FOR J = 1 TO 20: IF Z$(I,J) = "#" THEN Z$(I,J)
= "-":CT = CT +1
2854 IF CT >WD THEN GOTO 2890
2856 NEXT J: NEXT I: GOTO 2890
2860 IF U = 10 THEN 2870
2865 GOTO 2890
2870 PRINT "STORAGE FIRE! HALF OF ALL PRODUCTS "
2872 PRINT "IN STORAGE ARE DESTOYED"
2880 G = G/2:F = F/2:L = L/2:K = K/2:O = O/2
2890 D = D +1:X1 = 0
2900 IF W >0 THEN PRINT "ROYALTIES COME IN!!!!"
2905 IF W < = 0 THEN 2970
2910 REM
2920 W1 = INT(1000 -100) * RND(1) +100:C5 = INT(1000 -100) * RND(1)
+100
2930 W1 = INT(W1):C5 = INT(C5)
2940 P = P +(W *W1):C = C +(C5 *W)
2950 PRINT "YOU RECEIVE "; INT(100 *W *W1 +.5)/100;" DOLLARS"
2960 PRINT "YOU RECEIVE " INT(100 *C5 *W +.5)/100;" GALS.OF CRUDE
OIL"
2970 IF W9 = 200 OR D = B5 OR P = 0 THEN 2990
2975 GOTO 2980
2980 G = INT(G):F = INT(F):O = INT(O):K = INT(K):L = INT(L):W =
INT(W): GOTO 250
2990 PRINT "GAME OVER": GOTO 3050
3000 INPUT "SURE??????? ";M9$
3010 IF LEFT$(M9$,1) = "Y" THEN HOME : VTAB (5): GOTO 3030
3020 IF LEFT$(M9$,1) = "N" THEN 320
3030 PRINT "SOLD OUT FOR "; INT(100 *(W +P +C +R) *1.5 +.5)/100;"
DOLLARS"
3032 PRINT : PRINT
3040 P = P +((W +P +C +R) *1.5)
3050 PRINT "***********OWNING CERTIFICATE**********"
3060 PRINT "YEARS LASTED ";D;" WELLS OWNED ";W
3070 PRINT "ASSETS=$" INT(100 *P +.5)/100
3080 PRINT "CRUDE OIL="; INT(100 *C +.5)/100;" GALLONS"
3090 PRINT "REFINERIES=";R
3100 PRINT "GASOLINE="; INT(100 *G +.5)/100;" GALLONS"
3110 PRINT "FUEL OIL="; INT(100 *F +.5)/100;" GALLONS"
3120 PRINT "OIL PRODUCTS="; INT(100 *O +.5)/100;" GALLONS"
3130 PRINT "KEROSENE="; INT(100 *K +.5)/100;" GALLONS"
3140 PRINT "LUBRICANTS="; INT(100 *L +.5)/100;" GALLONS"
3150 Q3 = (((P +C)/5000) +((W +R) *.1) *(D/B5 *200))
3160 IF Q3 > = 486.5 THEN 3170
3165 GOTO 3180
3170 R9 = 10: GOTO 3370
3180 IF Q3 > = 437.85 THEN 3190
3185 GOTO 3200
3190 R9 = 9: GOTO 3370
3200 IF Q3 > = 389.2 THEN 3210
3205 GOTO 3220
3210 R9 = 8: GOTO 3370
3220 IF Q3 > = 340.55 THEN 3230
3225 GOTO 3240
3230 R9 = 7: GOTO 3370
3240 IF Q3 > = 291.9 THEN 3250
3245 GOTO 3260
3250 R9 = 6: GOTO 3370
3260 IF Q3 > = 243.25 THEN 3270
3265 GOTO 3280
3270 R9 = 5: GOTO 3370
3280 IF Q3 > = 194.6 THEN 3290
3285 GOTO 3300
3290 R9 = 4: GOTO 3370
3300 IF Q3 > = 145.95 THEN 3310
3305 GOTO 3320
3310 R9 = 3: GOTO 3370
3315 GOTO 3320
3320 IF Q3 > = 97.3 THEN 3330
3325 GOTO 3340
3330 R9 = 2: GOTO 3370
3340 IF Q3 > = 48.65 THEN 3350
3345 GOTO 3360
3350 R9 = 1: GOTO 3370
3360 R9 = 0
3370 PRINT : PRINT : PRINT "RATING (0 BAD) -(10 PERFECT) ";R9
3380 GOTO 4860
3390 PRINT " COMMAND-1"
3400 PRINT "ALLOWS YOU TO PURCHASE IMPORTED CRUDE"
3402 PRINT "OIL AT A PRICE BETWEEN $10 AND $20"
3404 PRINT "PER 50 GALLON BARREL"
3410 PRINT
3430 PRINT " COMMAND-2"
3440 PRINT "ALLOWS YOU TO EXPORT YOUR REFINED PROD."
3450 PRINT "NAMELY:"
3452 PRINT "GASOLINE SELLING BETWEEN $.38 AND$1.25/G"
3460 PRINT "FUEL OIL SELLING BETWEEN $.33 AND$1/GAL"
3470 PRINT "OIL PRODUCTS SELLING FROM $.48 TO $.95
3480 PRINT "KEROSENE SELLING BETWEEN $48 AND $.95/G"
3490 PRINT "LUBRICANTS SELLING FROM $.58 TO $1.25"
3500 PRINT
3510 PRINT " SUGGESTIONS"
3520 PRINT "CONSIDERATION SHOULD BE GIVEN TO"
3530 PRINT "EXPORTING A PRODUCT WHEN ITS PRICE IS "
3532 PRINT "HIGH"
3540 GOSUB 10000
3550 PRINT "WHEN ASKED FOR AN EXPORTING COMMAND "
3552 PRINT "YOU MUST RESPOND WITH :"
3554 PRINT "THE NAME OF THE PRODUCT TO BE EXPORTED."
3556 PRINT "YOU MAY JUST INPUT THE FIRST LETTER"
3558 PRINT "OF THE PRODUCT. E.G., 'K' FOR KEROSENE"
3560 PRINT : PRINT "THEN YOU WILL BE ASKED FOR THE AMOUNT"
3562 PRINT "IN GALLONS TO BE EXPORTED."
4000 PRINT : PRINT
4010 PRINT " COMMAND 3"
4020 PRINT "ALLOWS YOU TO BUILD REFINERIES."
4030 PRINT "THE COST OF A REFINERY RANGES FROM": PRINT "$ 30,000 TO $
50,000"
4040 GOSUB 10000
4050 PRINT " COMMAND 4"
4060 PRINT "ALLOWS YOU TO REFINE YOUR CRUDE OIL": PRINT "INTO THE
FOLLOWING PRODUCTS:"
4070 PRINT "PRODUCT COST/GAL"
4072 PRINT "GASOLINE .50 TO 1.00"
4080 PRINT "FUEL OIL .45 TO .75"
4090 PRINT "OIL PRODUCTS .60 TO .70"
4092 PRINT "KEROSENE .60 TO .70"
4094 PRINT "LUBRICANTS .70 TO 1.00"
4096 PRINT : PRINT "WHEN ASKED FOR WHAT YOU WANT TO REFINE"
4097 PRINT "YOU CAN JUST INPUT THE FIRST LETTER"
4098 PRINT "FOR EXAMPLE, 'G' FOR GASOLINE"
4100 GOSUB 10000
4110 PRINT "COMMMAND 5"
4120 PRINT "GIVES A STORAGE REPORT WITHOUT LOSING "
4220 PRINT "A YEAR. USUALLY YOU CAN ONLY DO ONE"
4230 PRINT "COMMAND PER YEAR."
4240 PRINT : PRINT "COMMAND 6"
4242 PRINT "ALLOWS YOU TO DRILL WELLS. YOU WILL"
4244 PRINT "SEE A GRID. YOU CAN DRILL ANY WHERE"
4246 PRINT "A '.' APPEARS IN THE GRID BY INPUTING"
4248 PRINT "THE COORDINATES. FOR EXAMPLE 1,2 WILL"
4250 PRINT "DRILL '1' DOWN AND '2' FROM THE LEFT"
4252 PRINT "IT COST MONEY TO DRILL. EVEN IF YOU "
4254 PRINT "HIT A DRY HOLE."
4256 PRINT : PRINT " '#' IS A WELL."
4258 PRINT " '^' A DRY HOLE."
4260 PRINT " '-' A DESTROYED WELL."
4300 GOSUB 10000
4310 PRINT "COMMAND 8"
4320 PRINT : PRINT "THIS ALLOWS YOU TO RETURN TO THE"
4321 PRINT "STATUS REPORT AFTER USING COMMANE 5"
4322 PRINT "FOR A STORAGE REPORT. NOT USED FOR "
4324 PRINT "ANYTHING ELSE"
4600 GOSUB 10000: GOTO 220
4650 INPUT "DO YOU WANT TO SELL REFINERIES OR WELLS ";Z5$
4660 Z5$ = LEFT$(Z5$,1): IF Z5$ = "R" THEN 4680
4662 IF Z5$ = "W" THEN 4750
4664 GOTO 320
4670 IF LEFT$(Z5$,1) = "W" THEN 4750
4675 GOTO 4650
4690 X3 = INT(10000) * RND(1) +20000
4700 PRINT "THE SELLING PRICE OF A REFINERY IS ": PRINT INT(100 *X3
+.5)/100
4710 INPUT "HOW MANY REFINERIES TO SELL ";H
4720 IF H >R THEN PRINT "YOU HAVE ";R;" REFINERIES"
4722 GOTO 4700
4730 P = P +(H *X3)
4740 R = R -H: GOTO 2720
4750 REM
4760 X5 = 4500 * RND(1) +500
4770 PRINT "THE SELLING PRICE OF A WELL IS ": PRINT INT(100 *X5 +.5)/
100
4780 INPUT "HOW MANY WELLS TO SELL ";H1
4790 IF H1 >W THEN PRINT "YOU HAVE ";W;" WELLS": GOTO 4770
4800 P = P +(X5 *H1)
4810 W = W -H1: GOTO 2720
4820 GOTO 260
4830 GOTO 260
4840 GOTO 2720
4850 RESUME
4860 END
10000 REM END OF PAGE
10010 VTAB (22): PRINT "(HIT ANY KEY TO CONTINUE)": GET AR$: HOME :
VTAB (5): RETURN
11000 REM THIS PROGRAM IS CONSIDERED PUBLIC DOMAIN
11001 REM DISTRIBUTED BY APPLE-PORTLAND
11002 REM PERMISSON TO REPRODUCE IS GRANTED AS LONG AS THE
IDENTIFING REM'S ARE RETAINED
30000 END