home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 27
/
Commodore_Disc_27_19xx_-_de.d64
/
bigboss
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
25KB
|
1,298 lines
10 rem bigboss **************c64
20 rem (p) by commodore welt ***
30 rem *************************
40 rem (c) by g. kramer ***
50 rem 4407 emsdetten ***
60 rem *************************
70 rem basic v2.0 ***
80 rem c64 + floppy/datasette***
90 rem *************************
100 gosub11360
110 gosub12260
120 gosub11730
130 gosub380
140 gosub1250
150 printchr$(158)
160 pokeze,16:pokesp,20:syscu
170 print"spielende - -"
180 printspc(20)"noch drei jahre?"
190 print:printspc(26)"j/n"
200 geta$:ifa$="n"then240
210 ifa$<>"j"then200
220 en=en+3:s=0
230 gosub500:goto140
240 gosub10900
250 gosub1250
260 printchr$(158)
270 pokeze,16:pokesp,20:syscu
280 print"spielende - -"
290 printspc(20)"noch ein spiel?"
300 print:printspc(26)"j/n"
310 geta$:ifa$="n"then340
320 ifa$<>"j"then310
330 run
340 sys2048
350 rem ***************
360 rem spielbeginn ***
370 rem ***************
380 fori=1toan
390 ms(i,1)=10000
400 ms(0,i)=0
410 forj=2to12
420 ms(i,j)=0
430 nextj,i
440 fori=0to3
450 w(i,1)=0:next
460 w(0,0)=100:w(1,0)=5000
470 w(2,0)=10000:w(3,0)=50000
480 s=1:gosub840
490 ru=0:s=0:en=8
500 s=s+1:ifs>anthens=1
510 ifms(0,s)<9999then550
520 ms(0,11)=ms(0,11)+1
530 ifms(0,11)=anthen800
540 goto500
550 ms(0,0)=ms(0,0)+1
560 ms(0,11)=0:gosub1250
570 so=ms(s,2):ad=f(so,1)+41
580 pokeb+ad,s+176
590 ifs=10thenpokeb+ad,214
600 pokeze,16:pokesp,20:syscu
610 printchr$(158)"spieler "s
620 print
630 a=ms(0,s):ifa=0then660
640 printspc(20)a"mal aussetzen"
650 goto670
660 printspc(20)"bitte wuerfeln"
670 poke198,0
680 gosub1090:ife<>32then680
690 ifa=0then720
700 ms(0,s)=a-1
710 goto500
720 gosub840:gosub1250
730 gosub1560:gosub1330
740 a=f(ms(s,2),0)
750 ona+1gosub3950,6970,7500,7710
760 fori=1toan
770 forj=f+124+i*40toj+8
780 pokej,4:nextj,i
790 ifru<=enthen500
800 return
810 rem ************************
820 rem spielerfeld aufbauen ***
830 rem ************************
840 gosub4440:gosub6210
850 so=ms(s,2):ad=f(so,1)+41
860 ms(s,12)=160
870 pokeb+ad,s+176
880 ifs=10thenpokeb+ad,214
890 a$=right$(str$(s),2)
900 pokeze,4:pokesp,22:syscu
910 printchr$(30)a$spc(6)e$(ms(s,0))
920 print
930 fori=3to10
940 a$=str$(ms(s,i))
950 a$=right$("......"+right$(a$,len(a$)-1),7)
960 printspc(29)a$
970 next
980 pokeze,17:pokesp,0:syscu
990 fori=0to3
1000 a$=str$(w(i,0))
1010 printspc(19-len(a$))a$
1020 next
1030 fori=f+124+s*40toi+8
1040 pokei,5:next
1050 return
1060 rem ***********
1070 rem eingabe ***
1080 rem ***********
1090 e=0
1100 ifms(s,0)<3then1140
1110 geta$:ifa$=""then1210
1120 e=asc(a$)
1130 goto1200
1140 poke56322,224
1150 e0=peek(56320)
1160 ifms(s,0)=1thene0=peek(56321)
1170 poke56322,255
1180 if(e0and2)=0thene=17
1190 if(e0and16)=0thene=32
1200 ife<>32ande<>17thene=0
1210 return
1220 rem ********************
1230 rem loeschen anzeige ***
1240 rem ********************
1250 fori=b+620toi+15
1260 forj=0to200step40
1270 pokei+j,32
1280 nextj,i
1290 return
1300 rem **************
1310 rem spielerzug ***
1320 rem **************
1330 forl=1toa
1340 pokeb+ad,ms(s,12)
1350 so=so+1:ifso=38thenso=0
1360 ms(s,2)=so
1370 ad=f(so,1)+41
1380 ms(s,12)=peek(b+ad)
1390 pokeb+ad,s+176
1400 ifs=10thenpokeb+ad,214
1410 ifso=0thengosub1920
1420 next
1430 fori=1toan
1440 a=f(ms(i,2),1)+41
1450 pokeb+a,i+176
1460 ifi=10thenpokeb+a,214
1470 next
1480 ifs=0then1520
1490 pokeb+ad,s+176
1500 ifs=10thenpokeb+ad,214
1510 ifr$="1"ands=anthen2110
1520 return
1530 rem ************
1540 rem wuerfeln ***
1550 rem ************
1560 poke247,0:poke248,2
1570 fori=peek(249)to57step-1
1580 poke249,i:poke250,i+9
1590 next
1600 fori=58to216
1610 poke249,i:poke250,i+8:next
1620 a=int(rnd(0)*6)+1
1630 a0=250-32*a
1640 fori=217toa0step-1
1650 poke249,i:poke250,i+9:next
1660 return
1670 rem **************
1680 rem auswaehlen ***
1690 rem **************
1700 fori=i0+a1*40toi+15
1710 pokef+i,7:next
1720 poke198,0
1730 gosub1090:ife=32then1780
1740 ife<>17then1730
1750 fori=i0+a1*40toi+15
1760 pokef+i,10:next
1770 a1=a1+1:ifa1=i1thena1=1
1780 return
1790 rem *******************
1800 rem zahlen an jeden ***
1810 rem *******************
1820 fori=1toan
1830 ifms(0,i)=9999then1880
1840 ifi=sthen1880
1850 pu=-pu:gosub3580
1860 pu=-pu:aa=s:s=i:gosub3580
1870 s=aa
1880 next:return
1890 rem ***************
1900 rem blaues feld ***
1910 rem ***************
1920 poke247,6:poke248,6
1930 ifr$="2"then2110
1940 ifru=0then1970
1950 ifs=anthen2110
1960 r$="1":goto3540
1970 ms(s,11)=ms(s,11)+1
1980 ifms(s,11)>1then2390
1990 gosub1250
2000 pokeze,16:pokesp,20:syscu
2010 printchr$(158)"sie erhalten"
2020 print:printspc(30)"10000"
2030 poke198,0
2040 gosub1090:ife=0then2040
2050 pu=10000:gosub3580
2060 gosub1250
2070 fori=1toan
2080 ifms(i,11)=0theni=99
2090 next
2100 ifi=100then3540
2110 ru=ru+1
2120 r$="2"
2130 gosub1250
2140 pokeze,24:pokesp,16:syscu
2150 a$=right$(str$(ru)+". jahr",8)
2160 printchr$(156)a$;
2170 fors=1toan
2180 gosub840
2190 so=ms(s,2):ad=f(so,1)+41
2200 pokeb+ad,160
2210 ms(s,12)=160
2220 ms(s,2)=0
2230 ifru=1then3530
2240 zi=ms(s,10)
2250 ifzi=0then2450
2260 zi=int(ms(s,10)/10)
2270 gosub1250
2280 printchr$(19)chr$(158)
2290 pokeze,16:pokesp,20:syscu
2300 print"spieler"s" zahlt"
2310 a$=str$(zi)
2320 printspc(20)"zinsen =";
2330 printtab(36-len(a$))a$
2340 tl=int(ms(s,10)/10)
2350 tl=100*int((tl+tl/2)/100)
2360 iftl<1000thentl=1000
2370 iftl>ms(s,10)thentl=ms(s,10)
2380 a$=str$(tl)
2390 printspc(20)"tilgung =";
2400 printtab(36-len(a$))a$
2410 poke198,0
2420 gosub1090:ife<>32then2420
2430 pu=-zi-tl:gosub3580
2440 ms(s,10)=ms(s,10)-tl:gosub840
2450 gosub1250
2460 pokeze,15:pokesp,20:syscu
2470 print"spieler"s":"
2480 a=ms(s,1)-ms(s,10)+40*ms(s,3)
2490 a=a+ms(s,4)*w(1,0)/2
2500 a=a+ms(s,5)*w(2,0)*.75
2510 a=a+ms(s,6)*35000
2520 a=100*int(12*a/10000)
2530 a=a-5000
2540 ifa>0then2570
2550 a=0:printspc(20)"keine steuer"
2560 goto2590
2570 printspc(20)"steuerzahlung"
2580 printspc(20)a
2590 poke198,0
2600 gosub1090:ife<>32then2600
2610 pu=-a:gosub3580
2620 gosub1250
2630 a=0:fori=7to9
2640 a=a+ms(s,i):next
2650 ifa=0then2900
2660 forii=7to9
2670 ifms(s,ii)=0then2890
2680 pokeze,16:pokesp,20:syscu
2690 printchr$(150)"spieler"s" hat"
2700 a$="versicherung ="
2710 ifii=8thena$="werbung ="
2720 ifii=9thena$="rationalisierung"
2730 a=ms(s,ii):ifa=0then2890
2740 printspc(20)a$
2750 a$=str$(a)+"[160]punkte"
2760 printspc(22)a$
2770 a=a*200
2780 a$="zahlen ="+str$(a)
2790 printspc(20)a$
2800 printspc(20)"abzug = 1 punkt"
2810 a1=1
2820 ifa>ms(s,1)thena1=2
2830 poke198,0
2840 i0=740:i1=3:gosub1700
2850 ife<>32then2820
2860 ifa1=2then2880
2870 pu=-a:gosub3580:goto2890
2880 ms(s,ii)=ms(s,ii)-1:gosub840
2890 gosub1250:next
2900 ifms(s,1)>=0then3530
2910 gosub1250:printchr$(150)
2920 pokeze,15:pokesp,20:syscu
2930 print"konto ueberzogen"
2940 gosub3680
2950 ifl<100then3000
2960 printspc(20)"kredit anfordern"
2970 poke198,0
2980 gosub1090:ife<>32then2980
2990 gosub5270:goto2900
3000 printspc(20)"verkaufen:"
3010 printspc(20)"computer 35000"
3020 printspc(20)"maschine 8000"
3030 a=700*int(w(1,0)/1000)
3040 printspc(20)"fertigware";
3050 a$=str$(a)
3060 printtab(36-len(a$))a$
3070 printspc(20)"rohware"tab(34)"40"
3080 pl=0
3090 a1=1
3100 ifms(s,6)=0thena1=2
3110 ifms(s,5)=0thena1=3
3120 ifms(s,4)=0thena1=4
3130 ifms(s,3)=0thena1=5
3140 ifa1=5andpl=1then3300
3150 ifa1=5thenpl=1:goto3090
3160 pl=0:poke198,0
3170 i0=660:i1=4:gosub1700
3180 ife=32then3200
3190 ona1goto3100,3110,3120,3130
3200 ona1goto3210,3230,3250,3270
3210 pu=35000:gosub3580
3220 gosub6870:goto3290
3230 pu=8000:gosub3580
3240 gosub6760:goto3290
3250 pu=700*int(w(1,0)/1000)
3260 gosub6130:goto3290
3270 pu=40:gosub3580
3280 gosub6050
3290 ifms(s,1)<0then3190
3300 ifms(s,1)>=0then3530
3310 pl=0:gosub1250
3320 printchr$(156)
3330 pokeze,15:pokesp,20:syscu
3340 print"spieler"s
3350 printspc(20)"p l e i t e !"
3360 printspc(20)"fuer sie ist das"
3370 printspc(20)"spiel zu ende"
3380 printchr$(158)
3390 printspc(20)"neues spiel? j/n"
3400 poke198,0
3410 geta$:ifa$="n"then3430
3420 ifa$<>"j"then3410
3430 fori=0to3
3440 w(i,1)=w(i,1)-ms(s,i+3)
3450 next
3460 fori=1to12
3470 ms(s,i)=0:next
3480 ms(s,1)=15000
3490 ifa$="j"then3520
3500 ms(s,1)=0
3510 ms(0,s)=9999
3520 pu=0:gosub3580
3530 next:l=99:s=0
3540 gosub1250:return
3550 rem ******************
3560 rem punkte zaehlen ***
3570 rem ******************
3580 ms(s,1)=int(ms(s,1)+pu)
3590 a$=str$(ms(s,1))
3600 a$=right$("......"+right$(a$,len(a$)-1),7)
3610 ifms(s,1)<0thena$=chr$(18)+a$+chr$(146)
3620 pokeze,s+3:pokesp,6:syscu
3630 printchr$(30)a$
3640 return
3650 rem ***********************
3660 rem rechnen kreditlimit ***
3670 rem ***********************
3680 l=ms(s,5)*w(2,0)
3690 l=(l+ms(s,6)*w(3,0))/2
3700 l=100*int((l-ms(s,10))/100)
3710 return
3720 rem ******************
3730 rem pruefen kredit ***
3740 rem ******************
3750 gosub3680
3760 ifl>=0then3900
3770 gosub1250:l=abs(l)
3780 ifl>ms(s,1)thenl=ms(s,1)
3790 pokeze,16:pokesp,20:syscu
3800 printchr$(150)"kreditlimit"
3810 printspc(20)"ueberzogen"
3820 a$=str$(l)
3830 printchr$(158)spc(30-len(a$))a$
3840 printspc(20)"rueckforderung !"
3850 poke198,0
3860 gosub1090:ife<>32then3860
3870 ms(s,10)=ms(s,10)-l
3880 pu=-l:gosub3580
3890 gosub840
3900 gosub1250:li=0
3910 return
3920 rem **************
3930 rem rotes feld ***
3940 rem **************
3950 pokeze,15:pokesp,20:syscu
3960 printchr$(150)"rohware kaufen"
3970 printspc(20)"hardware kaufen"
3980 printspc(20)"produzieren"
3990 printspc(20)"verkaufen"
4000 printspc(20)"kreditabteilung"
4010 printspc(20)"nichts tun"
4020 a1=1:ifms(s,1)>=w(0,0)then4140
4030 a1=2:gosub3680:l=l+w(2,0)/2
4040 ifms(s,1)<(w(2,0)-l)then4060
4050 goto4140
4060 a1=3
4070 ifms(s,3)=0orms(s,5)=0then4110
4080 ifms(s,1)<700then4110
4090 ifms(s,6)=0andms(s,1)<1000then4110
4100 goto4140
4110 a1=4:a0=0:fori=3to6
4120 a0=a0+ms(s,i):next
4130 ifa0=0thena1=5
4140 i0=580:i1=7:gosub1700
4150 ife=32then4180
4160 ona1goto4020,4030,4060,4110
4170 goto4140
4180 ifa1=6then4210
4190 gosub1250
4200 ona1gosub4260,4560,6330,5660,4950
4210 gosub1250
4220 return
4230 rem ******************
4240 rem rohware kaufen ***
4250 rem ******************
4260 gosub1250
4270 pokeze,16:pokesp,20:syscu
4280 printchr$(158)"rohware kaufen"
4290 printchr$(150)spc(20)"ende"
4300 a1=1
4310 ifms(s,1)<w(0,0)thena1=2
4320 i0=620:i1=3:gosub1700
4330 ife<>32then4310
4340 ifa1=2then4400
4350 pu=-w(0,0)
4360 gosub3580
4370 ms(s,3)=ms(s,3)+1
4380 gosub4440:w(0,1)=w(0,1)+1
4390 gosub840:goto4270
4400 return
4410 rem *****************
4420 rem preis rohware ***
4430 rem *****************
4440 a=w(0,1)
4450 aa=100
4460 ifa>8*anthenaa=200
4470 ifa>14*anthenaa=300
4480 ifa>20*anthenaa=400
4490 ifa>24*anthenaa=500
4500 ifa>26*anthenaa=600
4510 ifa>27*anthenaa=100*int((a-an*21)/an)
4520 w(0,0)=aa:return
4530 rem *******************
4540 rem hardware kaufen ***
4550 rem *******************
4560 gosub1250
4570 pokeze,16:pokesp,20:syscu
4580 printchr$(150)"maschine kaufen"
4590 printspc(20)"computer kaufen"
4600 printspc(20)"ende"
4610 a1=1
4620 i0=620:i1=4:gosub1700
4630 ife<>32then4620
4640 gosub1250
4650 ifa1=3then4870
4660 ifa1<>1then4700
4670 li=w(2,0)/2:gosub5270
4680 ifms(s,1)<w(2,0)then4570
4690 goto4730
4700 li=w(3,0)/2:gosub5270
4710 ifms(s,1)<w(3,0)then4570
4720 goto4800
4730 pu=-w(2,0):gosub3580
4740 ms(s,5)=ms(s,5)+1
4750 w(2,1)=w(2,1)+1
4760 w(2,0)=10000
4770 ifw(2,1)<=anthen4790
4780 w(2,0)=10000+1000*(w(2,1)-an)
4790 goto4860
4800 pu=-w(3,0):gosub3580
4810 ms(s,6)=ms(s,6)+1
4820 w(3,1)=w(3,1)+1
4830 w(3,0)=50000
4840 ifw(3,1)<=anthen4860
4850 w(3,0)=50000+5000*(w(3,1)-an)
4860 gosub840:gosub1250
4870 ifli=0then4910
4880 ifa1=2then4910
4890 ifa1=1andli<8000then4910
4900 gosub3750
4910 li=0:return
4920 rem **********
4930 rem kredit ***
4940 rem **********
4950 gosub1250
4960 pokeze,16:pokesp,20:syscu
4970 printchr$(150)"kredit"
4980 printspc(20)"aufnehmen"
4990 printspc(20)"zurueckzahlen"
5000 printspc(20)"nichts"
5010 a1=1
5020 i0=660:i1=3:gosub1700
5030 ife<>32then5020
5040 ifa1=1then5270
5050 ifa1=3then5230
5060 gosub1250
5070 pokeze,16:pokesp,20:syscu
5080 printchr$(150)"kredit-"
5090 printspc(22)"rueckzahlung ="
5100 a1=ms(s,10):a2=ms(s,1)
5110 ifa1>a2thena1=a2
5120 a$=right$(" "+str$(a1),8)
5130 pokeze,18:pokesp,20:syscu
5140 printchr$(158)a$
5150 poke198,0
5160 gosub1090:ife=32then5200
5170 ife<>17then5160
5180 a1=a1-1000:ifa1<0then5100
5190 goto5120
5200 pu=-a1:gosub3580
5210 ms(s,10)=ms(s,10)+pu
5220 gosub840
5230 return
5240 rem ********************
5250 rem kredit aufnehmen ***
5260 rem ********************
5270 gosub3680:gosub1250
5280 l=l+li
5290 pokeze,16:pokesp,20:syscu
5300 ifl>0then5420
5310 printchr$(150)"keine sicherheit"
5320 printspc(20)"kredit abgelehnt"
5330 printspc(20)"verkaufen"
5340 printspc(20)"ende"
5350 a1=1
5360 i0=700:i1=3
5370 ife<>32then5360
5380 gosub1250
5390 ifa1=1thengosub5660
5400 a0=a0+900
5410 goto5610
5420 printchr$(150)"kreditlimit ="
5430 a$=str$(l)
5440 printspc(36-len(a$))a$
5450 printspc(20)"wieviel ?"
5460 a0=l:printchr$(158)
5470 a$=str$(a0)
5480 pokeze,19:pokesp,36-len(a$)
5490 syscu:poke198,0
5500 printa$
5510 gosub1090:ife=32then5570
5520 ife<>17then5510
5530 a0=a0+1000:ifa0>lthena0=0
5540 fori=780toi+15
5550 pokeb+i,32:next
5560 goto5470
5570 ifa0=0then5610
5580 pu=a0:gosub3580
5590 ms(s,10)=ms(s,10)+pu
5600 gosub840
5610 gosub1250
5620 return
5630 rem *************
5640 rem verkaufen ***
5650 rem *************
5660 gosub1250
5670 pokeze,15:pokesp,20:syscu
5680 printchr$(150)"verkaufen :"
5690 a2=1
5700 a$="fertigware"
5710 ifms(s,8)<3then5770
5720 a$=a$+" +"
5730 a2=ms(s,8)*5
5740 ifa2>95thena2=95
5750 a$=a$+str$(a2)+"%"
5760 a2=1+a2/100
5770 printspc(20)a$
5780 printspc(20)"rohware"
5790 printspc(20)"maschine"
5800 printspc(20)"computer"
5810 printspc(20)"nichts"
5820 a1=1:ifms(s,4)>0then5870
5830 a1=2:ifms(s,3)>0then5870
5840 a1=3:ifms(s,5)>0then5870
5850 a1=4:ifms(s,6)>0then5870
5860 a1=5
5870 i0=620:i1=6:gosub1700
5880 ife=32then5900
5890 ona1goto5820,5830,5840,5850,5860
5900 ifa1=5then6000
5910 ona1gosub6120,6040,6750,6860
5920 fori=620+40*a1toi+15
5930 pokef+i,10:next
5940 ifa1=1andms(s,4)>0then5890
5950 ifa1=2andms(s,3)>0then5890
5960 ifa1>1then6000
5970 ifa2=1then6000
5980 ms(s,8)=ms(s,8)-1
5990 gosub840
6000 gosub1250:return
6010 rem ********************
6020 rem verkaufe rohware ***
6030 rem ********************
6040 pu=w(0,0)/2:gosub3580
6050 ms(s,3)=ms(s,3)-1
6060 gosub4440:w(0,1)=w(0,1)-1
6070 gosub840
6080 return
6090 rem ***********************
6100 rem verkaufe fertigware ***
6110 rem ***********************
6120 pu=w(1,0)*a2
6130 gosub3580
6140 ms(s,4)=ms(s,4)-1
6150 gosub4440:ms(0,0)=ms(0,0)-3
6160 gosub840
6170 return
6180 rem ********************
6190 rem preis fertigware ***
6200 rem ********************
6210 a=5000+100*ms(0,0)
6220 aa=w(0,0)+1200
6230 ifa<aathena=aa
6240 ifa>10*aathena=10*aa
6250 ifa<4000thena=a+100
6260 ifa<3000thena=a+100
6270 ifa<2000thena=a+100
6280 w(1,0)=a:ms(0,0)=(a-5000)/100
6290 return
6300 rem ***************
6310 rem produzieren ***
6320 rem ***************
6330 gosub1250
6340 a3=1000:ifms(s,9)<3then6360
6350 a3=a3-100*(ms(s,9)-2)
6360 ifa3<400thena3=400
6370 ifms(s,6)>0thena3=a3-300
6380 a=int(ms(s,1)/a3)
6390 ifa>ms(s,3)thena=ms(s,3)
6400 a1=int(ms(s,9)/3)
6410 ifa1<ms(s,5)then6430
6420 a1=ms(s,5)+ms(s,5):goto6440
6430 a1=ms(s,5)+a1
6440 ifms(s,6)>0thena1=a1+ms(s,5)
6450 ifa>a1thena=a1
6460 pokeze,16:pokesp,20:syscu
6470 printchr$(150)"produktion =";
6480 a$=str$(a)
6490 printtab(36-len(a$))chr$(158)a$
6500 printchr$(150)
6510 printspc(20)"kosten ="
6520 a$=str$(a3)
6530 printspc(20)a$" pro ware"
6540 poke198,0:a1=a
6550 gosub1090:ife=32then6620
6560 ife<>17then6550
6570 a1=a1-1:ifa1<0thena1=a
6580 a$=str$(a1)
6590 pokeze,16:pokesp,36-len(a$):syscu
6600 printchr$(158)a$
6610 goto6550
6620 ifa1=0then6710
6630 pu=-a3*a1:gosub3580
6640 ifms(s,6)>0thenpu=-700*a1
6650 ms(s,4)=ms(s,4)+a1
6660 ms(s,3)=ms(s,3)-a1
6670 ms(0,0)=ms(0,0)-a1
6680 w(1,1)=w(1,1)+a1
6690 w(0,1)=w(0,1)-a1:gosub4440
6700 gosub6210:gosub840
6710 gosub1250:return
6720 rem *********************
6730 rem verkaufe maschine ***
6740 rem *********************
6750 pu=w(2,0)/2:gosub3580
6760 w(2,1)=w(2,1)-1
6770 w(2,0)=10000
6780 ifw(2,1)<=anthen6800
6790 w(2,0)=10000+1000*(w(2,1)-an)
6800 ms(s,5)=ms(s,5)-1
6810 gosub840:gosub3750
6820 return
6830 rem *********************
6840 rem verkaufe computer ***
6850 rem *********************
6860 pu=w(3,0)/2:gosub3580
6870 w(3,1)=w(3,1)-1
6880 w(3,0)=50000
6890 ifw(3,1)<=anthen6910
6900 w(3,0)=50000+5000*(w(3,1)-an)
6910 ms(s,6)=ms(s,6)-1
6920 gosub840:gosub3750
6930 return
6940 rem ***************
6950 rem gelbes feld ***
6960 rem ***************
6970 gosub1250
6980 pokeze,16:pokesp,20:syscu
6990 ifms(s,1)<10000then7120
7000 ifms(s,6)=0then7120
7010 a2=int(5*rnd(0))+1
7020 ifa2>1then7120
7030 a1=5000
7040 ifms(s,1)<25000then7100
7050 a1=int(ms(s,1)/4)
7060 ifa1>10000thena1=10000
7070 a1=100*int(a1/100)
7080 a2=int(3*rnd(0))+1
7090 ifa2>1then7300
7100 printchr$(158)"computerausfall!"
7110 goto7380
7120 a1=1000*ms(s,5)
7130 ifa1=0then7220
7140 if(4*int(rnd(0)))>0then7220
7150 if(a1+1000)>ms(s,1)thena1=ms(s,1)-1000:ifa1<0thena1=0
7160 ifa1>5000thena1=5000
7170 a1=100*int(a1/100)
7180 a2=int(7*rnd(0))+1
7190 ifa2<6then7270
7200 a$="maschinenschaden"
7210 goto7330
7220 a1=int(ms(s,1)/10)
7230 ifa1>2000thena1=2000
7240 a1=100*int(a1/100)
7250 ifa1>ms(s,1)thena1=ms(s,1)
7260 a2=int(5*rnd(0))+1
7270 ona2goto7290,7300,7310,7320
7280 a$="liefer-verzug":goto7330
7290 a$="streik !":goto7330
7300 a$="sabotage":goto7330
7310 a$="grippe-epidemie":goto7330
7320 a$="betriebs-unfall":goto7330
7330 printchr$(158)a$
7340 ifa1>0then7380
7350 printspc(20)"einmal aussetzen"
7360 ms(0,s)=ms(0,s)+1
7370 goto7410
7380 printspc(20)"kosten =";
7390 a$=str$(a1)
7400 printtab(35-len(a$))a$
7410 poke198,0
7420 gosub1090:ife=32then7440
7430 goto7420
7440 ifpu=0then7460
7450 pu=-a1:gosub3580
7460 return
7470 rem ****************
7480 rem gruenes feld ***
7490 rem ****************
7500 gosub1250
7510 pokeze,16:pokesp,20:syscu
7520 printchr$(150)"versicherung"
7530 printspc(20)"werbung"
7540 printspc(20)"rationalisieren"
7550 printspc(20)"nichts"
7560 printspc(20)"preis = 500"
7570 a1=1:poke198,0
7580 ifms(s,1)<500thena1=4
7590 i0=620:i1=5:gosub1700
7600 ife<>32then7580
7610 ifa1=4then7670
7620 pu=-500:gosub3580
7630 a0=7:ifa1=2thena0=8
7640 ifa1=3thena0=9
7650 ms(s,a0)=ms(s,a0)+1
7660 gosub840
7670 return
7680 rem ******************
7690 rem violettes feld ***
7700 rem ******************
7710 gosub1250
7720 printchr$(150)
7730 pokeze,16:pokesp,20:syscu
7740 a=int(10*rnd(0))+1
7750 onagoto7820,8200,8670,8830
7760 ona-4goto9110,9430,9560
7770 ona-7goto10030,10230,10740
7780 return
7790 rem *****************
7800 rem sonderangebot ***
7810 rem *****************
7820 ifms(s,2)=5then9440
7830 print"sonderangebot"
7840 a=int(6*rnd(0))+1
7850 onagoto7900,7900,7950
7860 a$="5 rohwaren"
7870 a0$="preis 200"
7880 a=200:a0=5:a2=3
7890 goto7990
7900 ifms(s,1)<2500then7860
7910 a$="4 fertigwaren"
7920 a0$="preis 2000"
7930 a=2000:a0=4:a2=4
7940 goto7990
7950 ifms(s,1)<4000then7900
7960 a$="eine maschine"
7970 a0$="preis 4000"
7980 a=4000:a0=1:a2=5
7990 printspc(20)a$
8000 printspc(20)a0$
8010 printspc(20)"kaufen"
8020 printspc(20)"nicht kaufen"
8030 a1=1:poke198,0
8040 ifms(s,1)<athena1=2
8050 i0=740:i1=3:gosub1700
8060 ife<>32then8050
8070 ifa1=2then8160
8080 pu=-a:gosub3580
8090 ms(s,a2)=ms(s,a2)+a0
8100 w(a2-3,1)=w(a2-3,1)+a0
8110 ona2-2gosub4440,6210:goto8150
8120 w(2,0)=10000
8130 ifw(2,1)<anthen8150
8140 w(2,0)=10000+1000*(w(2,1)-an)
8150 gosub840
8160 return
8170 rem *********
8180 rem brand ***
8190 rem *********
8200 ifrnd(0)<.5then8230
8210 print"brand im werk"
8220 goto8240
8230 print"sabotage im werk"
8240 a=int(6*rnd(0))+1
8250 onagoto8350,8350,8390
8260 a=1:a0=3
8270 a2=int(ms(s,3)*rnd(0))+1
8280 a$=str$(a2)+" rohwaren"
8290 ifms(s,3)>0then8430
8300 a2=0
8310 printspc(20)"aufraeumarbeiten"
8320 printspc(20)"einmal aussetzen"
8330 goto8470
8340 goto8430
8350 ifms(s,4)=0then8260
8360 a2=int(ms(s,4)*rnd(0))+1
8370 a$=str$(a2)+" fertigwaren"
8380 a=2:a0=4:goto8430
8390 ifms(s,5)=0then8350
8400 a2=1
8410 a$=str$(a2)+" maschine"
8420 a=3:a0=5
8430 printspc(20)"schaden ="
8440 printspc(20)a$
8450 printspc(20)"versicherung:"a
8460 printspc(20)"versicherung: 0"
8470 a1=1
8480 ifms(s,7)<athena1=2
8490 ifa2=0thena1=1
8500 i0=740:i1=3:gosub1700
8510 ife<>32then8480
8520 ifa2>0then8550
8530 ms(0,s)=ms(0,s)+1
8540 goto8630
8550 w(a0-3,1)=w(a0-3,1)-a2
8560 pu=a2*w(a0-3,0)
8570 ms(s,a0)=ms(s,a0)-a2
8580 ifa1=2then8610
8590 gosub3580
8600 ms(s,7)=ms(s,7)-a
8610 ifa=3thengosub3750
8620 a2=a0:gosub8110
8630 return
8640 rem *************
8650 rem gute idee ***
8660 rem *************
8670 print"gute werbe-idee"
8680 printspc(20)"preis = 1000"
8690 printspc(20)"fuer 3 punkte"
8700 printspc(20)"angenommen"
8710 printspc(20)"abgelehnt"
8720 a1=1
8730 ifms(s,1)<1000thena1=2
8740 i0=740:i1=3:gosub1700
8750 ife<>32then8730
8760 ifa1=2then8790
8770 pu=-1000:gosub3580
8780 ms(s,8)=ms(s,8)+3:gosub840
8790 return
8800 rem *************
8810 rem explosion ***
8820 rem *************
8830 print"explosion !":ifan=1then8860
8840 ifms(s,1)>100*anthen8890
8850 ifms(s,7)>0then8890
8860 printspc(20)"aufraeumen -"
8870 printspc(20)"einmal aussetzen"
8880 pu=0:goto8930
8890 pu=100*int(int(ms(s,1)/an)/100)
8900 ifpu>1500thenpu=1500
8910 printspc(20)"schadenersatz an"
8920 printspc(20)"alle ="str$(pu)
8930 printspc(20)"versicherung: 1"
8940 printspc(20)"versicherung: 0"
8950 a1=1
8960 ifms(s,7)=othena1=2
8970 i0=740:i1=3:gosub1700
8980 ife<>32then8960
8990 ifa1=2then9030
9000 ms(s,7)=ms(s,7)-1:gosub840
9010 ms(s,1)=ms(s,1)+pu*(an-1)
9020 ifpu=0thenms(0,s)=1
9030 ifpu>0then9060
9040 ms(0,s)=ms(0,s)+1
9050 goto9070
9060 gosub1820
9070 gosub840:return
9080 rem *************************
9090 rem unlauterer wettbewerb ***
9100 rem *************************
9110 print"unlauterer"
9120 printspc(26)"wettbewerb"
9130 a2=int(rnd(0)*5):ifa2>3then9260
9140 ifru=0then9260
9150 a2=ms(s,1)-2000:ifa2<100then9260
9160 a2=100*int(a2/100)
9170 printspc(20)"prozess verloren"
9180 if(a2>2000)and(an>1)then9220
9190 ifa2>500thena2=500
9200 printspc(20)chr$(158)"kosten ="
9210 a1=1:goto9320
9220 a2=a2/(an-1):a2=100*int(a2/100)
9230 ifa2>1200thena2=1200
9240 printspc(20)"zahlen an jeden"
9250 a1=2:goto9320
9260 printspc(20)"prozess gewonnen"
9270 a$="sie erhalten :"
9280 printspc(20)chr$(158)a$
9290 a2=100*int(ms(s,1)/1000)
9300 ifa2>1500thena2=1500
9310 a1=3
9320 printspc(25)a2
9330 poke198,0
9340 gosub1090:ife<>32then9340
9350 pu=a2:ifa1=2then9380
9360 ifa1=1thenpu=-pu
9370 gosub3580:goto9390
9380 gosub1820
9390 gosub840:return
9400 rem ************
9410 rem karneval ***
9420 rem ************
9430 ifms(s,2)<>5then7830
9440 print"karneval"
9450 printspc(20)"der betrieb ruht"
9460 printchr$(158)
9470 printspc(20)"dreimal"
9480 printspc(27)"aussetzen"
9490 poke198,0
9500 gosub1090:ife<>32then9500
9510 ms(0,s)=3
9520 return
9530 rem *****************
9540 rem wasserschaden ***
9550 rem *****************
9560 ifms(s,6)>0then9610
9570 ifms(s,5)>0then9660
9580 ifms(s,4)>0then9710
9590 ifms(s,3)>0then9770
9600 goto9110
9610 a2=6:a$="computer"
9620 a1=100*int(ms(s,1)/1000)
9630 ifa1>6000thena1=6000
9640 ifa1>0then9810
9650 goto9570
9660 a2=5:a$="maschinen"
9670 a1=100*int(ms(s,1)/1000)
9680 ifa1>700*ms(s,5)thena1=700*ms(s,5)
9690 ifa1>0then9810
9700 goto9580
9710 a2=4:a$="fertigwaren"
9720 a1=400*ms(s,4)
9730 ifa1<ms(s,1)then9810
9740 a1=100*int(ms(s,1)/100)
9750 ifa1>0then9810
9760 goto9590
9770 a2=3:a$="rohwaren"
9780 a1=50*ms(s,3)
9790 ifa1<ms(s,1)then9810
9800 a1=100*int(ms(s,1)/100)
9810 print"wasserrohrbruch"
9820 ifa2<5then9850
9830 a$=a$+"schaden"
9840 goto9860
9850 a$="bei "+a$
9860 printspc(20)a$
9870 printspc(20)chr$(158)"verlust =";
9880 ifa1=0then9900
9890 printa1:goto9920
9900 a2=int(rnd(0)*ms(s,3))+1
9910 printa2
9920 poke198,0
9930 gosub1090:ife<>32then9930
9940 ifpu=0then9960
9950 pu=-a1:gosub3580:goto9990
9960 ms(s,3)=ms(s,3)-a2
9970 w(0,1)=w(0,1)-a2
9980 gosub4440:gosub840
9990 return
10000 rem *****************
10010 rem umweltskandal ***
10020 rem *****************
10030 print"umweltskandal":print
10040 ifru=0then10120
10050 a1=ms(s,1)
10060 ifa1<2000then10120
10070 a1=100*int(a1/1000)
10080 ifa1>10000thena1=10000
10090 printspc(20)"bussgeld ="
10100 printspc(30)chr$(158)a1
10110 a1=-a1:goto10160
10120 printspc(20)"sie erhalten"
10130 printspc(20)"schadenersatz"
10140 printchr$(158)spc(31)"3000"
10150 a1=3000
10160 poke198,0
10170 gosub1090:ife<>32then10170
10180 pu=a1:gosub3580:gosub840
10190 return
10200 rem ************
10210 rem gewinnen ***
10220 rem ************
10230 a2=ms(s,1):ifa2<1000then10390
10240 ifa2<10000then10310
10250 a1=int(rnd(0)*3)
10260 ifa1>0then10310
10270 print"spekulieren sie!"
10280 print:a1=10000
10290 printspc(20)"einsatz:";
10300 goto10340
10310 print"pferderennen!"
10320 print:a1=1000
10330 printspc(20)"sie wetten:";
10340 a$=str$(a1)
10350 pokeze,18:pokesp,36-len(a$)
10360 syscu
10370 printchr$(158)a$
10380 goto10440
10390 a1=100*int(rnd(0)*9)+100
10400 print"lottogewinn!"
10410 print
10420 printspc(20)"sie erhalten";
10430 goto10340
10440 poke198,0
10450 gosub1090:ife=32then10590
10460 ife<>17then10450
10470 ifa1<1000then10450
10480 ifa1<10000then10530
10490 a1=a1+10000
10500 ifa1>90000thena1=10000
10510 ifa1>ms(s,1)thena1=10000
10520 goto10340
10530 a1=a1+1000
10540 ifa1>9000thena1=1000
10550 ifa1>ms(s,1)thena1=1000
10560 fori=b+711toi+4
10570 pokei,32:next
10580 goto10340
10590 ifa1<1000then10690
10600 gosub1250
10610 pokeze,16:pokesp,20:syscu
10620 printchr$(158)"sie gewinnen:"
10630 gosub1560
10640 a1=a1*(a-1)*.2:a$=str$(a1)
10650 ifa1=0thena$="nichts"
10660 printspc(36-len(a$))a$
10670 poke198,0
10680 gosub1090:ife<>32then10680
10690 pu=a1:gosub3580
10700 return
10710 rem ********************
10720 rem rationalisierung ***
10730 rem ********************
10740 print"rationalisierung"
10750 printspc(20)"kosten = 1000"
10760 printspc(20)"wert = 3 punkte"
10770 printspc(20)"angenommen"
10780 printspc(20)"abgelehnt"
10790 a1=1
10800 ifms(s,1)<1000thena1=2
10810 i0=740:i1=3:gosub1700
10820 ife<>32then10820
10830 ifa1=2then10860
10840 pu=-1000:gosub3580
10850 ms(s,9)=ms(s,9)+3:gosub840
10860 return
10870 rem *************
10880 rem spielende ***
10890 rem *************
10900 fors=1toan
10910 gosub840
10920 gosub1250
10930 pokeze,15:pokesp,20:syscu
10940 printchr$(150)"spieler"s
10950 a1=16
10960 ifms(s,10)=0then11040
10970 printspc(20)chr$(158)"kredit =";
10980 a$=str$(ms(s,10))
10990 printtab(36-len(a$))a$
11000 poke198,0
11010 geta$:ifa$=""then11010
11020 pu=-ms(s,10):ms(s,10)=0:gosub3580
11030 gosub840:gosub11300:a1=a1+1
11040 forj=3to6
11050 pokeze,a1:pokesp,0:syscu
11060 ifms(s,j)=0then11240
11070 a$="rohware=......40":a2=40
11080 ifj=3then11180
11090 a$="fertigware="
11100 ifj=4then11140
11110 a$="maschine="
11120 ifj=5then11140
11130 a$="computer="
11140 a2=100*int(w(j-3,0)*.75/100)
11150 a0$=str$(a2)
11160 a$=left$(a$+".......",17-len(a0$))
11170 a$=a$+right$(a0$,len(a0$)-1)
11180 printspc(20)a$
11190 poke198,0
11200 gosub1090:ife<>32then11200
11210 pu=a2*ms(s,j):gosub3580
11220 ms(s,j)=0:gosub840
11230 gosub11300:a1=a1+1
11240 nextj,s
11250 gosub1250
11260 return
11270 rem ****************
11280 rem zeile in rot ***
11290 rem ****************
11300 fori=f+20+a1*40toi+15
11310 pokei,2:next
11320 return
11330 rem ****************
11340 rem anfangswerte ***
11350 rem ****************
11360 poke247,0:poke248,0
11370 poke249,240:poke250,249
11380 fori=49152to49235
11390 reada:pokei,a
11400 next
11410 sys12*4096
11420 poke53280,0:poke53281,0
11430 b=rnd(-ti): rem zufall
11440 b=1024: rem bildram
11450 f=55296: rem farbram
11460 ze=214: rem zeile
11470 sp=211: rem spalte
11480 cu=58640: rem cursor setzen
11490 dimms(10,12):rem spieler
11500 dimf(37,1): rem spielfelder
11510 dimfa(4): rem feldfarben
11520 dime$(3): rem eingabe
11530 dimw(3,1): rem warenwert+zahl
11540 fa(0)=2:fa(1)=7:fa(2)=5
11550 fa(3)=4:fa(4)=14
11560 e$(1)="joy 1"
11570 e$(2)="joy 2"
11580 e$(3)="taste"
11590 fori=0to37
11600 a=0:ifi-7*int(i/7)=0thena=1
11610 ifi-6*int(i/6)=0thena=2
11620 ifi-5*int(i/5)=0thena=3
11630 ifi=0thena=4
11640 f(i,0)=a:a=3*i
11650 ifi>12thena=120*(i-12)+36
11660 ifi>19thena=840+3*(31-i)
11670 ifi>31thena=120*(38-i)
11680 f(3,0)=2:f(33,0)=1
11690 f(i,1)=a:next:return
11700 rem **************
11710 rem bildaufbau ***
11720 rem **************
11730 printchr$(147)
11740 fori=0to37
11750 forj=0to2
11760 a0=160:ifj=2thena0=231
11770 fork=0to80step40
11780 ifk=80thena0=239
11790 ifk+j=82thena0=250
11800 a=f(i,1)+j+k
11810 pokef+a,fa(f(i,0))
11820 pokeb+a,a0
11830 nextk,j,i
11840 fori=39to959step40
11850 pokef+i,2:pokeb+i,160
11860 next:pokeb+959,239
11870 fori=6to1step-1
11880 pokeb+160*(6-i)+79,i+176
11890 next
11900 fori=563to595
11910 pokef+i,1:pokeb+i,64:next
11920 fori=133to533step40
11930 pokef+i,1:pokeb+i,66
11940 next:pokeb+i,113
11950 pokeb+579,114
11960 fori=619to819step40
11970 pokef+i,1:pokeb+i,66:next
11980 printchr$(156)
11990 pokeze,4:pokesp,0:syscu
12000 a$=" ..10000"
12010 fori=1toan
12020 printspc(3)right$(str$(i),2);
12030 printa$:next
12040 printchr$(159)
12050 pokeze,4:pokesp,14:syscu
12060 print"spieler"
12070 print:printspc(14)"rohwaren"
12080 printspc(14)"fertigwaren"
12090 printspc(14)"maschinen"
12100 printspc(14)"computer"
12110 printspc(14)"versichert"
12120 printspc(14)"werbung"
12130 printspc(14)"rationalisieren"
12140 printspc(14)"kredite"
12150 printchr$(153)
12160 pokeze,15:pokesp,8:syscu
12170 print"preise":print
12180 printspc(3)"rohware"
12190 printspc(3)"fertigware"
12200 printspc(3)"maschine"
12210 printspc(3)"computer"
12220 return
12230 rem *********
12240 rem titel ***
12250 rem *********
12260 printchr$(147)
12270 fori=1to61
12280 reada,a0
12290 pokef+a,4:pokeb+a,a0
12300 next
12310 a$="(c) by g. kramer"
12320 pokeze,11:pokesp,12:syscu
12330 printchr$(30)a$:print
12340 a$="(p) by commodorewelt"
12350 printspc(10)a$
12360 printchr$(158)
12370 print"eingeben: ";
12380 print"1=joy1 - 3=tastatur"
12390 printspc(10)"2=joy2 - 0=spielbeginn"
12400 a=0:an=1:printchr$(154)
12410 a$=right$(str$(an),2)
12420 printspc(a)"spieler "a$"[160]= ";
12430 geta$:ifa$="0"then12530
12440 ifa$<"1"ora$>"3"then12430
12450 a0=val(a$)
12460 printe$(a0);
12470 ms(an,0)=a0
12480 an=an+1
12490 ifan=11then12530
12500 ifan<>6thenprint:goto12410
12510 a=20:pokeze,18:pokesp,0:syscu
12520 goto12410
12530 an=an-1
12540 ifan=0thenan=1:goto12430
12550 printchr$(158)
12560 pokeze,24:pokesp,0:syscu
12570 print"in ordnung? (j/n)";
12580 geta$:ifa$="j"then12650
12590 ifa$<>"n"then12580
12600 fori=18to24
12610 poke781,i:sys59903
12620 next
12630 pokeze,17:pokesp,0:syscu
12640 goto12400
12650 return
12660 rem *********************
12670 rem datas m. programm ***
12680 rem *********************
12690 data76,6,192,76,40,192,32,160,229,120,169,3,141,20,3,169,192,141,21,3
12700 data169,240,141,18,208,173,17,208,41,127,141,17,208,169,129,141,26,208
12710 data88,96,173,25,208,141,25,208,48,7,173,13,220,88,76,49,234,173,18,208
12720 data197,250,144,9,165,247,141,32,208,166,249,208,7,165,248,141,32,208
12730 data166,250,142,18,208,76,188,254
12740 rem ***************
12750 rem datas titel ***
12760 rem ***************
12770 data91,66,131,66,171,66
12780 data211,66,251,66,291,74
12790 data292,64,293,75,253,66
12800 data213,73,212,64,211,107
12810 data214,66,254,66,294,74
12820 data134,87,217,73,216,64
12830 data215,85,255,66,295,74
12840 data296,64,297,75,257,66
12850 data217,115,297,115,337,75
12860 data336,64,335,74,99,66
12870 data139,66,179,66,219,66
12880 data259,66,299,74,300,64
12890 data301,75,261,66,221,73
12900 data220,64,219,107,224,73
12910 data223,64,222,85,262,66
12920 data302,74,303,64,304,75
12930 data264,66,226,73,225,85
12940 data265,74,266,73,306,75
12950 data305,74,228,73,227,85
12960 data267,74,268,73,308,75
12970 data307,74