[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