home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
s85xx
/
s8503a.d64
/
wator
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
7KB
|
220 lines
10 REM ********************************
11 REM * *
12 REM * WATOR VERSION 1.0 *
13 REM * 8.4.1985 *
14 REM * *
15 REM * COPYRIGHT BY *
16 REM * *
17 REM * SIEGMAR KUTSCHKER *
18 REM * SACHSENHEIMER WEG 5 *
19 REM * 7122 BESIGHEIM *
20 REM * *
21 REM * NACH EINER IDEE AUS *
22 REM * *
23 REM * SPEKTRUM DER WISSENSCHAFT *
24 REM * *
25 REM * 2/85 *
26 REM * *
30 REM ********************************
40 POKE 56,112:POKE 55,0:REM BASIC BEREICH EINSCHRAENKEN
45 :
50 IF PEEK(2) = 0 THEN POKE 2,1: LOAD "WATOR MSP",8,1
60 REM DEFINITIONEN DER ADRESSEN
70 HP = 34816 :REM PROGRAMM-START
75 ZP = 36608 :REM ERSATZZEROPAGE
80 FA = ZP + 116:REM FISCHE ANZAHL
85 HA = ZP + 118:REM HAIE ANZAHL
90 VF = ZP + 120:REM VERMEHRUNGSALTER FISCH
95 VH = ZP + 121:REM VERMEHRUNGSALTER HAIE
100 HU = ZP + 122:REM ALTER IN DEM HAIE VERHUNGERN
105 ZU = ZP + 6:REM ZUFALLSGENERATOR
115 HU%=1:VH%=1:VF%=1:REM ANFANGSWERTE SETZEN
120 POKE 53280,0:POKE 53281,0 :POKE 646,1:REM FARBE SETZEN
130 PRINT CHR$(147):REM BILDSCHIRM LOESCHEN
140 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
150 PRINT" [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208] "
160 PRINT" [180] [170] "
170 PRINT" [180] W A T O R [170] "
180 PRINT" [180] [170] "
190 PRINT" [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186] "
200 PRINT:PRINT:PRINT:PRINT:PRINT TAB(3) "WOLLEN SIE EINE ANLEITUNG LESEN?"
210 PRINT:PRINT TAB(3) "(J/N)"
220 GET T$:IF T$ = "" THEN 220
230 IF T$ = "J" THEN GOSUB 16000:GOTO250
240 IF T$ <> "N" THEN 220
250 GOSUB 10200
300 REM MENUE
301 POKE 53280,0:POKE 53281,0 :POKE 646,8:REM FARBE SETZEN
305 PRINTCHR$(147);:PRINT TAB(11)"ZYKLENANZAHL: " AZ:POKE 646,1:PRINT
310 PRINT"FISCHE VERMEHREN SICH NACH JAHR(EN)"
315 PRINT:POKE 646,7
320 PRINT" HAIE VERMEHREN SICH NACH JAHR(EN)
325 [153]:[153]:[151] 646,1
330 [153]" WIR HABEN DERZEIT FISCH(E)
335 POKE 646,7
340 PRINT" UND HAI(E)
345 [153]:[151] 646,7
350 [153]" DIE HAIE VERHUNGERN NACH JAHR(EN)
355 PRINT:POKE 646,5
360 PRINT" BITTE WAEHLEN SIE:
365 [153]:[153]: [151] 646,14
370 [153]" <1> ANLEITUNG
375 PRINT:POKE 646,3
380 PRINT" <2> AENDERN DER PARAMETER
385 [153]:[151] 646,4
390 [153]" <3> FORTFAHREN IM PROGRAMM
400 PRINTCHR$(19):PRINT:POKE 646,10
410 PRINT TAB(26) VF%
420 PRINT:PRINTTAB(26) VH%
430 PRINT:PRINT:PRINTTAB(26) FA%
440 PRINTTAB(26) HA%
450 PRINT:PRINTTAB(26) HU%
460 POKE 646,1
500 GET T$:IF T$ = "" THEN 500
510 IF T$ = "1" THEN GOSUB 16000:GOTO300
520 IF T$ = "2" THEN GOSUB 10000:GOTO300
530 IF T$ = "H" THEN GOSUB 18650:GOTO300
540 IF T$<> "3"THEN 500
1000 POKE ZU,256*RND(1)
1010 POKE ZU+1,256*RND(1)
1020 IF AZ=0 THEN SYS HP
1030 SYS HP+3
1040 IF PEEK(ZP+128)=0 THEN AZ=AZ+65536:GOTO 1030
1050 AZ = AZ + PEEK(ZP+129) + PEEK(ZP+130)*256+1
1060 FA% = PEEK(FA)+PEEK(FA+1)*256
1070 HA% = PEEK(HA)+PEEK(HA+1)*256
1100 GOTO 300
9000 STOP
10000 PRINTCHR$(147):POKE 646,1:UG =0:OG=512:I=FA%:
10005 PRINT"OHNE EINGABE BLEIBEN DIE ALTEN WERTE ERHALTEN":PRINT:PRINT:PRINT
10010 PRINT"BISHER HATTEN WIR "I "FISCHE":PRINT
10020 PRINT"WIEVIELE IN ZUKUNFT":GOSUB15000
10030 PRINT:FA% = I
10040 UG = 0:OG = 512 -FA%:I = HA%
10050 PRINT"BISHER HATTEN WIR "I "HAIE":PRINT
10060 PRINT"WIEVIELE IN ZUKUNFT":GOSUB15000
10070 PRINT:HA% = I
10080 UG = 1:OG = 255
10090 PRINT:PRINT:PRINT"BISHER VERMEHRTEN SICH FISCHE NACH"
10100 PRINT"DEM "VF%" TEN JAHR"
10110 PRINT"NACH WIEVIELEN JAHREN IN ZUKUNFT"
10120 I = VF%:GOSUB 15000:VF%=I
10130 PRINT:PRINT:PRINT"BISHER VERMEHRTEN SICH HAIE NACH"
10140 PRINT"DEM "VH%" TEN JAHR"
10150 PRINT"NACH WIEVIELEN JAHREN IN ZUKUNFT"
10160 I = VH%:GOSUB 15000:VH%=I
10170 PRINT:PRINT:PRINT"BISHER VERHUNGERTEN HAIE NACH"
10180 PRINT"DEM "HU%" TEN JAHR"
10190 PRINT"NACH WIEVIELEN JAHREN IN ZUKUNFT":I=HU%:GOSUB15000:HU%=I
10200 POKE VH,VH%-1:W = VH%-1:GOSUB 11000:POKE VH+3,W1
10210 POKE VF,VF%-1:W = VF%-1:GOSUB 11000:POKE VF+3,W1
10220 POKE HU,HU%-1:W = HU%-1:GOSUB 11000:POKE HU+3,W1
10240 POKE HA+1,INT(HA%/256)
10250 POKE HA,HA%-INT(HA%/256)*256
10260 POKE FA+1,INT(FA%/256)
10270 POKE FA,FA%-INT(FA%/256)*256
10280 AZ = 0
10300 RETURN
11000 W1=0
11010 IF W1<W THEN W1 = W1+W1+1:GOTO11010
11020 RETURN
14500 STOP
15000 INPUT I
15100 I=INT(I)
15200 IF UG <= I AND OG >=I THEN RETURN
15300 PRINT:PRINT"WERT ZWISCHEN " UG" UND "OG "EINGEBEN!":GOTO 15000
16000 REM ANLEITUNG
16050 PRINT CHR$ (147):PRINT:PRINT:PRINT
16100 PRINT TAB(12) "*********"
16150 PRINT TAB(12) "* WATOR *"
16200 PRINT TAB(12) "*********"
16250 PRINT:PRINT
16300 PRINT TAB(5) "IST EIN SEHR INTERESSANTES":PRINT
16350 PRINT TAB(5) "SIMULATIONSPROGRAMM.":PRINT
16400 PRINTTAB(5)"SIMULIERT WIRD EIN OEKOSYSTEM, IN":PRINT
16450 PRINTTAB(5)"DEM SICH ZWEI VERSCHIEDENE ARTEN":PRINT
16500 PRINTTAB(10)"VON TIEREN TUMMELN:":PRINT
16550 PRINTTAB(11)"HAIE UND FISCHE.":PRINT:PRINT:PRINT
16600 GOSUB 21000:PRINT
16650 PRINTTAB(5)"JEDES TIER KANN SICH BEWEGEN UND":PRINT
16700 PRINTTAB(5)"SICH VERMEHREN, WOBEI DIE":PRINT
16750 PRINTTAB(5)"HAIE VERSUCHEN, DIE FISCHE ZU":PRINT
16800 PRINTTAB(5)"FRESSEN. NAHRUNG FUER DIE FISCHE":PRINT
16850 PRINTTAB(5)"GIBT ES IM UEBERFLUSS.":PRINT
16900 PRINTTAB(5)"FINDET EIN HAI EINE ZEIT LANG":PRINT
16950 PRINTTAB(5)"KEINEN FISCH, SO VERHUNGERT ER.":PRINT
17000 PRINTTAB(5)"LEBENSRAUM IST EIN SEE, DER IN":PRINT
17050 PRINTTAB(5)"DER FORM EINES TORUSSES GEKRUEMMT":PRINT
17100 PRINTTAB(5)"IST. DAHER DER NAME 'WATOR'.":PRINT
17110 PRINT:PRINT:GOSUB 21000
17120 FORI=0TO10:PRINT:NEXT
17200 PRINTTAB(5)"MEHR ZU DIESEM THEMA FINDEN SIE":PRINT
17230 PRINTTAB(5)"IM SPEKTRUM DER WISSENSCHAFT":PRINT
17260 PRINTTAB(15)"2/85.":FORI=0TO10:PRINT:NEXT:GOSUB 21000:
17265 FOR I=1TO 20:PRINT:NEXT
17270 PRINTTAB(5)"VON IHNEN KOENNEN 5 VERSCHIEDENE":PRINT
17300 PRINTTAB(5)"PARAMETER EINGESTELLT WERDEN.":PRINT
17310 PRINTTAB(10)"UND ZWAR:":FORI=0TO10:PRINT:NEXT:GOSUB 21000
17320 FOR I=0TO 30:PRINT:NEXT
17330 PRINTTAB(5)"DIE VARIABLE":PRINT
17350 PRINTTAB(5)"'ANZAHL DER FISCHE'.":PRINT
17370 PRINTTAB(5)"DIESE VARIABLE WIRD AM ANFANG":PRINT
17400 PRINTTAB(5)"EINES DURCHLAUFS GESETZT UND":PRINT
17420 PRINTTAB(5)"WAEHREND DES DURCHLAUFS STAENDIG":PRINT
17450 PRINTTAB(5)"AKTUALISIERT.":PRINT
17470 PRINTTAB(5)"MAN FINDET IHREN WERT AM BILD-":PRINT
17500 PRINTTAB(5)"SCHIRM UNTEN LINKS."
17530 PRINT:PRINT:PRINT:PRINT:GOSUB 21000
17550 FORI=1TO30:PRINT:NEXT
17570 PRINTTAB(5)"'ANZAHL DER HAIE' IST DIE":PRINT
17600 PRINTTAB(5)"ENTSPRECHENDE VARIABLE FUER DIE":PRINT
17630 PRINTTAB(5)"HAIE.":PRINT
17650 PRINTTAB(5)"MAN FINDET SIE UNTEN RECHTS.":PRINT
17670 PRINTTAB(5)"IST DIE ANZAHL DER HAIE = 0, SO":PRINT
17680 PRINTTAB(5)"KEHRT DAS PROGRAMM IN DAS GRUND-":PRINT
17690 PRINTTAB(5)"MENUE ZURUECK, EBENSO, WENN":PRINT
17693 PRINTTAB(5)"WAEHREND DES PROGRAMMLAUFS DIE":PRINT
17695 PRINTTAB(5)"RESTORE-TASTE GEDRUECKT WIRD."
17700 PRINT:PRINT:PRINT:PRINT:PRINT:GOSUB 21000:FORI=0TO30:PRINT:NEXT
17720 PRINTTAB(5)"DIE VARIABLE":PRINT
17730 PRINTTAB(5)"'VERMEHRUNG FISCHE' GIBT AN,NACH":PRINT
17750 PRINTTAB(5)"WIEVIELEN JAHREN SICH DIE FISCHE":PRINT
17770 PRINTTAB(5)"VERMEHREN;":PRINT
17800 PRINTTAB(5)"OB NACH DEM ERSTEN, ZWEITEN":PRINT
17830 PRINTTAB(5)"DRITTEN.....":PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
17850 GOSUB 21000:FORI=0TO30:PRINT:NEXT
17870 PRINTTAB(5)"'VERMEHRUNG HAIE' ERFUELLT DENSEL-":PRINT
17900 PRINTTAB(5)"BEN ZWECK BEI DEN HAIEN.":PRINT
17920 FOR I=0TO 10:PRINT:NEXT:GOSUB 21000
17950 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
17970 PRINTTAB(5)"DIE VARIABLE 'HUNGER' GIBT AN,":PRINT
18000 PRINTTAB(5)"NACH WIEVIELEN JAHREN EIN HAI":PRINT
18030 PRINTTAB(5)"STIRBT, WENN ER IN DIESER ZEIT":PRINT
18050 PRINTTAB(5)"KEINEN FISCH ZUM FRESSEN FINDET.":PRINT
18070 PRINTTAB(5)"OB NACH EIN, ZWEI, DREI.....":PRINT
18100 PRINTTAB(5)"JAHREN."
18130 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
18150 GOSUB21000
18170 FORI=1TO20:PRINT:NEXT
18200 PRINTTAB(5)"ZUSAETZLICH FINDEN SIE IN DER ":PRINT
18230 PRINTTAB(5)"MITTE OBEN DIE ANZAHL DER ZYKLEN,":PRINT
18250 PRINTTAB(5)"DIE SEIT DEM START DIESER":PRINT
18270 PRINTTAB(5)"KOMBINATION VERGANGEN SIND."
18300 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
18330 GOSUB 21000:FORI=1TO15:PRINT:NEXT
18350 PRINTTAB(5)"DIES KLINGT JETZT ALLES":PRINT
18370 PRINTTAB(5)"FURCHTBAR KOMPLIZIERT, UND SIE ":PRINT
18400 PRINTTAB(5)"WERDEN AM ANFANG SCHWIERIGKEITEN":PRINT
18430 PRINTTAB(5)"HABEN, EIN OEKOSYSTEM ZU ENTWER-":PRINT
18450 PRINTTAB(5)"FEN, DAS NICHT SCHON NACH WENIGEN":PRINT
18470 PRINTTAB(5)"HUNDERT JAHREN ZUSAMMENBRICHT. ":PRINT:PRINT
18500 PRINTTAB(5)"DRUECKEN SIE 'H' UND DER COMPUTER":PRINT
18530 PRINTTAB(5)"STELLT IHNEN EINE KOMBINATION EIN,":PRINT
18550 PRINTTAB(5)"DIE SICHER LAUEFT!":PRINT
18600 GETT$:IFT$=""THEN 18600
18630 IFT$<>"H"THEN RETURN
18650 VH%=15:VF%=3:HU%=2:FA%=400:HA%=20:GOTO 10200
21000 PRINTTAB(7)"WEITER MIT RETURN[146]"
21020 GETT$:IF T$ <> CHR$(13) THEN 21020
21030 GETT$:RETURN