3 REM WHEELS: AUTO PURCHASE AND MAINTENANCE SYSTEM 4 REM 8 REM 9 REM 10 DIM G(29),H(29),I(29),J(29) 20 DIM M(15),N(15),P(15),Q(15),A(29),B(29),C(29),D(29),E(29),F(29) 21 RANDOMIZE 22 Z8=20 27 PRINT 29 IF A$<>'' THEN 2370 30 FOR J=1 TO 14 40 READ J,M(J),N(J),P(J),Q(J) 50 NEXT J 60 FOR K=1 TO 29 70 READ K,A(K),B(K),C(K),D(K),E(K),F(K),G(K),H(K),I(K),J(K) 80 NEXT K 83 IF A$<>'' THEN 2370 85 X=1 90 GOSUB 1980 91 IF K9<>1 THEN 420 100 PRINT'WELCOME TO THE QUICKIE COMPUTER CAR CHOOSING PARLOR' 110 PRINT'***************************************************' 120 PRINT 130 PRINT'SO YOU WANT TO BUY A CAR. WELL, MAYBE I CAN HELP YOU TO' 140 PRINT'MAKE A GOOD CHOICE.' 162 IF A$<>'' THEN 2370 300 PRINT'DO YOU NEED INSTRUCTIONS? TYPE 1 FOR YES, 0 FOR NO.'; 310 INPUT Z 320 IF Z=1 THEN 370 330 IF Z=0 THEN 420 340 PRINT'I SAID 1 OR 0, NOTHING MORE, NOTHING LESS,' 350 PRINT'NOTHING ELSE. TRY AGAION.' 360 GOTO 300 370 PRINT'YOUR SHOULD HAVE BEEN GIVEN A ROLE NUMBER' 380 PRINT'FORM 1 TO 15 AND ALSO A CAR DESCRIPTION' 390 PRINT'SHEET. WHEN I ASK YOU, ENTER YOUR ROLE' 400 PRINT'NUMBER FOLLOWED BY A COMMA AND THEN THE' 410 PRINT'CAR NUMBER OF YOUR CHOICE.' 420 PRINT'ENTER ROLE NUMBER, COMMA AND CAR CHOICE NOW.'; 430 INPUT R,I 436 IF A$<>'' THEN 2370 440 IF R=15 THEN 930 450 IF R=INT(R) THEN 470 460 GOTO 580 470 IF R>0 THEN 490 480 GOTO 580 490 IF R<15 THEN 510 500 GOTO 600 510 IF I=INT(I) THEN 530 520 GOTO 580 530 IF I>0 THEN 550 540 GOTO 580 550 IF I<30 THEN 620 560 PRINT"THERE AREN'T THAT MANY CARS, KNUCKLEHEAD. TRY AGAIN.' 570 GOTO 420 580 PRINT"ENTRIES MUST BE POSITIVE WHOLE NUMBERS. TRY AGAIN." 590 GOTO 420 600 PRINT'THERE ARE ONLY 15 ROLES. TRY ONE OF THEM, INSTEAD.' 610 GOTO 420 620 PRINT 630 PRINT'ROLE NUMBER'R'CAR NUMBER'I 633 IF A$<>'' THEN 2370 640 PRINT'REPORT FOR MONTH NUMBER'K9 650 PRINT 660 X1=INT(M(R)+200*RND(X)) 670 X2=INT(A(I)*X1+.5) 680 PRINT'YOU DROVE'X1'MILES THIS MONTH.' 690 PRINT'RUNNING EXPENSES (GAS, OIL, WEAR, ETC. ) AMOUNT TO $'X2 700 PRINT 710 PRINT'MAJOR REPAIRS REPORT' 720 PRINT'***** ******* ******' 730 GOSUB 1150 740 PRINT 750 PRINT'ACCIDENT REPORT' 760 PRINT'******** ******' 770 GOSUB 1680 780 PRINT 790 PRINT'UNEXPECTED EVENTS' 800 PRINT'********** ******' 810 GOSUB 2300 820 PRINT 821 GOTO 910 830 PRINT'WHAT WAS YOUR TOTAL INCOME THIS MONTH ? ENTER' 840 PRINT'AMOUNT IN DOLLARS.'; 850 INPUT T3 860 PRINT'WHAT WAS THE TOTAL OF YOUR EXPENSE ? ENTER THE ' 870 PRINT'AMOUNT IN DOLLARS.'; 880 INPUT T4 890 PRINT'YOU SPENT'INT(T4/T3*100+.5)'PER CENT OF YOUR INCOME' 900 PRINT'THIS MONTH.' 910 PRINT'TRY HARDER NEXT MONTH. GOOD-BYE FOR NOW.' 920 GOTO 90 930 PRINT'YOU ARE NOT PLAYING ONE OF THE 14 ASSIGNED ROLES, SO' 940 PRINT'I MUST KNOW ABOUT HOW MANY MILES YOU EXPECT TO DRIVE' 950 PRINT'THIS MONTH. ENTER AN ESTIMATE OF HOW MANY MILES AS A' 960 PRINT'POSITIVE WHOLE NUMBER.'; 970 INPUT M3 978 IF A$<>'' THEN 2370 980 IF M3=INT(M3) THEN 1000 990 GOTO 1010 1000 IF M3>0 THEN 1030 1010 PRINT'I SAID POSITIVE WHOLE NUMBER. BE NICE NOW.' 1020 GOTO 930 1030 M(15)=M3-100 1040 N(15)=70 1050 P(15)=20 1060 Q(15)=2 1070 IF I=INT(I) THEN 1090 1080 GOTO 1120 1090 IF I>0 THEN 1110 1100 GOTO 1120 1110 IF I<30 THEN 620 1120 PRINT'YOU GOOFED ON YOUR ENTRY. TRY AGAIN.' 1130 GOTO 420 1150 A5=INT(90*RND(X)+1) 1160 K8=0 1170 FOR T=1 TO 9 1180 A6=INT(100*RND(X)+1) 1190 IF A5>A6 THEN 1210 1200 GOTO 1580 1210 ON T GOTO 1220,1260,1300,1340,1380,1420,1460,1500,1540 1220 IF A5<=A6+B(I) THEN 1240 1230 GOTO 1580 1240 PRINT'EXHAUST SYSTEM NEEDS REPAIR. COST = $'30+INT(31*RND) 1250 GOTO 1570 1260 IF A5<=A6+D(I) THEN 1280 1270 GOTO 1580 1280 PRINT'YOUR BRRAKES GAVE OUT. REPAIRS COST $'35+INT(36*RND) 1290 GOTO 1570 1300 IF A5<=A6+D(I) THEN 1320 1310 GOTO 1580 1320 PRINT'TRANSMISSION ON BUM. BILL AMOUNTS TO $'100*INT(201*RND) 1330 GOTO 1570 1340 IF A5<=A6+E(I) THEN 1360 1350 GOTO 1580 1360 PRINT'BODY EXTERIOR NEEDS SPRUCING UP. COST = $'50+INT(151*RND) 1370 GOTO 1570 1380 IF A5<=A6+F(I) THEN 1400 1390 GOTO 1580 1400 PRINT'MECHANICAL PROBLEMS IN ENGINE. BILL = $'60+INT(141*RND) 1410 GOTO 1570 1420 IF A5<=A6+G(I) THEN 1440 1430 GOTO 1580 1440 PRINT'ELECTRICAL SYSTEM NEEDS REPAIR. COST $'30+INT(71*RND) 1450 GOTO 1570 1460 IF A5<=A6+H(I) THEN 1480 1470 GOTO 1570 1480 PRINT'DRIVE LINE PROBLEMS. THIS WILL COST $'100+INT(101*RND) 1490 GOTO 1570 1500 IF A5<=A6+I(I) THEN 1520 1510 GOTO 1580 1520 PRINT 'FUEL SYSTEM DIFFUCULTIES. TOTAL BILL $'10+INT(51*RND) 1530 GOTO 1570 1540 IF A5<=A6+J(I) THEN 1560 1550 GOTO 1580 1560 PRINT'SUSPENSION SYSTEM TROUBLE. COST = $'15+INT(86*RND) 1570 K8=K8+1 1580 NEXT T 1590 IF K8>0 THEN 1670 1600 Z2=INT(3*RND+1) 1610 ON Z2 GOTO 1620,1640,1660 1620 PRINT'NO MAJOR REPAIRS THIS MONTH.' 1630 GOTO 1670 1640 PRINT"YOU'RE IN LUCK. NO MAJOR REPAIRS NEEDED." 1650 GOTO 1670 1660 PRINT'NOTHING NEEDS FIXING. THINGS O.K. THIS MONTH.' 1670 RETURN 1680 REM 1690 K6=0 1700 FOR L= 1 TO 3 1705 A3=INT(1000*RND(X)+1) 1710 A4=INT(1000*RND(X)+1) 1720 IF A3>A4 THEN 1740 1730 GOTO 1880 1740 ON L GOTO 1750,1790,1830 1750 IF A3<=A4+N(R) THEN 1770 1760 GOTO 1880 1770 PRINT'YOU HAVE BEEN IN A FENDER-BENDER. COST = $'10+INT(66*RND) 1780 GOTO 1870 1790 IF A3<=A4+P(R) THEN 1810 1800 GOTO 1880 1810 PRINT'YOU HAD AN ACCIDENT WITH DAMAGE $'100+INT(201*RND) 1811 PRINT'YOUR INSURANCE RATE GOES UP 25 PER CENT.' 1820 GOTO 1870 1830 IF A3<=A4+Q(R) THEN 1850 1840 GOTO 1880 1850 PRINT'OH. OH. BAD ACCIDENT. DAMAGE TO CAT = $'300+INT(401*RND) 1860 PRINT'AS A RESULT, YOUR INSURANCE GOES UP 50 PER CENT.' 1870 K6=K6+1 1880 NEXT L 1890 IF K6>0 THEN 1970 1900 Z3=INT(3*RND+1) 1910 ON Z3 GOTO 1920,1940,1960 1920 PRINT'NO ACCIDENTS. THANK GOODNESS.' 1930 GOTO 1970 1940 PRINT'IT MUST BE YOUR CAREFUL DRIVING OR LUCK. NO ACCIDENTS.' 1950 GOTO 1970 1960 PRINT'NO ACCIDENTS THIS MONTH, NOT EVEN A LITTLE DENT.' 1970 RETURN 1980 PRINT'TYPE MONTH NUMBER 1-12'; 2000 INPUT K9 2005 IF K9=999 THEN 2370 2010 IF K9<1 THEN 2040 2030 IF INT(K9)=K9 THEN 2050 2040 PRINT'ENTRIES MUST BE POSITIVE WHOLE NUMBERS. TRY AGAIN.' 2045 GOTO 1980 2050 IF K9<13 THEN 2100 2060 PRINT'A YEAR HAS ONLY 12 MONTHS. TRY AGAIN.' 2070 GOTO 1980 2100 RETURN 2110 DATA 1,600,25,15,5,2,500,25,10,5,3,300,30,20,5,4,800,75,25,5 2120 DATA 5,900,100,75,50,6,600,300,150,75,7,900,150,50,30,8,800,50,40,20 2130 DATA 9,700,200,90,50,10,400,70,20,10,11,400,80,50,25,12,300,20,10,5 2140 DATA 13,800,100,50,40,14,750,70,50,10 2150 DATA 1,.05,7,1,4,1,1,1,1,8,6,2,.098,1,6,5,1,1,1,1,6,3 2160 DATA 3,.051,7,1,4,1,1,1,1,8,6,4,.113,3,1,3,1,1,5,1,3,1 2170 DATA 5,.079,4,3,5,5,1,3,1,4,3,6,.11,4,6,3,6,4,1,3,4,6 2180 DATA 7,.14,4,6,4,4,3,1,1,4,3,8,.135,1,2,1,1,2,4,1,2,2 2190 DATA 9,.13,6,4,4,3,6,6,1,6,3,10,.098,1,3,3,6,6,6,4,1,6 2200 DATA 11,.03,3,1,1,8,8,8,1,1,4,12,.045,3,1,1,6,6,6,1,1,4 2210 DATA 13,.045,3,4,4,6,6,6,1,1,3,14,.03,2,4,3,7,6,6,1,1,2 2220 DATA 15,.035,1,3,2,4,3,3,1,1,1,16,.085,3,1,3,3,3,3,6,3,6 2230 DATA 17,.052,4,1,4,6,6,6,1,4,9,18,.072,4,1,3,6,3,3,1,6,6 2240 DATA 19,.072,4,1,3,6,4,4,1,4,6,20,.05,3,4,3,4,4,4,1,3,3 2250 DATA 21,.072,4,3,6,6,3,3,1,4,6,22,.091,4,6,6,3,4,4,1,4,6 2260 DATA 23,.063,4,1,6,4,3,3,1,3,4,24,.072,3,1,6,6,3,3,1,3,4 2270 DATA 25,.089,4,7,2,3,7,1,1,4,5,26,.091,4,7,2,3,7,1,1,4,5 2280 DATA 27,.06,5,2,5,7,2,5,1,5,7,28,.055,4,4,6,4,6,4,1,4,6 2290 DATA 29,.065,4,4,6,6,4,4,1,4,6 2300 Z6=INT(50*RND+1) 2310 IF Z6>30 THEN 2350 2320 PRINT'YOU HAVE ENCOUNTERED EVENT NUMBER ...................'Z6 2330 PRINT'CHECK TO SEE WHAT HAPPENED.' 2340 GOTO 2360 2350 PRINT'NONE THIS MONTH.' 2360 RETURN 2370 END