MV - CPCEMU Disk-File Disk-Info (Track-Info  NAFBGCHDIE`i3B!͉0PY Failed to load the configuration sector $Y$*|(&Y Illegal configuration sector $*"=*"?:2C!=̓:2:̀: ͞! ͡!d_~#( GN#!'F!-F!3F~#(PWF#N#8:Y Expansion buffer full or illegal token specified $  :äOGl _~#$O 52 DjDj @mma@@ccCP/M 2.2$  BO   BO   111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111f22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333334\X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<×2͞˗×××͞ߗ͞× !2:2a{_:ʖ:>Ľ˗ʖ:=2̞–!B!6#5ڗʖ:Ľ!ͬ˜ʧݘÂݘ )!F#xʺ~0wëw!" !~6ͽ:ý(!Ϛ#͘*~ ""͌#>?͌͘ݘ =_.:;<> Oo$>!͞Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*ٙ6?ۙwș0ߙ#6 #6" #~?  xDIR ERA TYPESAVEREN USER!yΞO#< Ty#O 321y_͸2y2ͽ:˜1͘ИA͌>>͌9ؘИ2^ :¥.!_~#fow]!v"!ߚçREAD ERRORçNO FILE^:Track-Info  NAFBGCHDIE !Ξ ~ 3#0 Wx x G ~ # 3x~#B!Y~ɯ2͞:=!ý:=!:ý^T!Ξ~  6?#ˆ:`O> K{̛͘ИA͒>:͒ԛ͢>:͒͢xK > K > ͒x  ٛٛ͢˜ØÆ^ BRͧ9!5‚#~Y‚#"T͞<ÆALL (Y/N)?^ TЗʧ͘!6!~ڇ w4!Y~ʆ͌˜†t=ʆٚf ^ T͞ 2o&)|+!ؘ͞Ԝ͞ڗ<ͧ"*Ȭ*#"͕: 2鬷âԤÞy<_WyOxOxG* ~V5dw^ :ݬʈNÎ N#Fyʝ*Ƭ}|\#u*Ƭ#DM*6# x±*ʬ*s#r͡*6#6^>ҥ:A#~$=2Ek͌ҥ:Ԭ:Ŭ/GyO>2Ԭ!جq*C"٬͡ʔ*٬JҔ^:جOyʃ?|x | s-|N-# S:2E!Ԭ~Яw>T D^6kƤ-äPYyѦ 5*Ƭ{zBK5`~2ݞ2\!͞!B!~> >#0~O#Cx2͘՘1)ͽÂf zͧÆBAD LOADCOMf^:Ξ ! Â$$$ SUB *C ^OâƤT *C~wD -'  -@ͦ~^*C Ox! N!Fwyxʋ>ڋ>*Cw~#+w#w+ɯ2E22i^ *C :ݬ~ۧw~͔͔# # ͧ w ~>2Ҭ!E5T*C!"C"C!w# F! w͌x2Ҭ͢*C ~<wʃG:Ŭ!Ҭʎì 4~ʶ¬:Ӭ<ʶ$ʶïZͻx>2լ>2Ӭͻ:!ᬾZ2:Eẅ́͊ѢͲң>"C{2֬!"E9"1A22ެ!ty)K!G_^#V*CȡΡԡ~Eȫ׫ ,&-AGMS!ʟ!՟ô!ô!ܟBdos Err On : $Bad Sector$Select$File R/O$ɠ:BA2ƟӠӠ!~6 O͐  :E B 2>: b* : y! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #Hɠ: !  Hù H H $O͐Ӡ: 2 *CN# 2լ>2ӬT*CGͻ:ẅ́n>2׬;O ^DM;}H>"*C :ݬ:׬ddslO s#r:E͊:լ==»y==»*Ww#*"Ѣ͸*:ĬG#š"ڤѢ͸:!ᬾҩw4!iw:լңZ!E~=26ң2լ*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{x: 2 p&>~+é7ɠ2 H! >w_: ! 5ͤNkͱ¦ͱxʊ#Nx: ! 2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMDӠ#2E>! ^#V w#P:BO|^#V#"##"##"##"Ь!O*!O*Ƭ|!ݬ6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*ګs+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:֬!Bw!>2ެ*C~=2֬u:B2߬~2wE:A*Cw>"!""2B!"ڤ!rQQQâ~?«ͦ~?rQ*٬"CQ-Q͜QüQrQ$Q*):B"ڤ*)*)Q;*"E:֬;:A2AQÓQÜQҪ*C}/_|/*W}_*"}o|g":ެʑ*C6:ଷʑw:߬2֬E**E}DQ>2լyx#*άDM*s#r*s#ryOxG*Ь0MD!!ìN:㬷 EG>O: \S*C :ݬqn& ^#V>O^"*}:ì*)=":ĬO:㬡o"*C *C!ͮ~2~2ͦ:Ŭ2ͮ:լޣO:㬁w:w |g}o*# ):BO!yoxg*:BO}!N#F "*Ȭ#*s#r^ ~!J! J*:鬅o$*C~i6iw**{#zr+s{ozg**̬͕** Ĥ,w͜͸ڤͲ!!N#F$**O!~# KOMFOL BAS OEKOERW1 OEKOERW2 OEKOERW3 REPRO BAS LISTE4 DATLISTE5 DAT' !"#$WMASTER BAKM%&'()*+,-.KOMGRA BAS Spielen"6#@#," Wortliste..."J#T#," <2) bearbeiten"^#h#," <3> laden"r#|#," <4> speichern"CEMU BIN FGEMU BAKHBRUDER IZUGCOMV1 JWKETTE2 BAS;<=ZUGCOMV2 MMORETTI BASMORETTI BASQEMU BASOSOUND1 BASUSOUND2 BASVOEKOERW4 WOEKOERW5 XOEKOERW6 YGOBANG BAS-Z\]^_`TRIANGLEBAS[""()x,,z,$ !***** Wortliste bearbeiten ##,#,"Neues Wort:"#,#,"Eingabe in"#,"Grossbuchstaben"#,#,"Wort loeschen:"#,#,"Eingabe in"#,"Kleinbuchstaben""#,#,"Woerter anzeigen:"!#,#,"Anfangsbuchstabe"#,"eingeben"&#,#,"Hauptmenue:"!0#,#,"...einfach ENTER":#,,#,"Liste"; wD#,,#, ;"Woerter"N#,,#,(); X#,KETTEV2 ,>?KLNcb&l***** Ueberpruefung der Eingabev "" ()1 ()A ()Z (); N   () > w w()!() w();N***** Wort loeschen"( )();N5 (( ),)( ).( )"" ;" ";: ***** Neues Wort"( )();N ;" ";:*4***** Woerter anzeigen>:Hu(( ),)( );" ";  RN\f***** Wortliste ladenp z#" Wortliste laden..."" Welche Wortlaenge ?";C "" # w() w   w()"!LISTE"s( w)".DAT"  ( @ #,( )   ***** Wortliste speichern $#.8" Wortliste speicheWMASTER BASp%%`"'(C) "J" "J"  "N" * ******************************************* W O R D M A S T E R *************** (C) 1986 M. Uphoff ********(***********************************2<***** InitialisierungFP"X"BZd a-z()n , , , ,x .,(,, #,,, ,#,,(, , #,#,#,#,Track-Info  NAFBGCHDIErn..."BL"LISTE"s( w)".DAT"%V  #,( ) ` j(t***** SUB Neues Wort einsortieren~, ( )( )8  (( ),)( )"( ) )***** SUB Wortpos. in Liste suchen% (q( ))i iii[ ( )"" ( ) i ( ) i OEKOEXP BASp( ne)j'j')j' ne ne( ******** Oeko-Experiment ********(********* Basisprogramm *********(  Initialisierung2  System definieren<   StartbelegungF  AblaufP  PlotroutineZdn ***** SUB Initialisierung  1 , , , , , ,  ,  a-z!$ fel(, ) Spielfeld!.ZAUTOMATBASp E,07,23,86,07 23,86,07,23,86,12,23,13 10,F1,C9,* *************************************** ******* Z E L L A U T O M A T ****(*** ****2*** (C) 1986 by ****<*** ****F*** Gerd Brinkmann ****P*** 4554 Ankum ****Z***********************************d r(,) Regelkatalog*8 d(), d() Richtungsoffset"B oben, unten, links, rechts:2L d() d() d() d()V () Zaehler)` sta( ) Status Nachbarschaft j gr() Grafikstrings't an(,?) Merkfeld f. Plot~ ,( fuer CPC 464 ! ,,( fuer CPC 664/6128"***** SUB System definieren7 lee gra scha wol ran Zeichen definieren    )n*** Initialisierung ***x a-zmu"0310202313" a   w, , , , ,  ! ,,8,T,,,,,   ,,  B ge Cb*** Anfangspunkte u.-farbe setzen ** , ();* () f ) ()   () 6- () ," "; r" d,"x : "; ; "*,Gras  ,,,J,,,,2,  ,,,,,\,},,  Schaf* ,,,,,,,~,>4 ,>,6,",",",,, > WolfH ,,,, ,`,,8,|R ,?,>,6,",",",,\#f Grafikstrings zusammensetzen)pgr( lee)" "()( )" "<zgr( gra)()()()()( )()=gr( scha)()()()()( )()<gr( wol)()()()()( )() Regelkatalog einlesen *** UP: Anfangspunkte plotten ***6 (|( ,)) (@ ,,  0u , J  ,,T^*h*** Hauptschleife ***r  | ge .b,@   C"" . a,@P( )( )  **** Abfrage nach Ablauf o.Break ***6 ,"W)eiter N)eustart U)mdefinieren "(C) ""  "N"  "U"  "W" ̬  zeil  spalt $ r( spalt, zeil) spalt zeil) 0,1,0,1, 0,1,0,1, 0,0,0,0, 0,0,0,0) 1,1,2,2, 1,1,2,2, 0,0,0,0, 0,0,0,0) 0,2,0,2, 3,3,3,3, 0,0,0,0, 0,0,0,0) 0,0,3,3, 0,0,3,3, 0,0,0,0, 0,0,0,0)$ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0. 8 ) **** SUB Spielfeld,Startverteilung  Bildschirm aufteilen #,,,, #,#  Rand vorbelegen  7$ ge ge r  *** Umdefinieren ***5 ,"akt. logisches Muster : "mu" ";7& ,"Gib logisches Muster ein : "{( ,".")" "0 ,"",: "" vD () $Nmu{( (),"0")X   (b a ,((mu, ,))lv , (&)  *** UP: Anzeige ***  ,"Logik: ";  mu; " Gen.:";"  ge"-Track-Info  NAFBGCHDIE fel( ,) ran fel( , ) ran     7& fel(, ) ran fel(, ) ran 0 : !D Zufallsverteilung erzeugen N FDX  b   l ne (E)v '    ***** Spielablauf Auf Tastendruck warten C"" Zaehlintervall setzen zei  p  Bis jemand ENTER drueckt: ( ) Erei l.psn(),l.zlist()N k.psn(), k.psn(),k.zlist(), k.zn(), k.inde()0"Wurde bereits eine Datei erstellt (j/n)?"(C)+ "j"   "n"  ,,,,,,,, ,,,,,,,,p ,,,,, ,,, ,,,,,0,,, ,,,,,,, , ,,,,,,,0, ,,,,,,?,, " ,,,,,8,,, , h!6   d( )!gnisse zaehlen () ()  , "#####"; ();" Zelle auswuerfeln, (E)6 (E )"@ Status der 4 NachbarzellenJ ermitteln)T ar  sta( ar)^ r Bh sta( fel( d( r), d( r))) r r| Regelkatalog lesenB spalt sta() sta() sta() sta()" zeil fel( , )' ne r( spalt, zeil)@   d( )3J   frefre( )5T   bauebaue( )3^   damdam( )h 0,0,-1,1,1,1,-1,-1r 1,-1,0,0,1,-1,1,-1| 32,32,10,8,8,32,32 240,241,10,8,8,242,243 244,245,10,8,8,246,247&  , (){(,)()2    ,  ()()()# ,  (){(,)()********** Spielstart z r   Umwandlung ausfuehren  ' C zei())*** SUB Ablauf grafisch darstellen  zei ? ar 3 ( zei), an( ar, zei)4 zei, an( ar, zei), ar ar zei!p***** SUB Bestandsaufnahmez zei?   & an( , zei) ( )   zei zei    " ( , ) ,  -1,-1,-1,-1,-1,-1 -1,1,1,1,1,-1 -1,0,0,0,0,-1 -1,0,0,0,0,-1& -1,3,3,3,3,-10 -1,-1,-1,-1,-1,-1 : D spieleNX********** Spielablaufb l erv er spiele d, spiele spiele********** Spielende z z er *,f, , m"#,"Noch ein Spiel (j/n) ?" (C)%'***** SUB Aenderung ausfuehren&'***** und Zaehler aktualisieren$'.' al fel( , )8' al ne B' fel( , ) ne%L' ,  gr( ne)\V' al ( al) ( al) al al, "###"; ( al)\`' ne ( ne) ( ne) ne ne, "###"; ( ne)j'j')j' ne ne, "###"; ( ne)j'; ( ne) "j" #  "n" .   ********** Auswertung *#,"Ich habe gewonnen !"#4 (k.zlist( z)) > k.inde( z) k.inde( z)  l.psn( m) k.psn( z) l.psn( m) k.psn( z) m m m>Hl.zlist( )(k.zlist( z), k.zn( z),)R\f#,"Ich habe verloren !"p k.inde( z) k.inde( z)  l.psn( m) k.psn( z) lMSCHACH BASpXXJ C9,7E,DD,BE,00,C0,23,7E DD,BE,01,C0,23,7E,FD,BE* ********************************************** Mini - Schach **************** (c) 1986 Matthias Uphoff *****(***********************************2!<********** InitialisierungFP B@ F Z"x" Bd "n , , , , x#, ,(,, a-z" d(), d(), (,)5 l.psn(),Track-Info  NAFBGCHDIE.psn( m) k.psn( z) m m mgzl.zlist( )u(k.zlist( z), k.zn( z))(k.zlist( z), k.zn( z)); z l.zlist( )"" z z p#,"Unentschieden !"********** Datei lesen m"mschach.dat"  @=#, l.psn( m), l.psn( m),l.zlist( m) m m$!.********** Datei schreiben8BL"mschach  Zug ausfuehren z z********** Zug Gegner   Zugliste holen  zlist"" er  &  Startkoord. holen(0 ( , ) () &: s  r D  Zielkoord. holen5N ( s)@( r)( ) /X t(zlist,( )) () &b  Zug ausfuehrenlv$********** Koordinateneingabe ""  ( ) .dat"V  m:`#, l.psn( ), l.psn( ),l.zlist( )jt~ ********** Zug ausfuehren_ ( s, r) ( s, r) ( , ) r  r r r er: ( , ) ( s, r) ( s, r)5  ( , ) ( , )5  ( , ) ( , ) ********** Brett ausgeben    %()  ,  C ""   & () v(, )& () w(, )& () v(, )& () w(, ) ********** Zuggenerator.  spiele seit  seit*zlist""4 s > r ?H ( s, r) seit  Damen-SchlagzuegeR r, s\ zlist"" f s p ( , )     ( )    , $ ( , ) fre9( ( , ) ( , ) baue82 ( , ) ( , ) dam< , F  PZd********** Zug ComputernxFeldcodierungpp  s  r ppL ( s, r) pppp ( s, r) r, s( psn( r 9z ( s, r) seit  Bauernzuege8 ( s, r) seit j Damenzuege r, s#********** Damen-Schlagzuege r 4 s d( r) r d( r) ( , )2 d( r) d( r)  Test auf Schlagzug  r   ********** Bauernzuege$ %. r seit s98 ( , )  p) psn(p)pp% s   r ppL ( s, r) pppp ( s, r) r, s( psx(p) psx(p)'Position schon im Langzeitged. ? fla xflaF ,@ l.psn(),@ l.psn(), psx, psx, psn, psnH" (m) fla (l)(m) xfla(n),6Zugliste holen5@ fla zlistl.zlistEintragung in Zugliste,B s  Test auf SchlagzugL s  V ` j ********** Damenzueget ~ r 4 s d( r) r d( r) ( , )#  Eintragung in Zugliste2 d( r) d( r) r  % ********* Schlagzug moeglich ? = seit ( , ) ( , ) = seit ( , ) ( , ) ( )    J zlist"" erT"^Eintragung ins Kurzzeitged.6h k.psn( z) psn k.psn( z) psn!rk.zlist( z)zlist?| fla k.inde( z)  k.inde( z)+ k.zn( z) (E(zlist))#Zug decodieren u. ausfuehren, zu((zlist, k.zn( z)))% xfla zu zu 8 s( zu )@ r( zu 0)0 ( zu  ) ( zu )Track-Info  NAFBGCHDIE  ' ********* Eintragung in Zugliste 7 zu( s)@( r)( ) #( zlistzlist( zu)2 < "F ******** M-Code SuchroutineP  Z  d  n ad _Dx "&" ()  ad,  # / "DATAFEHLER !"   21,FF,FF,22,6C,A6,AF,32 6E,A6,DD,E5,E1,01,0C,00 11,60,A6,ED,B0,DD,2A,68 A6,FD,2A,6A,A6,DD,7E,00 DD,B6,01,C8,21,60,A6,CD 49,A6,28,18,21,64,A6,CD 49,A6,28,0B,DD,23,DD,23 FD,23,FD,23,03,18,DE,3E FF,32,6E,A6,ED,43,6C,A6 C9,7E,DD,BE,00,C0,23,7E DD,BE,01,C0,23,7E,FD,BE 00,C0,23,7E,FD,BE,01,C954,"" 26949,2186,"" 9285,650,"" "&" ()  ad,  # / "DATAFEHLER !"   21,FF,FF,22,6C,A6,AF,32 6E,A6,DD,E5,E1,01,0C,00 11,60,A6,ED,B0,DD,2A,68 A6,FD,2A,6A,A6,DD,7E,00 DD,B6,01,C8,21,60,A625 '***** Ergaenzung 1:Autobahn 2025 bab=4 2195 gra$(bab)=CHR$(15)+CHR$(5)+CHR$(218)+CHR$(8)+CHR$(10)+CHR$(216) 2300 DATA 0,1,0,1, 0,1,0,1, 0,1,0,1, 0,1,0,1 2310 DATA 1,1,2,2, 1,1,2,2, 1,1,2,2, 1,1,2,2 2320 DATA 0,2,0,2, 3,3,3,3, 0,0,0,0, 3,3,3,3 2330 DATA 0,0,3,3, 0,0,3,3, 0,0,0,0, 0,0,0,0 2340 DATA 4,4,4,4, 4,4,4,4, 4,4,4,4, 4,4,4,4 3211 ' 3212 REM Autobahn bauen 3213 neu=bab 3214 FOR x=1 TO 20 3215 FOR y=5 TO 6 3216 GOSUB 10000 3217 NEXT y 3218 NEXT x 10)+CHR$(216) 2300 DATA 0,1KOMFOL BASp  & ()    Z  ( ) ) ***** Komplexe Zahlenfolgen *****)* Darstellung in der Zahlenebene *( 2 @,< 2 2F , , , , P" "Z  d( )n)x**** Komplexe Zahlenebene zeichnen   ();() @, @,, , , , , 2 , ,   2 ,  ,  ,"Im"; ,"Re";***** Kreis zeichnen ()2 " , ,  h  "6 ( ), ( )@J ();())T*** Tastaturabfrage, Punkt steuern^ , ,hC "" hr , *| t(,) ,,,,  ^   ^   ^   ^ 25 '***** Ergaenzung 2: Jaeger 2025 mann=4 2135 REM Mann 2136 SYMBOL 206,0,24,60,24,24,8,56,24 2137 SYMBOL 207,24,24,24,8,8,8,8,24 2195 gra$(mann)=CHR$(15)+CHR$(4)+CHR$(206)+CHR$(8)+CHR$(10)+CHR$(207) 2300 DATA 0,1,0,1, 4,4,4,4, 0,1,0,1, 4,4,4,4 2310 DATA 1,1,2,2, 1,1,2,2, 1,1,2,2, 1,1,2,2 2320 DATA 0,2,0,2, 3,3,3,3, 0,2,0,2, 3,3,3,3 2330 DATA 0,0,3,3, 0,0,3,3, 0,0,0,0, 0,0,0,0 2340 DATA 0,0,0,0, 4,4,4,4, 0,0,0,0, 4,4,4,4 Mann 2136 SYMBOL 206,0,24,60,24,24,8,56,24 2137 SYMBOL 207,24,24,24,8,8,  ^" , "##.## Re"; 2" , "##.## Im"; 2)**** Folge berechnen u. darstellen' r 2 i 2 * re r r im i i re im   i r i 2  r re im 2 r2, i2$  ,"Tiefe"; C "" & ()    Z  ( ) ( ) , Track-Info  NAFBGCHDIEREPRO BASpww%, w, ,|    , ,* ******* Reproduktionsmuster *******  ( ad '2 "&" ()!<  ad, F ad#P DJ "DATAFEHLER !"Zd EF,03,A0,21,A9,A0,E5,DDn E1,7E,23,46,23,4E,77,2Bx 71,2B,70,16,88,21,00,C0 0E,C8,06,50,E5,7E,A2,20 4D,5F,7E,CB,02,30,08,3E 50,B8,28,06,2B,7E,225 '***** Ergaenzung 3: Oeko-Game 2025 mann=4 2135 REM Mann 2136 SYMBOL 206,0,24,60,24,24,8,56,24 2137 SYMBOL 207,24,24,24,8,8,8,8,24 2195 gra$(mann)=CHR$(15)+CHR$(4)+CHR$(206)+CHR$(8)+CHR$(10)+CHR$(207) 2300 DATA 0,1,0,1, 0,1,0,1, 0,1,0,1, 0,1,0,1 2310 DATA 1,1,2,2, 1,1,2,2, 1,1,2,2, 1,1,2,2 2320 DATA 0,2,0,2, 3,3,3,3, 0,2,0,2, 3,3,3,3 2330 DATA 0,0,3,3, 0,0,3,3, 3,3,3,3, 3,3,3,3 2340 DATA 4,4,4,4, 3,3,3,3, 4,4,4,4, 3,3,3,3 3211 ' 3212 REM Mann aufs Spielfeld 3213 xm=INT(RND*20)+1 3214 ym=INT3,CD A0,A0,CB,0A,7E,CB,0A,30 08,3E,01,B8,28,06,23,7E 2B,CD,A0,A0,CB,02,3E,C8 B9,28,09,E5,CD,2D,0C,7E E1,CD,A0,A0,3E,01,B9,28 09,E5,CD,13,0C,7E,E1,CD A0,A0,3E,01,BB,20,07,3A A9,A0,AE,A2,AE,77,CB,0A 30,AB,23,10,A8,E1,CD,13 0C,0D,20,9E,3A,AA,A0,5F 21,00,C0,0E,C8,06,50,E5 7E,AB,A2,20,04,AE,A2,AE 77,CB,0A,30,F3,23,10,F0" E1,CD,13,0C,0D,20,E6,C9, A2,C8,DD,AE,00,A2,C8,1C6 C9,0F,F0,FF@J Anpassung fuer CPC 664<T(RND*10)+1 3215 x=xm:y=ym 3216 neu=mann:GOSUB 10000 4285 GOSUB 7000 7000 '***** SUB Mann bewegen und Aktion 7010 ' 7020 REM Taste gedrueckt ? 7030 IF a$="" THEN RETURN 7040 REM Schon gefressen ? 7050 IF z(mann)=0 THEN RETURN 7060 REM Richtung bestimmen 7070 ri=ASC(a$)-239 7080 IF ri<1 OR ri>4 THEN RETURN 7090 x=xm+dx(ri):y=ym+dy(ri) 7100 IF INKEY(47)=0 THEN 7200 7110 ' 7120 REM Mann bewegen 7130 IF feld(x,y)>gras THEN RETURN 7140 neu=mann:GOSUB 10000 7150 i=xm:xm=x:x=i 7160 i=ym:ym=y:y=i () M,5 [, w, ,^h Anpassung fuer CPC 6128<r () M,9 [, w, ,|    , , , , @,,  C""  1,7E,23,,23,10,A8,E1,CD,13 0C,0D,20,9E,3A,AA,A0,5F 21,00,C0,0E,C8,06,50,E5 7E,AB,A2,20,04,AE,A2,AE 77,CB,0A,30,F3,23,10,F0" E1,CD,13,0C,0D,20,E6,C9, A2,C8,DD,AE,00,A2,C8,1C6 C9,0F,F0,FF@J Anpassung fuer CPC 664<T 7170 neu=leer:GOSUB 10000 7180 RETURN 7190 ' 7200 REM Aktion ausfuehren 7210 i=feld(x,y) 7220 IF i=rand OR i=gras THEN RETURN 7230 IF i=leer THEN neu=gras 7240 IF i=schaf OR i=wolf THEN neu=leer 7250 GOSUB 10000 7260 RETURN MBOL 207,24,24,24,8timmen 7070 ri=ASC(a$)-239 7080 IF ri<1 OR ri>4 THEN RETURN 7090 x=xm+dx(ri):y=ym+dy(ri) 7100 IF INKEY(47)=0 THEN 7200 7110 ' 7120 REM Mann bewegen 7130 IF feld(x,y)>gras THEN RETURN 7140 neu=mann:GOSUB 10000 7150 i=xm:xm=x:x=i 7160 i=ym:ym=y:y=i$ ge ge r  *** Umdefinieren ***5 ,"akt. logisches Muster : "mu" ";7& ,"Gib logisches Muster ein : "{( ,".")" "0 ,"",: "" vD () $Nmu{( (),"0")X   (b a ,((mu, ,))lv , (&)  *** UP: Anzeige ***  ,"Logik: ";  mu; " Gen.:";"  ge"-Track-Info  NAFBGCHDIE" ge;  , (') C""*** M-Code *** ada Nb  1  "&" ()  ad,  * 1 4"Datafehler!"> D5,21,30,75,11,7A,76,7EH 23,86,23,86,12,2B,13,1AR FE,FF,28,02,18,F1,21,7A\ 76,7E,FE,FF,28,3C,06,00f FE,00,28,32,06,03,FE,01p 28,2C,06,01,FE,02,28,26z 06,00,FE,03,28,20,06,02 FE,04,28,1A,06,00,FE,05 28,14,06,02,FE,06,28,0ELIGA LILA LIST LOCH LOGE LOHN LORE LUFT LUKE LUMP LUPE LUST MADE MAGD MAHL MAIS MALZ MAMA MANN MARK MARS MAST MAUL MAUS MEER MEHL MILZ MIME MINE MIST MODE MOHN MOLE MOND MOOR MOOS MOPS MORD MOST MUND MUSE NABE NAHT NAME NAPF NARR NASE NEID NEIN NEON NERV NERZ NEST NETZ NEUN NIXE NORM NOTE NULL OASE OBER OBOE OBST OFEN OMEN OPER OPUS OZON PAAR PAGE PAKT PAPA PARK PATE PATT PECH PEIN PELZ PEST PFAD PFAU PILZ PLAN PLUS POET PO 06,03,FE,07,28,08,06,01 FE,08,28,02,06,03,70,23 18,BF,01,42,01,11,30,75 21,79,76,ED,B0,21,7A,76 7E,FE,FF,28,18,06,00,FE 00,28,0F,06,10,FE,01,28 08,06,01,FE,02,28,02,06 11,70,23,18,E3,D1,21,7A 76,06,50,7E,07,23,86,07 23,86,07,23,86,12,23,13 10,F1,C9,3E,FF,21,30,75 BE,C8,36,00,23,18,F9 Grafikf{hig3,FE,01p 28,2C,06,01,FE,02,28,26z 06,00,FE,03,28,20,06,02 FE,04,28,1A,06,00,FE,05 28,14,06,02,FE,06,28,0ELO PONY PORE POSE POST PUFF PULK PULS PULT PUMA PUTE PUTZ QUAL RABE RAHM RAND RANG RAPS RAST RATE RAUB RAUM REBE RECK REDE REIM REIS REIZ REST REUE RIFF RIND RING RIST RITT ROBE ROCK ROHR ROSA ROSE ROST ROTZ RUCK RUHE RUHM RUIN RUNE RUTE SAAL SAAT SACK SAFE SAFT SAGE SALZ SAME SAMT SAND SARG SATZ SAUM SEIL SEKT SENF SIEB SIEG SILO SIMS SINN SITZ SKAT SMOG SODA SOFA SOHN SOLD SOLL SOLO SPAN SPUK SPUR STAB STAR STAU STEG STILACHT ADEL ADER AFFE AKTE ALGE AMME ANIS ARZT ASYL ATEM ATOM AUGE AULA AUTO BABY BACH BAHN BAKE BALG BALL BAND BANK BANN BART BASE BAST BAUM BEET BEIL BEIN BERG BETT BIER BILD BLAU BLEI BLUT BOCK BOJE BOOT BORD BOTE BREI BROT BRUT BUBE BUCH BUDE BUND BURG CHEF CHOR CITY CLUB CODE DACH DAME DAMM DANK DARM DECK DIEB DILL DOCK DORF DORN DOSE DREI DUFT EBBE EBER ECHO ECKE EFEU EGEL EHRE EILE EINS EKEL ELAN ELCH ELLE EMIR ENDE EN SUFF TABU TAKT TALG TANK TANZ TAXI TEER TEIG TEIL TERZ TEST TEXT TIEF TIER TOGA TOPF TORF TOTO TOUR TRAB TRAN TRIO TROG TUBA TUBE TUCH TURM UFER ULME UNKE UNZE URAN URIN URNE VASE VENE VERB VERS VETO VIEH VIER VOLK WABE WADE WAHL WAHN WALD WALL WAMS WAND WARE WEIB WEIN WELT WERK WERT WILD WIND WINK WIRT WITZ WOGE WOHL WOLF WORT WURF WURM YOGA ZAHL ZAHN ZANK ZAUN ZEHE ZEHN ZEIT ZELT ZEUG ZIEL ZIER ZIMT ZINK ZINN ZINS ZOFE GE ENTE EPOS ERBE ERDE ERLE ESEL ETAT ETUI EULE EXIL FACH FALL FANG FARM FARN FELD FELL FELS FEST FETE FETT FILM FILZ FLOH FLUG FLUR FLUT FORM FOTO FRAU FUGE FUNK FURT FURZ GABE GANG GANS GAST GAUL GAZE GEIZ GELD GIER GIFT GIPS GLAS GNOM GOLD GOLF GOTT GRAB GRAD GRAF GRAM GRAS GRAT GRAU GURT HAAR HAFT HAHN HALL HALM HALS HALT HAND HANG HARN HARZ HASE HAST HAUS HAUT HECK HEER HEFT HEIL HEIM HELD HELM HEMD HERD HERR HERZ HEXEZOLL ZONE ZOPF ZORN ZWEI LGE AMME ANIS ARZT ASYL ATEM ATOM AUGE AULA AUTO BABY BACH BAHN BAKE BALG BALL BATRAN TRIO TROG TUBA TUBE TUCH TURM UFER ULME UNKE UNZE URAN URIN URNE VASE VENE VERB VERS VETO VIEH VIER VOLK WABE WADE WAHL WAHN WALD WALL WAMS WAND WARE WEIB WEIN WELT WERK WERT WILD WIND WINK WIRT WITZ WOGE WOHL WOLF WORT WURF WURM YOGA ZAHL ZAHN ZANK ZAUN ZEHE ZEHN ZEIT ZELT ZEUG ZIEL ZIER ZIMT ZINK ZINN ZINS ZOFE HIEB HOCH HOHN HOLZ HORN HOSE HUHN HUND HUPE HURE IDEE IDOL IGEL IGLU JADE JAGD JAHR JAZZ JOCH JUDE JUDO JULI JUNI JURY KADI KAFF KAHN KALB KALI KALK KAMM KANU KARO KAUZ KEIL KEIM KEKS KERL KERN KIEL KIES KILO KIND KINN KINO KITT KLEE KNIE KOCH KOHL KOJE KOKS KOPF KORB KORK KORN KOST KRAM KRAN KRUG KUFE KULT KURS LACK LAGE LAIB LAIE LAMA LAMM LAND LAST LATZ LAUB LAUF LAUS LAUT LAVA LECK LEHM LEIB LEID LEIM LESE LIED LIFT Track-Info  N A F B G C H D I EK KOMMA KOPIE KRAUT KREBS KREIS KREPP KREUZ KRISE KRONE KROPF KUGEL KUNDE KUNST KUPPE KURVE KUTTE LABOR LACHE LACHS LADEN LAGER LAKAI LAMPE LANZE LARVE LATTE LAUBE LAUGE LAUNE LAUTE LEBEN LEBER LEDER LEHNE LEHRE LEIER LEPRA LESER LICHT LIEBE LILIE LINDE LINIE LINSE LIPPE LISTE LOCKE LOKAL LOKUS LOTTO LUCHS LUNGE LUNTE LUXUS MACHT MAGEN MAGIE MAKEL MALER MANIE MANKO MARKE MARKT MASKE MASSE MATTE MAUER MEILE MEISE MENGE MESSE METER MEUTEABBAU ABEND ABORT ACHAT ACHSE ACKER ADLER AGENT AHORN AKTIE ALARM ALBUM ALIBI ALTER AMPEL AMSEL ANGEL ANGST ANKER ANMUT ANODE ANZUG APFEL APRIL AREAL ARENA ARMEE ARMUT AROMA ARSCH ASCHE ASTER ATLAS AUTOR BACKE BAHRE BARON BASAR BASIS BATIK BAUCH BAUER BELAG BELEG BERUF BESEN BEULE BEUTE BEZUG BIBER BIENE BIEST BINDE BIRKE BIRNE BISON BITTE BLASE BLATT BLECH BLICK BLITZ BLUME BLUSE BODEN BOGEN BOHNE BONUS BRAND BRAUN BRAUT BRETT BRIEF B MIENE MIETE MIEZE MILBE MILCH MILDE MINZE MITTE MODER MODUS MOKKA MOLCH MONAT MOPED MORAL MOTIV MOTOR MOTTE MOTTO MULDE MUMIE MUSIK NABEL NACHT NADEL NAGEL NARBE NATUR NEBEL NEFFE NEGER NEIGE NELKE NIERE NIETE NONNE NOTIZ NUDEL NUGAT NYLON OCHSE OCKER OLIVE ONKEL OPFER OPIUM OPTIK ORDEN ORDER ORGAN ORGEL ORGIE ORKAN OTTER OZEAN PACHT PAKET PALME PANIK PANNE PAPPE PAPST PARTY PASCH PASTE PAUKE PAUSE PEDAL PEGEL PELLE PENNE PERLE PFAHL RISE BRUCH BRUST BUCHE BUSCH BUSEN CELLO CHAOS CHLOR CHROM CREME CURRY DACHS DAMPF DATUM DAUER DECKE DEGEN DEKAN DELTA DEPOT DIELE DIRNE DIWAN DOCHT DOGGE DOHLE DOLCH DOSIS DRAHT DRALL DRAMA DRANG DRECK DRILL DROGE DRUCK DUELL DUETT DUNST DURST EBENE EICHE EIFER EIMER EISEN EITER ELEND ELITE ENGEL ENKEL ENZYM ERKER ERNST ERNTE ERPEL ESCHE ESSIG ETAGE ETHIK FABEL FADEN FAHNE FAHRT FALKE FALLE FALTE FARBE FARCE FASAN FAUST FAZIT FEDER FE PFAND PFEIL PFERD PFIFF PFLUG PFOTE PFUND PHOTO PIANO PILLE PILOT PINIE PIRAT PIROL PISTE PLAGE PLANE PLATZ PLUTO POCKE POKAL POLKA POLLE POLYP PORTO POSSE PREIS PRINZ PRISE PROBE PROFI PROSA PSALM PUDEL PUNKT PUPPE QUALM QUARK QUARZ QUOTE RACHE RADAR RADAU RADIO RAMPE RANKE RAPPE RASEN RASSE RASUR RATTE RAUCH RAUPE RAUTE RECHT REGAL REGEL REGEN REGIE REICH REIFE REIHE REISE RENTE REVUE RIESE RINDE RINNE RIPPE RITUS ROBBE ROLLE ROMAN HDE FEIER FEIGE FEILE FEIND FELGE FERNE FERSE FEUER FIGUR FINTE FIRMA FIRST FISCH FLAUM FLECK FLIRT FLUCH FLUOR FOLGE FOLIE FORST FORUM FRACK FRAGE FRIST FRONT FROST FRUST FUCHS FUNKE FUSEL FUTUR GABEL GALAN GALLE GARBE GARDE GASSE GATTE GAUDI GEBET GEBOT GEIER GEIGE GEIST GELEE GENIE GERTE GICHT GILDE GLANZ GLEIS GLIED GNADE GOSSE GREIS GRIFF GRILL GRIMM GRIMM GRIPS GROLL GRUBE GRUFT GRUND GUMMI GUNST GURKE HACKE HAFEN HAFER HAGEL HAKROUTE RUBEL RUBIN RUDEL RUDER RUMPF RUNDE SACHE SAHNE SAITE SALAT SALBE SALON SALTO SALVE SATAN SAUNA SCHAF SCHAL SCHAM SCHAR SCHAU SCHUB SCHUH SECHS SECHS SEELE SEGEL SEGEN SEHER SEHNE SEIDE SEIFE SEITE SEKTE SENAT SENKE SENSE SERIE SERUM SICHT SINUS SIPPE SITTE SKALA SKALP SOHLE SONDE SONNE SORGE SORTE SPALT SPANN SPATZ SPECK SPEER SPIEL SPION SPORE SPORT SPOTT SPREU SPRIT SPULE SPURT STAAT STADT STAHL STAND START STAUB STEIN STERN SEN HALDE HALLE HARFE HARKE HAUBE HAUPT HECHT HECKE HEIDE HENNE HERDE HETZE HILFE HIRSE HOBBY HOCKE HONIG HORDE HOTEL HUMOR IDEAL IDIOT IDYLL ILTIS IMKER INDEX INSEL ISLAM JACHT JACKE JUBEL JUNGE JUWEL KABEL KADER KAJAK KAKAO KAMEL KAMIN KAMPF KANAL KANTE KAPPE KARMA KARTE KASSE KASTE KATER KATZE KEGEL KEHLE KELCH KELLE KERBE KERZE KETTE KEULE KIOSK KIPPE KISTE KLAGE KLAUE KLEID KLOTZ KLUFT KNABE KNALL KNAST KNOPF KOBRA KOHLE KOMET KOMITrack-Info  N A F B G C H D I ETICH STIEL STIER STIFT STIRN STOCK STOFF STROH STROM STUBE STUFE STUHL STURM STURZ SUCHE SUCHT SUITE SUMPF SUPPE SZENE TABAK TADEL TAFEL TANGO TANTE TARIF TASSE TASTE TATZE TAUBE TEICH TEINT TEMPO THEMA THESE THRON TIGER TINTE TISCH TITEL TOAST TONNE TORSO TORTE TRAGE TRAUM TRICK TRIEB TRITT TROPF TROST TROTT TROTZ TRUHE TULPE TUNKE TUSCH UMBAU UNFUG UNION VATER VENUS VILLA VIPER VIRUS VISUM VOGEL VOKAL VOTUM WAAGE WACHE WACHS WAFFE WAb&l***** Ueberpruefung der Eingabev "" ()1 ()A ()Z (); N   () > w w()!() w();N***** Wort loeschen"( )();N5 (( ),)( ).( )"" ;" ";: ***** Neues Wort"( )();N ;" ";:GEN WAGON WANGE WANZE WARTE WARZE WATTE WEIDE WEILE WEISE WEITE WELLE WELPE WENDE WERFT WESEN WESPE WESTE WETTE WICHT WIEGE WILLE WINDE WIPPE WITWE WOCHE WOLKE WRACK WUCHT WULST WUNDE WURST ZACKE ZANGE ZEBRA ZECKE ZEILE ZELLE ZEUGE ZIEGE ZITZE ZOBEL ZUCHT ZUNFT ZUNGE ZWANG ZWECK ZWEIG ZWERG ZWIRN TER AMPEL AMSEL ANGEL ANGST ANTUNKE TUSCH UMBAU UNFUG UNION VATER VENUS VILLA VIPER VIRUS VISUM VOGEL VOKAL VOTUM WAAGE WACHE WACHS WAFFE WA*4***** Woerter anzeigen>:Hu(( ),)( );" ";  RN\f***** Wortliste ladenp z#" Wortliste laden..."" Welche Wortlaenge ?";C "" # w() w   w()"LISTE"s( w)".DAT"  ( @ #,( )   ***** Wortliste speichern $#.8" Wortliste speicherWMASTER BASp%%^'(C) "J" "J"  "N" * ******************************************* W O R D M A S T E R *************** (C) 1986 M. Uphoff ********(***********************************2<***** InitialisierungFP"X"BZd a-z()n , , , ,x .,(,, #,,, ,#,,(, , #,#,#,#,n..."BL"LISTE"s( w)".DAT"%V  #,( ) ` j(t***** SUB Neues Wort einsortieren~, ( )( )8  (( ),)( )"( ) )***** SUB Wortpos. in Liste suchen% (q( ))i iii[ ( )"" ( ) i ( ) i ##  (          .,',, #,,,,#,,',,***** Hauptmenue##- ,"***** W O R D M A S T E R *****"+  , ();"1986 Matthias Uphoff" #,#," ** HAUPTMENUE **""##,,#," <1> Spielen"6#@#," Wortliste..."J#T#," <2) bearbeiten"^#h#," <3> laden"r#|#," <4> speichern"C***** SUB Rahmen zeichnen &# ,(){( ,)();  !(# ,, # ,();$2# , , # ,(); < &F# ,(){( ,)();PZd***** Spielstartnx6 w " Erst eine Wortliste laden !"   F  p p(ab"ABCDEFGHIJKLMNOPQRSTUVWXYZ"2zu("0123456789", w)( w)***** Start neue Runde ##   ""()x,,z,$ !***** Wortliste bearbeiten ##,#,"Neues Wort:"#,#,"Eingabe in"#,"Grossbuchstaben"#,#,"Wort loeschen:"#,#,"Eingabe in"#,"Kleinbuchstaben""#,#,"Woerter anzeigen:"!#,#,"Anfangsbuchstabe"#,"eingeben"&#,#,"Hauptmenue:"!0#,#,"...einfach ENTER":#,,#,"Liste"; wD#,,#, ;"Woerter"N#,,#,(); X#,Track-Info  N A F B G C H D I Ev v*"Okay - auf zur";( );". Runde."!"Willst du anfangen? (J/N)"'(C) "J" "J" ," "N" "N"   $***** Gegner ist an der Reihe",##,6#,"Eingabe loeschen"@#,"mit "J#T#,"Geheimwort"^#,"erfragen mit "h#r#,"Wort suchen mit")|#,"<";();"> oder <";();">"g( (E ))***** Eingabe Versuch v v%"Dein"( )P 0Z "Mein";( v);". Versuch: ";( v)d 'n "Wieviel richtige Buchstaben ? "; x  C ""   ()    t(z,) x   r()' "Wieviel richtige Positionen ? ";  C ""   ()  P . t(z,) () r    r() #,#,, v #,"##."; v;> #," ";( v);" ";{( r,"#");{( ;( v);". Versuch: "; "" (C)"" v#!()()   "?" \()t(ab,) & ;*0 () w  : D ( ) L NX#b***** Trefferquote ermittelnl$v r r(,)g  w! t(,(, ,)), r r(, )" "2(, ,)(g,r r,"+") r w : " ), ***** Auswertung und neuer Versuch6 8@ r( v) r r( v) r v vJ r T r ^  w(h t(a,(( ), ,))6r (a, )(a, ) |  + u(( ),) . (a, )(a, )  #,() 1 (E )(a, ,)& #,, v#,#,( ,) r r  ""Richtige Buchstaben:"; r""Richtige Positionen:"; r#,#,, v#,"##."; v;7#," ";;" ";{( r,"#");{( r r,"+") r w " ";;" war richtig !" v F #*"Jetzt bin ich an der Reihe." 4 >#H***** Geheimes Wort verratenR\#f"Das geheime Wort ist ";g"p"Bitte etwas mehr Ehrgeiz !"z+"Dir werden 10 Versuche angerechnet);  v) r r(,)( )  w' t(,(( ), ,)), r r(, )" "= (( ), ,)(( ), ,) r r - r r( ) r r( )   #,()F  & ***** Wort gefunden0 : D "Das war's dann wohl..."N vF#X "Jetzt bist du an der Reihe." b ,l v ***** Abbruch mit DEL  " Idiot !"+ ." v #,#,, #,"##."; ;#," ";{( w,"?")   v  )***** Wort mit Cursortasten suchen)   &#,#,, v#,( ); (C)"" " () " () $ #,(). 8 ***** Unbekanntes WortB  L " ?"V -` "Das Wort kenne ich nicht. Soll ich es"-j "in meinen Wortschatz aufnehm"Jetzt muss ich wieder neu anfangen."   & ***** Wort wurde nicht gefunden  ( "Ich kann dein Wort nicht finden." / "Entweder kenne ich es nicht,oder deine";, "Angaben waren falsch. Gib das Wort";, "bitte ein, dann schaue ich mal nach." ""   (C) ""  * )4 () ();( )  > t(ab,) H ;*R  () w  \ ( )j f en? (J/N)" t (C) "J"  ~ "N"   t "J"! "Wieder was dazugelernt..." ) "Dein";( v);". Versuch: "; v  "N"' "Dann ist der Versuch ungueltig."  " ***** Computer an der Reihe  2 "Denke dir ein Wort mit"; w;"Buchstaben";. "aus und druecke eine beliebige Taste."; ( C"")2 # v aab" "1< (E )(a, ,)F ( v)Track-Info  N A F B G C H D I E" ?"p -z "Das Wort kenne ich nicht. Soll ich es"- "in meinen Wortschatz aufnehmen? (J/N)" (C)"J"  "N"$   "J"! "Wieder was dazugelernt..." + "Mir werden 10 Versuche angerechnet." v  #,#,,  #,"##."; ; #," ";{( w,"?")  v   N  $"N"."Wenn du meinst..."*8"Dann versuchen wir's noch einmal !" B L%V***** Falsche Angabe ermittel()!  ad, ad ***** DATA's fuer CPC 464 3E,08,11,D0,C7,DD,6E,00 DD,23,DD,66,00,DD,23,01 05,00,ED,B0,3D,20,EE,CD 32,91,EF,1D,90,21,80,FF 3E,C8,32,F8,C7,22,F9,C7 CD,09,BB,30,03,FE,0D,C8 11,40,01,0E,88,D5,E5,C5 3A,FB,C7,47,0E,84,C5,21 EE,C7,11,D5,CF,D5,01,0A 00,ED,B0,E1,11,DF,CF,CD E6,90,EB,18,28,C5,21,DA CF,11,D5,CF,CD,15,34,DD" 34,04,11,F3,C7,CD,37,33, 21,DF,CF,11,E4,CF,CD,37n`j  v#t r r(,)~  w' t(,(( ), ,)), r r(, )" "7(, ,)(( ), ,) r r  - r r( ) r r( )  9"Die Angaben im";( );". Versuch sind falsch.";&"Korrekt ist:"; r;"richtige";, r"r Buchstabe"" Buchstaben"( ); r;"richtige";* r" Position"" Positionen"$ 6 33,11,EE,C7,CD,37,33,11@ D5,CF,CD,E6,90,CD,15,34J 11,D0,CF,CD,E6,90,21,DAT CF,11,E4,CF,CD,E6,90,EB^ CD,15,34,EB,21,D0,CF,CDh 3F,33,C1,DD,7E,04,B9,30r 02,10,B2,C5,21,EE,C7,11| E4,C7,CD,3F,33,F1,E6,03 6F,26,A0,7E,C1,E1,AE,A1 AE,77,CB,09,30,01,23,D1 1B,7B,B2,C2,35,90,21,D0 C7,11,EE,C7,CD,E6,90,21 F3,C7,11,E9,C7,CD,3F,33 2A,F9,C7,CD,29,BC,3A,F8 C7,3D,C2,22,90,C9,E5,D5 01,05,00,ED,B0,D1,E1,C9 CD,32,91,3A,F8,C7,2A,F9#,, #,#,( )  8('2***** Ende der Runde, Auswertung<FP di( v v)CZ di"Wir haben beide"; v;"Versuche gebraucht.";1d"Du hast"; di;"Versuch"; di"e";6n v v p p" mehr gebraucht."9x v v p p" weniger gebraucht.","Insgesamt steht es"; p;"zu"; p; p p"fuer dich"; p p"fuer mich"; ".""Noch eine Runde? (J/N)" C7,EF,30,90,21,D0,C7,3E 04,DD,5E,00,DD,23,DD,56 00,DD,23,01,05,00,ED,B0 3D,20,EE,C9,21,A4,C0,11 40,20,01,40,91,D5,E5,0A 5F,7E,02,73,23,03,15,20 F6,E1,D1,CD,26,BC,1D,20& EC,C9,21,00,A0,75,23,360 F0,23,36,0F,23,36,FF,C9:%D***** DATA's fuer CPC 664/6128N 3E,08,11,D0,C7,DD,6E,00X DD,23,DD,66,00,DD,23,01b 05,00,ED,B0,3D,20,EE,CDl 32,91,EF,1D,90,21,80,FFv 3E,C8,32,F8,C7,22,F9,C7 CD,09,BB,30,03,FE,0D,C8 11,40,01,0E,88'(C) "J" "J"  "N"    ZWEIG ZWERG ZWIRN TER AMPEL AMSEL ANGEL ANGST AN v)CZ di"Wir haben beide"; v;"Versuche gebraucht.";1d"Du hast"; di;"Versuch"; di"e";6n v v p p" mehr gebraucht."9x v v p p" weniger gebraucht.","Insgesamt steht es"; p;"zu"; p; p p"fuer dich"; p p"fuer mich"; ".""Noch eine Runde? (J/N)",D5,E5,C5 3A,FB,C7,47,0E,84,C5,21 EE,C7,11,D5,CF,D5,01,0A 00,ED,B0,E1,11,DF,CF,CD E6,90,EB,18,28,C5,21,DA CF,11,D5,CF,CD,77,35,DD 34,04,11,F3,C7,CD,9A,34 21,DF,CF,11,E4,CF,CD,9A 34,11,EE,C7,CD,9A,34,11 D5,CF,CD,E6,90,CD,77,35 11,D0,CF,CD,E6,90,21,DA CF,11,E4,CF,CD,E6,90,EB CD,77,35,EB,21,D0,CF,CD  A2,34,C1,DD,7E,04,B9,30 02,10,B2,C5,21,EE,C7,11  E4,C7,CD,A2,34,F1,E6,03* 6F,26,A0,7E,C1,E1,AE,A14 AE,77,CB,09,30,0KOMGRA BASpAA a unte y d a unte y d* ********************************************* Komplexe Grafik **********************************************(**** (c) 1986 Matthias Uphoff *****2***********************************<#F***** Maschinencode erzeugen P "ZUnterscheidung CPC 464/6128 d ()   Nn ad ?'x "&" Track-Info  N A F B G C H D I E1,23,D1> 1B,7B,B2,C2,35,90,21,D0H C7,11,EE,C7,CD,E6,90,21R F3,C7,11,E9,C7,CD,A2,34\ 2A,F9,C7,CD,29,BC,3A,F8f C7,3D,C2,22,90,C9,E5,D5p 01,05,00,ED,B0,D1,E1,C9z CD,32,91,3A,F8,C7,2A,F9 C7,EF,30,90,21,D0,C7,3E 04,DD,5E,00,DD,23,DD,56 00,DD,23,01,05,00,ED,B0 3D,20,EE,C9,21,A4,C0,11 40,20,01,40,91,D5,E5,0A 5F,7E,02,73,23,03,15,20 F6,E1,D1,CD,26,BC,1D,20 EC,C9,21,00,A0,75,23,36 F0,23,36,0F,23,36,FF,C9***** Initi ();() wswa  ***** Ausschnitt anzeigen    wswa ();( a) ();( a) ();( a) ();( a) C"" wswa  ***** Ausschnitt eingeben'& ();"Bitte eingeben";()0 ();" ",&: ""   a()D ();" ",&N ""   a()X ();" ",&b ""   a()l ();alisierung; star restar getva wswa* tma zeil farbH link3333 rechtfff unte obe tief0 x x^ y y ( )()($  ( )-. () () () ()8 B wswaL ,,, V  1` , ( ) farb , ( )j t $,j$~ ,, ,x , ,x" ",&v ""   a() afla %***** Tiefe eingeben, Zeichnen@ ( zeil) wswa restar wswa % ();"Bitte eingeben";()' "Tiefe(";(( tief),);"):"; "", ""  ()   tief()M afla link a recht a unte a obe a? d( recht link)? d( obe unte)  tma, tief&***** Hauptmenue u. Verzweigung: Zeichnen,Ausschnitt,Farben,Loeschen,Laden,Speichern     ,    ,  ()C ""  , " "& t(,) ,2,,   (     (       wswa C""( wswa !2 ,,H,8, <F***** Bild speichern'P ();();"Speichern";()WKETTE1 BASp  ielwor********************** 20 '******** Wortk* ******************************************** Wortketten suchen ********** (c) 1987 PC International-Leser **(***********************************2<***** InitialisierungFP Z , ,  d#,,(,,n"X" B x a-z. wor(),kett(), zeige()kandida()vorhe()Z" Dateiname:"d"",nn n"" x wswa$ "!"n".PIC", ,,@ wswa !***** Ausschnitt festlegen ( zeil) & wswa ();();   C ""    O t (,) |,,,,,,",,,6,@,J,T,^,h  = y y y y y   < y y y y y   < x ***** Wortliste laden"liste4.dat" limi @ limi limi#,wor( limi)!***** Eingabe des Problems"#,"Erstes Wort: ",startwor"6"Letztes Wort: ",zielwor"@startwor(startwor) Jzielwor(zielwor)(T"Schritte maximal: ", maxschrit^ , startworh schritrkett()startwor | 4 , "Fertig... bitte eine Taste druecken"; C""x x x x   = xp x x x x   -" y y y   1, y y y y   +6 x x x   1@ x x x x   1J y y y y   +T y y y   1^ x x x x   -h x~ x x   r |   aflaTrack-Info  NAFBGCHDIE  "&***** rekursiv Wortkette suchen schrit schrit zeige( schrit)4(kandida,)wor( zeige( schrit))*(vorhe,)kett( schrit))Differenz zum vorherigen Wort =1 ? vdi  D (kandida, ,)(vorhe, ,) vdi vdi&0 vdi z:*DKann das Ziel noch erreicht werden?NX zdib  Fl (kandida, ,)6,52,DD,86,53 DD,CB,00,46,28,02,C6,09 6F,6E,7D,DD,AE,00,0F,B5 12,DD,23,13,10,D2,DD,23 13,0D,20,C7,21,92,91,11 EA,80,01,04,10,ED,B0,21 00,E0,E5,26,C0,11,EA,80 0E,32,06,50,13,1A,CB,7F 28,15,E6,01,12,D5,E5,11 00,08,3E,0E,28,02,3E,E0 77,19,77,19,77,E1,D1,23 13,10,E2,E3,13,0D,20,DA E1,C9,3E,80,CD,8B,80,CD 4F,80,AF,21,98,80,54,5D" 13,01,4F,21,77,ED,B0,C9, 6********** Initialsierung@  J a-zT , ,  ,(zielwor, ,) zdi zdiv- zdi maxschrit schrit z&Wurde das Wort bereits benutzt?  schrit' kandidakett( ) zIst das Wort ein Umweg? schrit > udi  Q (kandida, ,)(kett( schrit), ,) udi udi  udi z )*Wort als naechstes Glied der Kette4$> , schrit kand ,^ h ,,#r ,,,,,,,,|c()xo()()xof()()* fel clrfel get"EZLA "t( )  tt( )! clrfel Feld loeschen'********** Regelkatalog einlesen ad  e ad, e 0,0,0,1,0,0,0,0,0 0,0,1,1,0,0,0,0,0&!0********** Tastaturabfrage:E = EditorDZ = Zufida%Hkett( schrit)kandida!R zdi   \fNeues Wort probierenp[z zeige( schrit) limi zeige( schrit) zeige( schrit)  , schrit () schrit schritSUB Loesung ausgeben  schrit#,kett( );" ";#,zielwor********************** 20 '******** Wortketten suchen ******** 30 '* (c) 1987 PC International-Leser * 40 '*allsverteilungNL = Spielfeld loeschen$XA = autom. Generationswechsel(b = naechste Gen. berechnen)l = Funktionen E,Z,A beendenv (C) "" + t(t,) ,R,,,  ********** Editor xo; r s(  s , r c;C ""  , c; (@)  $ ( )  $+ t(t,) ,, ,*,4   + r r r   ,  r2 r r   +* s s s   ,4 sP s s   >#H********** Zufallsverteilung R \ C( )f r (E2)p s (EP) z $  $********** Spielfeld loeschen clrfel )********* Autom. Generationswechel C( )  ge  (********* LIFE BASp yV , ` , j xo; ,,t) ********** GAME OF LIFE **********(********** Basiclader fuer M-Code ( 2 ad '< "&" ()!F  ad, P ad#Z aA "DATAFEHLER !"dn DD,21,EA,80,11,92,91,26x A2,0E,32,06,50,DD,23,13 DD,7E,AD,DD,86,AE,DD,86 AF,DD,86,FF,DD,86,01,DD 86,51,DD,8Track-Info  NAFBGCHDIENaechste Gen. berechnen ge (****** SUB Zelle belegen/loeschen"$ felR r s, . xof;&8  ,,  ,,%B  s  s )L  r  r V , ` , j xo; ,,t, farb ,  xoro; ,,2,rfel )********* Autom. Generationswechel C( )  ge  (********* ,56,23,EB,AF,ED,42,EB 20,F5,ED,4B,0A,A1,AF,ED 42,CB,3C,CB,1D,D1,EB,72 2B,73,E1,18,CB,2A,00,A1 22,06,A1,ED,4B,04,A1,DD 21,00,00,DD,23,ED,5B,1E A1,41,7E,B7,28,15,1A,BE 20,06,13,23,10,F8,18,0F 2A,06,A1,06,00,09,22,06 A1,18,E0,DD,21,00,00,DD 22,06,A1,C9!E5T*C!"C"C!w# F! w͌x2Ҭ͢b 2A,10,A1,23,23,22,0A,A1l 5E,23,56,23,7A,B3,C8,13v 13,13,1A,4F,13,1A,47,B1 28,EE,E5,D5,2A,0A,A1,5E 23WKETTE2 BASp22,06 A1,18,E0,DD,21,00,00,DD 22,06,A1,C9) **********************************)** Maschinencode **)** zum Wortkettenprogramm V2 **)(** (c) 1987 Gerald Steffens **)2**********************************< F P ad 5Z "&" () ad, d su su &n su "Data Error"x Hauptprogramm sta 06,03,FE,07,28,08,06,01 FE,08,28,02,06,03,70,23 18,BF,01,42,01,11,30,75 21,79,76,ED,B0,21,7A,76 7E,FE,FF,28,18,06,00,FE 00,28,0F,06,10,FE,01,28 08,06,01,FE,02,28,02,06 11,70,23,18,E3,D1,21,7A 76,06,50,7E,07,23,86,07 23,86,07,23,86,12,23,13 10,F1,C9,3E,FF,21,30,75 BE,C8,36,00,23,18,F9 Grafikf{hig3,FE,01p 28,2C,06,01,FE,02,28,26z 06,00,FE,03,28,20,06,02 FE,04,28,1A,06,00,FE,05 28,14,06,02,FE,06,28,0Erten"!kettev2" 2A,0A,A1,2B,2B,22,10,A1 2A,00,A1,22,08,A1,2A,0C A1,22,06,A1,18,59,2A,08 A1,ED,4B,02,A1,AF,ED,42 30,6D,DD,21,00,00,2A,00 A1,ED,4B,02,A1,AF,ED,42 30,29,09,ED,5B,08,A1,DD 23,ED,4B,04,A1,41,1A,BE 20,01,0D,13,23,10,F7,0D 20,DF,EB,2A,06,A1,DD,E5 C1,71,23,70,23,22,06,A1 EB,18,CE,ED,4B,04,A1,2A 08,A1,09,22,08,A1,2A,06 A1,36,00,23,36,00,23,36" 00,EB,2A,0A,A1,73,23,72, 23,22,0A,A1,EB,23,36,FF6KETTEV2 pcc,))  st st * '-4 ( st* ************************************** Wortketten V2 - Hauptprogramm ***** (c) 1987 Gerald Steffens ***(***********************************2<***** InitialisierungFP  Z 'd n lx list(Z)& anpo( start arbeitsfeld( stapeq start punktadressen' stw start wortliste( 23,36,FF,23,36,00,23,36@ 00,23,22,06,A1,18,87,2AJ 0A,A1,2B,36,00,2B,36,00T 2A,06,A1,2B,2B,2B,36,00^ 2B,36,00,2B,22,0E,A1,2Ah 0C,A1,ED,4B,0E,A1,AF,EDr 42,30,20,09,ED,4B,10,A1| 23,23,23,23,23,5E,23,56 23,7A,B3,28,E5,2B,2B,EB 29,09,7E,12,13,23,7E,12 EB,18,E9,2A,1C,A1,29,ED 4B,10,A1,09,5E,23,56,EB 36,01,23,36,00,23,36,00 2B,2B,22,1A,A1,23,5E,23 56,23,ED,53,18,A1,23,23 5E,23,56,23,7A,B3,28,2C 1A,B7,20,F4,22,16,A1,2A enw stw ende wortliste1 antes hilfsspeicher fuer wortsuche wort wortlaenge enw,/ ( stw) stw  ,  ,  ,  ,   , anpo   , anpo  , stape   , stape , ," , wort , ,6'@***** Hauptmenue,TastaturabfrageJT-^ " S - Speichern einer Wortliste")h " L - L18,A1,23,13,1A,4F,13,1A 47,AF,ED,42,30,11,09,1B 7D,12,13,7C,12,13,3A,1A A1,12,13,3A,1B,A1,12,2A 16,A1,18,CC,21,FF,FF,22 12,A1,23,22,14,A1,2A,10 A1,23,23,5E,23,56,23,7A& B3,28,1F,1A,B7,20,F4,E50 13,1A,6F,13,1A,67,ED,4B: 12,A1,AF,ED,42,30,08,09D 22,12,A1,ED,53,14,A1,E1N 18,D9,2A,14,A1,7C,B5,28X 07,2B,2B,36,01,C3,0A,A2b 2A,10,A1,23,23,22,0A,A1l 5E,23,56,23,7A,B3,C8,13v 13,13,1A,4F,13,1A,47,B1 28,EE,E5,D5,2A,0A,A1,5E 23Track-Info  NAFBGCHDIEaden einer Wortliste"0r " A - Ausgabe der ganzen Wortliste"+| " W - Wort in Liste einfuegen"/ " K - Korrektur, Wort auswechseln"- " E - Einstieg ins Suchprogramm" kfla(C) ""  "S"  "L"  "A"  "W" P" "K" kfla P "E" $***** Eingabe des Startwortes)tex"Eingabe des Startwortes : " tex; )$ i(,)$ er0 su er5: top  su su i( top,))D spiele su erN su er6X top   su su i( top,))b spiele su erlv********** Spielende er ,,  C""  ^%********** Meldungen Spielende#,"Ich habe verloren !"$ ,? ,R ,f ,{#,"Ich habe gewonnen !"#&()0 "" T7: () wort "Falsche Wortlaenge"  D `?N  "Wort ist nicht in der Liste enthalten" Xstarb" Einen Moment bitte..."l ,  , v   'tex"Eingabe des Endwortes : " tex; () "" 7 () wort "Falsche Wortlaenge"   `?  "Wort ist nicht in der Liste enthalten" endw , ,{ ,? , #,"Unentschieden !" *********** Zug Gegner4>#," Dein Zug ?"H    zuR , ();\C "" \f ();" "@p ()   zu zu R@z ()   zu zu R, ( ) i( zu,) R#  8********** Zug Computer  # bestwerc erKALAHA BASp  7B,96,C6,80,0D,F4,6E,A0 C1,D1,C9,3D,6F,79,87,8* ******************************************** CPC - K A L A H A *********************************************(**** (c) 1986 Matthias Uphoff ******2***********************************<!F********** InitialisierungP Z   d  n#,,,,#,x , , , ,% ,,3,f,,,f,3,% ,,0 zu bestzu #," Mein Zug ! "(  > zu, ();(); C( )"# ();" ";hom;()  8($********* Zug ausfuehren/anzeigen.8 top zu5B an i( top,) i( top,) L  an/V top top top top.` i( top,) i( top,)  j t top spiele ~ i( top,) % spiele top ,`,,,`,0, ,,,,,,,, a-z i(,)hom()!********** Spielfeldaufbau"{(,"<"){(,">")  ,%  ; "*";    ,)"<"; " K A L A H A "; ">"   ,! ; "*";  " , 4  x""     x,  ,"*"6 &, "*"@J********** SpielstartT*^ top  i( top,)h4 spiele ( top top) H top top an i( top,) i( top,) H top spiele i( top,) i( top,) an  spiele spiele%********** Topfinhalt anzeigen E top p lma  top, top,,2 top p lma ",$,,S top top p lma = top,? top,, 1  top  i(,) i(,)r top  |#,"Spielstufe (1..9) ?"C ""  stma()$ stma stma |$ !,  "Level"; stma;%#,"Willst du anfangen (J/N) ?"(C)B "J" spiele  "N" spiele  #*********** Spielablauf  er er spiele >, i(,)$ er  i(,)$ er0& i(,Track-Info  NAFBGCHDIE p lma ,,,#{( i( top,),): i( top,)  ( p)  ""#(( lma())52 p   < ,(,,F wart PZ!d********** Topfumrandungenn2x , 8,,  , 8, , |  @. ,  8, ,X 8, ,X********** Zug Computer , stma toEMU BIN99~CLEAR INPUCOPYCHR~DERIgϥ,>2!"2!"2!"2!"2 !*"2!"2!آ"2޻!"߻2!"2û!"Ļ!S"!b":26*"7>2!"'a!~#ֺO! û!uh:62*7"̀!6!"7?7եYU0 >͟ۥޥYUKإYU>Y+~ (,+*4?!(ͪ8͓O://23<23:3 :9̱:0̱:F:/ p #  top, i( top,)   bestwer() bestzu()********** Maschinencode   ad ' "&" ()!(  ad, 2#< y "DATAFEHLER !"FPZ 26,A2,11,00,A3,D5,DD,E1d 3A,17,A1,4F,3E,01,CD,0Bn A1,06,0E,1A,77,13,23,10x FA,0D,1E,1D,DD,73,00,06 06,CD,9B,A0,BB,D4,2B,A0 10,F7,C9,5F,DD,73,00,20 05,ED2/:8G̱:9G!ϱ_:DG00#O{2/:0 *8}G̱ʣ͆ 2:hͩ ::W(~:8_(v#- :48Rz(M{ Fw  z({( H +ߊ#ˠ z({( h #ߊ+:60+ {(z *4}+"4xӣ{*+V+^+"n&ɍ*8"+r+s+q*4#"4(A(WJ,((> d>y(~+r ~< #?7(7,> *4?|(*°!7>>7)`>I>и> >ȸ>ֹ>aU8>̄āU>,5F,E6,01,C8,3E,1E CD,6B,A0,78,32,18,A1,CD 55,A0,7B,2E,20,CB,7F,20 04,2E,2D,2F,3C,CB,BF,F5 7D,CD,6B,A0,F1,2E,2F,2C D6,0A,30,FB,C6,3A,F5,7D FE,30,C4,6B,A0,F1,CD,6B A0,3E,20,C3,5A,BB,DD,23 1E,1D,DD,73,00,06,06,CD 9B,A0,BB,D4,89,A0,10,F7 DD,2B,7A,B7,7B,C8,2F,3C C9,C8,5F,DD,73,00,7A,B7 C8,DD,7E,FF,2F,3C,BB,D0 06,01,C9,D5,C5,3E,0E,CD" 0B,A1,7A,B7,54,5D,01,0E, 00,7D,28,0A,0E,07,81,6F6 ED,B8,0E,07,7D,81,81,6F@ ED,B8,C~{#U8 KإU>20KǣU8 g2/U>21 8ϩFILGRAPHICMASFRAMCURSOCLEAR INPUCOPYCHR~DERIgϥ,00  00,EOF30 DATA 3E,C3,32,16,AC,21,83,A2 40 DATA 22,17,AC,+^+"n&ɍ*8"+r+s+q*4#"4(A(WJ,((> d>y(~+r ~< #?7(7,> *4?|(*°!7>>7)`>I>и> >ȸ>ֹ>aU8>̄āU>1,C5,78,CD,0B,A1J B7,28,45,78,46,36,00,3CT 23,FE,0F,38,06,7D,D6,0E^ 6F,3E,01,34,10,F1,D6,07h 57,30,15,7E,3D,20,11,7Ar 2F,C6,08,CD,0B,A1,5F,36| 00,3E,07,CD,0B,A1,83,77 3E,07,CD,0B,A1,5F,FE,25 3E,E3,30,0C,7D,C6,07,6F 7B,96,C6,80,0D,F4,6E,A0 C1,D1,C9,3D,6F,79,87,87 87,91,87,85,6F,7E,C9,01*************************** 40 '* 06,01,C9,D5,C5,3E,0E,CD" 0B,A1,7A,B7,54,5D,01,0E, 00,7D,28,0A,0E,07,81,6F6 ED,B8,0E,07,7D,81,81,6F@ ED,B8,C,01G $$$00,00,00,00,00,01 04,09,10,01,01,01,02,40 10,04,015020 DATA 21,00,A3,75,11,01,A3,01 5030 DATA F,03,28,08,ABH 28,05,DD,7E,11,82,57,E5R 21,BE,A1,09,7E,82,57,E1\ C1,78,3D,28,0B,DD,7E,04f AB,28,0B,78,FE,05,28,0Bp DD,7E,05,AB,20,05,DD,7Ez 10,82,57,7A,B9,38,01,4F 23,10,92,79,C9,7D,B4,E6 F0,3E,03,20,0C,E5,7C,07 07,07,07,B5,26,A3,6F,7E E1,12,13,C9,00,00,00,00 00,00,00,00,00,00,00,01 04,09,10,01,01,01,02,40 10,04Track-Info  NAFBGCHDIE***** SUB Rahmen zeichnen &# ,(){( ,)();  !(# ,, # ,();$2# , , # ,(); < &F# ,(){( ,)();PZd***** Spielstartnx6 w " Erst eine Wortliste laden !"   F  p p(ab"ABCDEFGHIJKLMNOPQRSTUVWXYZ"2zu("0123456789", w)( w)***** Start neue Runde ##  80 IF wert>bestwert THEN bestwert=wert:bestzug=zug 5190 NEXT zug 5200 RETURN  5040 IF in(zug+7,0)=0 THEN 5190 5050 FOR topf=1 TO 7 5060 in(topf+7,1)=in(topf,0) 5070 in(topf,1)=in(topf+7,0) 5080 NEXT topf 5090 topf=zug 5100 anz=in(topf,1):in(topf,1)=0 5110 FOR i=1 TO anz 5120 topf=topf+1:IF topf=15 THEN topf=1 5130 in(topf,1)=in(topf,1)+1 5140 NEXT i 5150 IF in(topf,1)=1 AND topf<7 THEN in(7,1)=in(7,1)+in(14-topf,1):in(14-topf,1)=0 5160 IF in(14,1)>36 THEN 5190 5170 wert=in(7,1)-in(14,1) 51 v v*"Okay - auf zur";( );". Runde."!"Willst du anfangen? (J/N)"'(C) "J" "J" ," "N" "N"   $***** Gegner ist an der Reihe",##,6#,"Eingabe loeschen"@#,"mit "J#T#,"Geheimwort"^#,"erfragen mit "h#r#,"Wort suchen mit")|#,"<";();"> oder <";();">"g( (E ))***** Eingabe Versuch v v%"Deinor    4- minwer( ad)( ad)  minwer f' ( ad)( ad)U   "Es existiert kein Weg von ";star;" nach ";endwor *4 stape #> ad( )( )H list( ) R  \f   p list( )#z stw wort( )  " - ";  wort (( )); 45 '***** Modifikation "Kleiner Bruder" 46 ' 730 IF INKEY$=CHR$(127) THEN GOSUB 1070:CLS:END ELSE 450 1780 '********** Zug Gegner V2 1790 ' 1800 GOSUB 2060 'Zugliste holen 1810 IF zliste$="" THEN erg=1:RETURN 1820 zug=ASC(MID$(zliste$,INT(RND*LEN(zliste$)+1))) 1830 sp=(zug AND &C0)\64+1:re=(zug AND &30)\16+1 1840 x=(zug AND &C)\4+1:y=(zug AND 3)+1 1850 GOSUB 1170 'Zug ausfuehren 1860 RETURN 0)00 ( zu  ) ( zu ):  Zug ausfuehrenD***** Zug Ge" - "; $ "Laenge der Wortkette :";  b " Liste der von > ";star;" < aus erreichbaren Worte und die dazugehoerige Laenge"   stape # ad( )( ) ad   ( ad) L stw wort " wort$ (( ));.-8 minwer( ad)( ad)B " - "; minwer,L  V` antesj tier ( zuf)(t tierprei (X zuf)(u hirsemeng (A" zuf)(v hirseprei (P( zuf)1x jahr  jahr Feldgroessew brune( ), bran( ), dor( ), gruwas( ), kapita( ), laufk( ), lebstan( )j hirs( ), hirsekau( ), medver( ), rege( ), kontra( ), rindan( )w rindkau( ), ts( ), vegfla( ), veg( ), vegz( ),  wort*t ,((, ,)) ~  ͢ () ()  ***** Woerter anzeigen  * stw enw wort   wort (( )); ,.  "Anzahl Worte in der Liste:"; ("Eine beliebige Taste druecken..." C"" ( T2"<***** Korrektur & EinfuegenF9P kfla  "Bitte ein Wort eing5000 '********** Zug Computer V1 5010 ' 5020 bestwert=-99 5030 FOR zug=1 TO 6 5040 IF in(zug+7,0)=0 THEN 5190 5050 FOR topf=1 TO 7 5060 in(topf+7,1)=in(topf,0) 5070 in(topf,1)=in(topf+7,0) 5080 NEXT topf 5090 topf=zug 5100 anz=in(topf,1):in(topf,1)=0 5110 FOR i=1 TO anz 5120 topf=topf+1:IF topf=15 THEN topf=1 5130 in(topf,1)=in(topf,1)+1 5140 NEXT i 5150 IF in(topf,1)=1 AND topf<7 THEN in(7,1)=in(7,1)+in(14-topf,1):in(14-topf,1)=0 5160 IF in(14,1)>36 THEN 5190 5170 wert=in(7,1)-in(14,1) 51Track-Info  NAFBGCHDIEeben: ",EZ kfla "Bitte das auszuwechselnde Wort eingeben";"d() "" T9n () wort  "Falsche Wortlaenge" P x `J  kfla  "Wort nicht in der Liste vorhanden" P   kfla N=   "Wort schon in der Liste vorhanden" P enw  wort* ,((, ,))  enw  ,/ ( enw) enw EMU BASpZZ     ("!EMU.BIN" 2      ("!EMU.BIN" 2 <"BASIC 1.1 installiert"5000 '********** Zug Computer V2 5010 ' 5020 st=0 5030 GOSUB 5070 5040 bestzug=bestzug(1):bestwert=bestwert(1) 5050 RETURN 5060 ' 5070 st=st+1:PRINT home$;st 5080 bestwert(st)=-99:zug(st)=6 5090 WHILE zug(st)>0 5100 IF in(zug(st)+7,st-1)=0 THEN 5250 5110 FOR topf=1 TO 7 5120 in(topf+7,st)=in(topf,st-1) 5130 in(topf,st)=in(topf+7,st-1) 5140 NEXT topf 5150 topf=zug(st) 5160 anz=in(topf,st):in(topf,st)=0 5170 FOR i=1 TO anz 5180 topf=topf+1:IF topf=15 THEN topf=1 5190 in(topf,st)=in(topf,st) enw stw ende wortliste1 antes hilfsspeicher fuer wortsuche wort wortlaenge enw,/ ( stw) stw  ,  ,  ,  ,   , anpo   , anpo  , stape   , stape , ," , wort , ,6'@***** Hauptmenue,TastaturabfrageJT-^ " S - Speichern einer Wortliste")h " L - L+1 5200 NEXT i 5210 IF in(topf,st)=1 AND topf<7 THEN in(7,st)=in(7,st)+in(14-topf,st):in(14-topf,st)=0 5220 IF in(14,st)>36 THEN 5250 5230 IF st=stmax THEN wert=in(7,st)-in(14,st) ELSE GOSUB 5070:wert=-bestwert(st+1) 5240 IF wert>bestwert(st) THEN bestwert(st)=wert:bestzug(st)=zug(st) 5250 zug(st)=zug(st)-1 5260 WEND 5270 st=st-1:PRINT home$;st 5280 RETURN  5050 RETURN 5160 anz=in(topf,st):in(topf,st)=0 5170 FOR i=1 TO anz 5180 topf=topf+1:IF topf=15 THEN topf=1 5190 in(topf,st)=in(topf,st)";( v);". Versuch: "; "" (C)"" v#!()()   "?" \()t(ab,) & ;*0 () w  : D ( ) L NX#b***** Trefferquote ermittelnl$v r r(,)g  w! t(,(, ,)), r r(, )" "2(, ,)(g ,  , ) " ";;" wurde eingefuegt"  P$***** Speichern der Wortliste "Speichern ? (j /n)""(C), "N" T6 "J" "@ "Dateinummer: ", n/J ( enw) enw &T stw,  stw, ^ 79h "LISTE"s( n), , stw, enw stw r ' | T"***** Laden einer Wortliste "Laden ? (j /n)"(C), ,) r r  ""Richtige Buchstaben:"; r""Richtige Positionen:"; r#,#,, v#,"##."; v;7#," ";;" ";{( r,"#");{( r r,"+") r w " ";;" war richtig !" v F #*"Jetzt bin ich an der Reihe." 4 >#H***** Geheimes Wort verratenR\#f"Das geheime Wort ist ";g"p"Bitte etwas mehr Ehrgeiz !"z+"Dir werden 10 Versuche angerechne "N" T "J" $ "Ascii oder Binaer (A/B) ?"(C) "A"  "B"  "Dateinummer: ", n  7 "LISTE"s( n)  '* ( stw) ( stw)& ,  , &0 enw  enw, : D$N b stw wort( ))X "Bitte Ersatzwort eingeben";b()l "" X7v () wort "Falsche Wortlaenge" X  `;Track-Info  NAFBGCHDIEt." v #,#,, #,"##."; ;#," ";{( w,"?")   v  )***** Wort mit Cursortasten suchen)   &#,#,, v#,( ); (C)"" " () " () $ #,(). 8 ***** Unbekanntes WortB  L " ?"V -` "Das Wort kenne ich nicht. Soll ich es"-j "in meinen Wortschatz aufneh"Jetzt muss ich wieder neu anfangen."   & ***** Wort wurde nicht gefunden  ( "Ich kann dein Wort nicht finden." / "Entweder kenne ich es nicht,oder deine";, "Angaben waren falsch. Gib das Wort";, "bitte ein, dann schaue ich mal nach." ""   (C) ""  * )4 () ();( )  > t(ab,) H ;*R  () w  \ ( )j f men? (J/N)" t (C) "J"  ~ "N"   t "J"! "Wieder was dazugelernt..." ) "Dein";( v);". Versuch: "; v  "N"' "Dann ist der Versuch ungueltig."  " ***** Computer an der Reihe  2 "Denke dir ein Wort mit"; w;"Buchstaben";. "aus und druecke eine beliebige Taste."; ( C"")2 # v aab" "1< (E )(a, ,)F ( v)" ?"p -z "Das Wort kenne ich nicht. Soll ich es"- "in meinen Wortschatz aufnehmen? (J/N)" (C)"J"  "N"$   "J"! "Wieder was dazugelernt..." + "Mir werden 10 Versuche angerechnet." v  #,#,,  #,"##."; ; #," ";{( w,"?")  v   N  $"N"."Wenn du meinst..."*8"Dann versuchen wir's noch einmal !" B L%V***** Falsche Angabe ermitte( )P 0Z "Mein";( v);". Versuch: ";( v)d 'n "Wieviel richtige Buchstaben ? "; x  C ""   ()    t(z,) x   r()' "Wieviel richtige Positionen ? ";  C ""   ()  P . t(z,) () r    r() #,#,, v #,"##."; v;> #," ";( v);" ";{( r,"#");{(ln`j  v#t r r(,)~  w' t(,(( ), ,)), r r(, )" "7(, ,)(( ), ,) r r  - r r( ) r r( )  9"Die Angaben im";( );". Versuch sind falsch.";&"Korrekt ist:"; r;"richtige";, r"r Buchstabe"" Buchstaben"( ); r;"richtige";* r" Position"" Positionen"$ r r,"+") r w : " ), ***** Auswertung und neuer Versuch6 8@ r( v) r r( v) r v vJ r T r ^  w(h t(a,(( ), ,))6r (a, )(a, ) |  + u(( ),) . (a, )(a, )  #,() 1 (E )(a, ,)& #,, v#,#,( SOUND1 BASpiarten x23,86,12,23,13 10,F1,C9,3E,FF,21,3 ***** Soundexperiment 1d n "Frequenzverhaeltnisse"x< "Frequenz des Grundtons in Hz: ", grundton.frequen` "Verhaeltnis des zweiten Tons zum Grundton (a:b als a,b eingeben): ", zaehle, nenneC zweitton.frequen grundton.frequen zaehle nenne0 "Zweiter Ton in Hz:"; zweitton.frequen4 grundton.period);  v) r r(,)( )  w' t(,(( ), ,)), r r(, )" "= (( ), ,)(( ), ,) r r - r r( ) r r( )   #,()F  & ***** Wort gefunden0 : D "Das war's dann wohl..."N vF#X "Jetzt bist du an der Reihe." b ,l v ***** Abbruch mit DEL  " Idiot !"+ Track-Info  NAFBGCHDIE$t grundton.frequen4 zweitton.period$t zweitton.frequen" , grundton.period,," , zweitton.period,,# , grundton.period,,,# , zweitton.period,,,. ()Auf Ende des Sounds warten x23,86,12,23,13 10,F1,C9,3E,FF,21,30,75 BE,C8,36,00,23,18,F9us 1: Beine s 2 quen grundton.frequen zaehle nenne0 "Zweiter Ton in Hz:"; zweitton.frequen4 grundton.period25 '***** Erweiterung 5:Zivilisation 2025 haus=4 2140 REM Haus 2143 SYMBOL 206,0,24,24,60,60,126,126,82 2146 SYMBOL 207,82,126,126,82,82,94,94,0 2200 gra$(haus)=CHR$(15)+CHR$(4)+CHR$(206)+CHR$(8)+CHR$(10)++CHR$(207) 2300 DATA 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 2310 DATA 1,1,2,2,1,1,2,2,1,1,2,2,1,1,2,2 2340 DATA 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 3180 neu=ABS(INT(RND*11)-2) MOD 5 2 &$ 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4!l ne( (E ))  us 1: Beine s 2 SOUND2 BASp,P,, ,,P,,Akkord C-Dur (C-E-G)3  ***** Soundexperiment 2dHuellkurve definierenn ,,,, ,,xAkkord C-Dur (C-E-G)2 ,,P,, ,,P,, ,?,P,,Akkord D-Moll (D-F-A)2 ,,P,, ,,P,, ,,P,,%Akkord G zwischen Dur und Moll3 ,?,,, ,,,, ,,,,Akkord A-Moll (A-C-E)2 ,,P,, ,w- flagd -%x-dateinamdateinam".mor"z- dateinamX-#, , tierkau, tierver, preistie, hira, hirpre  Einzelvariable- z - #, brune( z), bran( z), dor( z), gruwas( z), kapita( z), laufk( z), lebstan( z)u- #, hirs( z), hirsekau( z), medver( z), rege( z), kontra( z), rindan( z)- #, rindkau( z), ts( z), vegfla( z), veg( z,P,, ,,P,,Akkord C-Dur (C-E-G)3 ,,P,, ,{,P,, ,?,P,,ne s 2  ***** Soundexperiment 2dHuellkurve definierenn ,,,, ,,xAkkord C-Dur (C-E-G)2 ,,P,, ,,P,, ,?,P,,Akkord D-Moll (D-F-A)2 ,,P,, ,,P,, ,,P,,%Akkord G zwischen Dur und Moll3 ,?,,, ,,,, ,,,,Akkord A-Moll (A-C-E)2 ,,P,, ,25 '***** Erweiterung 6:Tollwut 3220 z1=INT(RND*120) 3225 z2=INT(RND*30)+z1 3230 z3=INT(RND*70)+z2 3235 z4=INT(RND*30)+z3 3240 RETURN 6060 IF zeit=z1 OR zeit=z3 THEN GOTO 6085 6065 IF zeit=z2 OR zeit=z4 THEN GOTO 6070 ELSE zeit=zeit+1:RETURN 6070 LOCATE 14,23:PEN 6:FOR i=0 TO 6:PRINT CHR$(143); 6071 NEXT i:RESTORE 2320 6072 FOR zeile=2 TO 3 6074 FOR spalte=0 TO 15 6076 READ rk(spalte,zeile) 6078 NEXT spalte:NEXT zeile 6080 zeit=zeit+1:RETURN 6085 LOCATE 14,2325 '***** Erweiterung 4:Sommer-Winter 3145 PEN 2:LOCATE 15,23:PRINT "Sommer" 6060 IF zeit MOD 75 =50 THEN GOTO 6085 6065 IF zeit MOD 75 =0 THEN GOTO 6070 ELSE zeit=zeit+1:RETURN 6070 PEN 2:LOCATE 15,23:PRINT "Sommer" 6072 FOR spalte=0 TO 10 6075 rk(spalte,0)=spalte MOD 2 6080 NEXT spalte:zeit=zeit+1:RETURN 6085 PEN 2:LOCATE 15,23:PRINT "Winter" 6087 FOR spalte=0 TO 10 6090 rk(spalte,0)=0 6095 NEXT spalte:zeit=zeit+1:RETURN  -Li.-Status 1: Beine s 2 :PEN 2:PRINT "TOLLWUT":FOR spalte=0 TO 3 6087 rk(spalte,2)=0:NEXT spalte 6090 FOR spalte=0 TO 7 6092 rk(spalte,3)=0:NEXT spalte 6095 zeit=zeit+1:RETURN 4,4,4,4,4,4,4,4,4,4!l ne( (E ))  us 1: Beine s 2 eit+1:RETURN 6070 LOCATE 14,23:PEN 6:FOR i=0 TO 6:PRINT CHR$(143); 6071 NEXT i:RESTORE 2320 6072 FOR zeile=2 TO 3 6074 FOR spalte=0 TO 15 6076 READ rk(spalte,zeile) 6078 NEXT spalte:NEXT zeile 6080 zeit=zeit+1:RETURN 6085 LOCATE 14,23pre  Einzelvariable+ z + #, brune( z), bran( z), dor( z), gruwas( z), kapita( z), laufk( z), lebstan( z)u+ #, hirs( z), hirsekau( z), medver( z), rege( z), kontra( z), rindan( z)+ #, rindkau( z), ts( z), vegfla( z), veg( z), vegz( z), hungertot( z), seuch( z) + z+ +  +,,, Laden des Standes von der Diskette-Track-Info  NAFBGCHDIEGOBANG BASp,40 10,04,0100,00,00,01 04,09,10,01,01,01,0* *********** CPC - GOBANG *************** (c) 1986 Matthias Uphoff ****************************************(!2********** Initialisierung< F  P , ,  , , Z#,,(,, d " n a-z'x cl chec  zu" bw0 spϡ wiС werҡ fԡ sp% ,~,v********** Zug Computer& z s r / zu s( f) r( f)A afla !, "#####";( wer)( wer)  ********** Zug Gegner zfla ,, zflaz ( sp s r)   f, s f, r chec ( wer)( wer)( afla !, "#####"; )  s,  r c; (C),,,,,,~c()s()9( )()()()()()() ();() ,N&********** Spielfeld darstellen& , $,, ,$ $,$0  "  ,  $, ,& , ,$, $, $,$0  "  , ,$, ,, " ,6********** Spielstart@ J cl wi, z&T#,"Willst du anfangen ? (j/n)";^ ""   , c;2* t(,) f,,,,,,43> z z zx er erH !, "####"; zR\f  ()p zfla z  rv(, r) rw(, r) sv(, s) sw(, s)' afla afla afla  !, () !, ()(**** Bewertungsfunktion editieren   TRIANGLEBASp spalt zeil C""  dht die * ************* TRIANGLE *************Macht die Struktur des Pascal'schen)Dreiecks sichtbar, indem fuer alle)(Zahlen mit dem eingegebenen Teiler2ein Punkt gesetzt wird.<F  P a-zZ r(), r()d"Teiler:""", teilens Arrays initialisierenx spalt  r( spalt) spalt r( c$ , c .C "" . 8 2B () c c c $3L () c c c $V ( ) ` "0" "9" $j$t********** Eingabe neuer Wert~ ;  C ""     ()  $ ( ) - "0" "9" () ! ; / () bw) Bild zeichnen zeil  spalt K r( spalt)( r( spalt) r( spalt)) teile* r( spalt) r( spalt); r( spalt) spaltx, Zeil spalt zeil C""  dht die Struktur des Pascal'schen 30 'Dreiecks sichtbar, indem fuer alle 40ler:""", teilens Arrays initialisierenx spalt  r( spalt) spalt r( c,()  $'**** Bewertungsfunktion ausgeben   n ad bw""   ( 2 ,  ;< "####";( ad); F ()P ad ad Z d-n A0,A1,A2,A3,A4,ZS,NH,OF,OB,F1,F2,F3,F4x ********** Zug ausfuehren ,, spiele' s,  r s;' sp s r, spiele# er( wi) spiele(******* Titel da(C)Bh "j" spiele  "n" spiele  ^r# |********** Spielablauf  er er sp, spiele spiele v, spiele spiele********** Spielende er 0,D,X C""  %********** Meldungen Spielende&!0#," Ich habe gewonnen !":!D#," Ich habe verloren !"NX#," Unentschieden !"blTrack-Info  NAFBGCHDIErstellen/loeschen   / , ("CPC GOBANG", ,);"********** Maschinencode,6  @ ad ʡ3J bytbyt"&"byt (byt)!T  ad, ^ ad&h @ "Datafehler !"r| 21,00,A3,75,11,01,A3,01 FF,00,ED,B0,C9,2A,D4,A1 11,B4,A1,D5,DD,E1,DD,36 1C,00,CD,59,A0,ED,53,D2 A1,C9,DD,21,B4,A1,21,00 00,22,D2,A1,DD wswaY  star,@ unte,@ link,@ d,@ d,@ obe,@ unte,@ recht,@ link* wswa 4>***** Farben einstellenHR  \ , f  ();p  "###"; ( )z   ,  ()C ""  , " ". t(,) ,,,,,  (     (     J ( ) ( ) ,75,1C,26 0F,2E,0F,11,B4,A1,CD,9D A1,B7,20,14,E5,1B,CD,59 A0,2A,D2,A1,ED,52,E1,30 07,ED,53,D2,A1,22,D4,A1 2D,F2,33,A0,25,F2,31,A0 C9,E5,D5,06,05,7D,90,6F CD,9D,A1,2C,10,FA,2C,06 05,CD,9D,A1,2C,10,FA,CD 11,A1,32,CB,A1,D1,E1,E5 D5,06,05,7C,90,67,CD,9D& A1,24,10,FA,24,06,05,CD0 9D,A1,24,10,FA,CD,11,A1: 32,CC,A1,D1,E1,E5,D5,06D 05,7D,90,6F,7C,90,67,CDN 9D,A1,24,2C,10,F9,06,05X 24,2C,CD,9D,A1,24,2C,10b F9,CD,11,A1,32,C( )   ( ) > ( ) ( ) ( )  ( )1 , ( ) farb , ( )# ,  "###"; ( )    ***** Bild laden !$ ();();"Laden";(). " Dateiname:"8 "",nB  n"" L   ,V wswa` "!"n".PIC"j  3t ( )( farb ) , ( )~  tief( tma)8 getva,@ obeD,A1,D1l E1,06,05,7D,90,6F,7C,80v 67,CD,9D,A1,2C,25,10,F9 06,05,2C,25,CD,9D,A1,2C 25,10,F9,CD,11,A1,32,CE A1,06,03,C5,21,CB,A1,7E 23,BE,30,05,4E,2B,71,23 77,10,F4,C1,10,ED,DD,E5 0E,04,11,00,00,DD,6E,13 DD,66,17,06,09,AF,1F,CB 1D,30,01,84,10,F8,67,19 EB,DD,23,0D,20,E7,DD,E1 C9,DD,5E,1B,CD,27,A1,DD 86,12,F5,7B,EE,03,5F,CD 27,A1,C1,B8,D0,78,C9,21 B4,A1,01,00,05,C5,E5,23 01,00,04,51,7E,B7,28,0F  AB,28,04,E1,C1,18,,@ unte,@ recht,@ link C"" wswa   ***** SUB Rahmen zeichnen( d x x d y y x, y. d, , d d, , d  % ***** SUB Ausschnitt berechnen@ d( recht link)~ d( obe unte): a link x d a link x d: a unte y d a unte y d =&9000 TO &913F 530 READ a$:v=VAL("&"+a$) 540 s=s+v:POKE adr59,0C B2,50,20,03,DD,70,1D,23  10,EA,CB,51,28,07,DD,7E* 1C,B3,DD,77,1C,DD,7E,1D4 92,B9,50,30,03,DD,56,0F> 7E,E1,B6,EE,03,28,08,ABH 28,05,DD,7E,11,82,57,E5R 21,BE,A1,09,7E,82,57,E1\ C1,78,3D,28,0B,DD,7E,04f AB,28,0B,78,FE,05,28,0Bp DD,7E,05,AB,20,05,DD,7Ez 10,82,57,7A,B9,38,01,4F 23,10,92,79,C9,7D,B4,E6 F0,3E,03,20,0C,E5,7C,07 07,07,07,B5,26,A3,6F,7E E1,12,13,C9,00,00,00,00 00,00,00,00,00,00,00,01 04,09,10,01,01,01,02,40 10,04,0100,00,00,01 04,09,10,01,01,01,02,40 10,04,015020 DATA 21,00,A3,75,11,01,A3,01 5030 DATA F> 7E,E1,B6,EE,03,28,08,ABH 28,05,DD,7E,11,82,57,E5R 21,BE,A1,09,7E,82,57,E1\ C1,78,3D,28,0B,DD,7E,04f AB,28,0B,78,FE,05,28,0Bp DD,7E,05,AB,20,05,DD,7Ez 10,82,57,7A,B9,38,01,4F 23,10,92,79,C9,7D,B4,E6 F0,3E,03,20,0C,E5,7C,07 07,07,07,B5,26,A3,6F,7E E1,12,13,C9,00,00,00,00 00,00,00,00,00,00,00,01 04,09,10,01,01,01,02Track-Info  NAFBGCHDIE  "Wort schon in der Liste vorhanden" X  wort- b,((, ,)) b b  T$***** Laden einer ASCII-Datei; "Laden von LISTE4.DAT - einen Moment bitte..." 7 "LISTE4.DAT"  st stw s( st)  @ #,   wort  st,((, ,))  st st * '-4 ( st) st > & BAHN BAKE BALG BALL BA? p #,, #,#,( )  8('2***** Ende der Runde, Auswertung<FP di( v v)CZ di"Wir haben beide"; v;"Versuche gebraucht.";1d"Du hast"; di;"Versuch"; di"e";6n v v p p" mehr gebraucht."9x v v p p" weniger gebraucht.","Insgesamt steht es"; p;"zu"; p; p p"fuer dich"; p p"fuer mich"; ".""Noch eine Runde? (J/N)"'(C) "J" "J"  "N"   ZWEIG ZWERG ZWIRN TER AMPEL AMSEL ANGEL ANGST AN v)CZ di"Wir haben beide"; v;"Versuche gebraucht.";1d"Du hast"; di;"Versuch"; di"e";6n v v p p" mehr gebraucht."9x v v p p" weniger gebraucht.","Insgesamt steht es"; p;"zu"; p; p p"fuer dich"; p p"fuer mich"; ".""Noch eine Runde? (J/N)p?Track-Info  NAFBGCHDIE  0KOMFOL BAS OEKOERW1 OEKOERW2 OEKOERW3 REPRO BAS LISTE4 DATLISTE5 DAT' !"#$WMASTER BASM%&'()*+,-.KOMGRA BAS5 OR medvers(k)<>medvers(k)\1 THEN medvers(k)=0 8090 alt=vegzu(j) : lang=2 : ze=15 : LOCATE sp,ze : PRINT cu$; : GOSUB 20000 : vegzu$=e$ 8095 vegzu(k)=VAL(vegzu$) 8097 IF vegzu(k)<0 OR vegzu(k)>999 OR vegzu(k)<>vegzu(k)\1 THEN vegzu(k)=0 8100 alt=branz(j) : lang=1 : ze=18 : LOCATE sp,ze : PRINT cu$; : GOSUB 20000 : branz$=e$ 8105 branz(k)=VAL(branz$) 8107 IF branz(k)<0 OR branz(k)>9 OR branz(Track-Info  NAFBGCHDIEk)<>branz(k)\1 THEN branz(k)=0 8110 lang=3 : ze=21 : LOCATE sp,ze : PRINT cu$; : GOSUB 25000 8115 lang=2 : ze=24 : LOCATE sp,ze : PRINT cu$; : GOSUB 26000 8125 GOSUB 9090 8250 RETURN 9000 ' 9010 ' Veraendern der Massnahmen: Ausgabe der geplanten Werte 9020 ' 9030 LOCATE sp,4 : PRINT USING " # ";tse(k); 9040 LOCATE sp,7 : PRINT USING " # ";kontraz(k); 9050 LOCATE sp,11: PRINT USING " # ";medvers(k); 9060 LOCATE sp,15: PRINT USING " ### ";vegzu(k); 9070 LOCATE sp,18: PRINT USING " # ";branF RND<0.15 THEN IF j>3 THEN rindanz(k)=rindanz(k)*(0.8+tse(k)*0.04) : seuche(k-1)=1 ' T s e - T s e Fliege 10190 IF tse(k)>tse(j) THEN kapital(k)=kapital(k)-(tse(k)-tse(j))*tsekostart 10200 gebquo=1.14-0.02*kontraz(k) 'Geburtenquote und -regelung 10210 IF kontraz(k)>kontraz(j) THEN kapital(k)=kapital(k)-(kontraz(k)-kontraz(j))*kontrazkostart 10220 sterquo=0.893+SQR(medvers(k))/29.0398434 'Sterbequote und medvers 10230 IF medvers(k)>medvers(j) THEN kapital(k)=kapital(k)-(medvers(k)-medvers(j))*medkz(k); 9080 LOCATE sp,21: PRINT USING "+### ";rindkauf(k); 9085 LOCATE sp,24: PRINT USING " ## ";hirsekauf(k); 9087 RETURN 9088 ' 9090 ' Menuezeile c - v 9091 ' 9100 LOCATE 1,25 9110 PRINT inv$;" (v)er";CHR$(253);"ndern (C)hronologie";SPACE$(10);inv$; 9115 RETURN 9116 ' 9117 ' Tastaturabfrage c - v 9118 ' 9120 a$=LOWER$(INKEY$) 9130 IF a$="c" THEN RETURN 9140 IF a$="v" THEN RETURN 9150 GOTO 9120 9160 RETURN 9199 ' 9200 ' Menuezeile (U)ebernahme 9201 ' 9210 LOCATE 1,25 : PRINT inostart 10240 dori(k)=dori(j)*sterquo*gebquo 10250 IF RND<0.1 THEN IF j>3 THEN dori(k)=dori(k)*(0.7+medvers(k)*0.05) : seuche(k-1)=seuche(k-1)+2 ' S e u c h e 10255 ' Rinderzahl wirkt auf Zahl der Dori 10260 IF rindanz(k)/2/dori(k)<1 THEN hungertote(k)=dori(k)-rindanz(k)/2 10262 hirse(k)=hirse(j)*0.6+hirsekauf(k) 'Hirsevorrat + Neukauf + Wirkung 10263 IF hungertote(k)>0 THEN IF hirse(k)/hungertote(k)>0.5 THEN hirse(k)=hirse(k)-0.5*hungertote(k) : hungertote(k)=0 ELSE hungertote(k)=hungertote(k)-INTv$;" (U)ebernahme des alten Wertes ";inv$; 9220 RETURN 10000 ' 10010 ' Uebergang in das naechste Jahr 10020 ' 10030 IF fgeaendert=0 AND funsinn=0 THEN GOSUB 12000 ELSE fgeaendert=0 10040 k=j+1 ' Hilfsvariable fuer j+1 10050 kapital(k)=kapital(j) 10060 bem1$=SPACE$(20) : bem2$=bem1$ 10070 vegflae(k)=vegflae(j)+vegzu(k) ' Veg.flaeche 10080 regen(k)=FNregen 10090 brunef(k)=branz(k)*20 ' Brunneneffekt 10100 IF (hirse(k)/0.5) : hirse(k)=0 10270 dori(k)=dori(k)-hungertote(k) ' Hungertote vermindern die Bevoelkerung 10271 ' Dori-Zahl wirkt auf Rinder 10272 rindanz(k)=rindanz(k)-dori(k)/15 10274 ' Grenze des Zuwachses bei den Rindern bei mehr als 20 Rindern pro Kopf 10275 IF rindanz(k)/dori(k)>5 THEN IF rindanz(k)>rindanz(j) THEN rindanz(k)=rindanz(j)*0.9 10280 lebstand(k)=rindanz(k)/dori(k) ' Lebensstandard 10285 ' Laufende Kosten 10290 laufko(k)=vegzu(k)*qkmpreis+branz(k)*brunko+tse(k)*tseko+dori(k)*(mebranz(k)<4 THEN brunefgru=branz(k)*20 ELSE brunefgru=(brunef(k)-60)*5 10110 IF branz(k)>branz(j) THEN kapital(k)=kapital(k)-(branz(k)-branz(j))*brunkostart 10120 gruwast(k)=gruwast(j)-brunefgru/1000+regen(j)/1000-0.2 ' Grundwasser 10130 IF gruwast(k)<-4 THEN gruwast(k)=-4 10140 IF gruwast(k)>2 THEN gruwast(k)=2 10150 vegm(k)=vegflae(k)*SQR(regen(k)+brunef(k))*(5+gruwast(k))/22 'Veg.masse 10160 rindanz(k)=(rindanz(j)+rindkauf(k))*(1.08+0.1*FNzufn) 'Rinderz. 10165 IF rindanz(k)<0 THEdvers(k)*medko+kontraz(k)*kontrazko) ' laufende Kosten 10295 ' Veraenderung des Kapitals 10300 kapital(k)=kapital(k)-laufko(k)-rindkauf(k)*preistier/1000-hirsekauf(k)*hirprei/1000 10305 IF kapital(k)<0 THEN GOSUB 14000 ' Pruefen, ob das Geld reicht 10307 IF funsinn=1 THEN PRINT piep$; : seuche(k-1)=0 : GOSUB 27000 : RETURN 10308 IF seuche(k-1)<>0 THEN GOSUB 4500 ' Seuchenanzeige optisch und akustisch 10310 j=j+1 ' naechstes Jahr 10315 N GOSUB 14500 ' Pruefen auf negative Rinderzahl 10167 IF funsinn=1 THEN PRINT piep$; : GOSUB 27000 : RETURN 10168 'vegm/rindzahl wirkt auf vegflae und rindzahl 10169 vr=vegm(k)/rindanz(k)/32 10170 IF vr<0.5 THEN IF vr>=0.1 THEN vegflae(k)=vegflae(k)*SQR((LOG10(vr*100)-0.7)) : rindanz(k)=rindanz(k)*2*vr ELSE vegflae(k)=vegflae(k)*0.5 : rindanz(k)=rindanz(k)*2*vr 10174 ' Erholung der Weideflaeche 10175 IF vr>22/32 THEN IF regen(k)>200 THEN vegflae(k)=vegflae(k)*(99+vr*32/22+regen(k)/200)/100 10180 ITrack-Info  NAFBGCHDIE' Zufallswerte fuer die Maerkte 10320 tierkauf=FNtiere 10330 tierverk=FNtiere 10340 preistier=FNtierpreis 10350 tierzahl=0 10360 hiran=FNhirsemenge 10370 hirprei=FNhirsepreis 10500 RETURN 11000 ' 11010 ' Speichern des Standes auf der Diskette 11020 ' 11030 CLS : BORDER 0 11040 FOR zz=1 TO 25 11050 PRINT "S";SPC(38);"S"; 11060 NEXT zz 11070 LOCATE 2,1 : PRINT STRING$(38,"S") 11080 LOCATE 2,25 : PRINT STRING$(38,"S"); 11090 LOCATE 3,3 : PRINT "Speichern des Standes auf Diskette" 11100 ontraz(zz),rindanz(zz) 11690 INPUT#9,rindkauf(zz),tse(zz),vegflae(zz),vegm(zz),vegzu(zz),hungertote(zz),seuche(zz) 11700 NEXT zz 11710 CLOSEIN 11720 BORDER 12 11730 RETURN 12000 ' 12010 ' Uebernahme der Werte, wenn nicht veraendert wurde 12020 ' 12030 tse(j+1)=tse(j) 12040 kontraz(j+1)=kontraz(j) 12050 medvers(j+1)=medvers(j) 12060 vegzu(j+1)=vegzu(j) 12070 branz(j+1)=branz(j) 12080 rindkauf(j+1)=0 12085 hirsekauf(j+1)=0 12090 RETURN 13000 ' 13010 ' graphische Darstellung der kritisLOCATE 3,5 : PRINT "Bitte Diskette einlegen und einen" 11110 LOCATE 3,6 : PRINT "Dateinamen (6 Zeichen) eingeben." 11115 LOCATE 3,8 : PRINT "C = zur"CHR$(255);"ck zur Chronologie" 11120 LOCATE 10,10 :LINE INPUT"Name:",dateiname$ 11130 ' 11135 dateiname$=LEFT$(dateiname$,6) ' Kappen auf 6 Zeichen 11137 GOSUB 16000 ' Dateiname pruefen 11138 IF flagdn=1 THEN LOCATE 10,10 : PRINT SPACE$(20) : GOTO 11120 11139 IF flagdn=2 THEN 11200 11140 dateiname$=dateiname$+".mor" 11142 OPchen Werte 13020 ' 13030 CLS : GRAPHICS PAPER 0 : PEN 1 13040 ORIGIN 0,0,0,640,0,400 13060 MOVE 15,390 13070 TAG 13080 PRINT " Darstellung der kritischen Werte"; 13090 ' 13100 vegmrel=vegm(j)/rindanz(j)*15 13110 lebstandrel=rindanz(j)/dori(j)*120 13120 ' 13130 MOVE 50,50 13140 DRAWR 550,0 13150 DRAWR 0,80 13160 DRAWR -550,0 13170 DRAWR 0,-80 13180 IF lebstandrel>550 THEN lebstandrel=550 13190 MOVE lebstandrel+50,50 13200 DRAWR 0,80 13210 MOVE 55,55 13220 FILL 3 13230 MOVE 300,50 13ENOUT dateiname$ 11145 WRITE#9,j,tierkauf,tierverk,preistier,hiran,hirprei ' Einzelvariable 11150 FOR zz=1 TO j 11160 WRITE#9,brunef(zz),branz(zz),dori(zz),gruwast(zz),kapital(zz),laufko(zz),lebstand(zz) 11170 WRITE#9,hirse(zz),hirsekauf(zz),medvers(zz),regen(zz),kontraz(zz),rindanz(zz) 11180 WRITE#9,rindkauf(zz),tse(zz),vegflae(zz),vegm(zz),vegzu(zz),hungertote(zz),seuche(zz) 11185 NEXT zz 11190 CLOSEOUT 11200 BORDER 12 11210 RETURN 11500 ' 11510 ' Laden des Standes von der Diskette 240 DRAWR 0,80 13250 MOVER -2,0 13260 DRAWR 0,-80 13270 ' 13272 MOVE 50,150 13273 GRAPHICS PEN 2 :PRINT "Eigenversorgung der Menschen";: GRAPHICS PEN 1 13280 MOVE 37,35 13290 PRINT "Existenzminimum ";CHR$(240); 13300 ' 13310 MOVE 50,230 13320 DRAWR 550,0 13330 DRAWR 0,80 13340 DRAWR -550,0 13350 DRAWR 0,-80 13360 IF vegmrel>550 THEN vegmrel=550 13370 MOVE vegmrel+50,230 13380 DRAWR 0,80 13390 MOVE 55,235 13400 FILL 3 13410 MOVE 300,230 13420 DRAWR 0,80 13430 MOVER -2,0 13440 DRAWR11520 ' 11530 CLS : BORDER 0 11540 FOR zz=1 TO 25 11550 PRINT "L";SPC(38);"L"; 11560 NEXT zz 11570 LOCATE 2,1 : PRINT STRING$(38,"L") 11580 LOCATE 2,25 : PRINT STRING$(38,"L"); 11590 LOCATE 3,3 : PRINT "Laden des Standes von Diskette" 11600 LOCATE 3,5 : PRINT "Bitte Diskette einlegen und den" 11610 LOCATE 3,6 : PRINT "Dateinamen eingeben." 11615 LOCATE 3,8 : PRINT "C = zur"CHR$(255);"ck zur Chronologie" 11620 LOCATE 10,10 : LINE INPUT"Name:",dateiname$ 11630 ' 11635 dateiname$=LEFT$(dateinam 0,-80 13450 ' 13460 MOVE 50,330 13470 GRAPHICS PEN 2 :PRINT "Futtermenge je Rind";: GRAPHICS PEN 1 13472 MOVE 37,215 13474 PRINT "Existenzminimum ";CHR$(240); 13480 MOVE 420,20 13490 PRINT "(C)hronologie"; 13500 TAGOFF 13510 ' 13520 b$=LOWER$(INKEY$) 13530 IF b$="c" THEN RETURN ELSE 13520 14000 ' 14010 ' Reaktion auf negatives Kapital 14020 ' 14040 unsinn$=" Zuwenig Kapital !! Ausgaben k"+CHR$(255)+"rzen " 14050 funsinn=1 14060 RETURN 14500 ' 14510 ' Reaktion auf negative Rinderze$,6) ' Kappen auf 6 Zeichen 11637 GOSUB 16000 ' Dateiname pruefen 11638 IF flagdn=1 THEN LOCATE 10,10 : PRINT SPACE$(20) : GOTO 11620 11639 IF flagdn=2 THEN 11720 11640 dateiname$=dateiname$+".mor" 11642 OPENIN dateiname$ 11650 INPUT#9,j,tierkauf,tierverk,preistier,hiran,hirprei ' Einzelvariable 11660 FOR zz=1 TO j 11670 INPUT#9,brunef(zz),branz(zz),dori(zz),gruwast(zz),kapital(zz),laufko(zz),lebstand(zz) 11680 INPUT#9,hirse(zz),hirsekauf(zz),medvers(zz),regen(zz),kTrack-Info  NAFBGCHDIEahlen 14520 ' 14540 unsinn$=" Rinderverkauf > Rinderzahl !! " 14550 funsinn=1 14555 GOSUB 27000 14560 RETURN 15000 ' 15010 ' Vorzeitiges Projektende 15020 ' 15030 CLS 15040 MODE 0 15045 SPEED INK 50,50 : INK 0,0,16 : INK 1,16,0 15050 FOR i=1 TO 20 15060 LOCATE i,1 : PRINT "*"; 15070 LOCATE i,25 : PRINT "*"; 15080 NEXT i 15090 FOR i=2 TO 24 15100 LOCATE 1,i : PRINT "*"; 15110 LOCATE 20,i : PRINT "*"; 15120 NEXT i 15130 LOCATE 7,5 : PRINT "Projekt" 15140 LOCATE 4,8 : PRINT RETURN 21000 ' 21010 ' Grafik: Bevoelkerung + Rinder 21020 ' 21030 ORIGIN 20,35,0,640,0,400 21035 INK 3,16 : INK 2,11 21040 GRAPHICS PAPER 3 : CLG 3 21045 GRAPHICS PEN 1 21050 ' 21055 dx=20 : dy=6 21060 FOR zz=1 TO 30 ' x-Achse 21065 IF zz MOD 5=0 THEN dy=12 21070 DRAWR dx,0 21080 DRAWR 0,dy 21090 DRAWR 0,-2*dy 21100 MOVER 0,dy 21105 dy=6 21110 NEXT zz 21115 MOVE 0,0 21120 ' 21130 dx=6 : dy=12 21140 FOR zz=1 TO 30 ' y-Achse "gescheitert !!" 15145 LOCATE 4,11 : PRINT zei$;SPC(2);zei$;SPC(2);zei$;SPC(2);zei$;SPC(2);zei$ 15150 LOCATE 4,16 : PRINT "Rinderzahl <400" 15160 LOCATE 4,18 : PRINT "oder" 15170 LOCATE 4,20 : PRINT "Moretti <200" 15300 GOTO 15300 16000 ' 16010 ' Ueberpruefen des Dateinamens 16020 ' 16022 flagdn=0 16025 IF UPPER$(dateiname$)="C" THEN flagdn=2 : RETURN ' (C)hronologie ? 16030 FOR i=1 TO LEN(dateiname$) 16040 IF ASC(UPPER$(MID$(dateiname$,i,1)))<65 THEN flagdn=1 16050 IF ASC(UPPER$(M21145 IF zz MOD 5=0 THEN dx=12 21150 DRAWR 0,dy 21160 DRAWR dx,0 21170 DRAWR -2*dx,0 21180 MOVER dx,0 21185 dx=6 21190 NEXT zz 21200 ' Beschriftung 21210 TAG 21220 MOVE 412,-20 21230 PRINT "Jahre"; 21240 MOVE 20,360 21250 PRINT "Anzahl(*1000) RINDER"; 21260 GRAPHICS PEN 2 21262 PRINT " MORETTI"; 21264 MOVE 4,-3 21265 PRINT CHR$(248); 21266 MOVE 4,16 21267 PRINT CHR$(252); 21272 MOVE 0,-20 21273 PRINT "(C)hronologie"; 21275 GRAPHIID$(dateiname$,i,1)))>90 THEN flagdn=1 16060 NEXT i 16070 RETURN 17000 ' 17010 ' Kommandofenster 17020 ' 17040 links=1 : rechts=19 : oben=2 : unten=8 17130 WINDOW #7,links,rechts,oben,unten 17140 PAPER #7,3 : PEN #7,1 : CLS #7 17150 LOCATE #7,1,1 17160 ' 17170 PRINT #7," (M)a"CHR$(177)"nahmen" 17180 PRINT #7," (G)rafik" 17190 PRINT #7," (k)ritische Werte" 17200 PRINT #7," (n)";CHR$(253);"chstes Jahr" 17210 PRINT #7 17220 PRINT #7," (s)peichern" 17230 PRINT #7," (l)aden" 17240 ' 17250 CLEACS PEN 1 21276 MOVE 286,-20 21277 PRINT "15"; 21278 MOVE 587,-20 21279 PRINT "30"; 21280 MOVE -20,126 21281 PRINT "1"; 21282 MOVE -20,246 21283 PRINT "2"; 21289 TAGOFF 21290 ' 21295 PLOT 20,dori(1)/100*12,2 21300 FOR zz=1 TO j 21310 DRAW zz*20,dori(zz)/100*12,2 21330 FOR kk=1 TO 1000/j : NEXT kk 21340 NEXT zz 21350 PLOT 20,rindanz(1)/100*12,1 21360 FOR zz=1 TO j 21370 DRAW zz*20,rindanz(zz)/100*12,1 21372 dx=XPOS : dy=YPOS 21374 IF seuche(zz)<>0 THEN GOSUB 22000 21376 R INPUT 17260 a$="" 17270 WHILE a$<>CHR$(&9) AND a$<>"n" AND a$<>"m" AND a$<>"s" AND a$<>"l" AND a$<>"k" AND a$<>"g" 17280 a$=LOWER$(INKEY$) 17290 WEND 17300 PAPER #7,0 : CLS #7 17310 ' 17315 LOCATE links,oben 17320 GOSUB 3500 17330 IF a$=CHR$(&9) THEN a$="" 17380 RETURN 20000 ' 20010 ' Einlesen mit INKEY$ 20020 ' 20030 e$="" 20040 u$=INKEY$ : IF u$="" THEN 20040 20045 IF ASC(u$)=117 THEN e$=STR$(alt) :LOCATE sp-1,ze:PRINT STR$(alt);: RETURN ' Uebernahme des alten Wertes 20050 IF u$=CMOVE dx,dy 21380 FOR kk=1 TO 1000/j : NEXT kk 21390 NEXT zz 21910 IF UPPER$(INKEY$)<>"C" THEN 21910 21915 CLS 21920 INK 2,8 : INK 3,21 21999 RETURN 22000 ' 22010 ' Markieren von Seuchen in der Grafik 22020 ' 22030 IF seuche(zz)=1 OR seuche(zz)=3 THEN MOVE zz*20,2 : ex=20 : ende=7 : GOSUB 22050 22040 IF seuche(zz)=2 OR seuche(zz)=3 THEN MOVE zz*20,-9 : ex=20 : ende=7 : GOSUB 22050 22045 RETURN ' zur Grafik (Haupt-Return) 22049 ' Unterprogramm Seuchenmarkierung 22050 FOR zzz=1 TO ende 22HR$(13) THEN 20110 20060 IF ASC(u$)=127 AND LEN(e$)>0 THEN LOCATE sp,ze : PRINT SPACE$(5) : e$=LEFT$(e$,LEN(e$)-1) : GOTO 20090 20070 IF ASC(u$)<>45 AND ASC(u$)<>43 AND (ASC(u$)<48 OR ASC(u$)>57) THEN 20040 20080 e$=e$+u$ 20090 IF LEN(e$)zur";CHR$(255);"ck) ";inv$; : GOTO 25390 25320 GOTO 25280 25330 ' 25335 PRINT piep$; 25340 LOCATE 20,20 : PRINT SPACE$(20); 25350 ze=20 : sp=20 : LOCATE 3,20 : PRINT "Wieviele Tiere ? ";cu$; : GOSUB 20000 : tierzahl=VAL(e$) 25360 IF tierzahl<0 OR tierzahl>999 OR tierzahl\1<>tierzahl THEN 25340 25370 IF a$="-" THEN IF tierzahl>tierkauf THEN 25340 ELSE tierzahl=tierzahl*(-1) : preistier=INT(preistier*0.86) 25380 IF a$="+" THEN IF tierzahl>tierverk THEN 25340 25390 FOR m=1 TO 1000 : NEXT m 25395 rinhiran THEN 26300 26330 FOR m=1 TO 1000 : NEXT m 26340 PRINT inv$; : PAPER 0 : PEN 1 26345 hirsekauf(k)=hir 26350 ' 26360 GOSUB 6000 26370 GOSUB 7000 26380 GOSUB 9000 26390 GOSUB 9200 26400 RETURN 27000 ' 27010 ' Border-Wechsel bei irgendeinem Alarm 27020 BORDER 6,25 27030 AFTER 150 GOSUB 28000 27040 RETURN 28000 ' 28010 ' Border zurueckschalten 28020 BORDER 12 28030 RETURN 40000 ' 40010 ' Titelbild 40020 ' 40030 MODE 1 : BORDER 10 40035 INK 1,26 ' Schrift = Hintergrund 40040 SYMBOLdkauf(k)=tierzahl 25400 ' 25410 GOSUB 6000 25420 GOSUB 7000 25425 GOSUB 9000 25430 GOSUB 9200 25440 RETURN 25700 ' 25710 ' Rinderangebot 25720 ' 25730 LOCATE 3,15 : PRINT "Rinderangebot:"; 25740 LOCATE 6,16 : PRINT "maximal St";CHR$(255);"ck zu je DM"; 25750 LOCATE 14,16 : PRINT inv$;tierverk;inv$; 25760 LOCATE 33,16 : PRINT inv$;preistier;inv$; 25770 RETURN 25800 ' 25810 ' Rinderabnahme 25820 ' 25830 LOCATE 3,15 : PRINT "Rinderabnahme:"; 25840 LOCATE 6,16 : PRINT "maximal 255,102,0,102,102,102,102,62,0 40042 SYMBOL 254,102,0,60,102,102,102,60,0 40044 SYMBOL 253,108,0,120,12,124,204,118,0 40050 LOCATE 12,3 : PEN 2 : PRINT STRING$(15,131); : PEN 1 40060 LOCATE 13,4 : PRINT "M O R E T T I";" V 8.04"; 40070 LOCATE 12,5 : PEN 2 : PRINT STRING$(15,140); : PEN 1 40080 LOCATE 19,8 : PRINT "von"; 40090 LOCATE 11,10 : PRINT "DuoPaukSoft ";CHR$(251)CHR$(250); 40100 LOCATE 9,12 : PRINT CHR$(164);" 1986 Brendjes/Kaufmann"; 40110 LOCATE 1,16 40120 PRINT " Eine Computer- St";CHR$(255);"ck zu je DM"; 25850 LOCATE 14,16 : PRINT inv$;tierkauf;inv$; 25860 LOCATE 33,16 : PRINT inv$;INT(preistier*0.86);inv$; 25870 RETURN 26000 ' 26010 ' Hirsemarkt von Grana Nera 26020 ' 26030 e$=INKEY$ 26040 IF e$="0" OR e$="u" THEN hirsekauf(k)=0 :LOCATE sp,ze:PRINT "0": RETURN 26050 IF e$="@" THEN 26080 26060 GOTO 26030 26070 ' 26080 MODE 1 : PAPER 1 : PEN 0 : CLS 'Ueberschrift 26090 LOCATE 10,5 : PRINT " H I R S E M A R K T"; 26100 LOCATE 10,7 : PRITrack-Info  NAFBGCHDIESimulation im Bereich der"; 40130 PRINT " Entwicklungshilfe: Ein Dorf in der" 40140 PRINT " Savanne Afrikas soll ohne Katastrophen" 40150 PRINT " sicher durch die n"CHR$(253)"chsten 30 Jahre" 40160 PRINT " gebracht werden. Dazu stehen mehrere" 40170 PRINT " Hilfsmittel (Ma";CHR$(177);"nahmen) zur Verf";CHR$(255);"gung." 40172 PRINT " Hunger und Seuchen drohen, eine" 40174 PRINT " Rinderseuche rafft das Vieh weg. Die" 40176 PRINT " Grafik dokumentiert die Entwicklung."; 40177 PRINT " an=FNhirsemenge 2000 ' 2010 ' Hauptprogramm 2020 ' 2030 GOSUB 3000' Aufbau des Menue-Schirms 2040 GOSUB 4000' Ausgabe der Zahlenwerte 2050 a$=LOWER$(INKEY$) 2060 IF a$=""THEN 2050 2070 IF a$="n"THEN IF jCHR$(13) THEN 40180 40195 CLS : BORDER 12 40200 RETURN 1 $$$@RINT " Hilfsmittel (Ma";CHR$(177);"nahmen) zur Verf";CHR$(255);"gung." 40172 PRINT " Hunger und Seuchen drohen, eine" 40174 PRINT " Rinderseuche rafft das Vieh weg. Die" 40176 PRINT " Grafik dokumentiert die Entwicklung."; 40177 PRINT " SUB 21000:GOTO 2030' Grafik 2116 IF a$=CHR$(&9)THEN GOSUB 17000:GOTO 2070' Kommandofenster 2117 IF a$=""THEN 2050 2120 PRINT piep$;piep$;piep$; 2130 GOTO 2050 2500 ' 2510 ' Ende nach 30 Jahren 2520 ' 2530 CLS:MODE 0 2540 LOCATE 4,5:PRINT"3 0 J a h r e" 2550 LOCATE 2,10:PRINT"s i n d g e n u g" 2560 LOCATE 8,24:PRINT"(C)hronologie"; 2570 WHILE UPPER$(INKEY$)<>"C":WEND 2575 MODE 1 2580 RETURN 3000 ' 3010 ' Aufbau des Menue-Schirms 3020 ' 3030 CLS 3040 PRINT inv$;"Situation im Jahr ";10 ' on break cont 20 ' Voreinstellungen 30 ' 35 FRAME 40 MODE 1 45 CURSOR 0,0 46 SPEED INK 10,10 50 INK 0,26:INK 1,0:INK 2,8:INK 3,21 53 SYMBOL 252,0,7,255,124,124,68,68,0 54 SYMBOL 244,60,24,60,126,126,126,126,0 60 inv$=CHR$(24) 70 piep$=CHR$(7) 75 cu$=CHR$(233) 76 zei$=CHR$(225) 80 RANDOMIZE TIME 85 GOSUB 40000' Titelbild 90 DEF FNzufn=RND-RND 100 DEF FNzufg=2*RND-1 110 DEF FNregen=205+195*FNzufg 115 DEF FNtiere=INT(519+480*FNzufg) 116 DEF FNtierpreis=INT(600+150*FNzufn) 117 DEF FNhiinv$ 3050 GOSUB 3500' Auslagerung fuer Fenster 3130 PRINT 3140 PRINT"Weidefl";CHR$(253);"che....ha:" 3150 PRINT"Grundwasser.....m:" 3160 PRINT"Regenmenge.....mm:" 3170 PRINT"Pflanzenmasse...t:" 3180 PRINT"Hirsevorrat....dt:" 3190 PRINT inv$;SPACE$(40);inv$ 3200 PRINT inv$;" Ma";CHR$(177);"nahmen ";inv$;" Rinderkauf/verkauf(+/-):" 3210 PRINT" Hirsekauf............dt:" 3225 PRINT"Aufweidung...ha: Tiefbrunnen..:" 3228 PRINT"Bek";CHR$(253);"mpfung der Rinderseuche...Stufe:" 3230 PRIrsemenge=INT(65+34*FNzufg) 118 DEF FNhirsepreis=INT(80+40*FNzufn) 120 jahre=31:i=jahre'Feldgroesse 130 DIM brunef(i),branz(i),dori(i),gruwast(i),kapital(i),laufko(i),lebstand(i) 140 DIM hirse(i),hirsekauf(i),medvers(i),regen(i),kontraz(i),rindanz(i) 150 DIM rindkauf(i),tse(i),vegflae(i),vegm(i),vegzu(i),hungertote(i),seuche(i) 1000 ' 1010 ' Anfangszustaende 1020 ' 1030 j=1:kapital(j)=500:tse(j)=0:rindanz(j)=2016:gruwast(j)=0:medvers(j)=0:vegflae(j)=15500:branz(j)=0:hungertote(j)=0:laufko(j)=0:kontNT"Geburtenregulierung...........Stufe:" 3235 PRINT"Medizinische Versorgung.......Stufe:" 3240 PRINT inv$;SPACE$(40);inv$; 3250 PEN 2 3270 PRINT" Kommandos: Taste ";inv$;" TAB ";inv$; 3280 PEN 1 3290 RETURN 3500 ' 3510 ' Ausgelagerter Teil des Menueschirms 3520 ' 3530 PRINT 3540 PRINT"Bev";CHR$(254);"lkerungszahl.:" 3550 PRINT"Hungertote.......:" 3560 PRINT"Rinderzahl.......:" 3570 PRINT"Rinder je Einw. .:" 3580 PRINT 3590 PRINT"Kapital.......TDM:" 3600 PRINT"Kosten p.a. ..TDM:" 3610 RETURraz(j)=0 1040 dori(j)=904 1050 bem1$=SPACE$(20):bem2$=bem1$ 1060 fgeaendert=0 1070 lebstand(j)=rindanz(j)/dori(j) 1080 regen(j)=FNregen:IF regen(j)<200 THEN regen(j)=214 1090 vegm(j)=vegflae(j)*SQR(regen(j))*(5+gruwast(j))/22 1100 qkmpreis=0.5 1110 brunkostart=2 1120 brunko=1 1130 tsekostart=15 1140 tseko=2 1150 medkostart=30 1160 medko=0.03 1180 kontrazkostart=2 1190 kontrazko=0.005 1191 tierkauf=FNtiere 1192 tierverk=FNtiere 1193 preistier=FNtierpreis 1200 hirprei=FNhirsepreis 1210 hirTrack-Info  NAFBGCHDIEN 4000 ' 4010 ' Ausgabe der Zahlenwerte 4020 ' 4030 sp=20' Spaltenindex 4040 FOR i=0 TO 2 4045 IF i=0 THEN PEN 2 ELSE PEN 1 4050 LOCATE sp,1:PRINT inv$;:PRINT USING" ## ";j-i;:PRINT inv$; 4060 LOCATE sp,3:PRINT USING" ####";dori(j-i); 4070 LOCATE sp,4:PRINT USING" ####";hungertote(j-i); 4080 LOCATE sp,5:PRINT USING" #####";rindanz(j-i); 4090 LOCATE sp,6:PRINT USING" ##.##";lebstand(j-i); 4100 LOCATE sp,8:PRINT USING" ######";kapital(j-i); 4110 LOCATE sp,9:PRINT USING" ######";laufko(j-n 5 Stufen. 15.000 DM pro Stufe +" 6080 PRINT"2.000 DM pro Stufe je Jahr." 6090 PRINT 6100 PRINT"Gebrauch von Antikonzeptiva" 6110 PRINT"in 5 Stufen. 2.000 DM pro Stufe +" 6120 PRINT"je Moretto 5 DM pro Stufe im Jahr." 6130 PRINT 6140 PRINT"Medizinische Versorgung" 6150 PRINT"in 5 Stufen. 30.000 DM pro Stufe +" 6160 PRINT"je Moretto 30 DM pro Stufe im Jahr." 6170 PRINT 6180 PRINT"Gewinnung von Weideland" 6190 PRINT"500 DM pro ha (max 99 pro Jahr)." 6200 PRINT 6210 PRINT"Anlegen von Tiefbrunneni); 4120 LOCATE sp,11:PRINT USING" #####";vegflae(j-i); 4130 LOCATE sp,12:PRINT USING" +##.#";gruwast(j-i); 4140 LOCATE sp,13:PRINT USING" ####";2*regen(j-i); 4150 LOCATE sp,14:PRINT USING" ######";vegm(j-i); 4155 LOCATE sp,15:PRINT USING" ###";hirse(j-i); 4160 IF j=1 THEN i=i+2 4170 IF j=2 AND i=1 THEN i=i+1 4180 sp=sp+7 4190 NEXT i 4195 PEN 1 4200 LOCATE 1,16:PRINT inv$;bem1$;bem2$;inv$; 4210 ' Kurzuebersicht der Massnahmen 4215 PEN 2 4220 LOCATE 37,18:PRINT USING"+###";rindkauf(j); (max 9)" 6220 PRINT"2.000 DM plus 1.000 DM pro Jahr." 6230 PRINT 6240 PRINT"Kauf und Verkauf von Rindern :" 6250 PRINT"Taste @ oder 0 dr";CHR$(255);"cken !!" 6252 PRINT 6254 PRINT"Hirsekauf als Nahrungshilfe :" 6256 PRINT"Taste @ oder 0 dr";CHR$(255);"cken !!" 6260 RETURN 7000 ' 7010 ' Veraendern der Massnahmen: Ausgabe der Werte 7020 ' 7030 PRINT inv$; 7040 sp=36 7050 LOCATE sp,3:PRINT USING" # ";tse(j); 7060 LOCATE sp,6:PRINT USING" # ";kontraz(j); 7070 LOCATE sp,10:PRINT USING" # "4225 LOCATE 39,19:PRINT USING"##";hirsekauf(j); 4230 LOCATE 18,20:PRINT USING"##";vegzu(j); 4240 LOCATE 38,20:PRINT USING"#";branz(j); 4260 LOCATE 38,21:PRINT USING"#";tse(j); 4270 LOCATE 38,22:PRINT USING"#";kontraz(j); 4272 LOCATE 38,23:PRINT USING"#";medvers(j); 4275 PEN 1 4280 LOCATE 1,24:PRINT inv$;unsinn$;inv$; 4290 IF rindanz(j)<400 OR dori(j)<200 THEN FOR i=1 TO 500:PRINT piep$;:NEXT i:GOTO 15000 4300 RETURN 4500 ' 4510 ' Optische und akustische Seuchenanzeige 4520 ' 4530 IF seuche(k-1);medvers(j); 7080 LOCATE sp,14:PRINT USING" ## ";vegzu(j); 7090 LOCATE sp,17:PRINT USING" # ";branz(j); 7100 LOCATE sp,20:PRINT USING"+### ";rindkauf(j); 7105 LOCATE sp,23:PRINT USING" ## ";hirsekauf(j); 7110 PRINT inv$; 7120 RETURN 8000 ' 8010 ' Veraendern der Massnahmen: Einlesen der neuen Werte 8020 ' 8022 k=j+1' Tippersparnis 8025 LOCATE sp,4:PRINT SPACE$(5); 8030 FOR i=2 TO 7 8040 LOCATE sp,4*i-i\5-i\6-1-i\7:PRINT SPACE$(5); 8050 NEXT i 8052 GOSUB 9200 8060 alt=tse(j):lang=1:ze=4:LO=1 OR seuche(k-1)=3 THEN SOUND 1,300,300,10:GOSUB 27000:bem1$=" Rinderseuche ! "' T s e - T s e Fliege 4540 IF seuche(k-1)=2 OR seuche(k-1)=3 THEN SOUND 1,200,300,10:GOSUB 27000:bem2$=" Seuche grassiert !"' S e u c h e 4550 RETURN 5000 ' 5010 ' Veraendern der Massnahmen: Hauptunterprogramm 5020 ' 5030 GOSUB 6000' Aufbau des Schirms 5040 GOSUB 7000' Ausgabe der Werte 5042 IF fgeaendert=0 THEN GOSUB 12000:fgeaendert=1' Uebernahme der alten Werte 5050 GOSUB 9000:GOSUB 9090:GOSUB 9117:IF a$<>"v"THCATE sp,ze:PRINT cu$;:GOSUB 20000:tse$=e$ 8065 tse(k)=VAL(tse$)' Ueberpruefen des neuen Wertes 8067 IF tse(k)<0 OR tse(k)>5 OR tse(k)<>tse(k)\1 THEN tse(k)=0 8070 alt=kontraz(j):ze=7:LOCATE sp,ze:PRINT cu$;:GOSUB 20000:kontraz$=e$ 8075 kontraz(k)=VAL(kontraz$)' siehe oben 8077 IF kontraz(k)<0 OR kontraz(k)>5 OR kontraz(k)<>kontraz(k)\1 THEN kontraz(k)=0 8080 alt=medvers(j):ze=11:LOCATE sp,ze:PRINT cu$;:GOSUB 20000:medvers$=e$ 8085 medvers(k)=VAL(medvers$) 8087 IF medvers(k)<0 OR medvers(k)>5 OR medvEN 5100' Ausgabe der gepl. Werte Sprung 5060 GOSUB 8000' Einlesen der neuen Werte + Ueberpruefung 5070 GOSUB 9000:GOSUB 9090:GOSUB 9117' Ausgabe der geplanten Werte 5080 fgeaendert=1:funsinn=0:unsinn$=SPACE$(40)' Flaggen 5090 IF a$="v"THEN 5060 5100 PAPER 0 5110 RETURN 6000 ' 6010 ' Veraendern der Massnahmen: Aufbau des Schirms 6020 ' 6030 PAPER 3 6040 CLS 6050 PRINT inv$;"Entwicklungshilfemassnahmen Stand";inv$; 6060 PRINT"Bek";CHR$(253);"mpfung der Rinderseuche" 6070 PRINT"iTrack-Info  N A F B G C H D I Eers(k)<>medvers(k)\1 THEN medvers(k)=0 8090 alt=vegzu(j):lang=2:ze=15:LOCATE sp,ze:PRINT cu$;:GOSUB 20000:vegzu$=e$ 8095 vegzu(k)=VAL(vegzu$) 8097 IF vegzu(k)<0 OR vegzu(k)>999 OR vegzu(k)<>vegzu(k)\1 THEN vegzu(k)=0 8100 alt=branz(j):lang=1:ze=18:LOCATE sp,ze:PRINT cu$;:GOSUB 20000:branz$=e$ 8105 branz(k)=VAL(branz$) 8107 IF branz(k)<0 OR branz(k)>9 OR branz(k)<>branz(k)\1 THEN branz(k)=0 8110 lang=3:ze=21:LOCATE sp,ze:PRINT cu$;:GOSUB 25000 8115 lang=2:ze=24:LOCATE sp,ze:PRINT cu$;:GOSUB 26000 81anz(k)*2*vr ELSE vegflae(k)=vegflae(k)*0.5:rindanz(k)=rindanz(k)*2*vr 10174 ' Erholung der Weideflaeche 10175 IF vr>22/32 THEN IF regen(k)>200 THEN vegflae(k)=vegflae(k)*(99+vr*32/22+regen(k)/200)/100 10180 IF RND<0.15 THEN IF j>3 THEN rindanz(k)=rindanz(k)*(0.8+tse(k)*0.04):seuche(k-1)=1' T s e - T s e Fliege 10190 IF tse(k)>tse(j)THEN kapital(k)=kapital(k)-(tse(k)-tse(j))*tsekostart 10200 gebquo=1.14-0.02*kontraz(k)'Geburtenquote und -regelung 10210 IF kontraz(k)>kontraz(j)THEN kapital(k)=kapital(25 GOSUB 9090 8250 RETURN 9000 ' 9010 ' Veraendern der Massnahmen: Ausgabe der geplanten Werte 9020 ' 9030 LOCATE sp,4:PRINT USING" # ";tse(k); 9040 LOCATE sp,7:PRINT USING" # ";kontraz(k); 9050 LOCATE sp,11:PRINT USING" # ";medvers(k); 9060 LOCATE sp,15:PRINT USING" ### ";vegzu(k); 9070 LOCATE sp,18:PRINT USING" # ";branz(k); 9080 LOCATE sp,21:PRINT USING"+### ";rindkauf(k); 9085 LOCATE sp,24:PRINT USING" ## ";hirsekauf(k); 9087 RETURN 9088 ' 9090 ' Menuezeile c - v 9091 ' 9100 LOCk)-(kontraz(k)-kontraz(j))*kontrazkostart 10220 sterquo=0.893+SQR(medvers(k))/29.0398434'Sterbequote und medvers 10230 IF medvers(k)>medvers(j)THEN kapital(k)=kapital(k)-(medvers(k)-medvers(j))*medkostart 10240 dori(k)=dori(j)*sterquo*gebquo 10250 IF RND<0.1 THEN IF j>3 THEN dori(k)=dori(k)*(0.7+medvers(k)*0.05):seuche(k-1)=seuche(k-1)+2' S e u c h e 10255 ' Rinderzahl wirkt auf Zahl der Dori 10260 IF rindanz(k)/2/dori(k)<1 THEN hungertote(k)=dori(k)-rindanz(k)/2 10262 hirse(k)=hirse(j)*0.6+hirsekaATE 1,25 9110 PRINT inv$;" (v)er";CHR$(253);"ndern (C)hronologie";SPACE$(10);inv$; 9115 RETURN 9116 ' 9117 ' Tastaturabfrage c - v 9118 ' 9120 a$=LOWER$(INKEY$) 9130 IF a$="c"THEN RETURN 9140 IF a$="v"THEN RETURN 9150 GOTO 9120 9160 RETURN 9199 ' 9200 ' Menuezeile (U)ebernahme 9201 ' 9210 LOCATE 1,25:PRINT inv$;" (U)ebernahme des alten Wertes ";inv$; 9220 RETURN 10000 ' 10010 ' Uebergang in das naechste Jahr 10020 ' 10030 IF fgeaendert=0 AND funsinn=0 THEN GOSUB 12000 ELSuf(k)'Hirsevorrat + Neukauf + Wirkung 10263 IF hungertote(k)>0 THEN IF hirse(k)/hungertote(k)>0.5 THEN hirse(k)=hirse(k)-0.5*hungertote(k):hungertote(k)=0 ELSE hungertote(k)=hungertote(k)-INT(hirse(k)/0.5):hirse(k)=0 10270 dori(k)=dori(k)-hungertote(k)' Hungertote vermindern die Bevoelkerung 10271 ' Dori-Zahl wirkt auf Rinder 10272 rindanz(k)=rindanz(k)-dori(k)/15 10274 ' Grenze des Zuwachses bei den Rindern bei mehr als 20 Rindern pro Kopf 10275 IF rindanz(k)/dori(k)>5 THEN IF rindanz(k)>rindanz(j)TE fgeaendert=0 10040 k=j+1' Hilfsvariable fuer j+1 10050 kapital(k)=kapital(j) 10060 bem1$=SPACE$(20):bem2$=bem1$ 10070 vegflae(k)=vegflae(j)+vegzu(k)' Veg.flaeche 10080 regen(k)=FNregen 10090 brunef(k)=branz(k)*20' Brunneneffekt 10100 IF branz(k)<4 THEN brunefgru=branz(k)*20 ELSE brunefgru=(brunef(k)-60)*5 10110 IF branz(k)>branz(j)THEN kapital(k)=kapital(k)-(branz(k)-branz(j))*brunkostart 10120 gruwast(k)=gruwast(j)-brunefgru/1000+regen(j)/1000-0.2' Grundwasser 10130 IF gruwast(k)<-4 THEN gruwasHEN rindanz(k)=rindanz(j)*0.9 10280 lebstand(k)=rindanz(k)/dori(k)' Lebensstandard 10285 ' Laufende Kosten 10290 laufko(k)=vegzu(k)*qkmpreis+branz(k)*brunko+tse(k)*tseko+dori(k)*(medvers(k)*medko+kontraz(k)*kontrazko)' laufende Kosten 10295 ' Veraenderung des Kapitals 10300 kapital(k)=kapital(k)-laufko(k)-rindkauf(k)*preistier/1000-hirsekauf(k)*hirprei/1000 10305 IF kapital(k)<0 THEN GOSUB 14000' Pruefen, ob das Geld reicht 10307 IF funsinn=1 THEN PRINT piep$;:seuche(k-1)=0:GOSUB 27000:RETURN 10308 t(k)=-4 10140 IF gruwast(k)>2 THEN gruwast(k)=2 10150 vegm(k)=vegflae(k)*SQR(regen(k)+brunef(k))*(5+gruwast(k))/22'Veg.masse 10160 rindanz(k)=(rindanz(j)+rindkauf(k))*(1.08+0.1*FNzufn)'Rinderz. 10165 IF rindanz(k)<0 THEN GOSUB 14500' Pruefen auf negative Rinderzahl 10167 IF funsinn=1 THEN PRINT piep$;:GOSUB 27000:RETURN 10168 'vegm/rindzahl wirkt auf vegflae und rindzahl 10169 vr=vegm(k)/rindanz(k)/32 10170 IF vr<0.5 THEN IF vr>=0.1 THEN vegflae(k)=vegflae(k)*SQR((LOG10(vr*100)-0.7)):rindanz(k)=rindTrack-Info ! N!A!F!B!G!C!H!D!I!EIF seuche(k-1)<>0 THEN GOSUB 4500' Seuchenanzeige optisch und akustisch 10310 j=j+1' naechstes Jahr 10315 ' Zufallswerte fuer die Maerkte 10320 tierkauf=FNtiere 10330 tierverk=FNtiere 10340 preistier=FNtierpreis 10350 tierzahl=0 10360 hiran=FNhirsemenge 10370 hirprei=FNhirsepreis 10500 RETURN 11000 ' 11010 ' Speichern des Standes auf der Diskette 11020 ' 11030 CLS:BORDER 0 11040 FOR zz=1 TO 25 11050 PRINT"S";SPC(38);"S"; 11060 NEXT zz 11070 LOCATE 2,1:PRINT STRING$(38,"S") 11080 LOCATE ) 11690 INPUT#9,rindkauf(zz),tse(zz),vegflae(zz),vegm(zz),vegzu(zz),hungertote(zz),seuche(zz) 11700 NEXT zz 11710 CLOSEIN 11720 BORDER 12 11730 RETURN 12000 ' 12010 ' Uebernahme der Werte, wenn nicht veraendert wurde 12020 ' 12030 tse(j+1)=tse(j) 12040 kontraz(j+1)=kontraz(j) 12050 medvers(j+1)=medvers(j) 12060 vegzu(j+1)=vegzu(j) 12070 branz(j+1)=branz(j) 12080 rindkauf(j+1)=0 12085 hirsekauf(j+1)=0 12090 RETURN 13000 ' 13010 ' graphische Darstellung der kritischen Werte 13020 ' 1302,25:PRINT STRING$(38,"S"); 11090 LOCATE 3,3:PRINT"Speichern des Standes auf Diskette" 11100 LOCATE 3,5:PRINT"Bitte Diskette einlegen und einen" 11110 LOCATE 3,6:PRINT"Dateinamen (6 Zeichen) eingeben." 11115 LOCATE 3,8:PRINT"C = zur"CHR$(255);"ck zur Chronologie" 11120 LOCATE 10,10:LINE INPUT"Name:",dateiname$ 11130 ' 11135 dateiname$=LEFT$(dateiname$,6)' Kappen auf 6 Zeichen 11137 GOSUB 16000' Dateiname pruefen 11138 IF flagdn=1 THEN LOCATE 10,10:PRINT SPACE$(20):GOTO 11120 11139 IF flagdn=2 THEN30 CLS:GRAPHICS PAPER 0:PEN 1 13040 ORIGIN 0,0,0,640,0,400 13060 MOVE 15,390 13070 TAG 13080 PRINT" Darstellung der kritischen Werte"; 13090 ' 13100 vegmrel=vegm(j)/rindanz(j)*15 13110 lebstandrel=rindanz(j)/dori(j)*120 13120 ' 13130 MOVE 50,50 13140 DRAWR 550,0 13150 DRAWR 0,80 13160 DRAWR-550,0 13170 DRAWR 0,-80 13180 IF lebstandrel>550 THEN lebstandrel=550 13190 MOVE lebstandrel+50,50 13200 DRAWR 0,80 13210 MOVE 55,55 13220 FILL 3 13230 MOVE 300,50 13240 DRAWR 0,80 13250 MOVER-2,0 11200 11140 dateiname$=dateiname$+".mor" 11142 OPENOUT dateiname$ 11145 WRITE#9,j,tierkauf,tierverk,preistier,hiran,hirprei' Einzelvariable 11150 FOR zz=1 TO j 11160 WRITE#9,brunef(zz),branz(zz),dori(zz),gruwast(zz),kapital(zz),laufko(zz),lebstand(zz) 11170 WRITE#9,hirse(zz),hirsekauf(zz),medvers(zz),regen(zz),kontraz(zz),rindanz(zz) 11180 WRITE#9,rindkauf(zz),tse(zz),vegflae(zz),vegm(zz),vegzu(zz),hungertote(zz),seuche(zz) 11185 NEXT zz 11190 CLOSEOUT 11200 BORDER 12 11210 RETURN 11500 ' 1151 13260 DRAWR 0,-80 13270 ' 13272 MOVE 50,150 13273 GRAPHICS PEN 2:PRINT"Eigenversorgung der Menschen";:GRAPHICS PEN 1 13280 MOVE 37,35 13290 PRINT"Existenzminimum ";CHR$(240); 13300 ' 13310 MOVE 50,230 13320 DRAWR 550,0 13330 DRAWR 0,80 13340 DRAWR-550,0 13350 DRAWR 0,-80 13360 IF vegmrel>550 THEN vegmrel=550 13370 MOVE vegmrel+50,230 13380 DRAWR 0,80 13390 MOVE 55,235 13400 FILL 3 13410 MOVE 300,230 13420 DRAWR 0,80 13430 MOVER-2,0 13440 DRAWR 0,-80 13450 ' 13460 MOVE 50,330 13470 GR0 ' Laden des Standes von der Diskette 11520 ' 11530 CLS:BORDER 0 11540 FOR zz=1 TO 25 11550 PRINT"L";SPC(38);"L"; 11560 NEXT zz 11570 LOCATE 2,1:PRINT STRING$(38,"L") 11580 LOCATE 2,25:PRINT STRING$(38,"L"); 11590 LOCATE 3,3:PRINT"Laden des Standes von Diskette" 11600 LOCATE 3,5:PRINT"Bitte Diskette einlegen und den" 11610 LOCATE 3,6:PRINT"Dateinamen eingeben." 11615 LOCATE 3,8:PRINT"C = zur"CHR$(255);"ck zur Chronologie" 11620 LOCATE 10,10:LINE INPUT"Name:",dateiname$ 11630 ' 11635 dateinaAPHICS PEN 2:PRINT"Futtermenge je Rind";:GRAPHICS PEN 1 13472 MOVE 37,215 13474 PRINT"Existenzminimum ";CHR$(240); 13480 MOVE 420,20 13490 PRINT"(C)hronologie"; 13500 TAGOFF 13510 ' 13520 b$=LOWER$(INKEY$) 13530 IF b$="c"THEN RETURN ELSE 13520 14000 ' 14010 ' Reaktion auf negatives Kapital 14020 ' 14040 unsinn$=" Zuwenig Kapital !! Ausgaben k"+CHR$(255)+"rzen " 14050 funsinn=1 14060 RETURN 14500 ' 14510 ' Reaktion auf negative Rinderzahlen 14520 ' 14540 unsinn$=" Rinderverkauf > Rinme$=LEFT$(dateiname$,6)' Kappen auf 6 Zeichen 11637 GOSUB 16000' Dateiname pruefen 11638 IF flagdn=1 THEN LOCATE 10,10:PRINT SPACE$(20):GOTO 11620 11639 IF flagdn=2 THEN 11720 11640 dateiname$=dateiname$+".mor" 11642 OPENIN dateiname$ 11650 INPUT#9,j,tierkauf,tierverk,preistier,hiran,hirprei' Einzelvariable 11660 FOR zz=1 TO j 11670 INPUT#9,brunef(zz),branz(zz),dori(zz),gruwast(zz),kapital(zz),laufko(zz),lebstand(zz) 11680 INPUT#9,hirse(zz),hirsekauf(zz),medvers(zz),regen(zz),kontraz(zz),rindanz(zzTrack-Info " N"A"F"B"G"C"H"D"I"Ederzahl !! " 14550 funsinn=1 14555 GOSUB 27000 14560 RETURN 15000 ' 15010 ' Vorzeitiges Projektende 15020 ' 15030 CLS 15040 MODE 0 15045 SPEED INK 50,50:INK 0,0,16:INK 1,16,0 15050 FOR i=1 TO 20 15060 LOCATE i,1:PRINT"*"; 15070 LOCATE i,25:PRINT"*"; 15080 NEXT i 15090 FOR i=2 TO 24 15100 LOCATE 1,i:PRINT"*"; 15110 LOCATE 20,i:PRINT"*"; 15120 NEXT i 15130 LOCATE 7,5:PRINT"Projekt" 15140 LOCATE 4,8:PRINT"gescheitert !!" 15145 LOCATE 4,11:PRINT zei$;SPC(2);zei$;SPC(2);zei$;SPC(2);zei$;SPC050 ' 21055 dx=20:dy=6 21060 FOR zz=1 TO 30' x-Achse 21065 IF zz MOD 5=0 THEN dy=12 21070 DRAWR dx,0 21080 DRAWR 0,dy 21090 DRAWR 0,-2*dy 21100 MOVER 0,dy 21105 dy=6 21110 NEXT zz 21115 MOVE 0,0 21120 ' 21130 dx=6:dy=12 21140 FOR zz=1 TO 30' y-Achse 21145 IF zz MOD 5=0 THEN dx=12 21150 DRAWR 0,dy 21160 DRAWR dx,0 21170 DRAWR-2*dx,0 21180 MOVER dx,0 21185 dx=6 21190 NEXT zz 21200 ' Beschriftung 21210 TAG 21220 MOVE 412,-20 21230 PRINT"Jahre"; 21240 MO(2);zei$ 15150 LOCATE 4,16:PRINT"Rinderzahl <400" 15160 LOCATE 4,18:PRINT"oder" 15170 LOCATE 4,20:PRINT"Moretti <200" 15300 GOTO 15300 16000 ' 16010 ' Ueberpruefen des Dateinamens 16020 ' 16022 flagdn=0 16025 IF UPPER$(dateiname$)="C"THEN flagdn=2:RETURN' (C)hronologie ? 16030 FOR i=1 TO LEN(dateiname$) 16040 IF ASC(UPPER$(MID$(dateiname$,i,1)))<65 THEN flagdn=1 16050 IF ASC(UPPER$(MID$(dateiname$,i,1)))>90 THEN flagdn=1 16060 NEXT i 16070 RETURN 17000 ' 17010 ' Kommandofenster 17020 ' VE 20,360 21250 PRINT"Anzahl(*1000) RINDER"; 21260 GRAPHICS PEN 2 21262 PRINT" MORETTI"; 21264 MOVE 4,-3 21265 PRINT CHR$(248); 21266 MOVE 4,16 21267 PRINT CHR$(252); 21272 MOVE 0,-20 21273 PRINT"(C)hronologie"; 21275 GRAPHICS PEN 1 21276 MOVE 286,-20 21277 PRINT"15"; 21278 MOVE 587,-20 21279 PRINT"30"; 21280 MOVE-20,126 21281 PRINT"1"; 21282 MOVE-20,246 21283 PRINT"2"; 21289 TAGOFF 21290 ' 21295 PLOT 20,dori(1)/100*12,2 21300 FOR zz=1 TO j 21310 DRAW zz*20,dori(zz)/100*12,2 17040 links=1:rechts=19:oben=2:unten=8 17130 WINDOW#7,links,rechts,oben,unten 17140 PAPER#7,3:PEN#7,1:CLS#7 17150 LOCATE#7,1,1 17160 ' 17170 PRINT#7," (M)a"CHR$(177)"nahmen" 17180 PRINT#7," (G)rafik" 17190 PRINT#7," (k)ritische Werte" 17200 PRINT#7," (n)";CHR$(253);"chstes Jahr" 17210 PRINT#7 17220 PRINT#7," (s)peichern" 17230 PRINT#7," (l)aden" 17240 ' 17250 CLEAR INPUT 17260 a$="" 17270 WHILE a$<>CHR$(&9)AND a$<>"n"AND a$<>"m"AND a$<>"s"AND a$<>"l"AND a$<>"k"AND a$<>"g" 17280 a$=LOWER$(IN21330 FOR kk=1 TO 1000/j:NEXT kk 21340 NEXT zz 21350 PLOT 20,rindanz(1)/100*12,1 21360 FOR zz=1 TO j 21370 DRAW zz*20,rindanz(zz)/100*12,1 21372 dx=XPOS:dy=YPOS 21374 IF seuche(zz)<>0 THEN GOSUB 22000 21376 MOVE dx,dy 21380 FOR kk=1 TO 1000/j:NEXT kk 21390 NEXT zz 21910 IF UPPER$(INKEY$)<>"C"THEN 21910 21915 CLS 21920 INK 2,8:INK 3,21 21999 RETURN 22000 ' 22010 ' Markieren von Seuchen in der Grafik 22020 ' 22030 IF seuche(zz)=1 OR seuche(zz)=3 THEN MOVE zz*20,2:ex=20:ende=7:GOSUB 22050 2KEY$) 17290 WEND 17300 PAPER#7,0:CLS#7 17310 ' 17315 LOCATE links,oben 17320 GOSUB 3500 17330 IF a$=CHR$(&9)THEN a$="" 17380 RETURN 20000 ' 20010 ' Einlesen mit INKEY$ 20020 ' 20030 e$="" 20040 u$=INKEY$:IF u$=""THEN 20040 20045 IF ASC(u$)=117 THEN e$=STR$(alt):LOCATE sp-1,ze:PRINT STR$(alt);:RETURN' Uebernahme des alten Wertes 20050 IF u$=CHR$(13)THEN 20110 20060 IF ASC(u$)=127 AND LEN(e$)>0 THEN LOCATE sp,ze:PRINT SPACE$(5):e$=LEFT$(e$,LEN(e$)-1):GOTO 20090 20070 IF ASC(u$)<>45 AND ASC(2040 IF seuche(zz)=2 OR seuche(zz)=3 THEN MOVE zz*20,-9:ex=20:ende=7:GOSUB 22050 22045 RETURN' zur Grafik (Haupt-Return) 22049 ' Unterprogramm Seuchenmarkierung 22050 FOR zzz=1 TO ende 22060 DRAWR ex,0,2 22070 MOVER 0,1 22080 ex=-1*ex 22090 NEXT zzz 22100 RETURN' zur Fallunterscheidung 25000 ' 25010 ' Rindermarkt von Dorso Duro 25020 ' 25030 e$=INKEY$ 25040 IF e$="0"OR e$="u"THEN rindkauf(k)=0:LOCATE sp,ze:PRINT"0":RETURN 25050 IF e$="@"THEN 25070 25060 GOTO 25030 25070 MODE 1:PAPER 0 25080u$)<>43 AND(ASC(u$)<48 OR ASC(u$)>57)THEN 20040 20080 e$=e$+u$ 20090 IF LEN(e$)hiran THEN 26300 26330 FOR $="-"THEN LOCATE 16,12:PRINT inv$;" - Verkauf ";inv$;:GOSUB 25800:GOTO 25330 25310 IF a$="0"THEN LOCATE 16,13:PRINT inv$;" 0 nichts (zur";CHR$(255);"ck) ";inv$;:GOTO 25390 25320 GOTO 25280 25330 ' 25335 PRINT piep$; 25340 LOCATE 20,20:PRINT SPACE$(20); 25350 ze=20:sp=20:LOCATE 3,20:PRINT"Wieviele Tiere ? ";cu$;:GOSUB 20000:tierzahl=VAL(e$) 25360 IF tierzahl<0 OR tierzahl>999 OR tierzahl\1<>tierzahl THEN 25340 25370 IF a$="-"THEN IF tierzahl>tierkauf THEN 25340 ELSE tierzahl=tierzahl*(-1):preistier=Im=1 TO 1000:NEXT m 26340 PRINT inv$;:PAPER 0:PEN 1 26345 hirsekauf(k)=hir 26350 ' 26360 GOSUB 6000 26370 GOSUB 7000 26380 GOSUB 9000 26390 GOSUB 9200 26400 RETURN 27000 ' 27010 ' Border-Wechsel bei irgendeinem Alarm 27020 BORDER 6,25 27030 AFTER 150 GOSUB 28000 27040 RETURN 28000 ' 28010 ' Border zurueckschalten 28020 BORDER 12 28030 RETURN 40000 ' 40010 ' Titelbild 40020 ' 40030 MODE 1:BORDER 10 40035 INK 1,26' Schrift = Hintergrund 40040 SYMBOL 255,102,0,102,102,102,102,62,0 40042 NT(preistier*0.86) 25380 IF a$="+"THEN IF tierzahl>tierverk THEN 25340 25390 FOR m=1 TO 1000:NEXT m 25395 rindkauf(k)=tierzahl 25400 ' 25410 GOSUB 6000 25420 GOSUB 7000 25425 GOSUB 9000 25430 GOSUB 9200 25440 RETURN 25700 ' 25710 ' Rinderangebot 25720 ' 25730 LOCATE 3,15:PRINT"Rinderangebot:"; 25740 LOCATE 6,16:PRINT"maximal St";CHR$(255);"ck zu je DM"; 25750 LOCATE 14,16:PRINT inv$;tierverk;inv$; 25760 LOCATE 33,16:PRINT inv$;preistier;inv$; 25770 RETURN 25800 ' 25810 ' RindSYMBOL 254,102,0,60,102,102,102,60,0 40044 SYMBOL 253,108,0,120,12,124,204,118,0 40050 LOCATE 12,3:PEN 2:PRINT STRING$(15,131);:PEN 1 40060 LOCATE 13,4:PRINT"M O R E T T I";" V 8.04"; 40070 LOCATE 12,5:PEN 2:PRINT STRING$(15,140);:PEN 1 40080 LOCATE 19,8:PRINT"von"; 40090 LOCATE 11,10:PRINT"DuoPaukSoft ";CHR$(251)CHR$(250); 40100 LOCATE 9,12:PRINT CHR$(164);" 1986 Brendjes/Kaufmann"; 40110 LOCATE 1,16 40120 PRINT" Eine Computer-Simulation im Bereich der"; 40130 PRINT" Entwicklungshilfe: Eierabnahme 25820 ' 25830 LOCATE 3,15:PRINT"Rinderabnahme:"; 25840 LOCATE 6,16:PRINT"maximal St";CHR$(255);"ck zu je DM"; 25850 LOCATE 14,16:PRINT inv$;tierkauf;inv$; 25860 LOCATE 33,16:PRINT inv$;INT(preistier*0.86);inv$; 25870 RETURN 26000 ' 26010 ' Hirsemarkt von Grana Nera 26020 ' 26030 e$=INKEY$ 26040 IF e$="0"OR e$="u"THEN hirsekauf(k)=0:LOCATE sp,ze:PRINT"0":RETURN 26050 IF e$="@"THEN 26080 26060 GOTO 26030 26070 ' 26080 MODE 1:PAPER 1:PEN 0:CLS'Ueberschrift 26090 LOCATE 10n Dorf in der" 40140 PRINT" Savanne Afrikas soll ohne Katastrophen" 40150 PRINT" sicher durch die n"CHR$(253)"chsten 30 Jahre" 40160 PRINT" gebracht werden. Dazu stehen mehrere" 40170 PRINT" Hilfsmittel (Ma";CHR$(177);"nahmen) zur Verf";CHR$(255);"gung." 40172 PRINT" Hunger und Seuchen drohen, eine" 40174 PRINT" Rinderseuche rafft das Vieh weg. Die" 40176 PRINT" Grafik dokumentiert die Entwicklung."; 40177 PRINT" [ ENTER ]"; 40178 INK 1,0' Schrift = schwarz 40180 a$=INKE,5:PRINT" H I R S E M A R K T"; 26100 LOCATE 10,7:PRINT"in G R A N A N E R A"; 26110 LOCATE 9,4:PRINT STRING$(25,154); 26120 LOCATE 9,8:PRINT STRING$(25,154); 26130 ' 26140 WINDOW#1,8,34,10,16:PAPER#1,3:CLS#1'Markthalle 26150 LOCATE#1,1,1:PRINT#1,CHR$(150);STRING$(25,154);CHR$(156); 26160 FOR m=2 TO 5 26170 LOCATE#1,1,m:PRINT#1,CHR$(149); 26180 LOCATE#1,27,m:PRINT#1,CHR$(149); 26190 NEXT m 26200 LOCATE#1,1,6:PRINT#1,CHR$(147);STRING$(25,154);CHR$(153); 26210 LOCATE#1,1,7:PRINT#1," Angebot anTrack-Info $ N$A$F$B$G$C$H$D$I$EY$ 40185 dummy=RND' Verschieben des Zufallsstarts 40190 IF a$<>CHR$(13)THEN 40180 40195 CLS:BORDER 12 40200 RETURN K 1,0 : 40160 PRINT" gebracht werden. Dazu stehen mehrere" 40170 PRINT" Hilfsmittel (Ma";CHR$(177);"nahmen) zur Verf";CHR$(255);"gung." 40172 PRINT" Hunger und Seuchen drohen, eine" 40174 PRINT" Rinderseuche rafft das Vieh weg. Die" 40176 PRINT" Grafik dokumentiert die Entwicklung."; 40177 PRINT" [ ENTER ]"; 40178 INK 1,0' Schrift = schwarz 40180 a$=INKETrack-Info % N%A%F%B%G%C%H%D%I%ETrack-Info & N&A&F&B&G&C&H&D&I&ETrack-Info ' N'A'F'B'G'C'H'D'I'E