Fantasia/Listing

Aus C64-Wiki
Zur Navigation springenZur Suche springen

<< zurück zu Fantasia

101 rem *******************************
102 rem *                             *
103 rem *  f  a  n  t  a  s  i  a     *
104 rem *  ======================     *
105 rem *  ( c-64 ) fix 5             *
106 rem *                             *
107 rem *                             *
108 rem *  (c) 1984 by                *
109 rem *                             *
110 rem *  klaus hartmuth             *
111 rem *  innere wiener strasse 14a  *
112 rem *  8000 muenchen 80           *
113 rem *  tel.: 089 / 448 72 17      *
114 rem *                             *
115 rem *******************************
116 :
117 rem ** vorspann 1 *****************
118 oa=1:vc=53265:b$=chr$(5):c$=chr$(158):d$=chr$(159):e$=chr$(147):f$=chr$(17)
119 pokevc,peek(vc)and239:poke53280,11:poke53281,11:printe$c$:vd=58640
120 poke214,4:poke211,14:sysvd:fori=1to10:printchr$(162);:next:print
121 printtab(14)chr$(18)" fantasia "
122 printtab(14);:fori=1to10:printchr$(184);:next:print
123 printd$f$" - ein adventure von klaus hartmuth -":pokevc,peek(vc)or16
124 dimo$(51),r(51,3),ge(44),we(44),ge$(44),no$(44),ve$(31),r$(3),a$(3)
125 :
126 rem ** orte ***********************
127 o$(1)="vor einem riesigem torbogen."
128 o$(2)="auf einer blumenwiese."
129 o$(3)="an einem seerosenteich."
130 o$(4)="in einer trostlosen einoede."
131 o$(5)="in einem nebligem moor."
132 o$(6)="in einer feenhaften grotte."
133 o$(7)="an einer zerkluefteten felswand."
134 o$(8)="in einem lichten auwald."
135 o$(9)="auf einer bluehenden heide."
136 o$(10)="in einer verdorrten steppe."
137 o$(11)="auf dem versammlungsplatz der gnome."
138 o$(12)="in der waffenkammer der gnome."
139 o$(13)="in einer tropfsteinhoele."
140 o$(14)="am fuss eines berges."
141 o$(15)="in der schatzkammer der elfen."
142 o$(16)="auf einer bergwiese."
143 o$(17)="an einer silbernen quelle."
144 o$(18)="in einer schlucht mit vielen farnen."
145 o$(19)="in einer baerenhoele."
146 o$(20)="auf einer schwankenden haengebruecke."
147 o$(21)="an einem wiesenhang."
148 o$(22)="in einer rosenlaube."
149 o$(23)="in einem kraeutergarten."
150 o$(24)="auf einem verschlungenen weg."
151 o$(25)="an einer verfallenen burgruine."
152 o$(26)="in einem sonnigen obsthain."
153 o$(27)="in einem verwilderten park."
154 o$(28)="in einer finsteren hexenkueche."
155 o$(29)="im hof einer verlassenen burg."
156 o$(30)="in einem finsteren burgverlies."
157 o$(31)="in der krone eines baumes."
158 o$(31)=o$(31)+d$+"ich kann nicht weit sehen."
159 o$(32)="in einem feuchten laubwald."
160 o$(33)="im reich der feen."
161 o$(34)="in einer grauen steinwueste."
162 o$(35)="an einem breiten fluss."
163 o$(35)=o$(35)+d$+"am anderen ufer bewegt sich etwas."
164 o$(36)="auf einem dreckigem pfad."
165 o$(37)="in einem dornengestruepp."
166 o$(37)=o$(37)+d$+"ich finde mich nicht mehr zurecht."
167 o$(38)=o$(37)
168 o$(39)=o$(37)
169 o$(40)="in einem hohlweg."
170 fori=41to50:o$(i)="in einem unheimlichen wald.
171 o$(i)=o$(i)+d$+"man sieht kaum einen weg.ob hier ein   "
172 o$(i)=o$(i)+"drache haust?!":next
173 o$(51)="auf einer unzugaenglichen waldlichtung."
174 :
175 rem ** richtungen *****************
176 fori=1to51:forj=0to3:readr(i,j):next:next
177 data0,0,2,0,8,0,3,1,9,0,0,2,10,0,5,0
178 data11,0,0,4,13,0,7,0,0,8,0,0,7,2,9,0
179 data15,3,10,8,0,4,11,9,0,5,12,10,0,0,0,11
180 data16,6,0,0,17,0,15,0,0,9,0,14,0,13,17,0
181 data0,14,18,16,24,0,19,17,25,0,20,18,0,0,21,19
182 data26,0,0,20,27,0,23,0,0,0,24,22,29,18,0,23
183 data30,19,0,0,32,21,0,0,0,22,28,0,0,0,0,27
184 data0,0,30,0,0,25,0,0,0,0,0,0,0,26,0,33
185 data0,34,32,0,33,36,37,35,0,0,34,0,34,0,5,0
186 data37,38,39,34,37,38,38,38,40,39,39,37,42,39,0,0
187 data43,41,42,41,44,40,42,41,47,41,43,43,48,42,45,44
188 data49,45,45,44,50,51,0,0,47,43,48,47,48,44,48,47
189 data0,45,50,0,0,46,0,49,46,0,0,0
190 :
191 rem ** nomen **********************
192 fori=1to44:readno$(i):next
193 datan,s,o,w,norden,sueden,osten,westen
194 datazauberkuchen,raupe,buch
195 datazettel,tarnkappe,riesenfrucht
196 datafeuerschwert,baer,schild
197 datazwerg,dracheneier,stein
198 datahoelenmalerei,strauch,beeren
199 datablaetter,diamantmesser,silberschluessel
200 databaum,pergament,steinschleuder
201 datawasserkrug,zauberschuhe,schrifttafel
202 datazwergendolch,kugl,kaestchen
203 datagnom,ring,brief
204 datarubin,tuer,feenhaar
205 datadrache,holztafel,pokal
206 :
207 rem ** verben *********************
208 fori=1to31:readve$(i):next
209 datagehe,stich,sieh,inventar
210 datasave,load,fantasia,ende
211 datawirf,toete,lies,fuelle
212 dataoeffne,benuetze,simsalabim
213 datasage,giesse,schiesse
214 datafuettere,schneide,sperre
215 datahilfe,klettere,schleudere
216 dataiss,nimm,verjage
217 datalege,drehe,springe,trinke
218 :
219 rem ** antworten ******************
220 a$(0)="sei nicht albern."
221 a$(1)="ich habe nicht das richtige werkzeug."
222 a$(2)="ich weis nicht wie das geht."
223 a$(3)="laesst mich nicht."
224 :
225 rem ** gegenstaende ***************
226 ge$(9)="einen zauberkuchen":ge$(10)="eine haarige raupe"
227 ge$(11)="ein gruenes buch":ge$(12)="einen zettel"
228 ge$(13)="eine tarnkappe":ge$(14)="eine riesenfrucht"
229 ge$(15)=b$+"ein feuerschwert"+d$:ge$(16)="einen grossen baeren"
230 ge$(17)=b$+"ein schild aus bronze"+d$:ge$(18)="einen zwerg"
231 ge$(19)=b$+"goldene dracheneier"+d$:ge$(20)="einen stein"
232 ge$(21)="eine hoelenmalerei":ge$(22)="einen haesslichen strauch"
233 ge$(23)="viele rote beeren":ge$(24)=b$+"goldene blaetter"+d$
234 ge$(25)=b$+"ein diamantmesser"+d$
235 ge$(26)=b$+"einen silberschluessel"+d$:ge$(27)="einen duerren baum"
236 ge$(28)="ein vergilbtes pergament":ge$(29)="eine grosse steinschleuder"
237 ge$(30)="einen leeren wasserkrug":ge$(31)="ein paar zauberschuhe"
238 ge$(32)="eine schrifttafel":ge$(33)=b$+"einen zwergendolch"+d$
239 ge$(34)="eine grosse kugel":ge$(35)="ein rotes kaestchen"
240 ge$(36)="einen boesen gnom":ge$(37)="einen eisernen ring"
241 ge$(38)="einen brief":ge$(39)=b$+"einen roten rubin"+d$
242 ge$(41)=b$+"goldenes feenhaar"+d$:ge$(42)="einen feuerspeienden drachen"
243 ge$(43)="eine verwitterte holztafel":ge$(44)=b$+"einen silbernen pokal"+d$
244 ge(0)=-1:fori=9to44:readge(i),we(i):next
245 data28,0,29,0,8,0,24,0,2,0,26,0,20,10,19,0,19,22
246 data18,0,18,20,16,0,13,0,14,0,0,0,0,26,15,5,8,5
247 data9,0,11,0,12,0,1,0,1,0,1,0,3,7,4,0,4,0
248 data4,0,0,0,0,0,0,18,30,0,33,10,51,0,40,0,51,47
249 :
250 rem ** vorspann 2 *****************
251 poke214,14:poke211,5:sysvd:print"neues spiel beginnen      "c$"f1"
252 printd$f$f$"     altes spiel fortsetzen    "c$"f3"
253 a$="":geta$:ifa$=""then253
254 ifa$=chr$(133)andav=0then258
255 ifa$=chr$(133)andav=1then277
256 ifa$=chr$(134)then586
257 goto253
258 pokevc,peek(vc)and239
259 printchr$(14)e$d$f$"Mach Dich auf den gefahrenreichen Weg in";
260 print"das zauberhafte Land Fantasia und suche"
261 print"nach maerchenhaften Schaetzen."
262 print"Fuehre mich mit einfachen Kommandos in"
263 print"einem oder zwei Worten, z.H.:"
264 printc$f$"NORDEN      BENUETZE TARNKAPPE      ENDE"
265 rem       norden      benuetze tarnkappe      ende
266 print"LEGE RUBIN     TOETE DRACHE     INVENTAR"
267 rem   lege rubin      toete drache     inventar
268 printd$f$f$f$"Mit  "c$"SAVE"d$"  kannst Du den aktuellen Stand";
269 rem                    save
270 print"des Spieles abspeichern, mit  "c$"LOAD"d$"  wieC";
271 rem                                     load
272 print"der einlesen.":poke214,23:poke211,0:sysvd
273 ifav=0thenav=1:print"Druecke eine Taste und beginne !":goto275
274 print"Druecke eine Taste und fahre fort !"
275 pokevc,peek(vc)or16
276 a$="":geta$:ifa$=""then276
277 printe$chr$(142):ol=0
278 :
279 rem ** kommandoabfrage ************
280 ifge(13)=-2thenge(13)=-4
281 ifoa<>olorve=3thenprinte$:ol=oa:gosub311
282 ifge(13)=-2thenprintf$"die tarnkappe hat sich in luft"
283 ifge(13)=-2thenprint"aufgeloest !":ge(13)=2:in=in-1
284 ifge(13)=-4thenge(13)=-2
285 pokevc,peek(vc)or16
286 ze=ze+1:ko$="":printc$f$"und nun ";:inputko$:printd$;
287 iflen(ko$)=0thenprintchr$(145)chr$(145);:goto286
288 v$="":n$="":ve=0:no=0
289 fori=1tolen(ko$)
290 ifmid$(ko$,i,1)<>" "thenv$=v$+mid$(ko$,i,1):next
291 iflen(v$)+1>=len(ko$)then293
292 n$=right$(ko$,(len(ko$)-i))
293 fori=1to31:ifv$=ve$(i)thenve=i:goto297
294 next
295 ifn$=""thenn$=v$
296 goto298
297 ifv$=ko$thengoto300
298 fori=1to44:ifn$=no$(i)thenno=i:goto300
299 next
300 ifno<9andno<>0and(ve=0orve=1)thenve=1
301 iflen(n$)>0andno=0andve<>16thenve=0:fl=1
302 iffl=1thenfl=0:printchr$(34);n$;chr$(34);" kenne ich nicht.":goto280
303 ifn$=""and(ve>8orve=2)andve<>22andve<>15andve<>30thenfl=1
304 iffl=1thenfl=0:print"bitte gib ein objekt an.":goto280
305 ifve=0thenprintchr$(34);v$;chr$(34);"kenne ich nicht.":goto280
306 onvegoto338,346,280,376,567,586,390,397,403,413,417
307 onve-11goto438,446,455,461,466,555,471,477,487,496
308 onve-21goto383,504,510,517,360,529,535,539,547,517
309 :
310 rem ** ortsbestimmung *************
311 pokevc,peek(vc)and239
312 ifoa=25thenge(40)=25:ge$(40)="eine tuer im norden"
313 ifoa=30thenge(40)=30:ge$(40)="eine tuer im sueden"
314 ifoa=6thenp1=1
315 ifoa=31thenp2=1
316 ifoa=29thenp3=1
317 ifoa<>1andge(31)<>-2thenprinte$:poke214,5:poke211,3:sysvd:fl=1
318 iffl=1thenprint"hilfe !   ich versinke im boden."
319 iffl=1thenfl=0:pokevc,peek(vc)or16:fori=1to2000:next:goto611
320 printc$"ich bin "o$(oa)d$:fl=0:fori=9to44:ifge(i)<>oathen323
321 iffl=0thenprintf$"ich sehe:"
322 printge$(i):fl=1
323 next:fl=0
324 ifoa=31then335
325 ifin>1andoa=5then327
326 goto331
327 fori=9to44:if(ge(i)=-1orge(i)=-2)andi<>31thenge(i)=29
328 next:in=1
329 print"im moor ist alles verschwunden,"
330 print"was ich bei mir hatte !"
331 fl=0:printf$"richtungen:":fori=0to3:ifr(oa,i)=0then334
332 iffl=1thenprint", ";
333 printno$(i+5);:fl=1
334 next:fl=0
335 printtc$f$:fori=1to40:printchr$(175);:next:printd$;:return
336 :
337 rem ** gehe ***********************
338 ifno=0thenprint"ich brauche eine richtung.":goto280
339 ifno>8then504
340 ifno>4thenno=no-4
341 no=no-1:ifr(oa,no)=0thenprint"in diese richtung fuehrt kein weg.":goto280
342 if(oa=30or(oa=25andno=0))andtu=0thenprint"die tuer ist versperrt.":goto280
343 oa=r(oa,no):ol=0:goto281
344 :
345 rem ** stich **********************
346 f=0:gosub605:iffl=1thenfl=0:goto280
347 ifno<>10andno<>14andno<>16andno<>18andno<>36andno<>42thenfl=1
348 iffl=1thenfl=0:printa$(2):goto280
349 ifno=14thenprint"versuche 'schneide'.":goto280
350 ifge(15)<>-1andge(25)<>-1andge(33)<>-1thenfl=1
351 iffl=1thenfl=0:printa$(1):goto280
352 ifno=10thenprint"die raupe ist kitzelig und lacht laut !":goto281
353 ifno=16thenprint"der baer brummt unwillig.":goto281
354 ifno=18thenprint"der zwerg wird boes und toetet mich !":goto357
355 ifno=36thenprint"der gnom verzaubert mich !":goto357
356 ifno=42thenprint"der drache verbrennt mich !"
357 fori=1to2000:next:goto611
358 :
359 rem ** nimm ***********************
360 f=0:gosub605:iffl=1thenfl=0:goto280
361 ifge(no)=-1orge(no)=-2thenprint"habe ich dabei.":goto280
362 ifno=10orno=16orno=18orno=21orno=22orno=27orno=36orno=40orno=42thenfl=1
363 iffl=1thenfl=0:printa$(0):goto280
364 ifno=29orno=14or(no=34andge(9)<>-3)thenprint"zu schwer.":goto280
365 ifno=17andge(16)=oaandge(13)<>-2thenprint"der baer";a$(3):goto281
366 ifno=19andge(18)=oaandge(13)<>-2thenprint"der zwerg";a$(3):goto281
367 ifno=35andge(36)=oaandge(13)<>-2thenprint"der gnom";a$(3):goto281
368 ifge(10)=oaandge(13)<>-2thenprint"die raupe";a$(3):goto281
369 ifno=44andge(42)=oaandge(13)<>-2thenprint"der drache";a$(3):goto281
370 ifno=32orno=43thenprint"kann ich nicht erreichen.":goto280
371 ifin+1>7thenprint"ich habe zuviel zu tragen."
372 ifin+1>7thenprint"ich muesste etwas weglegen.":goto280
373 in=in+1:ge(no)=-1:print"gut.":goto281
374 :
375 rem ** inventar *******************
376 ifin=0thenprint"ich habe nichts dabei.":goto280
377 ifin<>0thenprint"im moment habe ich dabei:"
378 fori=9to44:ifge(i)<>-1andge(i)<>-2then380
379 printge$(i)
380 next:goto280
381 :
382 rem ** hilfe **********************
383 print"ich kann nur die anleitung wiederholen."
384 a$="":input"willst du das (j/n) ";a$
385 ifa$="n"then280
386 ifa$="j"thengoto258
387 printchr$(145);:goto384
388 :
389 rem ** fantasia *******************
390 pu=0:fori=9to44:ifge(i)=1thenpu=pu+we(i)
391 next:print"du hast"b$;pu;d$"punkte von maximal 170."
392 print"dazu gibt es einen bonus von bis zu 30"
393 print"punkten,wenn du aufhoerst,also insge-"
394 print"samt ein maximum von 200 punkten.":goto280
395 :
396 rem ** ende ***********************
397 a$="":input"wirklich (j/n) ";a$
398 ifa$="j"then611
399 ifa$="n"thenprint"na also !":goto280
400 printchr$(145);:goto397
401 :
402 rem ** wirf ***********************
403 f=1:gosub605:iffl=1thenfl=0:goto280
404 ifno<>340orge$(34)=b$+"eine goldene kugel"+d$thenfl=1
405 iffl=1thenfl=0:print"gut. nichts passiert.":in=in-1:ge(no)=oa:goto281
406 ifge(36)<>oathenprint"die kugel faellt auf den boden,":fl=1
407 iffl=1thenfl=0:print"und zerslittert.":in=in-1:ge(34)=0:goto281
408 print"die kugel zerquetscht den gnom und"
409 print"verwandelt sich.    sag 'sieh'.":ge$(34)=b$+"eine goldene kugel"+d$
410 in=in-1:ge(36)=0:ge(34)=oa:we(34)=11:goto281
411 :
412 rem ** toete **********************
413 f=0:gosub605:iffl=1thenfl=0:goto280
414 print"bitte etwas genauer.":goto280
415 :
416 rem ** lies ***********************
417 f=0:gosub605:iffl=1thenfl=0:goto280
418 ifno=11orno=12orno=17orno=21orno=28orno=32orno=38orno=43then420
419 print"da steht nichts geschrieben.":goto280
420 print"die schrift besagt:"
421 ifno=11thenprint"messer sind zum stechen da !"
422 ifno=12thenprint"drachen lassen sich nicht verjagen."
423 ifno=12thenprint"sie sind unverwundbar und unsterblich."
424 ifno=17thenprint"dinge drehen sich um ringe !"
425 ifno=21thenprint"ein zauberer war hier."
426 ifno=21thenprint"simsalabim"
427 ifno=28thenprint"voegel wurden vor langer zeit"
428 ifno=28thenprint"in zwerge verwandelt."
429 ifno=32thenprint"fremdling, der du betritst dies land !"
430 ifno=32thenprint"suche nach den verlorenen "b$"schaetzen"d$" !"
431 ifno=32thenprint"bringe sie hierher und leg sie hin."
432 ifno=32thenprint"sag 'fantasia' !"
433 ifno=38thenprint"pflanzen brauchen wasser !"
434 ifno=43thenprint"huete dich vor dem drachen !"
435 goto280
436 :
437 rem ** fuelle *********************
438 f=1:gosub605:iffl=1thenfl=0:goto280
439 ifno<>30andno<>35andno<>44thenprinta$(0):goto280
440 ifno=35orno=44thenprint"ist dafuer nicht geeignet.":goto280
441 ifoa<>3andoa<>17andoa<>35thenprint"wo ?":goto280
442 ifoa=3oroa=35thenprint"ich kann das wasser nicht erreichen.":goto280
443 print"gut.":ge$(30)="einen vollen wasserkrug":goto281
444 :
445 rem ** oeffne *********************
446 f=0:gosub605:iffl=1thenfl=0:goto280
447 ifno=40thenprint"versuche 'sperre'.":goto280
448 f=1:gosub607:iffl=1thenfl=0:goto280
449 ifno<>35thenprinta$(2):goto280
450 ifge(38)<>0thenprint"gut. es ist leer.":goto281
451 ifge(26)<>-1thenprinta$(1):goto280
452 print"zwei dinge fallen heraus. sag 'sieh'.":ge(38)=oa:ge(39)=oa:goto281
453 :
454 rem ** benuetze *******************
455 f=1:gosub605:iffl=1thenfl=0:goto280
456 ifno<>13andno<>31thenprint"bitte etwas genauer.":goto280
457 ifno=13thenprint"gut. ich setze die tarnkappe auf.":ge(13)=-2:goto280
458 ifno=31thenprint"gut. ich zog die zauberschuhe an.":ge(31)=-2:goto281
459 :
460 rem ** simsalabim *****************
461 ifge(18)<>oathenprint"nichts passiert.":goto280
462 print"der zwerg verwandelt sich in einen      bunten vogel ";
463 print"und fliegt davon !":ge(18)=0:goto281
464 :
465 rem ** sage ***********************
466 print"gut,...";n$
467 ifn$=ve$(15)then461
468 print"nichts passiert.":goto280
469 :
470 ** schiesse **********************
471 f=1:gosub605:iffl=1thenfl=0:goto280
472 ifno=34thenprint"versuche 'wirf'.":goto280
473 ifno=20thenprint"versuche 'schleudere'.":goto280
474 printa$(0):goto280
475 :
476 rem ** fuettere *******************
477 f=0:gosub605:iffl=1thenfl=0:goto280
478 ifno<>10andno<>16andno<>18andno<>36andno<>24thenfl=1
479 iffl=1thenfl=0:printa$(0):goto280
480 ifno<>16thenprint"hat keinen hunger.":goto280
481 ifge(23)<>-1thenprint"der baer ist sehr hungrig und frisst";:fl=1
482 iffl=1thenfl=0:print"    ... mich !":fori=1to2000:next:goto611
483 print"der baer verschlingt die beeren und     laeuft davon."
484 in=in-1:ge(16)=0:ge(23)=0:goto281
485 :
486 rem ** schneide *******************
487 f=0:gosub605:iffl=1thenfl=0:goto280
488 ifno<>14thenprinta$(2):goto280
489 ifge(33)<>-1thenprinta$(1):goto280
490 ifge(37)<>0then493
491 print"ich habe die frucht geteilt und etwas"
492 print"faellt heraus.   sag 'sieh'.":ge(37)=oa:goto281
493 print"die frucht ist bereits zerteilt.":goto280
494 :
495 rem ** sperre *********************
496 f=0:gosub605:iffl=1thenfl=0:goto280
497 ifno<>40andno<>35thenprinta$(2):goto280
498 ifno=35thenprint"versuche 'oeffne'.":goto280
499 iftu=1thenprint"ist schon offen !":goto280
500 ifge(26)<>-1thenprint"ich habe keinen schluessel.":goto280
501 print"gut.":tu=1:goto281
502 :
503 rem ** klettere *******************
504 ifoa=31andno=27thenoa=9:goto281
505 f=0:gosub605:iffl=1thenfl=0:goto280
506 ifno<>27thenprinta$(0):goto280
507 oa=31:goto281
508 :
509 rem ** schleudere *****************
510 f=1:gosub605:iffl=1thenfl=0:goto280
511 ifno<>20andno<>34thenprinta$(2):goto280
512 ifno=34thenprint"versuche 'wirf'.":goto280
513 ifge(29)<>oathenprint"womit ?":goto280
514 print"gut.":in=in-1:ge(20)=29:ge(10)=0:goto281
515 :
516 rem ** iss,trinke *****************
517 f=1:gosub605:iffl=1thenfl=0:goto280
518 ifve=25andno=23thenfl=1:ge(23)=0:in=in-1
519 ifve=31andno=30andge$(30)="einen vollen wasserkrug"thenfl=2
520 iffl=2thenfl=1:ge$(30)="einen leeren wasserkrug"
521 iffl=1thenfl=0:print"aaaah "  gut !":gO281
522 ifve=31andno=30thenprint"der krug ist leer.":goto280
523 ifve=25andno=9thenge(9)=-3:fl=1
524 iffl=1thenprint"brrrrr !  schmeckt ja scheusslich !":in=in-1
525 iffl=1thenfl=0:print"ich fuehle mich jetzt besonders stark !":goto281
526 printa$(0):goto280
527 :
528 rem ** verjage ********************
529 f=0:gosub605:iffl=1thenfl=0:goto280
530 ifno<>10andno<>16andno<>18andno<>36andno<>42thenfl=1
531 iffl=1thenfl=0:printa$(0):goto280
532 print"laesst sich nicht verjagen.":goto280
533 :
534 rem ** lege ***********************
535 f=1:gosub607:iffl=1thenfl=0:goto280
536 in=in-1:print"gut.":ge(no)=oa:goto280
537 :
538 rem ** drehe **********************
539 f=1:gosub605:iffl=1thenfl=0:goto280
540 ifno<>37thenprint"gut. nichts passiert.":goto281
541 print"alles beginnt sich zu drehen !"
542 print"der ring faellt mir aus der hand !"
543 print"sag 'sieh'.":ge(37)=oa:we(37)=16
544 ge$(37)=b$+"ein ring aus goldfaeden"+d$:in=in-1:goto281
545 :
546 rem ** springe ********************
547 ifoa=31and(no=0orno=27)then550
548 f=0:gosub605:iffl=1thenfl=0:goto280
549 printa$(0):goto280
550 ifint(4*rnd(0)+1)=2then552
551 oa=9:goto281
552 print"plumps..aua !  ich bin herunter gefallen.":fori=1to2000:next:goto611
553 :
554 rem ** giesse *********************
555 f=0:gosub605:iffl=1thenfl=0:goto280
556 ifno<>22andno<>14andno<>27thenprinta$(0):goto280
557 ifge(30)<>-1orge$(30)="einen leeren wasserkrug"thenfl=1
558 iffl=1thenfl=0:print"ich habe nichts zum giessen.":goto280
559 ifno=22thenprint"der strauch beginnt zu bluehen und es":fl=1
560 iffl=1thenprint"wachsen rote beeren."
561 iffl=1thenprint"dann verwandelt er sich.   sag 'sieh'."
562 iffl=1thenfl=0:ge(22)=0:ge(23)=oa:ge(24)=oa:goto564
563 print"gut."
564 ge$(30)="einen leeren wasserkrug":goto281
565 :
566 rem ** save ***********************
567 printe$c$:poke214,8:poke211,5:sysvd:input"filename : ";fi$
568 iflen(fi$)>16then567
569 open1,8,2,"%:"+fi$+",s,w":rem   fuer kassette: open1,1,1,fi$
570 fori=9to44:print#1,ge(i):nexti
571 print#1,oa
572 print#1,tu
573 print#1,in
574 print#1,p1
575 print#1,p2
576 print#1,p3
577 print#1,p4
578 print#1,we(34)
579 print#1,we(37)
580 print#1,ge$(30)
581 print#1,ge$(34)
582 print#1,ge$(37)
583 close1:ol=0:goto280
584 :
585 rem ** load ***********************
586 printe$c$:poke214,8:poke211,5:sysvd:input"filename : ";fi$
587 iflen(fi$)>16then586
588 open1,8,2,fi$+",s,r":rem   fuer kassette: open1,1,0,fi$
589 fori=9to44:input#1,ge(i):next
590 input#1,oa
591 input#1,tu
592 input#1,in
593 input#1,p1
594 input#1,p2
595 input#1,p3
596 input#1,ze
597 input#1,we(34)
598 input#1,we(37)
599 input#1,ge$(30)
600 input#1,ge$(34)
601 input#1,ge$(37)
602 close1:ol=0:goto280
603 :
604 rem ** unterprogramm **************
605 ifge(no)<>oaandge(no)<>-1andge(no)<>-2thenfl=1
606 iffl=1thenprint"sehe ich hier nicht.":return
607 iffl=1andge(no)<>-1andge(no)<>-2thenprint"habe ich nicht dabei.":fl=1
608 return
609 :
610 rem ** spielende ******************
611 pu=0:fori=9to44:ifge(i)=1thenpu=pu+we(i)
612 next:ifpu<>170then616
613 ifze<500thenpu=pu+7
614 ifze<400thenpu=pu+7
615 ifze<300thenpu=pu+7
616 ifp1=1thenpu=pu+2
617 ifp2=1thenpu=pu+3
618 ifp3=1thenpu=pu+4
619 printe$d$:poke214,4:poke211,5:sysvd
620 print"du hast"b$;pu;d$"von 200 punkten !"
621 poke214,9:poke211,13:sysvd:printb$"-rang ";
622 ifpu=0thenprint"10 -":goto632
623 ifpu<25thenprint"9 -":goto632
624 ifpu<50thenprint"8 -":goto632
625 ifpu<75thenprint"7 -":goto632
626 ifpu<100thenprint"6 -":goto632
627 ifpu<125thenprint"5 -":goto632
628 ifpu<150thenprint"4 -":goto632
629 ifpu<175thenprint"3 -":goto632
630 ifpu<200thenprint"2 -"goto632
631 ifpu=200thenprint"1 -"
632 poke214,16:poke211,8:sysvd:printd$"noch ein spiel (j/n) ?"
633 a$="":geta$:ifa$=""then633
634 ifa$="j"thenclr:av=1:goto118
635 ifa$="n"thensys65126
636 goto633


Erklärung der Variablen



<< zurück zu Fantasia