4IBM yph >> FastCopy PRO << by Martin Backschat, Bergstr.16, D-8071 Hepberg // (c) 1991 ICP Verlag/TOS Magazin, Wendelsteinstr. 3, D-8011 Vaterstetten, Tel. 0810633954  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOoW[a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @  @ ` ׀ ٠  @` @!Aa   !Aa!-/1!3A5a79;=?ACAEaGIKMOQ!SAUaWY[]_a!cAeag}!Aa!AaOa!Aa!Aaǁɡoׁ١!Aa!Aa" B b  !"!B!b!!!!!"!""#B"%b"'")"+1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%/%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w{'}'(b((((()")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b..../"/B/b/////0#0C0c00 0 0 01#1C1c11  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOoW[a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @  @ ` ׀ ٠  @` @!Aa   !Aa!-/1!3A5a79;=?ACAEaGIKMOQ!SAUaWY[]_a!cAeag}!Aa!AaOa!Aa!Aaǁɡoׁ١!Aa!Aa" B b  !"!B!b!!!!!"!""#B"%b"'")"+1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%/%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w{'}'(b((((()")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b..../"/B/b/////0#0C0c00 0 0 01#1C1c11A428 d1TI_123 j1TI_FROGS x1QTI_ISOLA 1TI_MUSE 1"TI_SHOOT 1iTI_T_V_H ݌1TI_XPLOD 1,WONDER 1xLEES DIT K`TI_KLETTPRG GTI_KNIFFPRG II_MEMO PRG W1T. k1.. TI_123 SRCl1TI_1_2_3PRG cH*. l1.. j1H_SNAKE INL ^L_SNAKE INL RAT_SPR INL r+JTI_123 LST  ~v =UpbG6@̀~?<~?O|~>?|?O~~??<?O~?>??O_U:g*rOIygs ,-*T|T?s'^{<-7?s'x?<~9>3~|?>y~3~?x<?~3?|??}?U5\)=NTsUy=)_U4oX]pT*>*{+{?z<{? :?> ?> 4?> ?> ??.??>?> @(???>? ?>  ? ?   88??88 ?s8? <x8x <8 <8 <| x88???88x p88x>< ~.$oo????' ============================================================ ' Ti_123 ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' ' !+++ 3 INLINEs in 'pre.set.special' +++ ' D: ' Wenn das LST-File (mit Merge) geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA " V.: 3.O / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA "Nederlands","049" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_123.PRG" DATA "=38782 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren $I+ !Interrupt zulassen ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ' =========================================================== ' ' @pre.set ' neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' ' =========================================================== ' PROCEDURE pre.set MENU KILL DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor ' Die Positionen werden gewhnlich so angegeben, ' da sie fr die niedrige Auflsung stimmen. ' Sie werden vom Programm mittels der Faktoren ' hf& und vf& an die aktuelle Auflsung angepat. h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen CLS y_kzl&=7*vf& !y Kopfzeile y_kln&=y_kzl&+2+vf& !y Kopflinie h_br&=h_max&+1 h_mid&=h_br&\2 v_ho&=v_max&+1 v_mid&=v_ho&\2 y_rel&=4*vf& bn_l&=4+2*hf& !Buttonlnge x_esc&=bn_l&*8+1 !ESC top_pal$="" @get.palette(top_pal$) !Farbpalette des Desktop retten check!=TRUE !fr Linvirentest ' @pre.set.special !programmspezifisch ' @set.farben @set.grafik.normal @set.1.wahl DEFMOUSE 0 RETURN PROCEDURE pre.set.special !+++ 3 INLINEs +++ LOCAL h_snake%,l_snake%,rat_spr%,part&,pos&,sn$ ' ' snakes am Stck INLINE h_snake%,1118 INLINE l_snake%,1222 INLINE rat_spr%,74 ' Ratte als Sprite (funktioniert in allen Auflsungen) ' CLS HIDEM GET 0,0,11*hf&+1,10*vf&,leer$ SHOWM DIM li_snake$(6) DIM re_snake$(6) DIM sieg&(2) IF alf&=2 part&=86 sn$=SPACE$(1118) BMOVE h_snake%,V:sn$,1118 ELSE part&=94 sn$=SPACE$(1222) BMOVE l_snake%,V:sn$,1222 ENDIF pos&=1 burger$=MID$(sn$,pos&,part&) FOR ni&=1 TO 6 ADD pos&,part& li_snake$(ni&)=MID$(sn$,pos&,part&) NEXT ni& FOR ni&=1 TO 6 ADD pos&,part& re_snake$(ni&)=MID$(sn$,pos&,part&) NEXT ni& ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 x_hlp&=h_max&-x_esc& !HELP y_std&=46*vf& ' Bildschirm-Positionen y_sn&=96*hf& x_di&=12*hf& x_lr&=21*hf& x_ls&=x_lr&-x_di&+1 x_of&=x_lr&+x_di& x_rr&=x_lr&+x_di&*22 x_rs&=x_rr&+x_di&-1 ' Defaults & Offsets gegner&=2 gegner_ofs&=2 spielart&=1 spielart_ofs&=7 zufall&=1 zufall_ofs&=10 kurz%=2 lang%=6 wart%=lang% RETURN ' PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.farben IF alf&=2 VSETCOLOR 0,7,7,7 !schwarz auf wei ELSE VSETCOLOR 0,6,6,6 !dunkelweiss VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,0,5,0 !grn VSETCOLOR 4,0,0,7 !blau VSETCOLOR 5,7,7,0 !gelb VSETCOLOR 6,0,0,0 !schwarz VSETCOLOR 7,7,0,7 !violett VSETCOLOR 8,4,4,4 !grau VSETCOLOR 9,0,7,6 !trkis VSETCOLOR 10,0,7,0 !hellgruen VSETCOLOR 11,0,6,7 !hellblau VSETCOLOR 12,3,4,5 !stahlblau VSETCOLOR 13,7,5,0 !orange VSETCOLOR 14,6,4,0 !braun VSETCOLOR 15,5,3,0 !dunkelbraun ENDIF RETURN ' PROCEDURE test.virus LOCAL pfad$,prg$,pln$,al$,prg_len%,d_l%,antw& pfad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pfad$,1)<>"\" pfad$=pfad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pfad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ d_l%=LOF(#1) CLOSE #1 IF d_l%prg_len% al$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,al$,antw&) IF antw&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,frei% al$="[3][ | MALLOC-ERROR! | ][ shit ]" frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -frei% prg_adr%=MALLOC(frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,al$,antw&) ENDIF ELSE @show.alert(1,al$,antw&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung !~NL~D~ IF taal$="NL" al$="[3][ | De test op een Link-virus | kon niet (!)|" al$=al$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE !D al$="[3][ | Der Linkvirentest | konnte nicht(!)|" al$=al$+" durchgefhrt werden| ][ hchst verdchtig! ]" ENDIF @show.alert(1,al$,antw&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE white.box(li&,ob&,re&,un&) @set.grafik.normal PBOX li&,ob&,re&,un& RETURN PROCEDURE clean ' fllt den Bildschirm (ohne Kopfzeile) mit "Hintergrund" ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE zent(yt&,it$) ' zentriert den Text an der gewnschten y-Position TEXT h_mid&-LEN(it$)*4,yt&,it$ RETURN PROCEDURE set.titel(it$) LOCAL tl&,xt& @white.box(-1,-1,h_br&,y_kln&) tl&=LEN(it$) IF tl& xt&=h_mid&-tl&*4 GRAPHMODE 4 TEXT xt&-8,y_kzl&,SPACE$(tl&+2) GRAPHMODE 3 TEXT xt&,y_kzl&,it$ GRAPHMODE 1 ENDIF RETURN PROCEDURE shit LOCAL it$,lit&,bnr& ON ERROR !aus it$=ERR$(ERR) !Original Fehlermeldung lit&=RINSTR(it$,"[") ' "CONT" und "STOP" statt "Return" schont den Reset-Knopf it$=LEFT$(it$,lit&)+" CONT |STOP]" @show.alert(2,it$,bnr&) IF bnr&=1 RESUME neu_start ELSE @ausgang ENDIF RETURN ' PROCEDURE test.wahl(VAR pt_&,pw_&) LOCAL test$,dummy$ pt_&=-1 !Info-Zeilen zhlen REPEAT INC pt_& READ test$ UNTIL test$="*" pw_&=-1 !Wahl-Zeilen zhlen REPEAT INC pw_& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR pt_&,pw_&,pt_$(),pw_$(),pk_$()) LOCAL dummy$ ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>20 OR ABS(my&-ay&)>20 @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' ' === hier beginnt das eigentliche Programm === ' PROCEDURE set.1.wahl RESTORE 1.wahl !DATA-Pointer setzen @test.wahl(pt_1&,pw_1&) !zhlen DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) !dimesionieren RESTORE 1.wahl !DATA-Pointer zurcksetzen @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) !Arrays fllen RETURN ' PROCEDURE set.wahl.main @da.is.main @test.wahl(pt_m&,pw_m&) ERASE pt_m$(),pw_m$(),pk_m$() DIM pt_m$(pt_m&),pw_m$(pw_m&),pk_m$(pw_m&) @da.is.main @read.wahl(pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$()) ' extra abhaken, damit die Wahl auch nach ' einem Wechsel der Sprache beachtet wird @abhaken.gegner(gegner&) @abhaken.spielart(spielart&) @abhaken.zufall(zufall&) RETURN PROCEDURE da.is.main !~NL~D~ IF taal$="NL" RESTORE wahl_main_nl ELSE RESTORE wahl_main_d ENDIF ' ohne Infozeilen wahl_main_nl: DATA * DATA "INFO","023" DATA "Regels","019" DATA "Tegenstander :","1" DATA " Mens ","050" DATA " Computer ","046" DATA "Wie de laatste","1" DATA "Hamburger opeet :","1" DATA " verliest ","047" DATA " wint ","017" DATA "Aantal Hamburgers :","1" DATA " toevallig ","020" DATA " altijd 19 ","030" DATA "Speelstand :","1" DATA "Op nul zetten","011 024 049 112" DATA "","" DATA "Start","031" DATA "-------------------","2" DATA " Escape ","001" DATA *,"" ' wahl_main_d: DATA * DATA "INFO","023" DATA "Regeln","019" DATA "Mitspieler:","1" DATA " Mensch ","050" DATA " Computer ","046" DATA "Wer den letzten","1" DATA "Burger frit:","1" DATA " verliert ","047" DATA " gewinnt ","034" DATA "Anzahl Burger:","1" DATA " zufllig ","021" DATA " jeweils 19","036" DATA "Spielstand:","1" DATA "zurcksetzen","021" DATA "","" DATA "Spielen","031" DATA "------------------","2" DATA " Escape ","001" DATA *,"" RETURN PROCEDURE abhaken.gegner(nr&) IF nr&<>gegner& MID$(pw_m$(gegner&+gegner_ofs&),1)=" " @stand.reset ENDIF MID$(pw_m$(nr&+gegner_ofs&),1)="" gegner&=nr& RETURN PROCEDURE stand.reset ARRAYFILL sieg&(),0 RETURN PROCEDURE abhaken.spielart(nr&) IF nr&<>spielart& MID$(pw_m$(spielart&+spielart_ofs&),1)=" " ENDIF spielart&=nr& MID$(pw_m$(nr&+spielart_ofs&),1)="" RETURN PROCEDURE abhaken.zufall(nr&) IF nr&<>zufall& MID$(pw_m$(zufall&+zufall_ofs&),1)=" " ENDIF zufall&=nr& MID$(pw_m$(nr&+zufall_ofs&),1)="" RETURN ' PROCEDURE set.wahl.genug @da.is.genug @test.wahl(pt_g&,pw_g&) ERASE pt_g$(),pw_g$(),pk_g$() DIM pt_g$(pt_g&),pw_g$(pw_g&),pk_g$(pw_g&) @da.is.genug @read.wahl(pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$()) RETURN PROCEDURE da.is.genug !~NL~D~ IF taal$="NL" IF gegner&=3 RESTORE wahl_genug_1_nl ELSE RESTORE wahl_genug_2_nl ENDIF ELSE IF gegner&=3 RESTORE wahl_genug_1_d ELSE RESTORE wahl_genug_2_d ENDIF ENDIF ' wahl_genug_1_nl: DATA " Lafaard ! Je bent zeker " DATA "aan het verliezen ?!" DATA wahl_genug_2_nl: DATA " Stoppen ? " DATA * DATA "Ja","001 036 028 114" DATA " Nee ","049 057" DATA *,"" ' wahl_genug_1_d: DATA " Du Feigling bist wohl " DATA " am verlieren ?! " DATA wahl_genug_2_d: DATA " Abbruch? " DATA * DATA "ja","001 036 028 114" DATA " nein ","049 057" DATA *,"" RETURN ' PROCEDURE 1.wahl @set.titel(" T i _ 1 2 3 ") @clean @pop.wahl(0,y_rel&,TRUE,TRUE,0,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) @no.but SELECT wahl& CASE 2,3 @aktion CASE 5 @last.info @ausgang ENDSELECT RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,0,TRUE,TRUE,2) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN PROCEDURE aktion @set.sprache(wahl&-1) IF check! ' nur beim ersten Durchgang @test.virus !=> short.exit ? IF alf&=1 @geht.nicht !=> short.exit ! ENDIF check!=FALSE ENDIF @wahl.main RETURN PROCEDURE set.sprache(nr&) IF nr&=2 neu!=(taal$<>"NL") taal$="NL" ELSE neu!=(taal$<>"D") taal$="D" ENDIF IF neu! @set.wahl.main ENDIF RETURN ' PROCEDURE geht.nicht @da.is.geht.nicht @test.wahl(pt_1&,pw_1&) ERASE pt_1$(),pw_1$(),pk_1$() DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) @da.is.geht.nicht @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) DEFMOUSE 0 @pop.wahl(0,y_rel&,TRUE,TRUE,1,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) @ausgang RETURN PROCEDURE da.is.geht.nicht !~NL~D~ IF taal$="NL" RESTORE geht_nicht_nl ELSE RESTORE geht_nicht_d ENDIF ' geht_nicht_nl: DATA " Dit programma loopt " DATA "helaas alleen in" DATA "LAGE en HOGE" DATA "resolutie !" DATA * DATA " OK ","028 114" DATA *,"" ' geht_nicht_d: DATA " Dieses Programm luft " DATA "leider nur in" DATA "niedriger oder hoher" DATA "Auflsung!" DATA * DATA " OK ","028 114" DATA *,"" RETURN ' PROCEDURE wahl.main REPEAT @set.titel(" T i _ 1 2 3 ") @clean @pop.wahl(0,y_rel&,TRUE,TRUE,18,pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$(),wahl&) @no.but SELECT wahl& CASE 1 @prg.info CASE 2 @spiel.regeln CASE 4,5 !Mensch=2/Computer=3 @abhaken.gegner(wahl&-gegner_ofs&) CASE 8,9 @abhaken.spielart(wahl&-spielart_ofs&) CASE 11,12 @abhaken.zufall(wahl&-zufall_ofs&) CASE 14 @stand.reset CASE 16 @spielen ENDSELECT UNTIL wahl&=18 @no.but RETURN PROCEDURE prg.info !~NL~D~ IF taal$="NL" RESTORE prg_info_nl ELSE RESTORE prg_info_d ENDIF @set.titel(" I N F O ") @pop.info(0,4*vf&,TRUE,TRUE,60) ' prg_info_nl: DATA "Ti_123 is 'public domain'," DATA "loopt in lage en hoge ST-resolutie" DATA "en 'heeft iets' tegen Linkvirussen." DATA "Het programma is in GFA-BASIC 3.0" DATA "geschreven en gecompileerd en mag," DATA "nee moet verder gegeven worden - maar" DATA "natuurlijk uitsluitend kosteloos !" DATA "En om te zorgen dat het ook" DATA "kosteloos blijft, stuurt U de auteur" DATA "a.u.b. geen (!) geld." DATA "Veel plezier !" DATA "De nederlandse vertaling is van" DATA "Philip van Rijthoven" DATA "Tel.: O8O-782457" DATA "Nelson Krugerstraat 58" DATA "NL 6543 MX Nijmegen" DATA "(Danke!)" DATA * ' prg_info_d: DATA DATA "Ti_123 ist 'public domain'," DATA "luft in der hohen und" DATA "niedrigen ST-Auflsung" DATA "und hat 'was gegen Linkviren." DATA "Das Programm ist in GFA-BASIC 3.0" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden - aber" DATA "natrlich ausschlielich kostenlos!" DATA "Und damit es auch kostenlos bleibt," DATA "schicken Sie dem Autor bitte" DATA "kein (!) Geld." DATA DATA "Viel Spa!" DATA * RETURN PROCEDURE spiel.regeln !~NL~D~ LOCAL it$ IF taal$="NL" it$="Spelregels" RESTORE spiel_regeln_nl ELSE it$="Spielregeln" RESTORE spiel_regeln_d ENDIF @set.titel(it$) @pop.info(0,4*vf&,TRUE,TRUE,60) ' spiel_regeln_nl: DATA DATA "Ti_123 is een spel" DATA "voor twee personen." DATA "Om de beurt moet elke speler" DATA "(of zijn slang) 1, 2 of 3" DATA "hamburgers opvreten." DATA "De gedachte daaraan alleen al" DATA "is om misselijk van te worden," DATA "het spel eindigt echter" DATA "nog afgrijselijker." DATA "Maar goed, als je per se wilt ?!" DATA "Ga je gang ..." DATA "Wie de laatste hamburger opeet" DATA "heeft gewonnen of juist niet, dat" DATA " hangt van de gekozen speelwijze af. " DATA "Als er geen tweede speler is," DATA "wil de computer zelf wel meedoen." DATA DATA * spiel_regeln_d: DATA DATA "Ti_123 ist ein Zwei-Personen-Spiel." DATA "Jeder Spieler (bzw. seine Schlange)" DATA "mu abwechselnd 1, 2 oder 3" DATA "'Burger' fressen." DATA "Der Gedanke allein" DATA "ist schon frchterlich," DATA "das Spiel ist noch grausamer," DATA "- aber bitte -" DATA "wenn Ihr unbedingt wollt ?!" DATA DATA "Gewonnen hat (je nach Wahl)" DATA "wer den letzten nehmen darf" DATA "oder mu." DATA "Wenn der zweite Spieler fehlt," DATA "kann der Computer mitspielen." DATA DATA * RETURN ' ' === hier beginnt das Spiel === ' PROCEDURE spielen LOCAL genug! @set.wahl.genug @spiel.vorbereiten @zeig.spielfeld @zeig.spielstand REPEAT IF spieler&<3 !nicht wenn Computer am Zug wart%=lang% $U+ !hinter jedem Befehl EVERY prfen EVERY 20 GOSUB movie fress&=0 REPEAT SHOWM @get.tom IF scan| @test.key ELSE IF my&x_hlp& @show.help ENDIF UNTIL mk& OR fress& OR genug! EVERY STOP $U- !fertig ENDIF IF NOT genug! wart%=kurz% HIDEM ON spieler& GOSUB li.nimm,re.nimm,comp.nimm SHOWM ENDIF UNTIL rest&=0 OR genug! IF rest&=0 @nach.spiel ENDIF SHOWM RETURN ' PROCEDURE spiel.vorbereiten IF zufall&=1 li_weg&=RAND(3) re_weg&=RAND(3) ELSE li_weg&=0 re_weg&=0 ENDIF li_p&=li_weg& re_p&=20-re_weg& rest&=PRED(re_p&-li_p&) x_lk&=x_lr&+x_di&+li_weg&*x_di& x_rk&=x_rr&-x_di&-re_weg&*x_di& li_kopf&=4 re_kopf&=4 spieler&=1 sieger&=0 RETURN PROCEDURE zeig.spielfeld LOCAL li&,ob&,re&,un&,von&,bis& GRAPHMODE 4 TEXT 1,y_kzl&,SPACE$(bn_l&) TEXT x_hlp&+1,y_kzl&,SPACE$(bn_l&) GRAPHMODE 3 TEXT 8*hf&+5,y_kzl&,"ESC" TEXT x_hlp&+8*hf&+1,y_kzl&,"HELP" GRAPHMODE 1 li&=5*hf& re&=314*hf& ob&=y_sn&-10*vf& un&=y_sn&+10*vf&+2 PBOX li&-hf&-2,ob&-vf&-2,re&+hf&+2,un&+vf&+2 BOX li&,ob&,re&,un& ' Kopf PUT x_lk&,y_sn&,li_snake$(4) PUT x_rk&,y_sn&,re_snake$(4) ' Schwanz PUT x_ls&,y_sn&,li_snake$(6) PUT x_rs&,y_sn&,re_snake$(6) ' Rumpf li&=x_lr& WHILE li&x_rk& PUT re&,y_sn&,re_snake$(5) SUB re&,x_di& WEND ' Burger von&=x_lk&+x_di&-2*hf&+4 bis&=x_rk&-x_di&-2*hf&+4 HIDEM GET von&,y_sn&,von&+14*hf&-5,y_sn&+10*vf&,help$ FOR ni&=von& TO bis& STEP x_di& PUT ni&,y_sn&,burger$ NEXT ni& li&=h_mid&-60 re&=h_mid&+60 ob&=y_std&-10*vf& un&=y_std&+4*vf& PBOX li&-3,ob&-3,re&+3,un&+3 PBOX li&,ob&,re&,un& RETURN PROCEDURE zeig.spielstand LOCAL stand$ stand$=RIGHT$(" "+STR$(sieg&(1)),4)+" : "+LEFT$(STR$(sieg&(2))+" ",4) @zent(y_std&,stand$) SHOWM RETURN ' PROCEDURE test.key SELECT scan| CASE 1 @wahl.genug CASE 2 TO 4 IF spieler&=1 fress&=MIN(scan|-1,rest&) ENDIF CASE 98 @show.help CASE 109 TO 111 IF spieler&=2 fress&=MIN(scan|-108,rest&) ENDIF ENDSELECT RETURN PROCEDURE wahl.genug EVERY STOP @pop.wahl(12*hf&,20*vf&,FALSE,FALSE,2,pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$(),wahl&) @no.but mk&=0 IF wahl&=1 genug!=TRUE ELSE EVERY 20 GOSUB movie ENDIF RETURN PROCEDURE show.help LOCAL hx& EVERY STOP HIDEM @best.move !besten Zug ermitteln IF spieler&=1 hx&=x_lk&+fress&*x_di&-2*hf&+4 ELSE hx&=x_rk&-fress&*x_di&-2*hf&+4 ENDIF PUT hx&,y_sn&,burger$ @flip @flip REPEAT !3* oder mehr @flip @get.tom UNTIL scan|<>98 AND (my&>y_kln& OR mx&3 li_add&=-1 ENDIF ADD li_kopf&,li_add& PUT x_lk&,y_sn&,li_snake$(li_kopf&),6 RETURN PROCEDURE re.move PUT x_rk&,y_sn&,re_snake$(re_kopf&),6 IF re_kopf&<2 re_add&=1 ELSE IF re_kopf&>3 re_add&=-1 ENDIF ADD re_kopf&,re_add& PUT x_rk&,y_sn&,re_snake$(re_kopf&),6 RETURN ' PROCEDURE li.nimm IF fress& @li.fressen ELSE IF my&>y_sn& AND my&0 AND fress&<4 AND fress&<=rest& @li.fressen ELSE @hinweis ENDIF ELSE @hinweis ENDIF RETURN PROCEDURE re.nimm IF fress& @re.fressen ELSE IF my&>y_sn& AND my&0 AND fress&<4 AND fress&<=rest& @re.fressen ELSE @hinweis ENDIF ELSE @hinweis ENDIF RETURN PROCEDURE hinweis !~NL~D~ IF taal$="NL" RESTORE hinweis_nl ELSE RESTORE hinweis_d ENDIF @pop.info(0,54*vf&,TRUE,TRUE,30) ' hinweis_nl: DATA DATA " Klik op de laatste hamburger " DATA "die je nu op wilt vreten" ' DATA "of druk op een toets:" ' DATA "[1] [2] [3]" DATA * hinweis_d: DATA DATA " Klick auf den letzten 'Burger'," DATA " den Du fressen willst," DATA " oder drcke deine Taste:" DATA "[1] [2] [3]" DATA * RETURN PROCEDURE comp.nimm PAUSE 5 IF rest&>10 REPEAT fress&=RANDOM(3)+1 UNTIL fress&<>alt_fress& alt_fress&=fress& ELSE @best.move ENDIF @re.fressen RETURN PROCEDURE best.move IF spielart&=2 fress&=rest& MOD 4 ELSE fress&=(rest&-1) MOD 4 ENDIF IF fress&=0 fress&=1 ENDIF RETURN ' PROCEDURE li.fressen @li.mampf SUB rest&,fress& li_kopf&=4 PUT x_lk&,y_sn&,leer$,3 PUT x_lk&,y_sn&,li_snake$(li_kopf&),6 spieler&=gegner& SHOWM RETURN PROCEDURE li.mampf PUT x_lk&,y_sn&,li_snake$(li_kopf&),6 FOR mampf&=1 TO fress& FOR pixel&=1 TO x_di&\hf& @li.maul.auf @li.maul.zu ADD x_lk&,hf& NEXT pixel& PUT x_lk&-x_di&,y_sn&,li_snake$(5),3 @schmatz NEXT mampf& ADD li_p&,fress& RETURN PROCEDURE li.maul.auf FOR li_kopf&=1 TO 2 PUT x_lk&,y_sn&,li_snake$(li_kopf&),3 @tu.nix NEXT li_kopf& RETURN PROCEDURE li.maul.zu FOR li_kopf&=3 TO 4 PUT x_lk&,y_sn&,li_snake$(li_kopf&),3 @tu.nix NEXT li_kopf& RETURN PROCEDURE re.fressen @re.mampf SUB rest&,fress& re_kopf&=4 PUT x_rk&,y_sn&,leer$,3 PUT x_rk&,y_sn&,re_snake$(re_kopf&),6 spieler&=1 SHOWM RETURN PROCEDURE re.mampf PUT x_rk&,y_sn&,re_snake$(re_kopf&),6 FOR mampf&=1 TO fress& FOR pixel&=1 TO x_di&\hf& @re.maul.auf @re.maul.zu SUB x_rk&,hf& NEXT pixel& PUT x_rk&+x_di&,y_sn&,re_snake$(5),3 @schmatz NEXT mampf& SUB re_p&,fress& RETURN PROCEDURE re.maul.auf FOR re_kopf&=1 TO 2 PUT x_rk&,y_sn&,re_snake$(re_kopf&),3 @tu.nix NEXT re_kopf& RETURN PROCEDURE re.maul.zu FOR re_kopf&=3 TO 4 PUT x_rk&,y_sn&,re_snake$(re_kopf&),3 @tu.nix NEXT re_kopf& RETURN PROCEDURE tu.nix LOCAL t_n% t_n%=wart% ADD t_n%,TIMER WHILE TIMERt_w% @tu.was ENDIF @get.tom UNTIL my&4000 SOUND 1,0,0,0,0 !a Ruh is RETURN ' ' === Ti === `w@ @AONAxamalNxNN8ATa_HmTNNNN@N paPpaSaIE aiN `aEHabJAa^0A퀤a^pau|;@paur;@0-R@;@0-R@;@ mWHH/ mWHHg;|`J m@WHH/ mȁWHHgBm`&EpC maWp?</-/-N(aD`aTaaA퀬a\Aa\A퀨a\NrpaR&aH m$m2at$m4Nr`a aaPNN``aa<` ptraOap;A;B;C0-faqf``aa HyNNX @p!@``a`paQaG <aF@Z <aF"<al <aF"<al <aF"<alp0-6-traQaW0-S@]HT@;@0-U@]HT@;@0-;@0-r4mҊA;@0-T@;@0-HjR;@0-HjR;@0-@;@0-HЀX@;@0-HR@;@P큔E8a?AZar`_a_A0a[A4a[A8a[A퀰a[vA퀴a[nAa[Ew $m0$E|( $m4$E $m8$aVaE0- R/0- /A`(*|~aRFaEp~A큖alp~A큜alvp~A\alz0-U@f2$m4V0<^a`*"maT m "@ <^$m0 Ra>`0$m4^0<a_"maT m "@ <$m4 Ra>$m4$m0H$m2H ma]CfaTR;|$m0$mR$m0H$m2H ma]8-H"mapRm0-]@o;|$m0$mR$m0H$m2H ma]p8-H"map`Rm0-]@opJa_"ClaSAl "@pJ$m8 Ra=0-ސm;@;|.0-`;@0- ;@ 0-;@ p2- m A;@0- m ;@0- m ;@p2- 4mҊD;@;|;|;|;|;|;| p+@p+@+m`\a].AaXN maZvBm?;| m 0(aP\`p2-H m aZaX8$m<ђRm0-koYRm" m "oEa;> m an m a]pa/N$m@$$m@ $m$mX ЀR"p maWaU:$m\$$m\?*$mX?*?<NN\$mXR$mX o]`WaX,AaSpAaShAaS`AaSXN@$m0$m6$m4$m2aFx`WaWpak$/pak.|zxvtr0|a[`WpaWA aSAaR m 0(H0mD/0-$m/ m $"aL`W*aWpA aSAaS(AaS Hx?-?-a m 0($m4$m0gZ$m0H0mD$m4paGp$m4RЊaX*4-r$mRaL&paGd m 4-$m2aLpaGL`VaVA aRAaRA퀤aRa^ac\aff"m aLjp[aTl"m aW$m4$m0H m aUREpaCx"m aL2paD?</- /-a$m0S@f ac ``a`UaV6AaQVAaQNAaR AaR$m4$mRR mah mp*aBg$m4$mRR mah mah mp*aBg`U|aUAPaPA퀔aPA퀐aPA퀌aPAaPAaPAaQRAaQpBm`Rm8-H"m"QagahF$m0mn mah2Bm`Rm8-H"m"Qagah8-H"m"Qagag8-H"m"Qag0($m4$m0S@f,8-H"m"QagraW a(8-H mP P؄1H`X$m0WHH/8-H"m"Qag80(J@WHHg8-H mP P؄1H`8-H mP P؄1H$m0mn `TaT^AaO~A퀜aOvA퀘aOnA퀌aOfAPaO^AaOVAaONAaOjA|aOAxaOAaORAaOJAaOAaOAaOAaOAaOAaOA aOAaOAaO~AaOvAaOAaOfAaOA aOVA$aONA(aOFA,aO>A aO\0-@$m40- $m4$m4a9/-/-/-N$m0HX@$m 4/-/-/-NN?$m8H"m"Qa_/p@aJ/AxaQ "_a88"_aNJg "m m2$mRR$m0$mR]HH$m2HgZ`L^aLAPaGA8aGA$aHAp$m<2H m$aKaNpa N;@$m@0H8-H mP P؄1H$mA(aG\A aG.A$aG&A(aGA,aGA aG4a10- $m4$m4$m0fLA큢a[`f$m8H"ma\"m(a? m(0($m 4$m 0H$m0RD$m4$m0$mR m($m4$m2a>$mRR$m0koYA큢aYN@$m` gVp$m4RЊr$m4RҊAlaM $m` $ԀЀЂ/NAlaL m $m$4H$m 2Ha:da/`HaI$m0$m$m4$mXR$m0$m2$m4RҊ$m4$mxg0-H$m0RJjR$mR$m|g0-H$m0RJjR$mR$m0$mR$m0$mR`HHa:$m,0$m(6$m$4$m 2a600-HЀ$m 0RЈ/0-HЀ$m$0RЈ/0-HЀ$m(0RD/0-HЀ$m,0RD&$"a6pa7`FaG@AdaBAaBAaBa$md l $md$.a-$mdђaV$m4aV$m4?0-0H~AaR.0-0H~AaR0-0H~AhaRNHHm.Hm0HmHmHmHmha?-Nt?-N?-Nh`D4aDzAr00-$mRg$8- H4m؊"maU/p a@r"_aV0 m;P8- H$m4R؊"maU/pa@r"_aV`BaBN rHm2Hm4aAaRAaRAaRAnaR0-2H~AaO0-4H~AaO0-4H~AaO0-4H~AnaON rHm2Hm4HmHmHmHmna`B aBPAr0V큕0P`ArpDa-V큕pDAra>,-ga`@a@HmZafaBg?-Hy?<Hm.Hm0HmhHmHmHmHm6aDab0-6H`NN"``>a?.A퀈a:a4N$N%fN)N0-8W@l+mpE,aFNBm:Na%N?pa&;@@`Bm>Bm@;m>Bp4m@ЊD;@D0-DH0mBS@;@<0- >2- 4m ҊA;@F0- @2-m D;@H;|J;|L;|8BmN`=a=\Aa9Aa9Aa9 Aa9ADa8AHa8pa-0-a>B4-ra2D0-a>04-rma2.pa-l0-HZ/E;pa:4-"a20-H0mЈR/ Ha- mD;P0- $mH2a/n`Af4-H2-Ha+0+m2-H4+J@jABo]0-@$m40-@<$m40-a&<:<a /??0-az8:&ada$m40-a^&<:<a x/??0-aB8:&a,a $m4p$mRv$mRt$mRr$mRa(&$m0$m6$m4$m2a( `9.a9tA,a5ZEpa6/x m\؄00Haa:"_a$pa8RE>pa&6/x m\؄00Haa9Epa&pa7"_a$V"m,a.?-/-,a8a`8a80-(H`TN*f`p0-8S@fh0-0-`6a6a:p A~4-H$mL2Ha'p aB`6fa60-8H~a=,2,`6Ja68-JH"maI 4-Hp2-FHa'0-JU@l;|P`0-JW@o;|P0-PmJ8-JH"maH4-Hp2-FHa'f`5a6"8-LH"maH4-Hp2-HHa'>0-LU@l;|R`0-LW@o;|R0-RmL8-LH"maHX4-Hp2-HHa&`5na50-:g N/@`0-m]HH/0-0mЈ2-H^HHgX0- H2-H4m@aLmB;@:0-:^HH/0-:Y@mB0-$mp$ `p<$mt$p a:$mp tra?pa:$mt $mpђ$mtS$mp ovptra?.pa9`-|aaY>DExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&ah&8:DE`DEx`aT` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu 24afpNu 24afpNu>jDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`jBNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`r 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`4a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup` <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a` rTJ_LkNuTJ_Lja&8* <r4<`HL aJBfL agLJBjDBa8L8a@a DBNuLJBjDBaL8a"`p` 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`DapEֽgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI5KF$<Nu[1][Error +111][Return]ED g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KFMI5O:HQ <-H*,`N,?d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<G0<NBLNurt=@:=A@=B NuHz(` NGHz ?<&NN\Nu9ngNuWnNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa a O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _aG` VNuag`af`ae `ac` acpNuadpNu/ aJ$I> _a@4Ae4v` VfANuHP0(R@kBa& $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _avIUd4Id4Id$Id `$$$$Q @JgSL`QNup `pa0Af` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `aUAfQNuag`af`ae `ac` acpNuadpNuaLSAkXf SAkXfJANurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`2n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`nBp'rta` n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a Z]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|SH-|SL`Nu-HNIH?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `T np` z 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`fg BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea J"ep` &6NuE "e a ("d&&6NuE"e a "d66NuE"e a"d666NuE"e aε"d6Nuvn\n^~Ha N0 @xepw2AtE4*jDjHB t`0QTAtp =| D`` 24JBoRBk NugSBk` 24JBoCkNugCk`a`QNuHg"cc/ 0)a~ _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`0@F@AJhg PLNu`lLJg(HPBHh/??<@NAXLf ѨLNuJkp%`0aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`p a2`p CFp`xa CF"p`jHza`HyY"J`VB.@=|DNua.@FpAR@C`4 B.@=|DNuB.@a=GDgNup`ja`aCF"E p`Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`H$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8a݌L8 DBaL8O <jDFJEjDEFn ffAbtNu&8:a`J&8:a`< 246jDC C b H&<;)8<\:<aaHaR/@L&"NN @A C#P B?< NA\#m/a?< NA\AB0N nNuA#n n x hg3&jAC`g#P Nu?<"NNT @ 9jg!@ HzT?<&NN\3NuB#mGVNuHz ?<&NN\NupACEmrJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3n Ni LHMO:|1R/9m?< NAO:pdz`/Ma,_NNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a؀.dfa츀jNu.dfNudg"J9kfa4fp`ֶd`/9dg/9dg/9NupAoR-H=@|p4aנS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9?g"9?|gJ9fga"AO:Np\B`G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`C`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAap8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`TaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaͶ `baT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aֈNu"H YJQfNu YH瀀aHLP|HPGwC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GwFWfTL L-KA `.$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`d؅X`$_  IaYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` nd$HJf-HS Nup"`HPa _ap`QNua JH a^L0Nua`4<H`@azL Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a-IHQB0a| _JNuz"-A=B|a-I`H.gZ <r4<?k"SWgaL`TL8Hana~v =UpbG6@̀~?<~?O|~>?|?O~~??<?O~?>??O_U:g*rOIygs ,-*T|T?s'^{<-7?s'x?<~9>3~|?>y~3~?x<?~3?|??}?U5\)=NTsUy=)_U4oX]pT*>*{+{?z<{? :?> ?> 4?> ?> ??.??>?> @(???>? ?>  ? ?   88??88 ?s8? <x8x <8 <8 <| x88???88x p88x>< ~.$oo???? T I _ 1 _ 2 _ 3 V.: 3.3 / O8.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14D 55239 Gau-Odernheim*Deutsch032Nederlands049-----------------------2 Escape 001*8107 30528 8198 0666150001700205040076770300057077444807690701006712345147501164013530*INFO023Regels019Tegenstander :1 Mens 050 Computer 046Wie de laatste1Hamburger opeet :1 verliest 047 wint 017Aantal Hamburgers :1 toevallig 020 altijd 19 030Speelstand :1Op nul zetten011 024 049 112Start031-------------------2 Escape 001**INFO023Regeln019Mitspieler:1 Mensch 050 Computer 046Wer den letzten1Burger frit:1 verliert 047 gewinnt 034Anzahl Burger:1 zufllig 021 jeweils 19036Spielstand:1zurcksetzen021Spielen031------------------2 Escape 001* Lafaard ! Je bent zeker aan het verliezen ?! Stoppen ? *Ja001 036 028 114 Nee 049 057* Du Feigling bist wohl am verlieren ?! Abbruch? *ja001 036 028 114 nein 049 057* tot uw dienst * servus *TI_1_2_3is 'public domain',loopt in lage en hoge ST-resolutieen 'heeft iets' tegen Linkvirussen.Het programma is in GFA-BASIC 3.0geschreven en gecompileerd en mag,nee moet verder gegeven worden - maarnatuurlijk uitsluitend kosteloos !En om te zorgen dat het ookkosteloos blijft, stuurt U de auteura.u.b. geen (!) geld.Veel plezier !De nederlandse vertaling is vanPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)*TI_1_2_3ist 'public domain',luft in der hohen undniedrigen ST-Auflsungund hat 'was gegen Linkviren.Das Programm ist in GFA-BASIC 3.0geschrieben und compiliert und darfund soll weitergegeben werden - abernatrlich ausschlielich kostenlos!Und damit es auch kostenlos bleibt,schicken Sie dem Autor bittekein (!) Geld.Viel Spa!*TI_1_2_3 is een spelvoor twee personen.Om de beurt moet elke speler(of zijn slang) 1, 2 of 3hamburgers opvreten.De gedachte daaraan alleen alis om misselijk van te worden,het spel eindigt echternog afgrijselijker.Maar goed, als je per se wilt ?!Ga je gang ...Wie de laatste hamburger opeetheeft gewonnen of juist niet, dat hangt van de gekozen speelwijze af. Als er geen tweede speler is,wil de computer zelf wel meedoen.*TI_1_2_3ist ein Zwei-Personen-Spiel.Jeder Spieler (bzw. seine Schlange)mu abwechselnd 1, 2 oder 3'Burger' fressen.Der Gedanke alleinist schon frchterlich,das Spiel ist noch grausamer,- aber bitte -wenn Ihr unbedingt wollt ?!Gewonnen hat (je nach Wahl)wer den letzten nehmen darfoder mu.Wenn der zweite Spieler fehlt,kann der Computer mitspielen.* Klik op de laatste hamburger die je nu op wilt vretenof druk op een toets:[1] [2] [3]* Klick auf den letzten 'Burger', den Du fressen willst, oder drcke deine Taste:[1] [2] [3]*[3][ | Sorry, only| | ST-low / ST-high | ][ OK ][3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP] I N F O SpelregelsSpielregelnESC : Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  *$dJj48,>*2,0J$ N @.>:V.r&  J,r@  X *>h H >*8H.."@*"p~F Xj@L@@L@f *F f((@4L $ 8 $@& $x^ 6 "FV.. x1Q.. TI_FROGSSRCy1RTI_FROGSPRG 'H. z1R.. x1QHIG1 INL zn}SHIG2 INL }n}TH_CB INL n}U LOW1 INL n}XLOW2 INL n}YL_CB INL n}Z PRG_PAL INL n}] RAT_SPR INL n}^JTI_FROGSLST B~_%662A:8 0?q7UU UU`:U=UUWꪪ@UW`0 WU5uUjꫬUUU]UWXuU\ꫯ UWVUW\w+U]X5U]af`Uu0꫹0WUX{ ?662A:8`00'?c>wUU UU`U_UUxz@?UW`0U`U]Xk7UWV;7UU;5Uu;uU]k몮UajꪱuUq:ꪰX5uUpg uUqϺ`]Uq0;05U_p? ?3232 f  ????32 e Z r e HeB eF0f  ????32????5????32????????32ππ????????????   >"jj@?|@  61? ?8```@ @ @) 3`# PP .g!Hh0('  #?66 ???1 ??    @ ``   P   p #< ?? 00p oddpP/pX/ pX/I]6BgG@@.ogHx@wwqDH0C߀ ?π??! %<  ???????????????????????????????????????????????????????????????????? ?11\,&&&?888?000?000?000?888????????????????????????????????????????????????>&&>>?????????????????????????????????????????????????888?000?000?000?888||||llll<<<< ~.$oo????' ============================================================ ' Ti_FROGs ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' ' +++ 8 INLINEs in 'pre.set' +++ ' D: ' Wenn das LST-File mit Merge geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA " V.: 3.O / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA "Nederlands","049" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_FROGs.PRG" DATA "=52983 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren $I+ !Interrupt zulassen ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ' ' =========================================================== ' @pre.set ' neu_start: ' ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' =========================================================== ' ' PROCEDURE pre.set !+++++ 8 INLINEs +++++ LOCAL hig1%,hig2%,h_cb%,low1%,low2%,l_cb%,prg_pal%,rat_spr% LOCAL f_ho&,frog_len&,cube_len& ' INLINE hig1%,446 INLINE hig2%,446 INLINE h_cb%,2484 INLINE low1%,454 INLINE low2%,454 INLINE l_cb%,2436 INLINE prg_pal%,32 INLINE rat_spr%,74 ' Ratte als Sprite (funktioniert in allen Auflsungen) MENU KILL DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor ' Die Positionen werden gewhnlich so angegeben, ' da sie fr die niedrige Auflsung stimmen. ' Sie werden vom Programm mittels der Faktoren ' hf& und vf& an die aktuelle Auflsung angepat. h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen CLS y_kz&=7*vf& !y Kopfzeile y_kl&=y_kz&+2+vf& !y Kopflinie h_br&=h_max&+1 h_mid&=h_br&\2 v_ho&=v_max&+1 v_mid&=v_ho&\2 ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 top_pal$="" @get.palette(top_pal$) !Farbpalette des Desktop retten check!=TRUE !fr Linvirentest ' ' programmspezifisch: ' IF alf&=2 cube_len&=414 frog_len&=446 ELSE cube_len&=406 frog_len&=454 ENDIF DIM wz$(6) !Wrfel frog_1$=SPACE$(frog_len&) frog_2$=SPACE$(frog_len&) IF alf&=2 BMOVE hig1%,V:frog_1$,frog_len& BMOVE hig2%,V:frog_2$,frog_len& FOR ni&=1 TO 6 wz$(ni&)=SPACE$(cube_len&) BMOVE h_cb%,V:wz$(ni&),cube_len& ADD h_cb%,cube_len& NEXT ni& VSETCOLOR 0,7,7,7 !wei ELSE BMOVE low1%,V:frog_1$,frog_len& BMOVE low2%,V:frog_2$,frog_len& FOR ni&=1 TO 6 wz$(ni&)=SPACE$(cube_len&) BMOVE l_cb%,V:wz$(ni&),cube_len& ADD l_cb%,cube_len& NEXT ni& prg_pal$=SPACE$(32) BMOVE prg_pal%,V:prg_pal$,32 @set.palette(prg_pal$) !eigene Palette ENDIF zl_h&=9*vf& !Zeilenhhe zl_max&=v_ho&\zl_h&-2 sp_max&=h_br&\8 !Textspalten zl_ofs&=12*vf&-1 !Zeilenoffset ' nun der Fusselkram sp_z&=10 !Spaltenzahl zl_z&=6 !Zeilenzahl fr_z&=5 !Froschzahl fd_z&=sp_z&*zl_z& !Felderzahl frog_br&=27*hf& frog_ho&=27*vf& h_di&=2*hf& v_di&=2*vf& fd_br&=frog_br&+h_di&*2 fd_ho&=frog_ho&+v_di&*2 f_li&=(h_max&-fd_br&*sp_z&)\2 f_re&=h_max&-f_li& f_ho&=fd_ho&*zl_z&-v_di& f_ob&=(v_max&-y_kl&-f_ho&+1)\2+y_kl&+vf& f_un&=f_ob&+f_ho& f_xof&=f_li&-fd_br& f_yof&=f_ob&-fd_ho& x_esl&=f_li&-h_di&*2 x_esr&=x_esl&+16*hf&+24 x_til&=h_mid&-40 x_tir&=h_mid&+39 DIM pos&(zl_z&,3) !fr Besitzerkontrolle DIM xp&(sp_z&) ! Bildschirm- DIM yp&(zl_z&) ! Positionen DIM am_ziel&(3) !fr Zielkontrolle DIM wert&(zl_z&) !fr Bewertung beim Computerspiel DIM zeit&(5) !fr Pausen zeit&(3)=50 !1 sec zeit&(4)=100 !2 sec zeit&(5)=150 !3 sec aus_zeit&=3 !Default 1 sec yf&=f_ob& FOR zl&=1 TO zl_z& yp&(zl&)=yf& ADD yf&,fd_ho& NEXT zl& xf&=f_li& xp&(1)=xf& ADD xf&,fd_br& ADD xf&,h_di& FOR sp&=2 TO sp_z&-1 xp&(sp&)=xf& ADD xf&,fd_br& NEXT sp& ADD xf&,h_di& xp&(sp_z&)=xf& mitspieler&=2 !Default bei_6_nochmal!=TRUE ' Auswahl-Strings fr Siegerehrung ' enthlt jeweils zweistellig die Nummer der Antwort ' fr zufllige Auswahl und Umsortierung ' * mu mit der Anzahl der DATAs bereinstimmen! * sp_g$="010203040506070809101112131415161718" sp_v$="01020304050607080910" sp_u$="0102030405" ' @set.grafik.normal @set.1.wahl DEFMOUSE 0 RETURN ' PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.palette(VAR pal$) ~XBIOS(6,L:V:pal$) RETURN ' PROCEDURE test.virus LOCAL pfad$,prg$,pln$,al$,prg_len%,d_l%,antw& pfad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pfad$,1)<>"\" pfad$=pfad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pfad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ d_l%=LOF(#1) CLOSE #1 IF d_l%prg_len% al$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,al$,antw&) IF antw&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,frei% al$="[3][ | MALLOC-ERROR! | ][ shit ]" frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -frei% prg_adr%=MALLOC(frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,al$,antw&) ENDIF ELSE @show.alert(1,al$,antw&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung IF taal$="NL" al$="[3][ | De test op een Link-virus | kon niet (!)|" al$=al$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE !D al$="[3][ | Der Linkvirentest | konnte nicht(!)|" al$=al$+" durchgefhrt werden| ][ hchst verdchtig! ]" ENDIF @show.alert(1,al$,antw&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE white.box(li&,ob&,re&,un&) @set.grafik.normal PBOX li&,ob&,re&,un& RETURN PROCEDURE clean ' fllt den Bildschirm (ohne Kopfzeile) mit "Hintergrund" ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE zent(ty&,ti$) ' zentriert den Text an der gewnschten y-Position TEXT h_mid&-LEN(ti$)*4,ty&*vf&,ti$ ' (Angabe fr low-res ^^^ wird angepat) RETURN PROCEDURE set.titel(ti$) LOCAL tl&,xt& @white.box(-1,-1,h_br&,y_kl&) tl&=LEN(ti$) IF tl& xt&=h_mid&-tl&*4 GRAPHMODE 4 TEXT xt&-8,y_kz&,SPACE$(tl&+2) GRAPHMODE 3 TEXT xt&,y_kz&,ti$ GRAPHMODE 1 ENDIF RETURN PROCEDURE shit ON ERROR !aus ~FORM_ALERT(1,ERR$(ERR)) !Original Fehlermeldung RESUME neu_start RETURN ' PROCEDURE set.1.wahl RESTORE 1.wahl !DATA-Pointer setzen @test.wahl(ti1&,pw1&) !zhlen DIM ti1$(ti1&),pw1$(pw1&),pk1$(pw1&) !dimesionieren RESTORE 1.wahl !DATA-Pointer zurcksetzen @read.wahl(ti1&,pw1&,ti1$(),pw1$(),pk1$()) !Arrays fllen RETURN PROCEDURE set.wahl.main @da.is.main @test.wahl(ti2&,pw2&) ERASE ti2$(),pw2$(),pk2$() DIM ti2$(ti2&),pw2$(pw2&),pk2$(pw2&) @da.is.main @read.wahl(ti2&,pw2&,ti2$(),pw2$(),pk2$()) ' separat abhaken, damit die Wahl auch nach ' einem Wechsel der Sprache beachtet wird @abhaken.bei.6 @abhaken.mitspieler RETURN PROCEDURE da.is.main !~NL~D~ IF taal$="NL" RESTORE wahl_main_nl ELSE RESTORE wahl_main_d ENDIF ' ohne Infozeilen wahl_main_nl: DATA * DATA "","" DATA "INFO","023" DATA "Regels","019" DATA " 6 -> nog eens ","007 108 049" DATA "Tegenstander :","1" DATA " Mens ","050" DATA " Computer","046" DATA " Pauze..","025" DATA "","" DATA "Start","031" DATA "------------------","2" DATA " Escape ","001" DATA "","" DATA *,"" ' wahl_main_d: DATA * DATA "","" DATA "INFO","023" DATA "Regeln","019" DATA " bei 6 weiter ","007 108 017" DATA "Mitspieler:","1" DATA " Mensch ","050" DATA " Computer","046" DATA " Pause..","025" DATA "","" DATA "Spielen","031" DATA "------------------","2" DATA " Escape ","001" DATA "","" DATA *,"" RETURN PROCEDURE set.wahl.pause @da.is.pause @test.wahl(ti3&,pw3&) ERASE ti3$(),pw3$(),pk3$() DIM ti3$(ti3&),pw3$(pw3&),pk3$(pw3&) @da.is.pause @read.wahl(ti3&,pw3&,ti3$(),pw3$(),pk3$()) ' separat abhaken @abhaken.pause(aus_zeit&) RETURN PROCEDURE da.is.pause !~NL~D~ IF taal$="NL" RESTORE wahl_pause_nl ELSE RESTORE wahl_pause_d ENDIF ' wahl_pause_nl: DATA DATA " Hoeveel seconden moet " DATA "de computer wachten ?" DATA DATA * DATA "","" DATA " 0 ","011 112" DATA " 1 ","002 109" DATA " 2 ","003 110" DATA " 3 ","004 111" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' wahl_pause_d: DATA DATA " Wieviele Sekunden soll " DATA "der Computer warten?" DATA DATA * DATA "","" DATA " 0 ","011 112" DATA " 1 ","002 109" DATA " 2 ","003 110" DATA " 3 ","004 111" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" RETURN PROCEDURE set.wahl.genug @da.is.genug @test.wahl(ti4&,pw4&) ERASE ti4$(),pw4$(),pk4$() DIM ti4$(ti4&),pw4$(pw4&),pk4$(pw4&) @da.is.genug @read.wahl(ti4&,pw4&,ti4$(),pw4$(),pk4$()) RETURN PROCEDURE da.is.genug !~NL~D~ IF taal$="NL" RESTORE wahl_genug_nl ELSE RESTORE wahl_genug_d ENDIF ' wahl_genug_nl: DATA DATA " Stoppen ? " DATA DATA * DATA "","" DATA "Ja","036 028 114" DATA "","" DATA " Nee ","049 057 001" DATA "","" DATA *,"" ' wahl_genug_d: DATA DATA " Aus? " DATA DATA * DATA "","" DATA "ja","036 028 114" DATA "","" DATA " nein ","049 057 001" DATA "","" DATA *,"" RETURN ' PROCEDURE set.wahl.neu @da.is.neu @test.wahl(ti5&,pw5&) ERASE ti5$(),pw5$(),pk5$() DIM ti5$(ti5&),pw5$(pw5&),pk5$(pw5&) @da.is.neu @read.wahl(ti5&,pw5&,ti5$(),pw5$(),pk5$()) RETURN PROCEDURE da.is.neu !~NL~D~ IF taal$="NL" IF computer! RESTORE wahl_neu_nl_1 ELSE RESTORE wahl_neu_nl_2 ENDIF ELSE IF computer! RESTORE wahl_neu_d_1 ELSE RESTORE wahl_neu_d_2 ENDIF ENDIF ' wahl_neu_nl_1: DATA DATA "Je bent zeker" DATA " aan het verliezen !? " DATA DATA "Opnieuw beginnen ?" DATA DATA * DATA "","" DATA "Ja","036 028 114" DATA "","" DATA " Nee ","049 001 057" DATA "","" DATA *,"" ' wahl_neu_nl_2: DATA DATA " Opnieuw beginnen ? " DATA DATA * DATA "","" DATA "Ja","036 028 114" DATA "","" DATA " Nee ","049 001 057" DATA "","" DATA *,"" ' wahl_neu_d_1: DATA DATA "Du bist wohl" DATA " am Verlieren! " DATA DATA "Neues Spiel?" DATA DATA * DATA "","" DATA "ja","036 028 114" DATA "","" DATA " nein ","049 001 057" DATA "","" DATA *,"" ' wahl_neu_d_2: DATA DATA " Spiel neu beginnen? " DATA DATA * DATA "","" DATA "ja","036 028 114" DATA "","" DATA " nein ","049 001 057" DATA "","" DATA *,"" RETURN ' PROCEDURE test.wahl(VAR ti&,pw&) LOCAL test$,dummy$ ti&=-1 !Info-Zeilen zhlen REPEAT INC ti& READ test$ UNTIL test$="*" pw&=-1 !Wahl-Zeilen zhlen REPEAT INC pw& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR ti&,pw&,pt$(),pw$(),pk$()) LOCAL dummy$ ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>30*hf& OR ABS(my&-ay&)>30*vf& @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' PROCEDURE 1.wahl @set.titel(" T i _ F R O G s ") @clean @pop.wahl(0,0,TRUE,TRUE,0,ti1&,pw1&,ti1$(),pw1$(),pk1$(),wahl&) SELECT wahl& CASE 2,3 @set.sprache(wahl&-1) IF check! @test.virus check!=FALSE ENDIF IF alf&=1 @geht.nicht ELSE @wahl.main ENDIF CASE 5 @last.info @ausgang ENDSELECT RETURN PROCEDURE set.sprache(ni&) IF ni&=2 taal$="NL" ELSE taal$="D" ENDIF @set.wahl.main @set.wahl.pause @set.wahl.genug RETURN PROCEDURE geht.nicht @da.is.geht.nicht @test.wahl(ti2&,pw2&) ERASE ti2$(),pw2$(),pk2$() DIM ti2$(ti2&),pw2$(pw2&),pk2$(pw2&) @da.is.geht.nicht @read.wahl(ti2&,pw2&,ti2$(),pw2$(),pk2$()) @pop.wahl(0,0,TRUE,TRUE,2,ti2&,pw2&,ti2$(),pw2$(),pk2$(),wahl&) @ausgang RETURN PROCEDURE da.is.geht.nicht !~NL~D~ IF taal$="NL" RESTORE geht_nicht_nl ELSE RESTORE geht_nicht_d ENDIF ' geht_nicht_nl: DATA DATA " Dit programma loopt " DATA "helaas alleen in" DATA "LAGE en HOGE" DATA "resolutie !" DATA DATA * DATA "","" DATA " Lastig ","001 057 028 114" DATA "","" DATA *,"" ' geht_nicht_d: DATA DATA " Dieses Programm luft " DATA "leider nur in" DATA "niedriger oder hoher" DATA "Auflsung!" DATA DATA * DATA "","" DATA " lstig ","001 057 028 114" DATA "","" DATA *,"" RETURN ' PROCEDURE wahl.main REPEAT @set.titel(" T i _ F R O G s ") @clean @pop.wahl(0,0,TRUE,TRUE,12,ti2&,pw2&,ti2$(),pw2$(),pk2$(),wahl&) SELECT wahl& CASE 2 @prg.info CASE 3 @spiel.regeln CASE 4 @bei.6.weiter CASE 6,7 !Mensch/Computer @mitspieler CASE 8 @wahl.pause CASE 10 @spielen ENDSELECT UNTIL wahl&=12 RETURN PROCEDURE wahl.pause @pop.wahl(0,0,TRUE,TRUE,7,ti3&,pw3&,ti3$(),pw3$(),pk3$(),wahl&) IF wahl&<6 @abhaken.pause(wahl&) ENDIF RETURN PROCEDURE abhaken.pause(nr&) IF nr&<>aus_zeit& MID$(pw3$(aus_zeit&),1)=" " ENDIF aus_zeit&=nr& MID$(pw3$(nr&),1)="" RETURN PROCEDURE wahl.genug @pop.wahl(0,0,TRUE,TRUE,4,ti4&,pw4&,ti4$(),pw4$(),pk4$(),wahl&) IF wahl&=2 spiel_abbruch!=TRUE genug_gespielt!=TRUE ENDIF RETURN PROCEDURE wahl.neu @pop.wahl(0,0,TRUE,TRUE,4,ti5&,pw5&,ti5$(),pw5$(),pk5$(),wahl&) IF wahl&=2 spiel_abbruch!=TRUE ENDIF RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,0,TRUE,TRUE,1) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN ' PROCEDURE prg.info IF taal$="NL" RESTORE prg_info_nl ELSE RESTORE prg_info_d ENDIF @zeig.info("Info") ' prg_info_d: DATA DATA DATA " Ti_FROGs ist 'public domain'," DATA "luft in 'low' und 'high' und hat" DATA "'was gegen Linkviren." DATA DATA " Das Programm ist in GfA-BASIC 3.0" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden - aber" DATA "natrlich ausschlielich kostenlos!" DATA DATA " Und damit es auch kostenlos bleibt," DATA "schicken Sie dem Autor bitte kein(!)" DATA "Geld." DATA DATA DATA " Viel Spa!" DATA * prg_info_nl: DATA " Ti_FROGs is 'public domain'," DATA "loopt in LAGE en HOGE resolutie en" DATA "'heeft iets' tegen Linkvirussen." DATA " Het programma is in GfA-BASIC 3.0" DATA "geschreven en gecompileerd en mag," DATA "nee, mt verder gegeven worden - maar" DATA "natuurlijk uitsluitend kosteloos !" DATA " En om te zorgen dat het ook" DATA "kosteloos blijft, stuurt U de auteur" DATA "a.u.b. geen (!) geld." DATA " Veel plezier !" DATA DATA "Nederlandse vertaling van:" DATA DATA " Philip van Rijthoven" DATA " Paul Krugerstraat 58" DATA " NL 6543 MX Nijmegen" DATA " 080 - 782457" DATA " (Danke!)" DATA * RETURN PROCEDURE zeig.info(ti$) LOCAL zl_zahl& DIM zl$(60) !local REPEAT INC zl_zahl& READ zl$(zl_zahl&) UNTIL zl$(zl_zahl&)="*" INSERT zl$(0)="" @ed.text(ti$,zl_zahl&,zl$()) ERASE zl$() RETURN PROCEDURE ed.text(VAR tit$,ed_max&,ed$()) LOCAL x0r&,x3l&,x3r&,x5l&,x5r&,xtl&,xtr&,pl&,pr&,po&,pu&,esc! LOCAL zl_ofs&,ed_ofs&,ed_pg&,ed_dn&,ed_x&,y_di&,y_ol&,y_ul&,tl& LOCAL leer$,part$ @ed.set REPEAT @get.tom IF mk& @ed.maus ELSE IF scan| @ed.taste ENDIF UNTIL esc! RETURN PROCEDURE ed.set ed_pg&=MIN(zl_max&,ed_max&) ed_dn&=ed_max&-ed_pg& ed_x&=h_mid&-152 pl&=ed_x&-6*hf&*hf& zl_ofs&=(v_max&-y_kl&-zl_max&*zl_h&)\2+y_kl&-vf&-1 y_ol&=zl_ofs& pr&=h_max&-pl& leer$=SPACE$((pr&-ed_x&-1)\8) po&=zl_ofs&+vf&+1 pu&=po&+ed_pg&*zl_h&-1 y_ul&=pu&+2*vf&+2 y_di&=zl_h&-vf&-1 @set.titel(tit$) GRAPHMODE 4 TEXT 1,y_kz&,SPACE$(3+2*hf&) GRAPHMODE 3 TEXT 8*hf&+1,y_kz&,"ESC" GRAPHMODE 1 tl&=LEN(tit$) xal&=56+8*hf& x0r&=26+16*hf& x3l&=50*hf&*hf& x3r&=x3l&+16+16*hf& xtl&=h_mid&-tl&*4-8 xtr&=h_max&-xtl& x5l&=h_max&-x3r& x5r&=h_max&-x3l& IF ed_max&>ed_pg& @ed.set.buttons ENDIF @clean @ed.seite RETURN PROCEDURE ed.set.buttons GRAPHMODE 4 TEXT x3l&,y_kz&,SPACE$(2+2*hf&) TEXT x5l&,y_kz&,SPACE$(2+2*hf&) GRAPHMODE 3 TEXT x3l&+4+8*hf&,y_kz&,"" TEXT x5l&+4+8*hf&,y_kz&,"" GRAPHMODE 1 RETURN PROCEDURE ed.maus IF my&x3l& AND mx&1) ELSE IF mx&>xtl& AND mx&x5l& AND mx&1) ENDIF RETURN PROCEDURE show.ed.info IF taal$="NL" RESTORE ed_info_nl ELSE RESTORE ed_info_d ENDIF @pop.info(0,0,TRUE,TRUE,3) ' ed_info_nl: DATA " Daar kijkt U naar ! " DATA * ed_info_d: DATA " Das sehen Sie vor sich! " DATA * RETURN PROCEDURE ed.taste SELECT scan| CASE 1 esc!=TRUE CASE 71 @ed.home CASE 72 @ed.up(shift!) CASE 80 @ed.down(shift!) ENDSELECT RETURN PROCEDURE ed.home IF shift! IF ed_ofs&0 ed_ofs&=0 @ed.seite ENDIF ENDIF RETURN PROCEDURE ed.up(seite!) IF ed_ofs&>0 IF seite! di&=MIN(ed_pg&-1,ed_ofs&) SUB ed_ofs&,di& @ed.seite ELSE DEC ed_ofs& GET pl&,po&,pr&,pu&-zl_h&,part$ PUT pl&,po&+zl_h&,part$ yi&=zl_ofs&+zl_h& TEXT ed_x&,yi&,leer$ TEXT ed_x&,yi&,ed$(ed_ofs&+1) SHOWM ENDIF ENDIF ' @no.key RETURN PROCEDURE ed.down(seite!) IF ed_ofs& nog eens' betekent :" DATA "als je 6 gooit mag je nog een keer." DATA "(behalve als je op een" DATA " bezet hokje springt, sufkop !)" DATA DATA "Als de eerste speler al zijn kikkers" DATA "aan de overkant heeft moet de tweede" DATA "speler toch nog n keer zetten :" DATA "misschien wordt het nog gelijkspel." DATA DATA "Als geen van je kikkers kan springen" DATA "moet je er toch eentje aanklikken" DATA "vr de andere speler verder kan gaan." DATA DATA "Als er niemand is om tegen te spelen," DATA "wil de computer wel meedoen." DATA "Hij houdt zich natuurlijk aan de spel-" DATA "regels, maar hij wil wel winnen !" DATA DATA " ---" DATA * RETURN PROCEDURE bei.6.weiter bei_6_nochmal!=NOT bei_6_nochmal! @abhaken.bei.6 RETURN PROCEDURE abhaken.bei.6 IF bei_6_nochmal! MID$(pw2$(4),1)="" ELSE MID$(pw2$(4),1)=" " ENDIF RETURN PROCEDURE mitspieler mitspieler&=wahl&-4 @abhaken.mitspieler RETURN PROCEDURE abhaken.mitspieler FOR ni&=6 TO 7 IF ni&=mitspieler&+4 MID$(pw2$(ni&),1)="" ELSE MID$(pw2$(ni&),1)=" " ENDIF NEXT ni& RETURN ' PROCEDURE spielen genug_gespielt!=FALSE REPEAT @set.bild @spiel.vorbereiten @set.wahl.neu SHOWM @no.but REPEAT @wuerfeln ON spieler& GOSUB spieler.spiel,spieler.spiel,computer.spiel IF NOT spiel_abbruch! @test.auf.spielende IF NOT darf_nochmal! SWAP spieler&,gegner& ENDIF ENDIF UNTIL spiel_ende! OR spiel_abbruch! IF NOT spiel_abbruch! @sieger.ehrung ENDIF UNTIL genug_gespielt! RETURN PROCEDURE set.bild @clean LOCAL li&,ob&,re&,un& FOR zl&=1 TO zl_z& ob&=yp&(zl&)-vf& un&=ob&+frog_ho&+v_di& FOR sp&=1 TO sp_z& li&=xp&(sp&)-hf& re&=li&+frog_br&+h_di& IF zl&f_li& AND mx&f_ob& AND my&xp&(ni&) AND mx&sp_z& OR sp& IF sp& ni&=1 !Zeile suchen REPEAT IF my&>yp&(ni&) AND my&fr_z& OR zl& !<< IF zl& position!=(pos&(zl&,spieler&)=sp&) !sitzt er dort? (und macht noch mit) ENDIF ENDIF ELSE IF my&pos&(zl&,gegner&) !Rand oder freies Feld darf_springen!=TRUE ENDIF ELSE z_sp&=MAX(1,sp&-wurf&) !nicht links ber den Rand IF z_sp&=1 OR z_sp&<>pos&(zl&,gegner&) !Rand oder freies Feld darf_springen!=TRUE ENDIF ENDIF ENDIF PUT xp&(w_p&),yp&(zl_z&),leer$ !Wrfel weg PUT xp&(sp&),yp&(zl&),frog$,12 !Frosch invertieren IF darf_springen! @dann.spring ELSE @dann.bleib ENDIF RETURN PROCEDURE dann.spring WAVE 2569,1,15,800 !zisch IF (spieler&=1 AND z_sp&=sp_z&) OR (spieler&>1 AND z_sp&=1) pos&(zl&,spieler&)=-z_sp& !springt nicht mehr mit INC am_ziel&(spieler&) ELSE pos&(zl&,spieler&)=z_sp& !Position merken ENDIF PAUSE 8 PUT xp&(sp&),yp&(zl&),leer$ !Frosch weg IF sp&=1 AND g_sp&=-1 !links sitzt noch einer PUT xp&(sp&),yp&(zl&),frog_2$ !alten Frosch wieder hin PUT xp&(z_sp&),yp&(zl&),frog$ !Frosch an neue Position ELSE IF sp&=sp_z& AND g_sp&=-sp_z& !rechts sitzt noch einer PUT xp&(sp&),yp&(zl&),frog_1$ !alten Frosch wieder hin PUT xp&(z_sp&),yp&(zl&),frog$ !Frosch an neue Position ELSE IF z_sp&=sp_z& AND g_sp&=sp_z& PUT xp&(z_sp&),yp&(zl&),frog$,6 !auf ihn WAVE 0,0 @pup ELSE IF z_sp&=1 AND g_sp&=1 PUT xp&(z_sp&),yp&(zl&),frog$,6 !auf ihn WAVE 0,0 @pup ELSE PUT xp&(z_sp&),yp&(zl&),frog$ !Frosch an neue Position ENDIF WAVE 0,0 !shut up RETURN PROCEDURE dann.bleib @pup darf_nochmal!=FALSE PAUSE 10 IF sp&=1 AND g_sp&=-1 !links sitzen zwei PUT xp&(sp&),yp&(zl&),frog_1$ !1.Frosch hin PUT xp&(sp&),yp&(zl&),frog_2$,6 !2.Frosch drauf ELSE IF sp&=sp_z& AND g_sp&=-sp_z& !rechts sitzen zwei PUT xp&(sp&),yp&(zl&),frog_1$ !1.Frosch hin PUT xp&(sp&),yp&(zl&),frog_2$,6 !2.Frosch drauf ELSE PUT xp&(sp&),yp&(zl&),frog$ !Frosch wieder hin ENDIF RETURN PROCEDURE pup LOCAL per%,dif% per%=2400 dif%=60 PAUSE 2 REPEAT SOUND 1,15,#per%,0 ADD per%,dif% DEC dif% UNTIL per%>4000 SOUND 1,0,0,0,0 !a Ruh is PAUSE 10 RETURN PROCEDURE test.auf.spielende IF spieler&=1 IF am_ziel&(spieler&)=fr_z& !alle am Ziel !<< darf_nochmal!=FALSE !geht ja nicht @gong last_chance!=TRUE !fr den zweiten Spieler ENDIF ELSE IF am_ziel&(spieler&)=fr_z& !alle am Ziel !<< spiel_ende!=TRUE ELSE IF last_chance! AND NOT darf_nochmal! !merde spiel_ende!=TRUE !rien ne va plus ENDIF ENDIF RETURN PROCEDURE gong LOCAL level% FOR level%=15 DOWNTO 0 SOUND 1,level%,8,5,1 NEXT level% RETURN ' PROCEDURE computer.spiel PAUSE zeit&(aus_zeit&) @suche.beste.zeile @mach.den.zug RETURN PROCEDURE suche.beste.zeile ' Spielweise: ' nutzt Angriffsmglichkeiten ' geht aber kein Risiko ein LOCAL best_zl&,wert_max&,bon& ARRAYFILL wert&(),0 FOR zl&=1 TO zl_z& sp&=pos&(zl&,spieler&) !da sitzt er selbst IF sp&>0 !noch im Spiel bon&=1 !fr's Mitmachen z_sp&=MAX(1,sp&-wurf&) !da kommt er hin g_sp&=pos&(zl&,gegner&) !da sitzt der Gegner IF z_sp&=1 AND g_sp&=1 !das pat ADD bon&,99 !einklemmen (=>100) ELSE IF z_sp&<>g_sp& !frei INC bon& !fr's freie Feld (=>2) IF sp&=sp_z& !noch am Start IF g_sp&<0 !shit, eingeklemmt IF wurf&=6 !Glck gehabt ADD bon&,200 !nun aber raus ENDIF ELSE !je nher, desto Vorsicht ADD bon&,g_sp&*2 !bleibt bis 3 < 100 (2 Zge erforderlich) ADD bon&,91 !=>95-97-99/101..129 ENDIF ELSE !unterwegs IF z_sp&=1 !Ziel IF (sp&-wurf&)=1 ADD bon&,30 !+30 (pat genau) ELSE ADD bon&,10+sp&-wurf& !+6..11 (nichts verschenken) ENDIF ELSE IF sp&>7 !ein Sprung reicht nicht IF z_sp&<8 ADD bon&,12+sp& !+20..21 (mach voran) ELSE ADD bon&,4 !+4 (bringt nicht viel) ENDIF ELSE ADD bon&,9+sp&-z_sp& !+10..14 ENDIF IF sp&g_sp& !nur nicht hudeln INC bon& ENDIF IF g_sp&=1 !Gegner noch zuhause ADD bon&,38-z_sp& !+30..36 (je nher, desto Attacke) ENDIF ENDIF ENDIF ADD wert&(zl&),bon& IF wert&(zl&)>wert_max& wert_max&=wert&(zl&) best_zl&=zl& ENDIF ENDIF NEXT zl& zl&=best_zl& RETURN ' PROCEDURE sieger.ehrung LOCAL fertig! IF computer! IF am_ziel&(1)=fr_z& AND am_ziel&(3)=fr_z& IF taal$="NL" RESTORE spiel_unentschieden_nl ELSE RESTORE spiel_unentschieden_d ENDIF @get.kommentar(2,sp_u$) ELSE IF am_ziel&(1)=fr_z& IF taal$="NL" RESTORE spiel_gewonnen_nl ELSE RESTORE spiel_gewonnen_d ENDIF @get.kommentar(6,sp_g$) ELSE IF taal$="NL" RESTORE spiel_verloren_nl ELSE RESTORE spiel_verloren_d ENDIF @get.kommentar(3,sp_v$) ENDIF ELSE !Mitspieler @dreiklang.rauf REPEAT @get.tom IF mk& IF my& $mP$E^ $mT$aipadaY <aX@h <aX"<N <aX"<N <aX"<N?<NNT;@0-S@]HT@;@0-U@]HT@;@pN;@pN;@0-6-trac6al0-;@0-r4mҊA;@0-R@;@0-HjR;@0-R@;@0-HjR;@0-T@;@pJatCahA "@pJ$mT RaQAapHmN P,0-U@f$m4$m4`$m4$m4p~A6N$m0at^Cag$m0atLCag~0-U@fA "@$m0H$m8 RaQDA "@$m0H$m< RaQ*;|$m0as8-H"m6N8-H"m6NT "@$m0H$m@ RaP$m0H$m@ђRm0-]@opraa`A "@$m0H$mD RaPA "@$m0H$mH RaP;|$m0asZ8-H"m6N8-H"m6NT "@$m0H$mL RaPL$m0H$mLђRm0-]@op asCaf:A "@p $mP RaPHmN 0- ;@0-HU@;@0-Hj^;@0- S@$m4;| ;|;|0-;@0-;@0-;@0-HЀ;@0-HЀ;@0-HЀm;@0-HЀm;@0-0mƐDJjR;@0-Ɛm;@0-m$m4$m0H2-H4m֒D&<:<aD&<x:<ajaF00mЈm;@$m0m;@0-m;@0-m;@0-HЀ0mD;@ 0-H0m Ј@;@ 0-@;@0-@';@p2-H~Aja~L0-H~Apa~<0-H~Ava~,p~A|a~ 0-H~A탂a~p~A탈a~x m؄12Hx m؄1dHx m؄1H;|;m$m40-ab`&0-H$m8H mv؄1H0-m$mRR$m0koY;m0-Hx mp؄1H0-m0-m;|p4mЊab`"0-H8-H mp؄1H0-mRm0-koY0-m0-H8-H mp؄1H;|P-Ep$AacEpAabEp A abN Npa]`n2anxAXajA\aj~AajNEaL;| mN0-U@g>;| m0(aa`p2-H mamnaj$mXђRm0-koYRm m oE]aL mN mapaCh$m\$$m\ $mXgEpaj/$mX aDanx"_aWJ"maaA0Adai6Ahai.Alai&ApaiAahEdaK( mN maoaBr$md$ mN maoaBX$mh$N @ ( $ml$N @ ($mp$$md $mlVHH/$mh $mpVHHgEƥpai/$ml aBam,"_aU"ma`Eƻpain"maU/$mp aBal"_aU"ma`xEpai<"maU"ma`\?</-HmN NR`kakAaf mai&Bm?$mt ЀR"p majzag$mx$$mx?*$mt?*?<NN\$mtR$mt o]`jajAaf AafAafN paZaO m$m2a$m4N `jZajN N P`jFaj` ptraWa{;A ;B";C$0-$fa{Ff`jaj\HyNNX @p!@`iajBAaeAae~AaevAaenN $m0$m6$m4$m2aW&`iaipa~/pa~ .|zxvtr0|am`iaiA afAae m 0(H0mڐD/0-$m/ m $"a]V`i@aiA aeA ae>Aae6Hx?-?-a m 0($m 4$m 0gZ$m 0H0mڐD$m4paX6p$m 4RЊaj@4-r$mRa\paX m 4-$m2a\paW`hahpaWpaWpaWpaW|paWpaWpaW0->aLTpaKpaK$mBR$m@BRapaLnaA?$m(8H"m"Qam/p@aW/Aa_"_aC"_a\TJg "m m(2$m(RR$m$0$m(R]HH$m2HgZ`YaYAaTA`aUA$aUAdaUpAhaUh$m`0g $mh4`$mh4$md4 m$0(SaL`>p$md2H m$aXa\a.;@$mh0H8-H m P؄1H$mdTR$md0koY`XaYA|aTA$aTVA퀘aTA퀔aTAaT>AaT6AaTA(aTAaTAaTA4aTA0aTAaTzAHaFh$mT0$mP6$mL4$mH2aA0-HЀ$mH0RЈ/0-HЀ$mL0RЈ/0-HЀ$mP0RD/0-HЀ$mT0RD&$"aApaCn`T aTRA퀀aOA~g Ea00` EFa0$`QaQA0Rg E}a0` Ea/Bg?-HyBgHxa`QbaQA0g Ea/` Ea/BHxBgHxaX`Q&aQlA퀠aM,0-@U@f A0zp2-$m4RҊA$m40-$m$m0RЈS@$m40-HЀ$m0RЈT@$m4p2-mҐD$m4/-(a0pa80-HЀVaJ4-ra=bpa80-HR/ERpaF4-"a=:pa8x m(0($m 40-H@8;@J0-H@$mx40-a &<:<a /??0-a8:&a a$m|4$m|0a&<:<ax/??0-ava=8:&apaZ$m4$m 0H0mڐDQ@$m40-$mR$m40-$mR$m40-$m|R$m4$m0$mtRlN.XahN2`HaHTpa7Z0-HЀTaId4-$m|2a;0-HЀTaIH4-$m2a;pa7$m|0a&<:<a/??0-ava< 8:&a|af/paE4-"a;$m0a&<:<a8/??0-ava;8:&a0a/paEP4-"a;@pa6~`G$aGj0-ְm"oN/Z`G aGR$mx0m o0- 2- HaHz$mP`$m|0m ]HH/$m0m ^HHg0-$S@^H?N1`f$m0m ]HH/$m0m ^HHgN0*`8$m0m ]HH/$m0m ^HHg0-$S@^H?N1`FHa6 m04-H$m4RԊ$m2Ha40-$mR;@N m,4-N$m2a8x$m4R؊"m"QaX04-N$m2a8a)`DnaDA퀨a@H$m0$mRo$mg8$m0H$m0Rr$m4RҊo@;@L0-L$mRN2`$mRR m0$m8H$m:H<-H$m4R܊$m>Ha5 m0$m4H$m2Ha30-$m$mR;@N m,4-N$m2a7$m8H$m4R؊"m"QaW24-N$m2a7a(`CpaCAa?v$m0v$mR$m4r$mRa0 m;PN m;P$m4$m0a6`00-mNRm8-H"m"QaV4-N$m2a7$mRR$m0koYa(`BaC pJ--gpFV-N3`BaC--gx"mTaVT/pa@r"_aV`x"mTaV8/p a@r"_aV`BxaB0-@W@;@N4`B`aB;|p4mЊ2-Hf 8-H"mTaU/pa@Fr"_aVV`8-H"mTaU/p a@&r"_aV6Rm0-]@o`AaB a>R;|P;mR0-W@WHHV.pAja'pA|a'$m40-a1`x mp؄4pHHR$m8H mv؄4pHHRA$"a-8-H mp؄4pHHR$m8H mv؄4pHHRA$"a-:-PH$m8H mj؅؄1H0-H:-R$m8H mj؅؄1H$mRR$m0koLYQ/Q3Q4`-\Ha-8-`H"m6aO|4-^H2-\Ha+vptraN4paHpraNpaH0-moA"4-^H2-\Ha+Rm0-ko.Y0-`]@WHH"pJ--gpgP2`Q2a h`;Ba;A퀬a7HBga0-$gN;-5gN=:$mP` 0-&S@fap$mJgp"pJ-/gpg`:a;*Q50-m ]HH/0-m nB0-m"mB0-m"^HHg$m$ `p<$m$pa?$m traE`pa?$m $mђ$mS$m ovptraEpa?p a?`2va20-PS@f,8-PH m|؄00HH2-HfRQ2NDnP4`B8-PH m|؄00HH2-HfP3` pJ-4gp/pJ-2gpFgP3`1a2>A퀌a.Lp$m$v$m$praDTpa>$mS$m l`1a28-H m؄00HHa>NDan`1a1Aa-Aa-Aa-pA탂a$m40-a%`<:-P$m8H mj؅؄00H;@0-o$m40-H0m`rl@;@d:-R$m8H mj؅؄00H;@b0-dS@WHH/0-bS@WHHg $mRc`F0-bmdg:$mRR0-mf20-bl0-`]@f $mR`0-bHЀ$mR$mR[`0-dS@fVp2-H4m`f $mR`80-a|&<:<a/??0-`a`8:&aa$mR``0-_@o 0-dQ@l0-@ $mR`@$mXR`80-a&<:<a/??0-da8:&aa$mR0-bmo$mTR0-bmdl$mRR0-bS@fp4mdЊD$mR$m0H$m8H m؄AHP$m8H m؄00HH$m2Ho"$m8H m؄00H$m4"m m2$mRR$m0koY"m m2`/a/HA퀴a+-.gx m|؄00HH2-HWHH/x m|؄00HH2-HWHHg4A0pa90vptra>zpa9vptra>hpa9 p$m$v$m$pra>Jpa8$mS$m l`+a *a| 24&8:JBgfDf EfpNuJEgpNuDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp` 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`Za 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`VapEՀՔgPՂ`LJg&B.C`a8aD*9Ռfap-I,=|p4aHz*9Ռg ENp9Հ`r _a &nO:NMՔIJKX$<Nu[1][Error +111][Return]EV g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`fHQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z"_KXMՔIJO:HQ <-H*,`N,Rd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa Ha`\`Xpea>pCR2Ad0A2r22a"<Y0<NBLNurt=@:=A@=B NuHz(` NYHz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa a O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a <aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _a,G` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `NaxSAfNuag`af`ae `ac` acpNuadpNuaDSAkfJANuH HPhkJa6 $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aذAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _alIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `a(UAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuth`tpa ".Nutj`t@H|`rk` rf`rg`r5=@|0`rt)`t` tr`t2`t@-A=B|`Rv@H|`Dz`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`n\n^648HH`prt`|n\n^n\n^8HH`prt`T"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|f&H-|f:L`Nu-HN[j?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `T np` 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea "ep`&6NuE "e a "d&&6NuE"e a r"d66NuE"e a V"d666NuE"e a 6"d6Nuvn\n^~Ha 0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`a `QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNuA*pBQBX".g pa&BNupraHP?<NNT~U@g~tb3kApr0 0BBB R@ @fA0000PB0Tp`00000\0X0Tp`T@00000P0BXpnT0raVA0p1| 1AQBX0$HTH0P P0Tp`0NuH(Fa$L(FNuSk [0NupNupa`np>`HPaa _&X Pf/|~K"zag @ ep 2tC&"2 S@HQC2zػR"_d BTAA3ApC4$I2a222B"0@2A\xva@gF2#M 443BS@ -f HQC2zػR"_d@BAAb8RGRC`3RSG5G5C J1DcaRF Fe `RG GdNuXASF1F41R1h4x1EDg"<p-A`~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp`Hz?<&NN\` n2LLJFj|@c<JGj~Ac>02 h|N n2HHNu80a|DHz ?<&NN\Nu| n2 h N n21@Nur0?HQa _/ ?a0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNur ?HQa8 _/ ?a.0 _4gSB@c:Ad,J@gB@BmS@,. RB6Vg(R F"GQpNufJ@fRB`fS@kVft0HNua2aJjtNua$HPa pJk NuCg.BJ@g  g &g, $g %gN^*NutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaNuRB0 b b瀀`RB0 fрd`H~=H|=@p3`|dsa"X0 @Jg2zf.HPEJH LppJ$_44"b#JJBNHD#BNNup<`6"n2t4BBTC2av"X4 BJg zfEJHB LEJ@ ,_NuH0:na$PL4:^0$` v$2Qv$$I# $IA@HV ,_Nup`p`֪HP  if"Y(d.ЀЇЀHq.؄؇؄AHĘ aHPa"_ WBhaj"_ _`T$Pt4(gRBB&D%(Nu"X Pf(dz.ЀЇЀ.؄؇؄HqHAHaH HQa _"_BBa]tv`$P4(gRBC%(\cNu2(gbc  P"H`Nu/0Ha2  _ PSAvjx E(Wf* ae zb Q @Nupagp?<?NMX"NuC&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0a p Ce`&g4 FgaJBjagPAe CbRa R@Sf0Nu FgRag JBjaAeaJAg RP0 pNu`R Fg6a`gJAga @eajRP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%` _S@Gd@GHpp/0NuGNpp#Րfp{Nup`p`#ՌNu?/NT` pNuNHMՔAp f9{kd n2!|~v ||9z"XLv:g 4zg*Ag61 cg Jg ;e, ]b& Te` Db; g fg  bJg fg fg,HC#0j ` Hx Dg;0LoYBj@1BA gbШ dA gd BBdL@Nu wHHKMPPR g,g&yz`pBynXB@etAg1B# `\HCHSG2vg*1B f  f&< # XB@etAf&_`ACYxgZ"HyNN#.z>"NN @A C#P B?< NA\#/a?< NA\AT0N NuA#X H x hg3&AC`g#P Nu?<"NNT @ 9g!@ HzT?<&NN\3NuT#RYxNuHz ?<&NN\NupAC5^ErJg" XX\QNuA5^Cr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3F Ni LHMՔO:|1R/9?< NAO:pdz`/MՔa>,_NzNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(aZ؀.dfaLjNu.dfNudg"J9{kfa4fp`d`/9Րdg/9Մdg/9ՈNupA-H=@|p4aS@Nu[2][Programmstop?][Stop|Cont]9ՀHHNu9Ղ`aNf"_O:N"_O:HQ`6 9Rg"9QgJ9Ղfga"AO:Np\BՌ`͂G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`C`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`̦JAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuat `aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aNu"H YJQfNu YH瀀aHLP|HPGC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GFWfTL L-KA `Ύ$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`$؅X`$_  Ia.YHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` nũd$HJf-HS Nup"`ǬHPa _a`QNua JH aL0Nua`4<H`@aL Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a-IHQB0a _JNuz"-A=B|a-I` B  Q 662A:8 0?q7UU UU`:U=UUWꪪ@UW`0 WU5uUjꫬUUU]UWXuU\ꫯ UWVUW\w+U]X5U]af`Uu0꫹0WUX{ ?662A:8`00'?c>wUU UU`U_UUxz@?UW`0U`U]Xk7UWV;7UU;5Uu;uU]k몮UajꪱuUq:ꪰX5uUpg uUqϺ`]Uq0;05U_p? ?3232 f  ????32 e Z r e HeB eF0f  ????32????5????32????????32ππ????????????   >"jj@?|@  61? ?8```@ @ @) 3`# PP .g!Hh0('  #?66 ???1 ??    @ ``   P   p #< ?? 00p oddpP/pX/ pX/I]6BgG@@.ogHx@wwqDH0C߀ ?π??! %<  ???????????????????????????????????????????????????????????????????? ?11\,&&&?888?000?000?000?888????????????????????????????????????????????????>&&>>?????????????????????????????????????????????????888?000?000?000?888||||llll<<<< ~.$oo????V.: 3.3 / O8.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14 D 55239 Gau-Odernheim *Deutsch@DNederlands@N-----------------------2Escape001*7291 35664 17672 *INFO023Regels019 6 -> nog eens 007 108 049Tegenstander :1 Mens 050 Computer046 Pauze..025------------------2Start031==================2Escape001**INFO023Regeln019 bei 6 weiter 007 108 017Mitspieler:1 Mensch 050 Computer046 Pause..025------------------2Spielen031==================2Escape001*Hoeveel secondenmoet decomputer wachten?* 0 @0 1 @1 2 @2 3 @3------------------2Escape001*Wieviele Sekundensoll derComputer warten?* 0 @0 1 @1 2 @2 3 @3-------------------2 Escape 001*Stoppen?*Ja@J 028 114------------2Nee@N 057 001*Aus?*Ja@J 028 114------------2Nein@N 057 001*Je bent zekeraan hetverliezen !?Opnieuw beginnen?*Ja@J 028 114------------------2Nee@N 001 057*Du bist wohlam Verlieren!?Neues Spiel?*ja036 028 114----------------2 nein 049 001 057*UIT?*Ja@J 028 114--------------2Nee@N 001*AUS?*ja@J 028 114--------------2nein@N 001* Als je weet, wat je wilt,kunnen wedoorgaan !* Wenn Du weit, was Du willst,knnen wirweiter machen!* tot uw dienst * servus *De nederlandse vertaling is vanPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_FROGs is 'public domain',loopt in LAGE en HOGE resolutie en'heeft iets' tegen Linkvirussen.Het programme mag, nee mtverder gegeven worden - maarnatuurlijk uitsluitend kosteloos !Veel plezier ! De Auteuris*OK001 028 114 @O*Das Niederlndische ist vonPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_FROGs ist 'public domain',luft in der niedrigenund hohen ST-Auflsungenund hat 'was gegen Linkviren.Das Programm darf und sollweitergegeben werden - aberaber natrlich ausschlielichunverndert und kostenlos!Viel Spa! Der Autorist*OK001 028 114 @O* Ti_FROGsist ein Wrfelspiel fr zwei Spieler.Ziel dieses Spieles ist es, als Ersteralle Frsche auf die andere Seite zubringen.Dabei bestimmt ein Wrfel die maximaleWeite des nchsten Sprunges, und derSpieler (mit der Maus), welcher Froschspringen soll.Zwischenfelder knnen nur angesprungenwerden, wenn sie frei sind. Versuchtman es trotzdem, sind die Punkte weg. ( Pennen wird bestraft! )Randfelder knnen immer angesprungenwerden. - Falls dort noch ein Froschsitzt, hat er Pech gehabt und wirdeingeklemmt. D.h. er braucht eine 6,um wieder frei zu kommen, und springtdann trotzdem nur ein Feld weit.Wenn ein Sprung ber das Randfeldhinausgeht, werden die berzhligenPunkte verschenkt.' bei 6 weiter' bedeutet: der Spielerbleibt am Zug, wenn sein Wrfel eine 6zeigt (und er nicht pennt).Der zweite Spieler beendet das Spiel,auch wenn der erste schon all seineFrsche am Ziel hat.Auch wenn kein Frosch springen kann,mu einer angeklickt werden, bevorder andere Spieler dran kommt.Falls der zweite Spieler fehlt, kannder Computer mitspielen. Er beachtetnatrlich alle Regeln, spielt aberknallhart! ---* Ti_FROGsis een dobbelspel voor twee personen.Het doel van het spel :proberen om als eerste al je kikkersnaar de overkant te brengen.De dobbelsteen bepaalthoe ver je hoogstens kunt springenen zelf wijs je aan (met de muis)WELKE van jouw kikkers moet springen.Je kunt alleen springen naar een hokjedat vrij is. Als je naar een hokjeprobeert te springen dat bezet is,ben je de punten kwijt.Goed opletten, dus !MAAR : naar een hokje aan de rand kun je altijd springen.Als daar nog een kikker zit, heeft iepech gehad, want nu zit ie gevangen.Je tegenstander moet nu eerst 6gooien om hem weer vrij te krijgen, endan gaat ie ng maar 1 hokje vooruit !Als je bij de rand aan de overkantnog punten ver hebt ben je diegewoon kwijt.' 6 -> nog eens' betekent :als je 6 gooit mag je nog een keer.(behalve als je op een bezet hokje springt, sufkop !)Als de eerste speler al zijn kikkersaan de overkant heeft moet de tweedespeler toch nog n keer zetten :misschien wordt het nog gelijkspel.Als geen van je kikkers kan springenmoet je er toch eentje aanklikkenvr de andere speler verder kan gaan.Als er niemand is om tegen te spelen,wil de computer wel meedoen.Hij houdt zich natuurlijk aan de spel-regels, maar hij wil wel winnen ! ---* Daar kijkt U naar ! * Das sehen Sie vor sich! *1 Het was je bijna gelukt ! *2 Dat ging nt niet door, h ? *3En waar hebben we nu de hele tijd voor gespeeld ? *4Weet jij nog waar het om begonnen was ? *5 Heeft een van ons tween even niet goed opgelet ?*1 Du hast es fast geschafft! *2 Das hat wohl nicht so ganz geklappt*3Und wozu haben wir nun die ganze Zeit gespielt? *4Weit Du, wozu wir eigentlich spielen? *5Hat da einer von uns etwa nicht aufgepat? *1 Jij hebt gewonnen.Proficiat !*2Wat had je weer een hoop geluk ! *3 Ik heb zeker n momentje niet goed opgelet ...*4 Neem me niet kwalijk dat ik verloren heb.*5 Bah! Jij speelt volgens mij alleen om te winnen !*6Waarom laat je mij ook niet een keer winnen ? *7 Dat vind ik niet eerlijk ! Jij wint gewoon.*8Ja, met veel geluk kan iedern winnen ! *9Maar eigenlijk had ik toch bijna gewonnen ... *10Moet je weer per se winnen ? *11Ik heb verloren ! Jij was gewoon beter. *12 Ja, op deze manier is er geen lol meer aan !*13Ik weet niet zeker, of ik z nog wel verder wil spelen. *14 Ik begin te denken, dat je mij gewoon niet wilt laten winnen.*15Okay, jij mag ook wel een keertje winnen. *16Ik was bang, dat je zou gaan huilen, als je niet zou winnen. *17 Als jij gespeeld had zoals ik, dan had je ook verloren.*18Je hebt geluk, dat ik vandaag niet zo in vorm ben ! *1Du hast(leider) gewonnen! *2Da hast Du aber viel Glck gehabt *3 Ich hab wohl einen Moment nicht richtig aufgepat*4Entschuldige bitte, da ich verloren habe. *5Pfui!Du spielst ja um zu gewinnen. *6Warum lt Du mich nicht mal gewinnen? *7 Das find ich aber unfair! Du gewinnst ja einfach.*8Na mit viel Glck kann ja jeder gewinnen! *9 Eigentlich htte ich ja fast gewonnen.*10 Mut Du unbedingt gewinnen?*11 Du verlierst wohl nicht gern?*12 Du verdirbst einem ja jeden Spa!*13Ich frage mich,ob ich mit Dir noch spielen soll. *14 Ich glaube, Du willst mich nicht gewinnen lassen.*15 Na gut, Du mut ja auch mal gewinnen.*16Ich konnte Dir einfach nicht wehtun. *17 Httest Du wie ich gespielt, httest Du auch verloren.*18 Du hast Glck, da es mir heut' nicht so gut geht.*1Hoera ! Jij hebt verloren ! *2 Dat wist ik van te voren al dat jij zou verliezen.*3Had jij soms gedacht dat je kon winnen ?!? *4Sorry, volgende beter. *5 Dacht je soms ... ? Mooi niet !*6Volhouden, jij wint ook nog wel een keer ! *7Zo, daar heb je wel je buik van vol h !? *8 Ja, als je z speelt, win ik natuurlijk.*9 Je doet toch nog wel mee ? *10 Volgende keer verlies ik, misschien ...*1Hurra! Du hast verloren! *2 Das war mir klar, da Du verlierst.*3Hast Du etwas anderes erwartet? *4War doch klar, da ich gewinne. *5 Du hast wohl gedacht..? War aber nicht!*6 Wolltest Du etwa gewinnen ???*7 Na, das ging wohl in die Hose!?*8 Ja, wenn Du so spielst, gewinne ich natrlich.*9 Du wrfelst aber auch!? *10 Du mut mich auch mal verlieren lassen.*[3][ | Sorry, only| | ST-resolutions | ][ OK ]010203040506070809101112131415161718[3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP] T i _ F R O G s Verder@V 001 028 114 057Weiter@W 001 028 114 057SpelregelsSpielregelnESC Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  jV,j48(>*2($x>><F"f f  f f"   N @N"^ R8 6 l2NnR8 0 b h.: 8FNX\| : H ddJ  .   * f((@4p"&Xb0$  8 $@& $x^ 6 "FV.. 1.. TI_ISOLASRC1TI_ISOLAPRG lH. 1.. 1KN1_SPR INL E.JKN2_SPR INL 8.JMAUS_1 INL l/JMAUS_2 INL p/JMAUS_3 INL t/JMAUS_4 INL x/JPENG_SD INL ٤/RAT_SPR INL )JTI_ISOLALST ~88 0 0```` 0 00 0 ````?????8 0`` 00 33cCc3????    P >< ~.$oo????' ============================================================ ' ' Ti_ISOLA ' ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' ' +++ 8 INLINEs in 'pre.set.special' +++ ' D: ' Wenn das LST-File mit Merge geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA " V.: 3.O / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA "Nederlands","049" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_ISOLA.PRG" DATA "=42051 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren $I+ !Interrupt zulassen ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ' =========================================================== ' @pre.set ' neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' =========================================================== ' PROCEDURE pre.set ' Die Positionen werden gewhnlich so angegeben, ' da sie fr die niedrige Auflsung stimmen. ' Sie werden vom Programm mittels der Faktoren ' hf& und vf& an die aktuelle Auflsung angepat. ' ' Variablen mit zwei oder drei Zeichen+Suffix sind ' LOCAL deklariert oder haben nur lokale Bedeutung ' z.B. Laufvariable ni& etc. ' Ausnahmen: Adre-Variablen mit Suffix % (local) ' Globale Variablen haben mindestens vier Zeichen. ' Ausnahmen: alf&, hf&, vf&, mx&, my&, mk& ' und die Arrays: xf&(), yf&(), xp&(), yp&() ' MENU KILL DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen CLS y_kzl&=7*vf& !y Kopfzeile y_kln&=y_kzl&+2+vf& !y Kopflinie h_br&=h_max&+1 !horizontal Breite v_ho&=v_max&+1 !vertikal Hhe h_mid&=h_br&\2 !h- v_mid&=v_ho&\2 !v-Mitte y_rel&=4*vf& top_pal$="" !Farbpalette des Desktop @get.palette(top_pal$) !retten check!=TRUE !fr Linvirentest ' programmspezifisch: @pre.set.special @set.farben @set.grafik.normal @set.1.wahl DEFMOUSE 0 RETURN PROCEDURE pre.set.special !+++ 10 INLINEs +++ LOCAL kn1_spr%,kn2_spr%,maus_1%,maus_2%,maus_3%,maus_4%,rat_spr% LOCAL sp&,zl&,ym&,hh&,hb& ' INLINE kn1_spr%,74 INLINE kn2_spr%,74 INLINE maus_1%,74 INLINE maus_2%,74 INLINE maus_3%,74 INLINE maus_4%,74 INLINE peng_sd%,30 INLINE rat_spr%,74 ' Ratte als Sprite (funktioniert in allen Auflsungen) ' knop_1$=SPACE$(74) knop_2$=SPACE$(74) BMOVE kn1_spr%,V:knop_1$,74 BMOVE kn2_spr%,V:knop_2$,74 DIM maus$(4) FOR ni&=1 TO 4 maus$(ni&)=SPACE$(74) NEXT ni& BMOVE maus_1%,V:maus$(1),74 BMOVE maus_2%,V:maus$(2),74 BMOVE maus_3%,V:maus$(3),74 BMOVE maus_4%,V:maus$(4),74 ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 ' Spielfeld: sp_z&=8 !Spaltenzahl zl_z&=6 !Zeilenzahl ' fd_br&=21*hf& fd_ho&=21*vf& fd_xd&=25*hf& fd_yd&=25*vf& br&=fd_xd&*(sp_z&-1)+fd_br& ho&=fd_yd&*(zl_z&-1)+fd_ho& ym&=v_mid&+y_kln&\2+1 fd_li&=h_mid&-br&\2-1 fd_re&=h_mid&+br&\2-1 fd_ob&=ym&-ho&\2-1 fd_un&=ym&+ho&\2-1 x_ofs&=fd_li&-fd_xd& !X- y_ofs&=fd_ob&-fd_yd& !Y-Offset ' bn_l&=4+2*hf& !Buttonlnge x_esc&=bn_l&*8+1 !ESC x_hlp&=h_max&-x_esc& !HELP y_std&=23*vf&+2 ' DIM xf&(sp_z&+1),yf&(zl_z&+1) !Feldpositionen DIM sieg&(2) DIM feld!(sp_z&+1,zl_z&+1) !incl. Rand DIM xp&(2),yp&(2) DIM b_m&(9,9,9) DIM c_m&(8) DIM stein$(2) ' FOR sp&=1 TO sp_z& xf&(sp&)=x_ofs&+fd_xd&*sp& NEXT sp& FOR zl&=1 TO zl_z& yf&(zl&)=y_ofs&+fd_yd&*zl& NEXT zl& ' leer!=FALSE !das liest voll!=TRUE !sich besser ' Defaults & Offsets: mitspieler&=2 mitspieler_ofs&=2 level&=1 level_ofs&=6 ' Auswahl-Strings fr Siegerehrung ' enthlt jeweils zweistellig die Nummer der Antwort ' fr zufllige Auswahl und Umsortierung ' ** mu mit der Anzahl der DATAs bereinstimmen! ** sp_g$="010203040506070809101112131415161718" sp_v$="01020304050607080910" RETURN ' PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.farben IF alf&=2 VSETCOLOR 0,7,7,7 !wei ELSE VSETCOLOR 0,6,6,6 !dunkelwei VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,3,4,5 !stahlblau ENDIF RETURN ' PROCEDURE test.virus LOCAL pad$,prg$,pln$,it$,prg_len%,dat_len%,bnr& pad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pad$,1)<>"\" pad$=pad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ dat_len%=LOF(#1) CLOSE #1 IF dat_len%prg_len% it$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,it$,bnr&) IF bnr&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,m_frei% it$="[3][ | MALLOC-ERROR! | ][ shit ]" m_frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -m_frei% prg_adr%=MALLOC(m_frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,it$,bnr&) ENDIF ELSE @show.alert(1,it$,bnr&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung IF taal$="NL" it$="[3][ | De test op een Link-virus | kon niet (!)|" it$=it$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE !D it$="[3][ | Der Linkvirentest | konnte nicht(!)|" it$=it$+" durchgefhrt werden| ][ sehr verdchtig! ]" ENDIF @show.alert(1,it$,bnr&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE white.box(li&,ob&,re&,un&) @set.grafik.normal PBOX li&,ob&,re&,un& RETURN PROCEDURE clean ' fllt den Bildschirm (ohne Kopfzeile) mit "Hintergrund" ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE zent(yit&,it$) ' zentriert den Text an der gewnschten y-Position TEXT h_mid&-LEN(it$)*4,yit&,it$ RETURN PROCEDURE set.titel(it$) LOCAL lit&,xit& @white.box(-1,-1,h_br&,y_kln&) lit&=LEN(it$) IF lit& xit&=h_mid&-lit&*4 GRAPHMODE 4 TEXT xit&-8,y_kzl&,SPACE$(lit&+2) !mit Rand GRAPHMODE 3 TEXT xit&,y_kzl&,it$ GRAPHMODE 1 ENDIF RETURN PROCEDURE shit LOCAL it$,lit&,bnr& ON ERROR !aus it$=ERR$(ERR) !Original Fehlermeldung lit&=RINSTR(it$,"[") ' "CONT" und "STOP" statt "Return" schont den Reset-Knopf it$=LEFT$(it$,lit&)+" CONT |STOP]" @show.alert(2,it$,bnr&) IF bnr&=1 RESUME neu_start ELSE @ausgang ENDIF RETURN ' PROCEDURE test.wahl(VAR pt_&,pw_&) LOCAL test$,dummy$ pt_&=-1 !Info-Zeilen zhlen REPEAT INC pt_& READ test$ UNTIL test$="*" pw_&=-1 !Wahl-Zeilen zhlen REPEAT INC pw_& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR pt_&,pw_&,pt_$(),pw_$(),pk_$()) LOCAL dummy$ ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>30*hf& OR ABS(my&-ay&)>30*vf& @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' ' === hier beginnt das eigentliche Programm === ' PROCEDURE set.1.wahl RESTORE 1.wahl !DATA-Pointer setzen @test.wahl(pt_1&,pw_1&) !zhlen DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) !dimesionieren RESTORE 1.wahl !DATA-Pointer neu setzen @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) !Arrays fllen RETURN ' PROCEDURE set.wahl.main @da.is.main @test.wahl(pt_m&,pw_m&) ERASE pt_m$(),pw_m$(),pk_m$() !wegen Sprachwechsel DIM pt_m$(pt_m&),pw_m$(pw_m&),pk_m$(pw_m&) @da.is.main @read.wahl(pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$()) ' separat abhaken, damit die Wahl auch nach ' einem Wechsel der Sprache beachtet wird @abhaken.mitspieler(mitspieler&) @abhaken.level(level&) RETURN PROCEDURE da.is.main !~NL~D~ IF taal$="NL" RESTORE wahl_main_nl ELSE RESTORE wahl_main_d ENDIF ' ohne Infozeilen wahl_main_nl: DATA * DATA "INFO","023" DATA "Regels","019" DATA "Tegenstander :","1" DATA " Mens ","050" DATA " Computer","046" DATA "Speelsterkte :","1" DATA " 1 ","002 109" DATA " 2 ","003 110" DATA " 3 ","004 111" DATA "Speelstand :","1" DATA "Op nul zetten","011 024 049 112" DATA "","" DATA "Start","031" DATA "----------------","2" DATA " Escape ","001" DATA *,"" ' wahl_main_d: DATA * DATA "INFO","023" DATA "Regeln","019" DATA "Mitspieler:","1" DATA " Mensch ","050" DATA " Computer","046" DATA "Spielstrke:","1" DATA " 1 ","002 109" DATA " 2 ","003 110" DATA " 3 ","004 111" DATA "Spielstand:","1" DATA "zurcksetzen","021" DATA "","" DATA "Spielen","031" DATA "----------------","2" DATA " Escape ","001" DATA *,"" RETURN PROCEDURE abhaken.mitspieler(nr&) IF nr&<>mitspieler& @stand.reset MID$(pw_m$(mitspieler&+mitspieler_ofs&),1)=" " ENDIF mitspieler&=nr& MID$(pw_m$(mitspieler&+mitspieler_ofs&),1)="" computer!=(mitspieler&=3) RETURN PROCEDURE abhaken.level(nr&) IF nr&<>level& MID$(pw_m$(level&+level_ofs&),1)=" " ENDIF level&=nr& MID$(pw_m$(level&+level_ofs&),1)="" RETURN PROCEDURE stand.reset ARRAYFILL sieg&(),0 RETURN ' PROCEDURE set.wahl.genug @da.is.genug @test.wahl(pt_g&,pw_g&) ERASE pt_g$(),pw_g$(),pk_g$() !wegen Sprachwechsel DIM pt_g$(pt_g&),pw_g$(pw_g&),pk_g$(pw_g&) @da.is.genug @read.wahl(pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$()) RETURN PROCEDURE da.is.genug !~NL~D~ IF taal$="NL" RESTORE wahl_genug_nl ELSE RESTORE wahl_genug_d ENDIF ' wahl_genug_nl: DATA " Genoeg ? " DATA * DATA "","" DATA " Ja ","001 036 028 114" DATA "","" DATA "Nee","049 057" DATA "","" DATA *,"" ' wahl_genug_d: DATA " Genug? " DATA * DATA "","" DATA "ja","001 036 028 114" DATA "","" DATA " nein ","049 057" DATA "","" DATA *,"" RETURN ' PROCEDURE 1.wahl @set.titel(" T i _ I S O L A ") @clean @pop.wahl(0,y_rel&,TRUE,TRUE,0,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) SELECT wahl& CASE 2,3 @set.sprache(wahl&-1) IF check! ' @test.virus ! < frs fertige Programm < check!=FALSE ENDIF @wahl.main CASE 5 @last.info @ausgang ENDSELECT RETURN PROCEDURE set.sprache(nr&) IF nr&=2 taal$="NL" ELSE taal$="D" ENDIF @set.wahl.main @set.wahl.genug RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,0,TRUE,TRUE,1) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN ' PROCEDURE wahl.main REPEAT @set.titel(" T i _ I S O L A ") @clean @pop.wahl(0,y_rel&,TRUE,TRUE,15,pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$(),wahl&) SELECT wahl& CASE 1 @prg.info CASE 2 @spiel.regeln CASE 4,5 @abhaken.mitspieler(wahl&-mitspieler_ofs&) !2=Mensch/3=Computer CASE 7 TO 9 @abhaken.level(wahl&-level_ofs&) CASE 11 @stand.reset CASE 13 @spielen ENDSELECT UNTIL wahl&=15 RETURN PROCEDURE prg.info !~NL~D~ IF taal$="NL" RESTORE prg_info_nl ELSE RESTORE prg_info_d ENDIF @set.titel(" I N F O ") @pop.info(0,4*vf&,TRUE,TRUE,60) ' >Textbreite ------- 36 ------ maximal< prg_info_nl: DATA "Ti_ISOLA" DATA "is 'public domain'," DATA "loopt in alle 3 ST-resoluties en" DATA "'heeft iets' tegen Linkvirussen." DATA "Het programma is in GFA-BASIC 3.O" DATA "geschreven en gecompileerd en mag," DATA "nee, mt doorgegeven worden -" DATA "maar natuurlijk uitsluitend" DATA "kosteloos en in zijn geheel !" DATA "Veel plezier !" DATA "De nederlandse vertaling is van" DATA "Philip van Rijthoven" DATA "Paul Krugerstraat 58" DATA "NL 6543 MX Nijmegen" DATA "Tel.: O8O-782457" DATA "(Danke!)" DATA * ' prg_info_d: DATA DATA "Ti_ISOLA" DATA "ist 'public domain'," DATA "luft in allen 3 ST-Auflsungen" DATA "und hat 'was gegen Linkviren." DATA DATA "Das Programm ist in GFA-BASIC 3.O" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden -" DATA "aber natrlich ausschlielich" DATA "kostenlos und vollstndig!" DATA DATA "Viel Spa!" DATA * RETURN PROCEDURE spiel.regeln LOCAL it$ IF taal$="NL" it$="Spelregels" RESTORE spiel_regeln_nl ELSE it$="Spielregeln" RESTORE spiel_regeln_d ENDIF @set.titel(it$) @pop.info(0,4*vf&,TRUE,TRUE,60) ' spiel_regeln_nl: DATA DATA "De speler die" DATA "aan de beurt is" DATA "verplaatst zijn pion" DATA "n stap" DATA " in willekeurige richting, " DATA "diagonaal mag ook." DATA DATA "Daarn blokkeert hij" DATA "een veld naar keuze" DATA "voor zijn tegenstander." DATA "Maar let op :" DATA "op dat veld kun je zelf" DATA "ook niet meer komen." DATA DATA "Wie helemaal vast zit," DATA "heeft verloren." DATA * spiel_regeln_d: DATA DATA "Jeder Spieler bewegt" DATA " abwechselnd seinen Stein " DATA "in beliebiger Richtung" DATA "(auch diagonal)" DATA "um einen Schritt weiter." DATA DATA "Anschlieend nimmt er" DATA "dem Gegner" DATA "an beliebiger Stelle" DATA "ein Feld weg," DATA "das er aber selbst" DATA "auch nicht mehr" DATA "betreten kann." DATA DATA "Wer festsitzt," DATA "hat verloren." DATA * RETURN ' ' === hier beginnt das Spiel === ' PROCEDURE spielen LOCAL abbruch!,ok! @zeig.spielfeld @spiel.vorbereiten @zeig.spielstand ' REPEAT IF spieler&=1 @spielerspiel ELSE IF computer! @computerspiel ELSE !2.Spieler @spielerspiel ENDIF UNTIL rest&=0 OR abbruch! ' das Spiel ist aus! / het spel is uit ! IF NOT abbruch! !(~rest&=0) @nach.spiel IF computer! IF spieler&=1 @dreiklang.rauf ELSE !Computer hat gewonnen @sirene(3) ENDIF @sieger.ehrung ELSE @dreiklang.rauf ENDIF REPEAT @get.tom IF mk& OR scan| @pup ENDIF UNTIL my&x_hlp& @show.help ENDIF ELSE IF mk&=1 AND mx&>fd_li& AND mx&fd_ob& AND my&0 AND sp&<=sp_z& AND zl&>0 AND zl&<=zl_z& IF mx&1 OR dy&>1 OR (dx&=0 AND dy&=0) ok!=FALSE @pup ENDIF RETURN PROCEDURE move.spieler LOCAL ax&,ay& ax&=xp&(spieler&) ay&=yp&(spieler&) feld!(ax&,ay&)=leer! !altes Feld freigeben PUT xf&(ax&),yf&(ay&),leer$ !Stein wegnehmen und PUT xf&(nsp&),yf&(nzl&),stein$(spieler&) !auf neue Position setzen xp&(spieler&)=nsp& !neue Position yp&(spieler&)=nzl& !merken feld!(nsp&,nzl&)=voll! !neues Feld besetzen RETURN PROCEDURE wahl.genug DEFMOUSE 0 @pop.wahl(12*hf&,20*vf&,FALSE,FALSE,4,pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$(),wahl&) IF wahl&=2 abbruch!=TRUE ELSE DEFMOUSE maus$(maus&) ENDIF RETURN PROCEDURE show.help LOCAL hx&,hy&,br&,ho& DEFMOUSE 2 SHOWM IF zug! @best.move(spieler&) !Zug fr Spielstein suchen ELSE @best.move(gegner&) !Platz fr Sperre suchen ENDIF hx&=xf&(nsp&) hy&=yf&(nzl&) IF zug! PUT hx&,hy&,stein$(spieler&) ELSE br&=fd_br&\4 ho&=fd_ho&\4 DEFFILL 1,1 PBOX hx&+br&,hy&+ho&,hx&+fd_br&-br&,hy&+fd_ho&-ho& DEFFILL 1,0 ENDIF @flip @flip REPEAT !3* oder mehr @flip @get.tom UNTIL scan|<>98 AND (my&>y_kln& OR mx&0 OR vbm&<>0 !nur Nachbarfelder IF feld!(xbm&+hbm&,ybm&+vbm&)=leer! INC nbm& b_m&(nbm&,0,0)=(xbm&+hbm&)*10+ybm&+vbm& ENDIF ENDIF NEXT vbm& NEXT hbm& b_m&(0,0,0)=nbm& c_m&(0)=nbm& FOR ibm&=1 TO c_m&(0) nbm&=0 x1&=b_m&(ibm&,0,0)\10 y1&=b_m&(ibm&,0,0) MOD 10 FOR hbm&=-1 TO 1 FOR vbm&=-1 TO 1 IF hbm&<>0 OR vbm&<>0 IF feld!(x1&+hbm&,y1&+vbm&)=leer! IF x1&+hbm&<>xbm& OR y1&+vbm&<>ybm& INC nbm& b_m&(ibm&,nbm&,0)=(x1&+hbm&)*10+y1&+vbm& ENDIF ENDIF ENDIF NEXT vbm& NEXT hbm& b_m&(0,ibm&,0)=nbm& c_m&(ibm&)=nbm&+1 NEXT ibm& IF level&>1 FOR ibm&=1 TO c_m&(0) FOR jbm&=1 TO b_m&(0,ibm&,0) nbm&=0 x1&=b_m&(ibm&,jbm&,0)\10 y1&=b_m&(ibm&,jbm&,0) MOD 10 FOR hbm&=-1 TO 1 FOR vbm&=-1 TO 1 IF hbm&<>0 OR vbm&<>0 IF feld!(x1&+hbm&,y1&+vbm&)=leer! IF x1&+hbm&<>xbm& OR y1&+vbm&<>ybm& INC c_m&(ibm&) INC nbm& b_m&(ibm&,jbm&,nbm&)=(x1&+hbm&)*10+y1&+vbm& ENDIF ENDIF ENDIF NEXT vbm& NEXT hbm& b_m&(0,ibm&,jbm&)=nbm& NEXT jbm& NEXT ibm& ENDIF IF level&>2 FOR ibm&=1 TO c_m&(0) FOR jbm&=1 TO b_m&(0,ibm&,0) FOR kbm&=1 TO b_m&(0,ibm&,jbm&) nbm&=0 x1&=b_m&(ibm&,jbm&,kbm&)\10 y1&=b_m&(ibm&,jbm&,kbm&) MOD 10 FOR hbm&=-1 TO 1 FOR vbm&=-1 TO 1 IF hbm&<>0 OR vbm&<>0 IF feld!(x1&+hbm&,y1&+vbm&)=leer! IF x1&+hbm&<>xbm& OR y1&+vbm&<>ybm& INC c_m&(ibm&) ENDIF ENDIF ENDIF NEXT vbm& NEXT hbm& NEXT kbm& NEXT jbm& NEXT ibm& ENDIF nbm&=c_m&(1) cbm&=1 FOR ibm&=2 TO c_m&(0) IF c_m&(ibm&)>=nbm& nbm&=c_m&(ibm&) cbm&=ibm& ENDIF NEXT ibm& nsp&=b_m&(cbm&,0,0)\10 nzl&=b_m&(cbm&,0,0) MOD 10 RETURN ' PROCEDURE feld.sperren LOCAL sd&,zd& @zeig.sperre(nsp&,nzl&,0) feld!(nsp&,nzl&)=voll! rest&=0 !Kontrolle, ob Spiel aus FOR sd&=-1 TO 1 FOR zd&=-1 TO 1 IF feld!(xp&(gegner&)+sd&,yp&(gegner&)+zd&)=leer! INC rest& ENDIF NEXT zd& NEXT sd& IF rest&>0 !nchster Spieler SWAP spieler&,gegner& ENDIF RETURN PROCEDURE zeig.sperre(sp&,zl&,art&) LOCAL xd%,yd%,xi%,yi%,xs%,ys%,bis% xd%=fd_br&\2 yd%=fd_ho&\2 xi%=xd%+xf&(sp&) yi%=yd%+yf&(zl&) xs%=hf&/2 ys%=vf&/2 IF art&=1 bis%=yd%*(4-vf&)/4 ENDIF GRAPHMODE 1 REPEAT BOX xi%-xd%,yi%-yd%,xi%+xd%,yi%+yd% SOUND 1,xd%\2+3,1,1 PAUSE 1 ' SUB xd%,xs% ' SUB yd%,ys% DEC xd% DEC yd% UNTIL yd%4000 SOUND 1,0,0,0,0 !a Ruh is RETURN PROCEDURE dreiklang.rauf LOCAL level% SOUND 1,15,1,4,4 SOUND 1,15,5,4,4 SOUND 1,15,8,4,4 FOR level%=15 DOWNTO 0 SOUND 1,level%,8,5,5 NEXT level% SOUND 1,0,0,0,0 RETURN PROCEDURE sirene(nz&) LOCAL ni&,sd& ni&=nz& WHILE ni&>0 FOR sd&=1 TO 8 SOUND 1,15,sd&,4,1 NEXT sd& PAUSE 5 DEC ni& WEND SOUND 1,0,0,0,0 RETURN ' PROCEDURE sieger.ehrung LOCAL fertig! IF spieler&=1 IF taal$="NL" RESTORE spiel_gewonnen_nl ELSE RESTORE spiel_gewonnen_d ENDIF @get.kommentar(6,sp_g$) ELSE IF taal$="NL" RESTORE spiel_verloren_nl ELSE RESTORE spiel_verloren_d ENDIF @get.kommentar(3,sp_v$) ENDIF ' spiel_gewonnen_nl: DATA 1, DATA " Jij hebt gewonnen." DATA "Proficiat !",,* DATA 2, DATA "Wat had je weer" DATA " een hoop geluk ! ",,* DATA 3, DATA " Ik heb zeker n momentje " DATA "niet goed opgelet ...",,* DATA 4, DATA " Neem me niet kwalijk " DATA "dat ik verloren heb.",,* DATA 5, DATA " Bah! Jij speelt volgens mij " DATA "alleen om te winnen !",,* DATA 6, DATA "Waarom laat je mij" DATA " ook niet een keer winnen ? ",,* DATA 7, DATA " Dat vind ik niet eerlijk ! " DATA "Jij wint gewoon.",,* DATA 8, DATA "Ja, met veel geluk" DATA " kan iedern winnen ! ",,* DATA 9, DATA "Maar eigenlijk had ik" DATA " toch bijna gewonnen ... ",,* DATA 10, DATA "Moet je weer" DATA " per se winnen ? ",,* DATA 11, DATA "Ik heb verloren !" DATA " Jij was gewoon beter. ",,* DATA 12, DATA " Ja, op deze manier is er " DATA "geen lol meer aan !",,* DATA 13, DATA "Ik weet niet zeker, of ik" DATA " z nog wel verder wil spelen. ",,* DATA 14, DATA " Ik begin te denken, dat je mij " DATA "gewoon niet wilt laten winnen.",,* DATA 15, DATA "Okay, jij mag ook" DATA " wel een keertje winnen. ",,* DATA 16, DATA "Ik was bang, dat je zou gaan" DATA " huilen, als je niet zou winnen. ",,* DATA 17, DATA " Als jij gespeeld had zoals ik, " DATA "dan had je ook verloren.",,* DATA 18, DATA "Je hebt geluk, dat ik" DATA " vandaag niet zo in vorm ben ! ",,* ' spiel_gewonnen_d: DATA 1, DATA "Du hast" DATA "(leider)" DATA " gewonnen! ",,* DATA 2, DATA "Da hast Du aber" DATA " viel Glck gehabt ",,* DATA 3, DATA " Ich hab wohl einen Moment " DATA "nicht richtig aufgepat",,* DATA 4, DATA "Entschuldige bitte," DATA " da ich verloren habe. ",,* DATA 5, DATA "Pfui!" DATA "Du spielst ja" DATA " um zu gewinnen. ",,* DATA 6, DATA "Warum lt Du mich" DATA " nicht mal gewinnen? ",,* DATA 7, DATA " Das find ich aber unfair! " DATA "Du gewinnst ja einfach.",,* DATA 8, DATA "Na mit viel Glck" DATA " kann ja jeder gewinnen! ",,* DATA 9, DATA " Eigentlich htte ich ja " DATA "fast gewonnen.",,* DATA 10, DATA " Mut Du unbedingt " DATA "gewinnen?",,* DATA 11, DATA " Du verlierst wohl " DATA "nicht gern?",,* DATA 12, DATA " Du verdirbst einem " DATA "ja jeden Spa!",,* DATA 13, DATA "Ich frage mich," DATA "ob ich mit Dir" DATA " noch spielen soll. ",,* DATA 14, DATA " Ich glaube, Du willst mich " DATA "nicht gewinnen lassen.",,* DATA 15, DATA " Na gut, Du mut ja " DATA "auch mal gewinnen.",,* DATA 16, DATA "Ich konnte Dir" DATA " einfach nicht wehtun. ",,* DATA 17, DATA " Httest Du wie ich gespielt, " DATA "httest Du auch verloren.",,* DATA 18, DATA " Du hast Glck, da es mir " DATA "heut' nicht so gut geht.",,* ' spiel_verloren_nl: DATA 1, DATA "Hoera !" DATA " Jij hebt verloren ! ",,* DATA 2, DATA " Dat wist ik van te voren al " DATA "dat jij zou verliezen.",,* DATA 3, DATA "Had jij soms gedacht" DATA " dat je kon winnen ?!? ",,* DATA 4, DATA "Sorry," DATA " volgende beter. ",,* DATA 5, DATA " Dacht je soms ... ? " DATA "Mooi niet !",,* DATA 6, DATA "Volhouden," DATA " jij wint ook nog wel een keer ! ",,* DATA 7, DATA "Zo, daar heb je wel" DATA " je buik van vol h !? ",,* DATA 8, DATA " Ja, als je z speelt," DATA " win ik natuurlijk.",,* DATA 9, DATA " Je doet toch nog wel mee ? ",,* DATA 10, DATA " Volgende keer verlies ik, " DATA "misschien ...",,* ' spiel_verloren_d: DATA 1, DATA "Hurra!" DATA " Du hast verloren! ",,* DATA 2, DATA " Das war mir klar, " DATA "da Du verlierst.",,* DATA 3, DATA "Hast Du etwas" DATA " anderes erwartet? ",,* DATA 4, DATA "War doch klar," DATA " da ich gewinne. ",,* DATA 5, DATA " Du hast wohl gedacht..? " DATA "War aber nicht!",,* DATA 6, DATA " Wolltest Du etwa " DATA "gewinnen ???",,* DATA 7, DATA " Na, das ging wohl " DATA "in die Hose!?",,* DATA 8, DATA " Ja, wenn Du so spielst, " DATA "gewinne ich natrlich.",,* DATA 9, DATA "Hat da einer von uns" DATA " etwa nicht aufgepat? ",,* DATA 10, DATA " Du mut mich auch mal " DATA "verlieren lassen.",,* RETURN PROCEDURE get.kommentar(rz&,VAR km$) ' ( rz& ist nur etwa ein Drittel der Zahl der zugehrigen Kommentare ) LOCAL zp&,zz&,kr&,test$ ' Zufallsposition zp& aus rz&... zp&=RANDOM(rz&)*2+1 ' und Teil rechts davon ermitteln kr&=LEN(km$)-zp&-1 ' entsprechende Zahl lesen zz&=VAL(MID$(km$,zp&,2)) ' und ans Ende schieben, um schnelle Wiederholung zu vermeiden km$=LEFT$(km$,zp&-1)+RIGHT$(km$,kr&)+MID$(km$,zp&,2) ' READ-Pointer fr pop.info stellen REPEAT READ test$ UNTIL VAL(test$)=zz& ' ... bis die Zahl gefunden ist @pop.info(0,0,TRUE,TRUE,60) RETURN ' ' === Ti === `,"XB*AONTVNafNrNN hAas*HmNNN.N NPpaf&a[E|a|N`aX,auAaqrAaqDpN:;@pN:;@0-R@;@0-R@;@ mWHH/ mWHHg;|`p mWHH/ mȂWHHg;|`J m@WHH/ mȂWHHgBm`&EpC maj?</-/-NHaWZ`tpatAaoAaoAaoNpaeaZ m$m2N$m4N`t&atlNN`tatX` ptrabnN;A;B;C0-fNf`sat(HyNNX @p!@`satpadaZF <aY@. <aY"<aL <aYr"<a4 <aYZ"<a0-6-tracak0-S@]HT@;@0-U@]HT@;@0-;@0-r4mҊA;@0-T@;@0-HjR;@0-HjR;@0-@;@0-HЀX@;@0-HR@;@P6EaRAN`rarA0anA4anA8anAp~AHa|2p t r ~ANa|"p~ATa|p~ABa{$m40-ac`($m00mЈ$m8H m0؄1H$mRR$m0koY$m40-acH`($m00mЈ$m8H m6؄1H$mRR$m0koYQ7P8;|;|;|;|E$p$A acE$pAac`man&AaiF makn$mBR?<$m??<NN\ak"maY"mac$mRR$m0@o`mamAaiAaiA aiAaix0-H`$EaM:`(EaM.`E aM"` @g @gJg$m40-aBx&<x:<a?|&<x:<aDaAaa`Pa$m4a$m4a$m 4a$m4$m0$m 6H$m4H$m2Ha]z$mRR$m0koY`lalALahAPahAahEaLN;| ma60-U@gF$m4 m0(aa*`"p$m2H makai8$mLђ$mRR$m0koYRm m oEaKa~$mP$$mP $mLgEHpaiH/$mL a@al"_aW"maaA0$m\$a~ @ ( $m`$a~ @ ($md$$mX $m`VHH/$m\ $mdVHHgEpag/$m` a?Zak"_aU"ma`xEpag"maU/$md a?(ak`"_aU"ma`FE pag"maU"ma`*?</-HmaN `jajFaqvptra{Dpaupra{HmN N p-."<auvaapapaZvaP8aL`iaiAae AaeAhaeAlae m0($m4$m0S@oh$mhB$m0HjRSa]`>$mh ЀR"p mahafP$ml$$ml?*$mh?*?<NN\$mhR$mh o]`haiBA$adA ad~AadvAadnN $m$0$m 6$m4$m2aW8`hahpaYpaYpaYpaXpaXpaXpaX`paXjpraXnpaXpaXpaX0-SaXaX`hNahpa{/pa{~.|zxvtr0|ak`h"ahhAadA(ac m0(H0mȐD/0-$m(/ m$"a]Z`gah"AadVA,acA0acHx?-?-a m0($m,4$m,0gZ$m,0H0mȐD$m04paWp$m,4RЊah4-r$m0Ra\paW m4-$m02a\paW`g$m8H"m"Qas`0(H$m`0RD$mX4$m8H"m"Qas6$m\4$mX2aV$m@0$mRn:$m\0a5/??$mP0a5&<x:<aY8:&a2/??0-a5aV"8:&a2a4H$m$4;|0-aPpaP.paP8$m8BR$m\BRapaPaF?$mD8H"m"Qao/p@a[ /Aaa"_aHB"_a^Jg "m8 mD2$mDRR$m@0$mDR]HH$m82HgZ`\a\AaX A|aX(A aYA큀aXA큄aX$m|0g $m4`$m4$m4 m 0(SaQ6`Bp$m2H m a[a^a08$m4$m0H$m8H m P؄1H$mTR$m0koY`[a\:ApaWA@aWvA퀨aWA퀤aWAaW^AaWVA4aWADaWA aWA$aWAPaWALaWAaWAXaWA\aWA`aWAdaWzAhaWrAlaWjApaWbAaWaA0- $mP4$mL4$m@0fLAHak8p~AHahX$m@RR$m@8H"mHamam$m@8H"mHamlp*aGg$m@SR$m4$m@0aO`<$m8H"mHam:0($m4$m0H$m 2Hl@$m 4$mRR$m0koY$m@RRN$m@SR$mp VH?NT$m 0H$m0RЈJjR$m`4"m\ m2$mp f0-HЀR@$m\R$mD4$m@0aN`f$mD8H"mHalx0($m4$m0H$m`0RD$mX4$mP0$m\R$mD8H"mHal8$m\4$mX2aO$mDRR$mD0koYAHaia$mp gVp$m$4RЊr$m 4RҊAa]R$mp $ԀЀЂ/NAa\ m$mh4H$md2HaJva?`YaYd$mL0$m $m 4$m XR$mP0$m@2$m44RҊ$m$4$mg0-H$m 0RJjR$mR$mg0-H$m$0RJjR$mR$m0$m$R$m0$m R$m 0H$m0RЈJjR$m`4`XdaXA퀬aT>a0-$m0RDSrl@$md40-$m0RDrl@$mh40-$m 0RЈ2-Ho@$ml40-$m$0RЈ2-Ho@$mp4$mg( m$mp8H$ml:H$mh<H$md>HaJ$mp0$ml6$mh4$md2aF0-HЀ$md0RЈ/0-HЀ$mh0RЈ/0-HЀ$ml0RD/0-HЀ$mp0RD&$"aEpaG`W$aWjAtaRAXaS"A\aSa$mt l $mt$.a<$mtђaf$mX4af$m\4?0-H~Afa`>N# Hm HmHmrHmxHm~Hmfa ?-N#6?-N#`RaRA0g ELa0` Ea0`PaQA킖a`A킜a`A킢a`Ara`p~A킖a]p~A킜a]p~A킢a]p~Ara]A0g.E4paMx"mabE:paMx"mabv`,ELpaMx"mab^ERpaMx"mabHx mr؄1H;|`OaP,HmaaBg?-Hy?<Hm HmHmfHmrHmxHm~Hma0-H`>N&`fN'`^0-m?a`N0-m?ar`>a`8N(`0 @g @g @g @g @m @ o @ g @ g mfF`O"aOhN' 0-aJ4-rma>pa9x0-HZ/EypaFp4-"a>h0-H0mЈR/ Bpa9*x m0؄00HH$m0RЈ/x m6؄00HH$m0RЈ"AaL|x m0؄00HH$m0RЈ/x m6؄00HH$m0RЈ"AaLDa.A"a=x m0؄4pHHRx m6؄4pHHRx m0؄00HH0mЈ/x m6؄00HH0mЈ/A((*,.a;x m0؄4pHHRx m6؄4pHHRx m0؄00HH0mЈ/x m6؄00HH0mЈ/x"mBaZ (*,.a:x m0؄4pHHRx m6؄4pHHRx m0؄00HH0mЈ/x m6؄00HH0mЈ/x"mBaY(*,.a:HAaJAaJa-`GaG`pJ-8gpA킨a1$m40-a;`^$m40-a;`8pJ-7gp$m:$m8H m؅ HJf H$mRR$m0koY$mRR$m0koYpJ-8gpzx m؅ HJf HpJ-8gpzx m؅ HJf Hx mB؄1Hx mH؄1Hx mB؄1Hx mH؄1H;|;|`EaF4A(aBEpaCN/x m<؄00Ha"aF"_a1paEE|pa2/x m<؄00HaaFEpa2paD"_a0"m(a;?-/-(aFa+`E^aEA0aAdA,aA\AaAz8-H m<؄AHRP8-H mB؄?0H8-H mH؄?0H?<NBp aC/8-H m<؄00HaHaF"_a0>p a1R"ma: m0($m,40-S@fB0-a&<:<a*/??$m,0ava:~8:&aa$m04`0-@ $m04pa40-/$m,0aE$$m02a9pa40-/ m$$m02a9NDV$m4paOpa4t0-/ m$$m02a9lNDBpaOpa4H0-/$m,0aE:$$m02a9:pa4"0-/ m$$m02a9NDB$mRR$m0[@ora*`CaCP:N2$mgN5"p$mJgp"p$mJgpg$mga>pa/P0- ?0-?B?<HmHmHmlHmHmHmHma,0-U@f$mP`8-H"m*a>pA큠a:0A큤a:(Aa: Aa:pa.a$-:g ?-N9` ?-N98-H m0؄00H$m48- H m6؄00H$m4-:g&8-H"mBaP$$m4H$m2Ha.`0-HjV$m40-HjV$m4pa-hpa-r$m0H2-H$m4RҊD/$m02-$mRD&$m4$mR$m2$mRa+pa-pa-N9>N9>N9>? mbVHH/0-İm]HH/0-m^HHgA($m4H$m2Ha-$mQ8-H"mYx mT؄00H$m4$m4;|*x mT؄00Ha)`@8-*H mT؄00HH$m2Hm8-*H mT؄00H$m4 m0*Rm*0-*koY$m4RHRBBAN~a,r a4;@$m4RHRBBAN~a,r a|;@ `40a4vAa06Aa0.?-?- BgNBpJ-8gp:- 8-H m؅ HJf HBm$m4$m48-H mB؄00HH$m0RЈ/8-H mH؄00HH$m0RЈ*( m؅ 0HVHH"pJ-7gpfRm$mRR$m0S@o$mRR$m0S@or0-oCA002`3*a3pAa.Aa.Aa.Axa/fA|a/^A퀀a/VA퀄a/NA퀈a/FA퀌a/>A퀐a/60-HjR$mx$0-HjR$m|$$m8H m0؄00HH$mxВ$m$$m8H m6؄00HH$m|В$m$0-HjR$m$0-HjR$m$$m0S@fB$m| a/??0-a&<x:<a8:&adva6a$m$pa"d$m| $mВ$mx&$m֒$m$$m|$m"$mxa p$mx jRV/vp$raCpa=$mxS$m|S$m $m|ovptraBpa=\`1va1/-.?< NN\`1ba1A퀔a-A퀘a-$m$ `p<$m$pa=$m traBpa=$m $mђ$mS$m ovptraBNpa<`0a12A퀜a-@vptraB,pajDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`jBNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`r 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`^a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup` <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a` TJ_LkNuTJ_Lja&8* <r4<`HL aJBfL agLJBjDBa8L8a@a dDBNuLJBjDBaL8a"` Fp` 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEtgPv`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9t` _a &nO:NMIGK$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KMIGO:HQ <-H*,`N,Rpd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<Z0<NBLNurt=@:=A@=B NuHz(` NZbHz ?<&NN\Nu9 gNuW Nu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa a O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _a²G` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a~4Ae4v` VfANuHP0(R@kBad $I _aLIUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `PanAf` VNuag`af`ae `ac` acpNuadpNua44@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `aUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuv@H|`z`z `z8.^n\Dn\@Hp tr=ED`*n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`fBp'rtaX n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|fH-|fL`Nu-HN\&?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `T np` 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`"d66NuE"e a ""d666NuE"e a "d6Nu <}aV$Ia `$XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha N0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`a`QNuHg"cc/ 0)a~ _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`.0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`p a2`p CFp`xa CF"p`jHza`Hyl"J`VB.@=|DNua.@FpAR@C`4 B.@=|DNuB.@a=GDgNup` a`aCF"E p`Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8a.L8 DBalL8O <jDFJEjDEFn ffAbtNu&8:ap`&8:a\` 246jDC C b H&<;)8<\:<aܶaHabR/@L&"NN @A C#P B?< NA\#/a?< NA\AU0N NuA#b R x hg3&}AC`g#P Nu?<"NNT @ 9}g!@ HzT?<&NN\3NuU#\Z4NuHz ?<&NN\NupACErJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3P Ni LHMO:|1R/9?< NAO:pdz`"/Ma,_NnNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a ؀.dfajNu.dfNudg"J9okfa4fp`d`/9dg/9xdg/9|NupA-H=@|p4aײS@Nu[2][Programmstop?][Stop|Cont]9tHHNu9v`aNf"_O:N"_O:HQ`6 9R^g"9RZgJ9vfga"AO:Np\B`G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAab8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`FaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaͨ `taT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`azNu"H YJQfNu YH瀀aHLP|HPGC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GFWfTL L-KA ` $I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`㴘؅X`$_  IaYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` nd$HJf-HS Nup"`HPa _a`QNua JH aL0Nua`4<H`@aL Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a8-IHQB0an _JNuz"-A=B|a-I`H.gZ <r4<?k"SWga>`TL8Ha`a< ~.$oo???? T i _ I S O L A V.: 3.3 / O8.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14D 55239 Gau-Odernheim*Deutsch032Nederlands049-----------------------2 Escape 001*722735372 8792 077706663000170023450666150001700234540076770300057077444807690701006712345147501164013530UIT?*Ja@J 028 114--------------2Nee@N 001*AUS?*ja@J 028 114--------------2nein@N 001* Als je weet, wat je wilt,kunnen wedoorgaan !* Wenn Du weit, was Du willst,knnen wirweiter machen!* tot uw dienst * servus **INFO023Regels019Tegenstander :1 Mens 050 Computer046Speelsterkte :1 1 002 109 2 003 110 3 004 111Speelstand :1Op nul zetten011 024 049 112Start031----------------2 Escape 001**INFO023Regeln019Mitspieler:1 Mensch 050 Computer046Spielstrke:1 1 002 109 2 003 110 3 004 111Spielstand:1zurcksetzen021Spielen031----------------2 Escape 001* Genoeg ? * Ja 001 036 028 114Nee049 057* Genug? *ja001 036 028 114 nein 049 057*De nederlandse vertaling is vanPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_ISOLA is 'public domain',loopt in alle 3 ST-resoluties en'heeft iets' tegen Linkvirussen.Het programme mag, nee mtverder gegeven worden - maarnatuurlijk uitsluitend kosteloos !Veel plezier ! De Auteuris*OK001 028 114 @O*Das Niederlndische ist vonPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_ISOLA ist 'public domain',luft in allen 3 ST-Auflsungenund hat 'was gegen Linkviren.Das Programm darf und sollweitergegeben werden - aberaber natrlich ausschlielichunverndert und kostenlos!Viel Spa! Der Autorist*OK001 028 114 @O*De speler dieaan de beurt isverplaatst zijn pionn stap in willekeurige richting, diagonaal mag ook.Daarn blokkeert hijeen veld naar keuzevoor zijn tegenstander.Maar let op :op dat veld kun je zelfook niet meer komen.Wie helemaal vast zit,heeft verloren.*Gesnapt !001 057 028 114 @G*Jeder Spieler bewegt abwechselnd seinen Stein in beliebiger Richtung(auch diagonal)um einen Schritt weiter.Anschlieend nimmt erdem Gegneran beliebiger Stelleein Feld weg,das er aber selbstauch nicht mehrbetreten kann.Wer festsitzt,hat verloren.*Alles klar !001 057 028 114 @A*1 Jij hebt gewonnen.Proficiat !*2Wat had je weer een hoop geluk ! *3 Ik heb zeker n momentje niet goed opgelet ...*4 Neem me niet kwalijk dat ik verloren heb.*5 Bah! Jij speelt volgens mij alleen om te winnen !*6Waarom laat je mij ook niet een keer winnen ? *7 Dat vind ik niet eerlijk ! Jij wint gewoon.*8Ja, met veel geluk kan iedern winnen ! *9Maar eigenlijk had ik toch bijna gewonnen ... *10Moet je weer per se winnen ? *11Ik heb verloren ! Jij was gewoon beter. *12 Ja, op deze manier is er geen lol meer aan !*13Ik weet niet zeker, of ik z nog wel verder wil spelen. *14 Ik begin te denken, dat je mij gewoon niet wilt laten winnen.*15Okay, jij mag ook wel een keertje winnen. *16Ik was bang, dat je zou gaan huilen, als je niet zou winnen. *17 Als jij gespeeld had zoals ik, dan had je ook verloren.*18Je hebt geluk, dat ik vandaag niet zo in vorm ben ! *1Du hast(leider) gewonnen! *2Da hast Du aber viel Glck gehabt *3 Ich hab wohl einen Moment nicht richtig aufgepat*4Entschuldige bitte, da ich verloren habe. *5Pfui!Du spielst ja um zu gewinnen. *6Warum lt Du mich nicht mal gewinnen? *7 Das find ich aber unfair! Du gewinnst ja einfach.*8Na mit viel Glck kann ja jeder gewinnen! *9 Eigentlich htte ich ja fast gewonnen.*10 Mut Du unbedingt gewinnen?*11 Du verlierst wohl nicht gern?*12 Du verdirbst einem ja jeden Spa!*13Ich frage mich,ob ich mit Dir noch spielen soll. *14 Ich glaube, Du willst mich nicht gewinnen lassen.*15 Na gut, Du mut ja auch mal gewinnen.*16Ich konnte Dir einfach nicht wehtun. *17 Httest Du wie ich gespielt, httest Du auch verloren.*18 Du hast Glck, da es mir heut' nicht so gut geht.*1Hoera ! Jij hebt verloren ! *2 Dat wist ik van te voren al dat jij zou verliezen.*3Had jij soms gedacht dat je kon winnen ?!? *4Sorry, volgende beter. *5 Dacht je soms ... ? Mooi niet !*6Volhouden, jij wint ook nog wel een keer ! *7Zo, daar heb je wel je buik van vol h !? *8 Ja, als je z speelt, win ik natuurlijk.*9 Je doet toch nog wel mee ? *10 Volgende keer verlies ik, misschien ...*1Hurra! Du hast verloren! *2 Das war mir klar, da Du verlierst.*3Hast Du etwas anderes erwartet? *4War doch klar, da ich gewinne. *5 Du hast wohl gedacht..? War aber nicht!*6 Wolltest Du etwa gewinnen ???*7 Na, das ging wohl in die Hose!?*8 Ja, wenn Du so spielst, gewinne ich natrlich.*9Hat da einer von uns etwa nicht aufgepat? *10 Du mut mich auch mal verlieren lassen.*[3][ | Sorry, only| | ST-resolutions | ][ OK ]010203040506070809101112131415161718[3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP]Verder@V 001 028 114 057Weiter@W 001 028 114 057SpelregelsSpielregelnESC : Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  *$dz  r$8,>*2,0 N @Vv^ R8 6 ~r&  &r8 pv.JnR8 fR@ "* @\(."4R(, ,r8r ,T  8 *F f((@42D>$ 8 $@& $x^ 6 "fV.. 1".. TI_MUSESRC1#TI_MUSEPRG TGBә. 1#.. 1"HIG_1 INL $HIG_2 INL %HIG_3 INL &LOW_1 INL 'LOW_2 INL (LOW_3 INL )MUSIK INL *<TI_MUSELST L+X<6?^;7u=wf6f5W^Uf6fUu=uV UU_UU UW[UxV\ì\>zV<=W>z㫆 VUêWUUU? ]Ն_W?W_Ϟ8?8??WWՍ\돎x{}?~<6?;ǀ6qx<8>x ? ? >Ϟ8?8??ፌ8qpy=~<6>8  > 8 8????x|yy<y<y  <<yx>>?>?|xx|0a8|~rs>rs>rsrsrsrs88888888GGXX44WWqq??((((??((((?!x| n Fn??!!qq q??$$??H>Hppp H>H>H""?"ppp KKK@A@???RRR,,?,hhh88888888????????????qqq???????????sss????         ' === 7 INLINEs in pre_set === prg_label: DATA " T i _ M U S E" DATA " alias RATTE" DATA " ( public domain )" DATA DATA " V: 1.3 Rudolf Tiemann" DATA " Tel.: O6733-62O5" DATA " Donnersbergstr. 14" DATA " O6.12.91 W-D 65O9 Gau-Odernheim" DATA DATA "Gestatten Sie mir einige Anmerkungen" DATA "zu dem Public-Domain-Programm RATTE:" DATA " Dieses schne Spiel luft leider" DATA "nicht auf dem Schwarz-Wei-Monitor und" DATA "mit dem 1.4er TOS und bringt auerdem" DATA "stolze 333 Kilo auf die Waage." DATA DATA " Deshalb gibt es nun die 'Ti_MUSE'." DATA "Die sind nicht nur leichter, sondern" DATA "tummeln sich auch in 'low' und 'high'" DATA "und allen Betriebssystemen und haben" DATA "auerdem noch etwas gegen Linkviren." DATA "( Falls sich da mal was anhngt," DATA " wird es gleich wieder abgenagt. )" DATA DATA " Das Programm ist in GfA-BASIC 3.0" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden - aber" DATA "natrlich ausschlielich kostenlos!" DATA DATA " Und damit es auch kostenlos bleibt," DATA "schicken Sie dem Autor bitte keine(!)" DATA "Muse." DATA " Viel Spa!" DATA DATA * m_auswahl: DATA 4,"  " DATA 3," -Info " DATA 2," " DATA 3,1 DATA 3,2 DATA 3,3 DATA 3,4 DATA 3,5 DATA 3,6 DATA 4, DATA 4,Ti_MUSE DATA 3, Spielregeln DATA 2," " DATA 3, Handicap DATA 2," " DATA 3, spielen DATA 2," " DATA 3," == AUSGANG == " DATA 4, DATA 4,* spl_label: DATA "Eine Museplage droht - deshalb mssen" DATA "die lieben kleinen Nager in die Falle!" DATA DATA "Das geht ganz einfach ( denkt man )." DATA "Zuerst macht man zwei, drei oder vier" DATA "Felder frei. -" DATA " Dann lt man die Muse tanzen." DATA "Wie weit eine Maus springen kann und" DATA "mu(!), steht jeweils vor der Zeile." DATA "Die Richtung, ob horizontal, vertikal" DATA "oder diagonal, kann man selbst whlen," DATA "soweit Platz ist." DATA " Nach dem Sprung sitzt die Maus fest," DATA "aber hoffentlich nicht im Weg. Denn," DATA "erst wenn alle Muse gefangen sind," DATA "ist die Museplage gebannt." DATA " Hilfen gibt es nicht." DATA "Dafr kann man aber, wenn man sich mal" DATA "'verhopst' hat, beliebig viele Hopser" DATA "zurck oder auch wieder weiter gehen." DATA " Die Bedienung erfolgt natrlich mit" DATA "der Maus und ist ganz einfach:" DATA " Die linke Taste greift einen Nager" DATA "und setzt ihn auch wieder ab." DATA " Landet er auf einem erlaubten Ziel," DATA "schnappt die Falle zu. Andernfalls" DATA "kehrt er an seinen alten Platz zurck." DATA " Die rechte Taste lt einen gerade" DATA "'ergriffenen' Nager ebenfalls an den" DATA "alten Platz zurckspringen." DATA " ---" DATA * ' $%3,$*%,$S%,$S<,$E#,$B+,$P>,$C+ ' @pre_set @set_menu DEFMOUSE 0 @check(1) ' neu_start: ON ERROR GOSUB shit @menu_ein DO ON MENU 500 LOOP END ' PROCEDURE pre_set !INLINE: 6 Nager + Musik LOCAL hig1%,hig2%,hig3%,low1%,low2%,low3%,rat.len&,frei%,al$ ' INLINE hig1%,446 INLINE hig2%,446 INLINE hig3%,446 INLINE low1%,454 INLINE low2%,454 INLINE low3%,454 INLINE musik%,60 ' MENU KILL CLS SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus @test_linkvirus h.max&=WORK_OUT(0) v.max&=WORK_OUT(1) IF h.max&=639 AND v.max&=399 alf&=2 rat.len&=446 ELSE IF h.max&=319 AND v.max&=199 alf&=0 rat.len&=454 ELSE al$="Dieses Programm luft nur | in niedriger oder hoher" al$=al$+"| Auflsung| " @melde(al$) END ENDIF DEFMOUSE 2 SHOWM @get_palette(top.pal$) !Farbpalette des Desktop retten CLIP 0,0,h.max&+1,v.max&+1 !Clipping richtig setzen rat.1$=SPACE$(rat.len&) rat.2$=SPACE$(rat.len&) rat.3$=SPACE$(rat.len&) IF alf&=2 BMOVE hig1%,V:rat.1$,rat.len& BMOVE hig2%,V:rat.2$,rat.len& BMOVE hig3%,V:rat.3$,rat.len& VSETCOLOR 0,7,7,7 !wei ELSE BMOVE low1%,V:rat.1$,rat.len& BMOVE low2%,V:rat.2$,rat.len& BMOVE low3%,V:rat.3$,rat.len& VSETCOLOR 0,6,6,6 !dunkelwei VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,3,4,5 !blaugrau VSETCOLOR 4,7,7,7 !wei VSETCOLOR 6,4,4,4 !grau ENDIF hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor h.mid&=(h.max&+1)\2 kz.y&=7*vf& !y Kopfzeile kl.y&=kz.y&+vf&+2 !y Kopflinie zl.h&=8*vf&+2 !Zeilenhhe zl.max&=(v.max&+1)\zl.h&-2 sp.max&=(h.max&+1)\8 !Textspalten zl.ofs&=12*vf&-1 !Zeilenoffset BOUNDARY 1 COLOR 1 DEFLINE 1,1,0,0 DEFFILL 1,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 ' nun der Fusselkram sp.z&=6 !Spaltenzahl zl.z&=6 !Zeilenzahl tl.z&=sp.z&*zl.z& !Teilezahl rat.br&=30*hf& rat.ho&=27*vf& rat.b2&=rat.br&\2 !dto. halb rat.h2&=rat.ho&\2 git.br&=10*hf& h.di&=2*hf& v.di&=2*vf& tl.br&=rat.br&+h.di&*2 tl.ho&=rat.ho&+v.di&*2 f.br&=tl.br&*sp.z&-h.di& f.ho&=tl.ho&*zl.z&-v.di& f.li&=rat.br& f.re&=f.li&+f.br& f.ob&=(v.max&-kl.y&-f.ho&+1)\2+kl.y&+vf& f.un&=f.ob&+f.ho& f.xof&=f.li&-tl.br& f.yof&=f.ob&-tl.ho& b.li&=f.re&+6*hf& b.re&=h.max&-6*hf& b.br&=b.re&-b.li& b.ho&=rat.ho&-2*v.di& DIM feld&(tl.z&),x&(tl.z&),y&(tl.z&),von&(tl.z&),nach&(tl.z&) DIM weite&(zl.z&) DIM b.ob&(6),b.un&(6) !Buttons pos&=1 zl&=0 yf&=f.ob&-tl.ho& FOR pos&=1 TO tl.z& IF pos& MOD sp.z&=1 !nchste Zeile INC zl& xf&=f.li& ADD yf&,tl.ho& b.ob&(zl&)=yf&+v.di& b.un&(zl&)=yf&+b.ho& ELSE !nchste Spalte ADD xf&,tl.br& ENDIF x&(pos&)=xf& y&(pos&)=yf& NEXT pos& weite&(1)=1 weite&(2)=4 weite&(3)=2 weite&(4)=1 weite&(5)=3 weite&(6)=1 handicap&=4 leer&=0 !liest sich besser besetzt&=1 gefangen&=2 frei%=FRE(0) IF frei%>100000 RESERVE 100000 ENDIF RETURN PROCEDURE test_linkvirus LOCAL ur.pfad$,prg$,al$,d.l%,prg.len% prg.len%=36770 ur.pfad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0)+"\" prg$=ur.pfad$+"TI_MUSE.PRG" IF EXIST(prg$) OPEN "I",#1,prg$ d.l%=LOF(#1) CLOSE #1 IF d.l%<>prg.len% al$=" | Linkvirus | killen !?|" ALERT 3,al$,1,"ja| nein ",antw& IF antw&=2 END ELSE @virus_killen ENDIF ENDIF ENDIF RETURN PROCEDURE virus_killen LOCAL prg.adr% DEFMOUSE 2 SHOWM prg.adr%=MALLOC(prg.len%) IF prg.adr% OPEN "I",#1,prg$ BGET #1,prg.adr%,prg.len% CLOSE #1 BSAVE prg$,prg.adr%,prg.len% @mem_free(prg.adr%) ELSE @melde("Speicher-Fehler!") ENDIF RETURN PROCEDURE mem_free(VAR adr%) ON ERROR !aus IF adr%>0 adr%=MFREE(adr%) ENDIF IF adr% @melde("Speicher-Fehler!") ENDIF ON ERROR GOSUB shit RETURN PROCEDURE get_palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE ausgang ON ERROR !damit's ein Ende hat WAVE 0,0 !Ruhe SPOKE &H484,BSET(PEEK(&H484),2) !Klingel ein ~XBIOS(6,L:V:top.pal$) !Palette des Desktop restaurieren RESERVE @no.but CLS EDIT RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN PROCEDURE set_menu men.max&=18 DIM men$(men.max&+2) DIM abel&(men.max&+2) RESTORE m_auswahl ni&=-1 REPEAT INC ni& READ abel&(ni&),men$(ni&) UNTIL men$(ni&)="*" men$(ni&)="" RETURN PROCEDURE shit ON ERROR !aus SELECT ERR CASE 8 ERASE z$() @melde("Der Speicher ist in der | Hose - und die ist voll") CASE 102 TO 109 ON ERROR !aus @melde(" "+STR$(ERR-100)+" Bmbchen | - wie nett") @ausgang DEFAULT @melde(" Leider ist ein Fehler | (Nr. "+STR$(ERR)+") aufgetreten") ENDSELECT RESUME neu_start RETURN ' PROCEDURE menu_ein @clean MENU men$() MENU 2,2 FOR ni&=11 TO men.max& MENU ni&,abel&(ni&) NEXT ni& DEFMOUSE 0 ON MENU GOSUB men RETURN PROCEDURE clean ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE men @check(MENU(0)) @menu_ein RETURN PROCEDURE check(mnr&) MENU OFF MENU KILL SELECT mnr& CASE 1 @prg_info CASE 11 @spielregeln CASE 13 @handicap CASE 15 @spielen CASE 17 @ausgang ENDSELECT RETURN PROCEDURE prg_info LOCAL h$ h$="-Info" RESTORE prg_label @zeig_info @clean RETURN PROCEDURE zeig_info LOCAL zl.zahl&,zl.rest& DIM z$(50) REPEAT INC zl.zahl& READ z$(zl.zahl&) UNTIL z$(zl.zahl&)="*" INSERT z$(0)="" @text_edit(h$,zl.zahl&,z$()) ERASE z$() RETURN PROCEDURE text_edit(VAR tit$,ed.max&,ed$()) LOCAL x0r&,x3l&,x3r&,x5l&,x5r&,xtl&,xtr&,pl&,pr&,po&,pu& LOCAL zl.ofs&,ed.ofs&,ed.pg&,ed.dn&,ed.x&,y.di&,y.ol&,y.ul&,l& LOCAL leer$,part$ @ed_set REPEAT @get_tom IF mk& @ed_maus ELSE @ed_taste ENDIF UNTIL esc! RETURN PROCEDURE ed_set ed.pg&=MIN(zl.max&,ed.max&) ed.dn&=ed.max&-ed.pg& ed.x&=h.mid&-152 pl&=ed.x&-8*hf& leer$=SPACE$(38) zl.ofs&=(v.max&-kl.y&-zl.max&*zl.h&)\2+kl.y&-vf&-1 y.ol&=zl.ofs& pr&=h.max&-pl& po&=zl.ofs&+vf&+1 pu&=po&+ed.pg&*zl.h&-1 y.ul&=pu&+2*vf&+1 y.di&=zl.h&-vf&-1 @set_titel(tit$) GRAPHMODE 4 TEXT 1,kz.y&,SPACE$(3+2*hf&) GRAPHMODE 3 TEXT 8*hf&+1,kz.y&,"ESC" GRAPHMODE 1 l&=LEN(tit$) xal&=56+8*hf& x0r&=26+16*hf& x3l&=50*hf&*hf& x3r&=x3l&+16+16*hf& xtl&=h.mid&-l&*4-8 xtr&=h.max&-xtl& x5l&=h.max&-x3r& x5r&=h.max&-x3l& IF ed.max&>ed.pg& @set_buttons ENDIF @clean @ed_seite esc!=FALSE RETURN PROCEDURE set_titel(h$) LOCAL l&,p& @white_box(-1,kl.y&) l&=LEN(h$) p&=h.mid&-l&*4 GRAPHMODE 4 TEXT p&-8,kz.y&,SPACE$(l&+2) GRAPHMODE 3 TEXT p&,kz.y&,h$ GRAPHMODE 1 RETURN PROCEDURE white_box(o&,u&) DEFFILL 1,0 PBOX -1,o&,h.max&+1,u& RETURN PROCEDURE set_buttons GRAPHMODE 4 TEXT x3l&,kz.y&,SPACE$(2+2*hf&) TEXT x5l&,kz.y&,SPACE$(2+2*hf&) GRAPHMODE 3 TEXT x3l&+4+8*hf&,kz.y&,"" TEXT x5l&+4+8*hf&,kz.y&,"" GRAPHMODE 1 RETURN PROCEDURE get_tom REPEAT MOUSE mx&,my&,mk& KEYTEST key% UNTIL mk& OR key% IF key% shift!=BTST(key%,24) OR BTST(key%,25) scan|=AND(key%,&HFF0000)\&HFFFF mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE ed_maus IF my&x3l& AND mx&1) ELSE IF mx&>xtl& AND mx&x5l& AND mx&1) ENDIF RETURN PROCEDURE ed_taste SELECT scan| CASE 1 esc!=TRUE CASE 71 @ed_home CASE 72 @ed_up(shift!) CASE 80 @ed_down(shift!) ENDSELECT @no.key RETURN PROCEDURE ed_home IF shift! IF ed.ofs&0 ed.ofs&=0 @ed_seite ENDIF ENDIF RETURN PROCEDURE ed_up(seite!) IF ed.ofs&>0 IF seite! di&=MIN(ed.pg&-1,ed.ofs&) SUB ed.ofs&,di& @ed_seite ELSE DEC ed.ofs& GET pl&,po&,pr&,pu&-zl.h&,part$ PUT pl&,po&+zl.h&,part$ yi&=zl.ofs&+zl.h& TEXT ed.x&,yi&,leer$ TEXT ed.x&,yi&,ed$(ed.ofs&+1) SHOWM ENDIF ENDIF @no.key RETURN PROCEDURE ed_down(seite!) IF ed.ofs&f.li& AND mx&f.ob& AND my&b.li& AND mx&b.ob&(1) AND my&b.ob&(3) AND my&b.ob&(5) AND my&0 DEC hops& v&=von&(hops&) n&=nach&(hops&) @flick_flack(n&,2) PUT x&(n&),y&(n&),rat.0$ @flick_flack(v&,2) PUT x&(v&),y&(v&),rat.1$ feld&(v&)=besetzt& feld&(n&)=leer& INC rest& @zeig_stand SHOWM ENDIF RETURN PROCEDURE geh_weiter IF hops&ax& OR my&<>ay& PUT ax&-rat.b2&,ay&-rat.h2&,rat.2$,6 !alt lschen PUT mx&-rat.b2&,my&-rat.h2&,rat.2$,6 !neu zeigen ax&=mx& ay&=my& ENDIF WEND SHOWM RETURN PROCEDURE ablegen @get_position IF position! AND feld&(pos&)=leer& @test_position IF position! @falle_zu ELSE @set_back ENDIF ENDIF RETURN PROCEDURE test_position position!=FALSE dist&=weite&(alt.zl&) sp.di&=ABS(sp&-alt.sp&) zl.di&=ABS(zl&-alt.zl&) IF zl&=alt.zl& AND sp.di&=dist& position!=TRUE ELSE IF sp&=alt.sp& AND zl.di&=dist& position!=TRUE ELSE IF sp.di&=zl.di& AND zl.di&=dist& position!=TRUE ENDIF RETURN PROCEDURE falle_zu LOCAL d& PUT ax&-rat.b2&,ay&-rat.h2&,rat.2$,6 !alt lschen @flick_flack(pos&,4) PUT x&(pos&),y&(pos&),rat.1$,3 !setzen nach&(hops&)=pos& INC hops& x3&=x&(pos&)+rat.b2&-hf& x4&=x&(pos&)+rat.b2&+hf& x1&=x3&-git.br& x2&=x4&-git.br& x5&=x3&+git.br& x6&=x4&+git.br& yo&=y&(pos&) un&=yo&+rat.ho& yu&=yo& WAVE 2569,1,15,800 REPEAT !Gitter zu ADD d&,vf& ADD yu&,d& yu&=MIN(yu&,un&) PBOX x1&,yo&,x2&,yu& PBOX x3&,yo&,x4&,yu& PBOX x5&,yo&,x6&,yu& PAUSE 1 UNTIL yu&=un& WAVE 0,0 IF rat.4$="" GET x&(pos&),y&(pos&),x&(pos&)+rat.br&,y&(pos&)+rat.ho&,rat.4$ ENDIF feld&(pos&)=gefangen& select&=leer& DEC rest& INC zuege& IF zuege&>hops& zuege&=hops& ENDIF IF rest&=0 genug!=TRUE ENDIF @zeig_stand SHOWM @no.but RETURN PROCEDURE flick_flack(p&,z&) FOR ni&=1 TO z& PUT x&(p&),y&(p&),rat.3$,3 PAUSE 3 PUT x&(p&),y&(p&),rat.2$,3 PAUSE 3 NEXT ni& RETURN PROCEDURE set_back PUT ax&-rat.b2&,ay&-rat.h2&,rat.2$,6 !alt lschen @flick_flack(alt.pos&,2) PUT x&(alt.pos&),y&(alt.pos&),rat.1$,3 !und zurck SWAP select&,feld&(alt.pos&) @no.but RETURN PROCEDURE danksagung LOCAL h$,alle& h$="Danksagung" alle&=tl.z&-handicap& SELECT rest& CASE 0 @mach_musik RESTORE rest_0 CASE 1 RESTORE rest_1 CASE 2 TO 4 RESTORE rest_wenige CASE 5 TO 10 RESTORE rest_etliche CASE alle& RESTORE rest_alle DEFAULT RESTORE rest_viele ENDSELECT @zeig_info @clean RETURN PROCEDURE mach_musik ~XBIOS(32,L:musik%) PAUSE 110 SOUND 1,0 RETURN rest_0: DATA DATA " Vielen Dank lieber Musejger!" DATA DATA DATA "Durch Deinen unermdlichen Einsatz" DATA "hast Du uns endgltig von einer sehr" DATA "groen Plage befreit." DATA DATA "Aber, was machen wir jetzt mit all den" DATA "Musen?" DATA DATA "Wie ich die Biester kenne, nagen die" DATA "doch schon lngst an ihren Kfigen." DATA DATA DATA DATA " Und Du sitzt da und tust nichts!" DATA DATA DATA * rest_1: DATA DATA " Vielen Dank lieber Musejger!" DATA DATA DATA "Du hast uns von einer gewaltigen Plage" DATA "befreit. - Wunderbar!" DATA DATA DATA " Aber halt! - Was seh ich?" DATA DATA " Da ist ja noch ein Muschen frei." DATA DATA "Und das ist ausgerechnet auch noch ein" DATA "trchtiges Weibchen!" DATA DATA "Na dann kann ja die ganze Jagd gleich" DATA "wieder von vorne beginnen." DATA DATA DATA * rest_wenige: DATA DATA " Vielen Dank lieber Musejger!" DATA DATA DATA " Du hast uns wirklich sehr geholfen." DATA DATA DATA "Schade, da da noch ein paar Muschen" DATA "frei herumlaufen." DATA DATA "Wie ich die Viecher kenne, werden sie" DATA "schon bald wieder ihre ursprngliche" DATA "Zahl erreicht haben." DATA DATA DATA "Willst Du nicht noch ein Bichen bei" DATA "der Jagd helfen?!" DATA DATA DATA * rest_etliche: DATA DATA " Vielen Dank lieber Musejger!" DATA DATA DATA " Du hast uns ganz schn geholfen." DATA DATA DATA "Aber da laufen doch noch etliche Muse" DATA "frei herum." DATA DATA "Wenn das so bleibt, sehe ich dsteren" DATA "Zeiten entgegen." DATA DATA " Also! - Wie wrs?" DATA DATA "Willst Du nicht noch ein Bichen auf" DATA "die Musejagd gehen?!" DATA DATA DATA * rest_viele: DATA DATA " Vielen Dank lieber Musejger!" DATA DATA DATA "Leider waren Deine Bemhungen nicht so" DATA "sehr erfolgreich." DATA DATA DATA "Da laufen einfach noch zu viele von" DATA "den lieben kleinen Nagern frei herum." DATA DATA "Ich frchte, im Augenblick bist Du fr" DATA "Hameln noch nicht fit genug." DATA DATA "Aber was nicht ist, das kann ja noch" DATA "werden, und inzwischen kannst Du die" DATA "Musejagd erst mal weiter ben." DATA DATA DATA * rest_alle: DATA DATA " Vielen Dank lieber Musejger!???" DATA DATA DATA "Du hast wohl gar keine Lust, Dich mit" DATA "diesen lstigen Nagern abzugeben?" DATA DATA DATA " Schade!" DATA DATA DATA " Aber wie Du willst." DATA DATA DATA DATA "Du wirst es schon merken, wenn sie Dir" DATA "die Haare vom Kopf fressen." DATA DATA DATA * ' ' ** Ti ** `u"@AONBalakN`N,NN N NpaPEaihNpNNaFraafAa]LA퀔a]pat;@pat;@0-R@;@0-R@;@ mWHH/ mWHHg;|`f m@WHH/ mȁWHHgBm`BEp* maWE-p3a]"maM"maW?</-/-N faE``Ta`A,a\A0a\A4a\A8a\AaUT0-U@f^A2 "@$m0H$m, Ra@NA8 "@$m0H$m0 Ra@4A> "@$m0H$m4 Ra@Hxw?<NN\`A2 "@$m0H$m8 Ra?A8 "@$m0H$m< Ra?A> "@$m0H$m@ Ra?Hxf?<NN\Hy?<NN\Hy?<NN\HyE?<NN\Hyw?<NN\HyD?<NN\;|;|0-;@0-;@0-;@0-HjR;@0-HjR;@0- ;@0-HЀ;@0-HЀ;@0-HЀm;@0-HЀm;@0-֐m;@0-ؐm;@;mȁ0-m;@0-H2-H4mD&<:<a4&<x:<aV/??0-a68:&a4T/??0-a6aR8:&a48a5";@0-m;@0-ސm;@0-m;@0-m;@0-0mD;@0-m;@0-HЀ0mʐD;@0-H~ARai40-H~AXai$0-H~A^ai0-H~Adai0-H~Ajah0-H~Apahp~Avahp~A|ah;|Bm0-m;@;|0-aP`0-H2-Ha;dSfLRm;mށ0-m0-H0mЈ8-H mv؄1H0-H0mЈ8-H m|؄1H`0-m0-H8-H mX؄1H0-H8-H m^؄1HRm0-ko^Yx mp؄1Hx mp؄1Hx mp؄1Hx mp؄1Hx mp؄1Hx mp؄1H;|Bm;|;|aXp$mD$$mD o <a]\N Qn`YaYAaT maWBm?$mH ЀR"p maXfaU$mL$$mL?*$mH?*?<NN\$mHR$mH o]`XaXAPaTATaTAaTE^a:Bm mak0-U@g>;| m0(aNl`p2-H maWaU@$mPђRm0-koYRm m oEa:T mak` maZxa1@$mT$$mT $mPgjE`paUF/$mP a1aX"_aEEtpaF"maNEzp;aU"maD"maN?</-HmN fN`WlaWAXaSA\aSA`aSAdaSAhaSAaSpEa9 maj maYa0l$m\$ majr maYa0R$m`$aj @ ( $md$aj @ ($mh$$m\ $mdVHH/$m` $mhVHHgEpaT/$md a0aW"_aC"maMEpaS"maC/$mh a0aW|"_aC"maMEpaS"maC"maM?</-HmN fN`VaV`A퀤aQA aQxA퀠aQpaGa>N m $m2ai$m4N `UaVN N `UaVHyNNX @p!@`UaU` ptraE\ae;A;B ;C 0- faff`UraU0-U@f praG~`vptraG^vptraGRvptraGFvptraG:vptraG.vptraG"vptraGvptraG vptraFvptr aFvptr aFvptr aFvptr aFvptr aFvptr aFvptraF`TaTAaQA퀨aPA퀬aP?-N m0($m4$m0gX$m0H0mD$m4paFp$mRaU4-r$mRaJpaE m4-$m2aJpaE`SaTDA퀰aON $m06-traC`SaTpaEpaEpaEpaE"paE,paE*paDpaDpraDpaE*paE(paE&0-SaEaE$`SraSAaOA퀨aOpa[a`fac"maJp[aQ\"maT$m4$m0H maRBEpaB"maJ^paB?</-Hma0-S@f a```N`RaS&Ea5$Bg?-HyHxHxN`RaRaZpaBXprae <a:"<a^HmDaHaVaaKda7`RjaRE a4HmHmNAtabAzabA큀abA킂ab0-H~Ata_0-H~Aza_0-H~A큀a_0-H~A킂a_E a46HmHmHmtHmzHmHmN2`QaRA퀸aM(A퀴aM AaMAaM$m4$mRR mad mp*a@Fg$m4$mRR mad mad mp*a@g`QNaQA(aLA퀌aLA퀈aLA퀄aLA퀸aLA퀴aLA퀜aM$AaMBBm`Rm8-H"m"QacadR$m0mn mad>Bm`Rm8-H"m"Qacad8-H"m"Qacad 8-H"m"Qac0($m4$m0S@o8-H m( P؄BpH`J$m0S@f,8-H"m"Qac`aRa)8-H m( P؄1H`8-H m( P؄1H$m0mnF`PaPVAaKvA(aKnA퀌aKfA퀈aK^A퀄aKVA퀸aKNA퀴aKFAaKbAaKZAxaKAtaKAaKBA퀼aK:AaKAaKAaKAaKAaKAaKAaKAaKvAaKAaKfAaK^AaKVAaKNA aKla8/-/-N./-/-N."m m2NB?`0-HjV$mR$m0a(@/??0-a(2&<x:<aH8:&a%/??0-a( aDr8:&a%a&$m4Bm`Rm0-$mR8-H"m"Qa`40($m4$m0gT8-H m( P؄00Ha>a>$m0H$m0RD$m48-H"m"Qa_$m4$m2aCv$m0mnp$m0a'N/??0-a'@&<x:<aG$8:&a$/??0-a'aC8:&a$a%$m4pa>pa=pa=$mBR$mBRajpa>4a5&?$m8H"m"Qa\ /p@aG /AJaN"_a62"_aJJg "m m2$mRR$m0$mаR]HH/$m0^HHgT`HaHAlaDRA퀴aD"AaDAxaDbAtaDZAaDA퀼aCAaDnAaDfAaD^AaDVAaDNAaDFA$aDdAaD6AaD.AaD&AaDA aDaF0-$m$m4$mXR0-$m2$m4RҊ$m4$mtg0-H$m0RJjR$mR$mxg0-H$m0RJjR$mR$m0$mR$m0$mR`EaEA|aAa0-$m0RDSrl@$m40-$m0RDrl@$m40-$m0RЈ2-Ho@$m40-$m0RЈ2-Ho@$m4$m|g( m $m8H$m:H$m<H$m>Ha92$m0$m6$m4$m2a40-HЀ$m0RЈ/0-HЀ$m0RЈ/0-HЀ$m0RD/0-HЀ$m0RD&$"a4vpa68`DfaDApa@Aa@dAa@\ax$mp l $mp$.a,$mpђaT$m4aT$m4?`& @g @g @g @m @o @ g`-pgH`BBaBEa$HmHmah0-H~A큆aO0-H~A큌aO0-H~A큒aO0-H~A킈aOEa$0HmHmHmHmHmHmavBg?-HyHyHmHmHmHmHmHmHmaA큆aR,A큌aR$A큒aRA킈aR0-S@WHHVp`A\aA;|p4mЊ2-Hf 8-H"mzaT@/pa?Br"_aT`8-H"mzaT /p a?"r"_aTRm0-_@o`@aA8a0-U@fpa2Dpa2Npa2L` pa20pa2:0-6-tra0pa2pa2;|0-a6`p8-H mX؄00Hm;@8-H m^؄00Hm;@0-2-4mҊA;@0-2-4mҊA;@ 0- 6-4-2-a0 Rm0-koYpa1pa1vpa1;|0-a6"`d8-H mX؄4pHHR8-H m^؄4pHHR8-H mX؄00HH0mЈ/8-H m^؄00HH0mЈ&$"a/xRm0-koYx mX؄4pHHRx m^؄4pHHRx mX؄00HH0mЈ/x m^؄00HH0mЈ/AP(*,.a3pa0pa0pa0;|0-a58`48-H mX؄4pHHR8-H m^؄4pHHRA2$"a1jRm0-koY0-;@"x mX؄00HaX/??0-"aJa58:&a/??0-a.8:&aa;@$?-"x mv؄?0H?-$?-x mp؄00Haa?f/N(?-"x mv؄?0H?-$?-x mp؄00Haa?2/N(?-"x mv؄?0H?-$?-x mp؄00Haa>/N(?-"x mv؄?0H?-$?-x mp؄00HaXa>/N(?-"x mv؄?0H?-$?-x mp؄00Ha$a>/N(?-"x mv؄?0H?-$?-x mp؄00Haa>b/N(?-x mv؄?0H?-?-Epa:/N(?-x mv؄?0H?-?-Epa:f/N(?-x mv؄?0H?-?-Epa::/N(;mƂ&N0E pa:/aAVa3a%`0-H0m4JnD;@@0-4mWHH/0-WHHgPr`N0-6m.WHH/0-WHH/0-$"apa7$m8H mX؄4pHHR$m8H m^؄4pHHRpA8$"apa7Rm0-kozY`+0a+vpA8$m4H4mΔ$m2H4m̒a?-2?<a8-2H mX؄4pHHR8-2H m^؄4pHHRpA2$"aVA0/8-2H mR؄AH"_002a`*a*Ea HmHma0-H~A큆a8H0-H~A큌a880-H~A큒a8(0-H~A킈a8(Ea HmHmHmHmHmHmaBg?-HyHyHmHmHmHmHmHmHmaA큆a:A큌a:A큒a:|A킈a:t0-S@WHHVq`)a*A$a%0-Ɛm$m$40-&fN9LN8HmHma0-H~A큆a7D0-H~A큌a740-H~A큒a7$0-H~A킈a7$N8HmHmHmHmHmHmaEzp a&/a|Bg?-Hy?-?<HmHmHmHmHmHmHmaA큆a9xA큌a9pA큒a9hA킈a9``(a(0-&H`HE>a `hEba `\Ea `PEa `DE a `8Ea `,Jg @g @m @o @m @ o$m$Rg``(4a(z/-b?< NN\pna4pra:`(a `aVDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp` 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`Ra 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apE&gP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NM&I9vK$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KM&I9vO:HQ <-H*,`N,@d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<H0<NBLNurt=@:=A@=B NuHz(` NHHz ?<&NN\Nu9֪gNuW֪Nu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaaa O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJFkSFk4arQa`&HaFFaZQ&8*L/a,H܆jDBJ.:gtBn:Nu(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS a`QNu$Aa`QBNuHPHQ0(ika $I _arIUd4Id4Id$Id `$$$$Q _Jf,aBId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `,/ a$I> _aҲG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBat $I _a\IUd4Id4Id$Id `$$$$Q @JfNuNup `laSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `a~Af` VNuag`af`ae `ac` acpNuadpNuaD4@m4v` Vf@Nurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`8n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`tBp'rtaf n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a R]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|SH-|SL`Nu-HNJZ?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na222-IfHVMF,_Nup `T np`r 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"eaB"ep`&&6NuE "e a "d&&6NuE"e a"d66NuE"e a"d666NuE"e aƵ"d6Nu <}a$Ia `$XaH`a>HR?<NNT @"_ <}Nuvn\n^~Ha0 @xepw2AtE4*jDjHB t`0QTAtp =| D`2 24JBoRBk NugSBk` 24JBoCkNugCk`ad`QNuHg"cc/ 0)aB _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`^0@F@AJhg PLNu`>LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp`"NN @A C#P B?< NA\#l8/a?< NA\AC0N nNuA#m m x hg3&iAC`g#P Nu?<"NNT @ 9ig!@ HzT?<&NN\3NuC#lHhNuHz ?<&NN\NupAC,EmrJg" XX\QNuA,Cr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3m Ni LHM&O:|1R/9l8?< NAO:pdz`/M&a,_N NuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a؀.dfa฀jNu.dfNudg"J9 kfa4fp`تd`/9"dg/9dg/9NupAnp-H=@|p4aٔS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9@g"9@gJ9fga"AO:Np\B`ѸG06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`a*JANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`мJAkfgRer?DDЁaAaD8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`(aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaϊ `aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`a\Nu"H YJQfNu YH瀀aHLP|HPGvC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GvFWfTL L-KA `$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`f؅X`$_  IaYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` nd$HJf-HS Nup"`HPa _a6`QNua JH a$L0Nua`4<H`@a@L Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a-IHQB0aP _JNuz"-A=B|a-I` % ] <6?^;7u=wf6f5W^Uf6fUu=uV UU_UU UW[UxV\ì\>zV<=W>z㫆 VUêWUUU? ]Ն_W?W_Ϟ8?8??WWՍ\돎x{}?~<6?;ǀ6qx<8>x ? ? >Ϟ8?8??ፌ8qpy=~<6>8  > 8 8????x|yy<y<y  <<yx>>?>?|xx|0a8|~rs>rs>rsrsrsrs88888888GGXX44WWqq??((((??((((?!x| n Fn??!!qq q??$$??H>Hppp H>H>H""?"ppp KKK@A@???RRR,,?,hhh88888888????????????qqq???????????sss????         >< ~.$oo???? Ti_MUSE V.: 3.3 / O7.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14 D 55239 Gau-Odernheim *Aha!@~~*8486 30156 8892 servus**INFO@IRegeln@RBedienung@Bfreie Felder:1 2 @2 3 @3 4 @4---------------START@S 028 114===============Escape001*genuggemaust?*ja@J 028 114---------------nein@N 001*Eine Museplage droht - deshalbmssen die lieben kleinen Nagerin die Falle!Das geht ganz einfach (denkt man).Zuerst macht man zwei, dreioder vier Felder frei.Dann lt man die Muse tanzen.Wie weit eine Maus springen kann undmu(!), steht jeweils vor der Zeile.Ob horizontal, vertikal oderdiagonal, kann man selbst whlen,soweit Platz ist.Nach dem Sprung sitzt die Maus fest,aber hoffentlich nicht im Weg.Denn, erst wennalle Muse gefangen sind,ist die Museplage gebannt.Also dann ...*An die Arbeit!@~~*Die Bedienung erfolgt natrlich mitder Maus und ist ganz einfach:Die linke Taste greift einen Nagerund setzt ihn auch wieder ab.Landet er auf einem erlaubten Ziel,schnappt die Falle zu.Andernfalls kehrt er an seinenalten Platz zurck.Die rechte Taste lt einen gerade'ergriffenen' Nager ebenfalls anden alten Platz zurckspringen.Hilfen gibt es nicht.Dafr kann man aber,wenn man sich mal 'verhopst' hat,beliebig viele Hopser zurck oderauch wieder vorwrts gehen.Alles klar?Na dann ...*Viel Spa!@~~*weitermausen?*nein danke@N 001---------------ja bitte@J 028 114*Vielen Dank lieber Musejger!Durch Deinenunermdlichen Einsatzhast Du uns endgltigvon einer sehr groenPlage befreit.Aber,was machen wir jetztmit all den Musen?Wie ich die Biester kenne,nagen die doch schon lngstan ihren Kfigen.*Und Du sitzt da und tust nichts!@~~*Vielen Dank lieber Musejger!Du hast uns von einergewaltigen Plage befreit.Wunderbar!Aber halt! - Was seh ich?Da ist ja nochein Muschen frei.Und das ist ausgerechnetein trchtiges Weibchen!Na dann kann ja die ganze Jagdgleich wieder von vorne beginnen.*Auf geht's!@~~*Vielen Dank lieber Musejger!Du hast uns wirklichsehr geholfen.Schade, da da noch ein paarMuschen frei herumlaufen.Wie ich die Viecher kenne,werden sie schon bald wiederihre ursprnglich Zahlerreicht haben.Willst Du nicht noch ein Bichenbei der Jagd helfen ?!*Na klar!@~~*Vielen Dank lieber Musejger!Du hast uns ganz schn geholfen.Aber da laufendoch noch etlicheMuse frei herum.Wenn das so bleibt,sehe ich dsteren Zeiten etgegen.Also! - Wie wrs?Willst Du nicht noch ein Bichenauf die Musejagd gehen ?!*Na klar!@~~*Vielen Dank lieber Musejger!Leider waren Deine Bemhungennicht so sehr erfolgreich.Da laufen einfach noch zu vielevon den lieben kleinen Nagernfrei herum.Ich frchte, im Augenblickbist Du fr Hamelnnoch nicht fit genug.Aber was nicht ist,kann ja noch werden,und inzwischen kannst Du dieMusejagd erst mal weiter ben.*Prima!@~~*Vielen Dank lieber Musejger!???Du hast wohl gar keine Lust,Dich mit diesen lstigenNagern abzugeben?Schade!Aber wie Du willst.Du wirst es schon merken,wenn sie Dir die Haarevom Kopf fressen.*Na dann!@~~*[3][ | Dieses Programm| luft nur|in niedriger oder hoher | ][ ST-Auflsung ][3][ | Checksumme: | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP] T i _ M U S E A U S R E G E L N B E D I E N U N G Fang die Musenoch 1 Feld frei machen Felder frei machen Danksagung Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  (d B h2"(>*2(0R<Xf" *L@ ^ L>V44444 &VV&rV&r 2 $Zf( J>fN>j2 VR"v  *F f((@4D>$ 8 $@& $x^ 6 "fV.. 1i.. TI_SHOOTSRC1jTI_SHOOTPRG H?TI_SHOOTTOP uf. 1j.. 1iFETZ_0 INL ٱkJFETZ_1 INL ܱlJFETZ_2 INL ᱱmJFETZ_3 INL 山nJH_GUN INL OoJH_SHIP INL RpJM_GUN INL UqJM_SHIP INL WrJPFEIL_MSINL ZsJPLANET INL ]tJPLOP_0 INL +uJPLOP_1 INL .vJPLOP_2 INL 1wJPLOP_3 INL 4xJRAT_SPR INL xQyJSHOOT_SDINL pzTI_SHOOTLST {TREFF_SDINL ?0~~``|8 ||??>> `` .t.t\:\:880 0 `` ` ?.t\:?80 @`px|~xp`@?-?toZoWv+5T? @ `?$? (?%R    ; ?{!Zn; / o >" /= 8 ! #! H0 0  !"" % >< ~.$oo????   ' ============================================================ ' Ti_SHOOT ' ' sehr frei nach: Astro uit STart 06 (NL) ' und: Space Shot by Iban van der Wal (NL) ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' ' +++ 17 INLINEs in 'eingang' +++ ' D: ' Wenn das LST-File mit MERGE geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA "T i _ S H O O T" DATA DATA " V.: 3.1 / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA " Nederlands ","049" DATA "","" DATA "Escape","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_SHOOT.PRG" DATA "=45584 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren. ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren $I+ !Interrupt zulassen (hier wegen Sound!) ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ============================================================ ' @pre.set neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' ============================================================ ' PROCEDURE pre.set MENU KILL old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus pfad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pfad$,1)<>"\" pfad$=pfad$+"\" ENDIF alf&=XBIOS(4) hf&=2+(alf&<1) vf&=2+(alf&<2) h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& CLS h_br&=h_max&+1 v_ho&=v_max&+1 h_mid&=h_br&\2 v_mid&=v_ho&\2 awy&=0 dummy&=0 neu!=TRUE @set.1.wahl @set.wahl.x RETURN PROCEDURE set.1.wahl RESTORE 1.wahl !READ-Pointer setzen @test.wahl(ti_1&,pw_1&) !zhlen DIM ti_1$(ti_1&),pw_1$(pw_1&),pk_1$(pw_1&) !dimensionieren RESTORE 1.wahl !READ-Pointer zurcksetzen @read.wahl(ti_1&,pw_1&,ti_1$(),pw_1$(),pk_1$()) !Arrays fllen RETURN PROCEDURE set.wahl.x ' fr wechselnde Verwendung RESTORE wahl_x @test.wahl(ti_x&,pw_x&) DIM ti_x$(ti_x&),pw_x$(pw_x&),pk_x$(pw_x&) RESTORE wahl_x @read.wahl(ti_x&,pw_x&,ti_x$(),pw_x$(),pk_x$()) ' wahl_x: DATA ,,,,,,,,* DATA "","" DATA " DUMMY ","001 028 114 057" DATA "","" DATA *,"" DEFMOUSE 0 RETURN ' PROCEDURE 1.wahl SHOWM @pop.wahl(0,awy&,TRUE,TRUE,ti_1&,pw_1&,ti_1$(),pw_1$(),pk_1$(),wahl&) SELECT wahl& CASE 2,3 @aktion CASE 5 IF neu! @ausgang ELSE @frag.ob.aus ENDIF ENDSELECT RETURN PROCEDURE frag.ob.aus !~NL~D~ IF taal$="NL" ti_f$(2)=" Uitgeknalt ? " ELSE ti_f$(2)=" Genug geballert? " ENDIF @pop.wahl(0,awy&,TRUE,TRUE,ti_f&,pw_f&,ti_f$(),pw_f$(),pk_f$(),antw&) IF antw&=2 @nach.spiel @ausgang ELSE @also.weiter ENDIF RETURN PROCEDURE also.weiter !~NL~D~ IF taal$="NL" RESTORE also_weiter_nl ELSE RESTORE also_weiter_d ENDIF @pop.info(0,awy&,TRUE,TRUE,30) ' also_weiter_nl: DATA DATA " Als je weet, " DATA "wat je wilt," DATA "kunnen we" DATA "doorgaan !" DATA DATA * ' also_weiter_d: DATA DATA " Wenn Du weit, " DATA "was Du willst," DATA "knnen wir" DATA "weiter machen!" DATA DATA * RETURN PROCEDURE aktion IF wahl&=3 taal$="NL" ELSE taal$="D" ENDIF IF neu! ' nur beim ersten Durchgang ' alleen de eerste keer @test.virus !=> short.exit ? IF alf&=0 @geht.nicht !=> short.exit ! ENDIF @eingang neu!=FALSE ENDIF ' @set.wahl.frage @set.wahl.level @set.wahl.bonus @set.wahl.neu @set.wahl.aktion ' IF taal$="NL" vr_t$="SCHOTEN:" tr_t$="TREFFERS:" sc_t$="SCORE:" bn_t$="B O N U S - R O N D E" of_t$="van" ELSE vr_t$="SCHUSS:" tr_t$="TREFFER:" sc_t$="SCORE:" bn_t$="B O N U S - R U N D E" of_t$="von" ENDIF DEFTEXT 1,0,0,7*vf&-1 vr_x&=66-(LEN(vr_t$)+5)*4 tr_len&=LEN(tr_t$)+3 tr_x&=h_mid&-(LEN(tr_t$)+3)*4 sc_x&=h_max&-66-(LEN(sc_t$)+8)*4 COLOR 3 BOX 0,y_line&,h_max&,v_max& @set.show.boxes(TRUE) @show.vorrat @show.treffer @show.score DEFMOUSE pfeil_ms$ ' REPEAT @pop.wahl(0,awy&,TRUE,TRUE,ti_a&,pw_a&,ti_a$(),pw_a$(),pk_a$(),wahl&) SELECT wahl& CASE 2 @neues.spiel @spiel CASE 4 @show.hilfe CASE 6 @show.info CASE 8 @show.top ENDSELECT UNTIL wahl&=11 RETURN PROCEDURE set.show.boxes(alle!) DEFFILL 1,0,0 GRAPHMODE 1 COLOR 3 IF alle! PBOX 3,y_line&+3,130,v_max&-3 PBOX h_max&-130,y_line&+3,h_max&-3,v_max&-3 ENDIF PBOX h_mid&-60,y_line&+3,h_mid&+60,v_max&-3 COLOR 1 RETURN ' PROCEDURE test.virus LOCAL prg$,pln$,al$,prg_len%,d_l% RESTORE prg_daten READ prg$,pln$ prg$=pfad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ d_l%=LOF(#1) CLOSE #1 IF d_l%prg_len% al$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,al$,antw&) IF antw&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,frei% al$="[3][ | MALLOC-ERROR! | ][ shit ]" frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -frei% prg_adr%=MALLOC(frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,al$,dummy&) ENDIF ELSE @show.alert(1,al$,dummy&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung !~NL~D~ IF taal$="NL" al$="[3][ | De test op een Link-virus | kon niet (!)|" al$=al$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE al$="[3][ | Der Linkvirentest | konnte nicht(!)|" al$=al$+" durchgefhrt werden| ][ sehr verdchtig! ]" ENDIF @show.alert(1,al$,dummy&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN PROCEDURE geht.nicht !~NL~D~ IF taal$="NL" RESTORE geht_nicht_nl ELSE RESTORE geht_nicht_d ENDIF ti_x&=6 FOR ni&=2 TO 5 READ ti_x$(ni&) NEXT ni& READ pw_x$(2) DEFMOUSE 0 SHOWM @pop.wahl(0,0,TRUE,TRUE,ti_x&,pw_x&,ti_x$(),pw_x$(),pk_x$(),wahl&) @ausgang ' geht_nicht_nl: DATA " Dit programma loopt " DATA "alleen in" DATA "MIDDEN en HOGE" DATA "resolutie !" DATA " dat is vervelend " ' geht_nicht_d: DATA " Dieses Programm luft " DATA "leider nur in" DATA "mittlerer oder hoher" DATA "Auflsung!" DATA " das ist lstig " RETURN ' PROCEDURE ausgang ON ERROR !aus SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN PROCEDURE shit ON ERROR !aus ~FORM_ALERT(1,ERR$(ERR)) RESUME neu_start RETURN ' PROCEDURE test.wahl(VAR ti&,pw&) LOCAL test$,dummy$ ti&=-1 !Info-Zeilen zhlen REPEAT INC ti& READ test$ UNTIL test$="*" pw&=-1 !Wahl-Zeilen zhlen REPEAT INC pw& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR ti&,pw&,pt$(),pw$(),pk$()) LOCAL dummy$ ni&=0 WHILE ni&li& AND mx&ob& AND my&0 AND LEN(cd$(aw&))>1 pw&=aw& ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(aw$(aw&))>0 AND LEN(cd$(aw&))>1 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF LEN(ik$) !Taste ai&=1 REPEAT !suchen IF LEN(aw$(ai&))>0 AND INSTR(cd$(ai&),ik$)>0 pw&=ai& ENDIF INC ai& UNTIL ai&>az& OR pw& ENDIF UNTIL pw& !Wahl? IF mk&=0 !Tastenwahl zeigen IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ELSE @no.but ENDIF @set.grafik.normal SPUT bx$ RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&t% OR ABS(mx&-ax&)>30*hf& OR ABS(my&-ay&)>30*vf& @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(ti&+az&)*td& ' Wenn hoz! (vez!) =TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' ' PROCEDURE eingang !+++ 17 INLINEs +++ LOCAL xi&,yi&,fetz_0%,fetz_1%,fetz_2%,fetz_3%,h_gun%,h_ship%,m_gun%,m_ship% LOCAL pfeil_ms%,planet%,plop_0%,plop_1%,plop_2%,plop_3%,rat_spr% ' INLINE fetz_0%,74 INLINE fetz_1%,74 INLINE fetz_2%,74 INLINE fetz_3%,74 INLINE h_gun%,74 INLINE h_ship%,74 INLINE m_gun%,74 INLINE m_ship%,74 INLINE pfeil_ms%,74 INLINE planet%,74 INLINE plop_0%,74 INLINE plop_1%,74 INLINE plop_2%,74 INLINE plop_3%,74 INLINE rat_spr%,74 INLINE shoot_sound%,30 INLINE treff_sound%,30 ' HIDEM @get.palette(top_pal$) @set.farben COLOR 1 CLS links&=8 oben&=8 rechts&=h_max&-8 y_line&=v_max&-10*vf&-9 unten&=y_line&-8 y_shoot&=unten&-10 awy&=(y_line&-v_max&)\2 sc_x&=h_max&-134 vr_li&=16 az_y&=v_ho&-2*vf&-6 sl_di&=8*vf& !Schulnge aus&=9999 ' TOP FIVE laden DIM punkte%(6),spieler$(6) datei$=pfad$+"Ti_SHOOT.TOP" IF EXIST(datei$) OPEN "I",#1,datei$ FOR ni&=0 TO 5 INPUT #1,punkte%(ni&) INPUT #1,spieler$(ni&) NEXT ni& CLOSE ENDIF ' Maus, Sprites und Sound vorbereiten pfeil_ms$=SPACE$(74) BMOVE pfeil_ms%,V:pfeil_ms$,74 ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 gun_rest&=0 gun_max&=4 DIM gun$(gun_max&),gun_x&(gun_max&),gun_y&(gun_max&) gun$=SPACE$(74) ship$=SPACE$(74) IF alf&=2 BMOVE h_gun%,V:gun$,74 BMOVE h_ship%,V:ship$,74 ELSE BMOVE m_gun%,V:gun$,74 BMOVE m_ship%,V:ship$,74 ENDIF gun_li&=141 gun_ob&=(v_max&+y_line&)\2-8 FOR ni&=1 TO gun_max& gun$(ni&)=gun$ gun_x&(ni&)=gun_li&-16+28*ni& gun_y&(ni&)=gun_ob&+9 NEXT ni& gun_re&=gun_x&(gun_max&)+8 gun_un&=gun_ob&+16 level_max&=50 DIM planet$(level_max&),plx&(level_max&),ply&(level_max&) FOR ni&=1 TO level_max& planet$(ni&)=SPACE$(74) BMOVE planet%,V:planet$(ni&),74 NEXT ni& DIM plop$(3),fetz$(3),xf&(3),yf&(3),xd&(3),yd&(3),fetz!(3) FOR ni&=0 TO 3 plop$(ni&)=SPACE$(74) fetz$(ni&)=SPACE$(74) NEXT ni& BMOVE fetz_0%,V:fetz$(0),74 BMOVE fetz_1%,V:fetz$(1),74 BMOVE fetz_2%,V:fetz$(2),74 BMOVE fetz_3%,V:fetz$(3),74 BMOVE plop_0%,V:plop$(0),74 BMOVE plop_1%,V:plop$(1),74 BMOVE plop_2%,V:plop$(2),74 BMOVE plop_3%,V:plop$(3),74 ' Bild gestalten FOR ni&=1 TO 200 IF RANDOM(10)>0 PLOT RANDOM(h_br&),RANDOM(y_line&) ELSE xi&=RANDOM(h_max&) yi&=RANDOM(y_line&) BOX xi&,yi&,xi&+1,yi&+1 ENDIF NEXT ni& @set.show.boxes(TRUE) GET 0,0,h_max&,y_line&-1,bild$ start_vorrat&=200 !Munition vorrat&=start_vorrat& @set.guns(gun_max&\2) tempo_min&=5 tempo_dif#=0.02 treff_max&=10 shoot_max&=20 bonus%=0 RETURN PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.farben LOCAL rt&,gn&,bl& RESTORE set_farben FOR ni&=0 TO 3 READ rt&,gn&,bl& VSETCOLOR ni&,rt&,gn&,bl& NEXT ni& set_farben: ' 0 schwarz DATA 0,0,0 ' 1 wei DATA 7,7,7 ' 2 rot DATA 7,0,0 ' 3 dunkelgrn DATA 0,4,0 RETURN PROCEDURE set.guns(soll&) WHILE gun_rest&>soll& SPRITE gun$(gun_rest&) DEC gun_rest& WEND WHILE gun_rest&1 @level.down(1) ENDIF GET 0,0,h_max&,y_line&-1,bild$ tempo_max&=MIN(30,15+level&\2) RETURN PROCEDURE neues.schiff shp_x&=RANDOM(h_max&-31)+links& shp_y&=RANDOM(v_mid&)+oben& rechts!=(RANDOM(2)>0) auf!=(RANDOM(2)>0) schuss!=FALSE bum_x&=aus& bum_y&=aus& RETURN PROCEDURE neues.tempo ADD tempo#,tempo_dif# hm_di&=INT(tempo#) vm_di&=hm_di&*vf&\4 sm_di&=hm_di&*vf&\2+sl_di& bm_di&=hm_di&-3 RETURN ' PROCEDURE spiel abbruch!=FALSE REPEAT HIDEM REPEAT VSYNC !Bewegung SPRITE ship$,shp_x&,shp_y& SPRITE gun$,MOUSEX,unten& vgl&=RANDOM(level&) IF rechts! ADD shp_x&,hm_di& IF shp_x&=>rechts& IF vgl&>30 shp_x&=links& ELSE shp_x&=rechts& rechts!=FALSE IF vgl&>20 auf!=NOT auf! ENDIF ENDIF ENDIF ELSE SUB shp_x&,hm_di& IF shp_x&<=links& IF vgl&>30 shp_x&=rechts& ELSE shp_x&=links& rechts!=TRUE IF vgl&>20 auf!=NOT auf! ENDIF ENDIF ENDIF ENDIF IF auf! SUB shp_y&,vm_di& IF shp_y&<=oben& shp_y&=oben& auf!=FALSE IF vgl&>10 rechts!=NOT rechts! ENDIF ENDIF ELSE ADD shp_y&,vm_di& IF shp_y&=>unten& IF vgl&>30 shp_y&=oben& ELSE shp_y&=unten& auf!=TRUE ENDIF ENDIF ENDIF ' kontrolle IF ABS(bum_x&-shp_x&)<16 AND ABS(bum_y&-sl_di&-shp_y&)<16 hit&=1 INC treffer& ADD score%,(v_max&-shp_y&)*bm_di&\10 @show.treffer @show.score @treffer ELSE IF ABS(MOUSEX-shp_x&)<16 AND ABS(unten&-shp_y&)<16 hit&=2 @kollision ENDIF IF MOUSEK=1 AND NOT schuss! ~XBIOS(32,L:shoot_sound%) schuss!=TRUE bum_x&=MOUSEX bum_y&=y_shoot& LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& IF vorrat&>0 DEC vorrat& @show.vorrat ELSE @kein.schuss.mehr ENDIF ENDIF IF schuss! COLOR 0 LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& SUB bum_y&,sm_di& COLOR 1 LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& IF bum_y&<0 schuss!=FALSE bum_x&=aus& bum_y&=aus& ENDIF ENDIF IF MOUSEK=2 @frag.ob.abbruch ENDIF UNTIL hit& OR abbruch! IF NOT abbruch! @next.round ENDIF UNTIL abbruch! RETURN ' PROCEDURE frag.ob.abbruch !~NL~D~ ti_l$(2)=" LEVEL: "+RIGHT$(" "+STR$(level&),2)+" " @pop.wahl(0,awy&,TRUE,TRUE,ti_l&,pw_l&,ti_l$(),pw_l$(),pk_l$(),antw&) abbruch!=(antw&>2) IF abbruch! @test.platz IF platz& IF taal$="NL" ti_f$(2)=" Punten opschrijven ? " ELSE ti_f$(2)=" Punkte eintragen? " ENDIF @pop.wahl(0,awy&,TRUE,TRUE,ti_f&,pw_f&,ti_f$(),pw_f$(),pk_f$(),antw&) IF antw&=2 @eintragen ENDIF ENDIF ENDIF HIDEM RETURN PROCEDURE treffer ~XBIOS(32,L:treff_sound%) SETCOLOR 0,&H777 PAUSE 3 SETCOLOR 0,0 SPRITE ship$ IF ABS(bum_x&-shp_x&)<12 AND ABS(bum_y&-sl_di&-shp_y&)<12 @lets.plop(shp_x&,shp_y&) ELSE @lets.fetz ENDIF PUT 0,0,bild$ RETURN PROCEDURE lets.plop(xi&,yi&) FOR ni&=0 TO 3 SPRITE plop$(ni&),xi&,yi& PAUSE 8 SPRITE plop$(ni&) NEXT ni& RETURN PROCEDURE lets.fetz LOCAL fetzen& fetzen&=4 IF rechts! xd&(0)=-(RANDOM(4)) xd&(1)=RANDOM(3)+1 xd&(2)=-(RANDOM(4)) xd&(3)=RANDOM(3)+1 ELSE xd&(0)=-(RANDOM(3)+1) xd&(1)=RANDOM(4) xd&(2)=-(RANDOM(3)+1) xd&(3)=RANDOM(4) ENDIF yd&(0)=-(RANDOM(3)+1) yd&(1)=-(RANDOM(3)+1) yd&(2)=RANDOM(2)+1 yd&(3)=RANDOM(2)+1 ARRAYFILL xf&(),shp_x& ARRAYFILL yf&(),shp_y& ARRAYFILL fetz!(),TRUE REPEAT FOR ni&=0 TO 3 IF fetz!(ni&) ADD xf&(ni&),xd&(ni&) ADD yf&(ni&),yd&(ni&) IF xf&(ni&)rechts& OR yf&(ni&)unten& SPRITE fetz$(ni&) fetz!(ni&)=FALSE DEC fetzen& ELSE IF ABS(unten&-yf&(ni&))<16 AND ABS(MOUSEX-xf&(ni&))<16 hit&=2 @kollision fetzen&=0 ENDIF ENDIF NEXT ni& IF fetzen& VSYNC FOR ni&=0 TO 3 IF fetz!(ni&) SPRITE fetz$(ni&),xf&(ni&),yf&(ni&) ENDIF NEXT ni& SPRITE gun$,MOUSEX,unten& ENDIF UNTIL fetzen&=0 RETURN PROCEDURE kein.schuss.mehr hit&=3 WHILE gun_rest& SPRITE gun$(gun_rest&) shp_x&=gun_x&(gun_rest&) shp_y&=gun_y&(gun_rest&) @treffer PAUSE 40 DEC gun_rest& WEND @kollision RETURN PROCEDURE kollision !~NL~D~ shp_x&=MOUSEX shp_y&=unten& ~XBIOS(32,L:treff_sound%) SETCOLOR 0,&H777 PAUSE 3 SETCOLOR 0,0 SPRITE ship$ SPRITE gun$ PUT 0,0,bild$ @lets.plop(shp_x&,shp_y&) @no.but ti&=3 IF gun_rest& SPRITE gun$(gun_rest&) DEC gun_rest& @next.gun.info @show.treffer ELSE IF hit&=3 @no.gun.info ENDIF top!=FALSE IF score%>0 @test.platz IF platz& @eintragen ENDIF ENDIF IF score%=0 OR top! abbruch!=TRUE ELSE IF taal$="NL" ti_n$(2)=STR$(score%)+" Punten" ELSE ti_n$(2)=STR$(score%)+" Punkte" ENDIF @pop.wahl(0,awy&,TRUE,TRUE,ti_n&,pw_n&,ti_n$(),pw_n$(),pk_n$(),antw&) IF antw&=2 @neues.spiel ELSE abbruch!=TRUE ENDIF ENDIF ENDIF RETURN PROCEDURE next.gun.info !~NL~D~ IF taal$="NL" IF gun_rest& IF gun_rest&>1 ti_x$(2)=" volgende kanon " ELSE ti_x$(2)=" nog maar 2 kanonnen " ENDIF pw_x$(2)=" let op ! " ELSE ti_x$(2)=" laatste kanon " pw_x$(2)=" Veel Geluk ! " ENDIF ELSE IF gun_rest& IF gun_rest&>1 ti_x$(2)=" nchste Kanone " ELSE ti_x$(2)=" vorletzte Kanone " ENDIF pw_x$(2)=" pa auf! " ELSE ti_x$(2)=" letzte Kanone " pw_x$(2)=" Viel Glck! " ENDIF ENDIF ti_x$(3)="" ti_x&=3 @pop.wahl(0,awy&,TRUE,TRUE,ti_x&,pw_x&,ti_x$(),pw_x$(),pk_x$(),dummy&) HIDEM RETURN PROCEDURE no.gun.info !~NL~D~ IF taal$="NL" ti_x$(2)=" Alles opgeknalt " ti_x$(3)="geen schoten meer !" pw_x$(2)=" Stront ! " ELSE ti_x$(2)=" Alles verballert " ti_x$(3)="kein Schu mehr!" pw_x$(2)=" Mist! " ENDIF ti_x&=4 @pop.wahl(0,awy&,TRUE,TRUE,ti_x&,pw_x&,ti_x$(),pw_x$(),pk_x$(),dummy&) HIDEM RETURN PROCEDURE next.round @neues.schiff IF hit&=1 AND tempo#0 @vor.bonus @bonus.runde IF NOT abbruch! IF level&=gut%*2 @next.level(TRUE) ELSE IF level&>1 AND bonus%h_max& OR shp_x&<0 PUT 0,0,bild$ IF level&>1 AND RANDOM(2)=0 shp_x&=h_max& bm_di&=-ABS(bm_di&) rechts!=FALSE ELSE shp_x&=0 bm_di&=ABS(bm_di&) rechts!=TRUE ENDIF shp_y&=MIN(unten&-20,shp_h&+RANDOM(level&*vf&)) INC alle& IF alle&>shoot_max& fertig!=TRUE DEC alle& ENDIF @show.bonus.treffer ENDIF VSYNC SPRITE ship$,shp_x&,shp_y& SPRITE gun$,MOUSEX,unten& IF MOUSEK=1 AND NOT schuss! ~XBIOS(32,L:shoot_sound%) schuss!=TRUE bum_x&=MOUSEX bum_y&=y_shoot& LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& IF vorrat&>0 DEC vorrat& @show.vorrat ELSE fertig!=TRUE ENDIF ENDIF IF schuss! COLOR 0 LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& SUB bum_y&,sm_di& COLOR 1 LINE bum_x&,bum_y&,bum_x&,bum_y&-sl_di& IF bum_y&<0 schuss!=FALSE bum_x&=aus& bum_y&=aus& ENDIF ENDIF IF ABS(bum_x&-shp_x&)<16 AND ABS(bum_y&-sl_di&-shp_y&)<16 INC teil& @show.bonus.treffer @treffer IF teil&=treff_max& fertig!=TRUE ENDIF schuss!=FALSE bum_x&=aus& bum_y&=aus& shp_x&=aus& ENDIF IF MOUSEK=2 @frag.ob.abbruch ENDIF UNTIL fertig! OR abbruch! PUT 0,0,bild$ gut%=500*level& !25% IF alle& bonus%=INT(100*teil&/alle&)*20*level& ENDIF IF NOT abbruch! @wahl.bonus ENDIF schuss!=FALSE bum_x&=aus& bum_y&=aus& shp_x&=h_max& bm_di&=ABS(bm_di&) RETURN PROCEDURE wahl.bonus !~NL~D~ LOCAL bw&,schuss& bw&=3 IF taal$="NL" pw_b$(2)=" + "+STR$(bonus%)+" Punten " ELSE pw_b$(2)=" + "+STR$(bonus%)+" Punkte " ENDIF IF teil&=0 ti_b$(2)=" S H I T " ELSE IF teil&treff_max&+level& IF taal$="NL" ti_b$(2)=" Je hebt geen keus ! " ELSE ti_b$(2)=" Du hast keine Wahl! " ENDIF ELSE schuss&=40+10*level& IF taal$="NL" ti_b$(2)=" Je kunt kiezen : " pw_b$(4)=" + "+STR$(schuss&)+" schoten " pk_b$(4)="031" !S ELSE ti_b$(2)=" Du hast die Wahl: " pw_b$(4)=" + "+STR$(schuss&)+" Schu " pk_b$(4)="031" !S ENDIF bw&=5 IF teil&=treff_max& AND gun_rest&punkte%(ni&) platz&=ni& ENDIF NEXT ni& RETURN PROCEDURE eintragen ! PhvR LOCAL zl&,sp_name$ ni&=platz& IF platz& ! Aha, entlich mal ein Verfehlen FOR ni&=5 DOWNTO PRED(platz&) ! zum rgen ! spieler$(SUCC(ni&))=spieler$(ni&) punkte%(SUCC(ni&))=punkte%(ni&) NEXT ni& ENDIF ' While Ni&>1 ! Man soll die Knalleistungen ' Spieler$(Ni&+1)=Spieler$(Ni&) ! nicht zu schnell wegschmeissen ! ' Punkte%(Ni&+1)=Punkte%(Ni&) ' Dec Ni& ' Wend top!=TRUE spieler$(platz&)="" punkte%(platz&)=score% @show.top.five(platz&) zl&=2*platz&+8 PRINT AT(35,zl&); FORM INPUT 25,sp_name$ sp_name$=TRIM$(sp_name$) IF LEN(sp_name$) spieler$(platz&)=sp_name$ ELSE spieler$(platz&)="nobody" ENDIF PUT 0,0,bild$ @save.top.five RETURN PROCEDURE show.top.five(nr&) !~NL~D~ LOCAL ob&,un&,ti$ GRAPHMODE 1 DEFFILL 1,1 ob&=34*vf& un&=156*vf& PBOX 130,ob&,510,un& ADD ob&,2 SUB un&,2 BOX 132,ob&,508,un& DEFFILL 0,1 ob&=65*vf& SUB un&,5*vf& PBOX 140,ob&,500,un& IF alf&=2 DEFTEXT 0,16,0,32 ELSE DEFTEXT 2,16,0,13 ENDIF GRAPHMODE 2 TEXT h_mid&-vf&*32,53*vf&,"Top Five" IF nr& IF taal$="NL" ti$="Typ je naam in en " ELSE ti$="Gib deinen Namen ein und " ENDIF DEFTEXT 0,0,0,2*vf&+2 !4/6 TEXT h_mid&-(vf&+2)*LEN(ti$),63*vf&,ti$ ENDIF GRAPHMODE 1 FOR ni&=1 TO 5 zl&=2*ni&+8 PRINT AT(21,zl&);STR$(ni&);": "; PRINT USING "######## ",punkte%(ni&); IF LEN(spieler$(ni&)) PRINT spieler$(ni&); ELSE IF ni&<>nr& PRINT STRING$(25,"_"); ENDIF NEXT ni& DEFTEXT 1,0,0,7*vf&-1 RETURN PROCEDURE save.top.five !~NL~D~ IF taal$="NL" ti_f$(2)=" TOP FIVE saven ? " ELSE ti_f$(2)=" TOP FIVE speichern? " ENDIF @pop.wahl(0,awy&,TRUE,TRUE,ti_f&,pw_f&,ti_f$(),pw_f$(),pk_f$(),antw&) IF antw&=2 DEFMOUSE 2 SHOWM punkte%(0)=0 spieler$(0)=CHR$(7) $U OPEN "O",#2,datei$ $U FOR ni&=0 TO 5 PRINT #2,punkte%(ni&) PRINT #2,spieler$(ni&) NEXT ni& CLOSE DEFMOUSE pfeil_ms$ ENDIF RETURN ' PROCEDURE nach.spiel HIDEM PUT 0,0,bild$ @level.down(level&) GRAPHMODE 1 COLOR 1 li&=0 ob&=0 re&=h_max& un&=v_max& REPEAT BOX li&,ob&,re&,un& INC li& INC ob& DEC re& DEC un& UNTIL un&;| m0(ag`p2-H maqao$m,ђRm0-koYRm m oEaO mN| mauaF$m0$$m0 $m,gE`pao/$m, aG2as"_a]R"magA큎0$mH ЀR"p manpak$mL$$mL?*$mH?*?<NN\$mHR$mH o]`nanp-b"<NagXNpa]PNpa_aUFaO"`n^anAajnAaj@Aaj8a|NN"madp[al@"maq"$m4$m0H mam&E>pa[|"madXpa\?</-/-a$m0S@f N`b`aL`man pa^pa^pa^pa^8pa^Bpa^@pa]pa^pra^pa^@pa^>pa^<0-Sa^2a^:`m`amA퀘aiBmBmN;A;B;Cavb+A0-H"p$mJgpg -g. -;@ 0- A큾aj| -B@H@;@` Bm A큾ajz`lamNN`lam` ptra[N;A;B;C0-fN*f`lalHyNNX @p!@`lvalAagAagA ahvAahn$m4$mRR m N| m p*aYxg$m4$mRR m N| mN| m p*aYNg`lalHAtagLA퀸agDA퀴agX/??$m0a>H&<x:<ab8:&a;/??0-a> a^$8:&a;a<$m4Bm`Rm$m0$mR8-H mt P؄00HT@o8-H mt P؄00HR@f paX^aXn`8-H mt P؄00HaXBaXR8-H"m"QN$0(H$m0RD$m48-H"m"QN$$m4$m2a]$m0mnH$m0a=$m8H"m"QN$/p@aa/A큾al<"_aOR"_agJg "m m2$mRR$m0$mR]HH$m2HgZ`cHacAta^A4a^A a_A8a_Ap$m82H m abtafa7;@$m<0H8-H mt P؄1H$m8TR$m80koY`babAPa^0Aa^A퀠a^HA퀜a^@Aa]Aa]Aa^TAa^LAa^DAa^HaQ$m(0$m$6$m 4$m2aM80-HЀ$m0RЈ/0-HЀ$m 0RЈ/0-HЀ$m$0RD/0-HЀ$m(0RD&$"aM paN`]a^ATaYhAaYAaYa$mT l $mT$.aC$mTђat$m4at$m4?A\aY6A`aY.AdaY&AhaYAlaYApaYAtaYAxaXA|aXA퀀aXA퀄aXA퀈aXA퀌aXA퀐aXEf $mX$E $m\$E $m`$ED $md$E $mh$E $ml$E" $mp$El $mt$E $mx$E $m|$EJ $m$E $m$E $m$E( $m$Er $m$E +@E +@aB\A큸aY6HmN%N&@paLpaTP;|;|0-Q@;@0- 0mȐD@;@0-Q@;@0-@;@0-H0mȐJjR;@0-@z;@;|0-HЀ0m̐D]@;@0-@;@;|'p~A킺aorp~AfaoJELp aX:C큈aFCaQAa-gPAra?Bmpa_a`48-H m!Hpa_8-H"mfaxa`Rm0-[@oa>pJa]C큲aPA큲 "@pJ$mx Ra8 pJa\CaPA "@pJ$m Ra7Bm ;|"0-"H~Alanv0-"H~A탂anv0-"H~A탈anfpJa\CaP.pJa\CaP 0-U@f*A "@pJ$mh Ra7xA "@pJ$ml Ra7d`(A "@pJ$mp Ra7NA "@pJ$mt Ra7:;|$0-H0mЈJjRQ@;@&;|0-"aN`~A8-H"mlaw0-$a/:&<:<a,/??0-a/&<:<a088:&a,a-8-H m؄1Hp 4m&Њ8-H m؄1HRm0-koxY8-"H m؄00HP@;@(0-&@;@*;|2,0-,H~Aral0-,H~A탎al0-,H~A탔al;|0-,aM`6pJaZ8-H"mrav$8-H"mravP "@pJ$m| Ra5Rm0-koYp~Axalnp~A~albp~A탚alfp~A탠alZp~A탦alNp~A탬alBp~Aal,BmpJaZd8-H"mxaupJaZP8-H"m~auvRm0-W@ox"m~au "@pJ$mX Ra5.x"m~au "@pJ$m\ Ra5x"m~auf "@pJ$m` Ra4x"m~auL "@pJ$md Ra4x"mxau2 "@pJ$m Ra4x"mxau "@pJ$m Ra4x"mxat "@pJ$m Ra4x"mxat "@pJ$m Ra4x;|p a?Jo*0-a,a?a+N/0-a,a?a+<"aE`L0-a,a?a+$$m@40-a,ja?a+$mD4p$mDRv$m@R$mD4$m@2aEJRm mȃot?E@a0Hm>Hm@ajA킖anA킜anA킢anA탸an0->H~A킖ag*0-@H~A킜ag0-@H~A킢ag 0-@H~A탸ag E@a04Hm>Hm@HmHmHmHmaX`RTaRN)HmBHmDaA킨amA킮amA킴amA탾am0-BH~A킨af0-DH~A킮afz0-DH~A킴afj0-DH~A탾afjN)HmBHmDHmHmHmHma`QaQA큎0g E[a/\` Ea/P`QaQN*HmHmaANam6ATam.AZam&A|am0-H~ANae0-H~ATae0-H~AZae0-H~A|aeN*HmHmHmNHmTHmZHm|a`PaQ6A큎0rg E3a-` Ea-`OaPN,2Bg?-Hx?<HmHmHmpHm*Hm0Hm6HmaA*akHA0ak@A6ak8Apak0`OdaON,HmHma0-H~A*ac0-H~A0ac0-H~A6ac0-H~ApacN,HmHmHm*Hm0Hm6Hmpa`NaO.A큎0`NdaNa5pa?DAtra@ ?-FN. N.?pa>pa>0-Sa>a>abaaN0`0-2a#/??0-Fa#&<x:<aH*8:&a!a"A큀 00N0`MaMAHaH``/-?< NN\8-FH"mrakaU:8-FH m؄?0H8-FH m؄?0HN6 SmF$mHSR0-FH HTa_$mH0fpa_`M aMPALaHAPaH0-0mƐD$mL40-20mD$mP4;|0-,aB.`$mL0a"a6/??0-a"&<:<a#8:&a ba!L8-H m؄1H$mP0a"a5/??0-a"t&<:<a#8:&a a!8-H m؄1HRm0-kobY`LaLXA퀨aGALaGAPaG0-@$mL40-@$mP4$mgRRmF8-FH"mrai/8-FH m؄4pHHR8-FH m؄00H" _aS/-?< NN\pa^B`0-FS@o?<aAx4m؊:-H|~a>0-FHjRrЁro@;@H`K6aK|0-a!J&<:<aa4am;@J0-a!$a4ram;@Lpa3J^HVpa3J^HVQ;mN;mP`JaKAx 24A큀a.A큀aaj;@R0-RjV;@T0-RjRm;@V0-RW@;@X`JdaJQa1aR0-LH2-JHAaRdaaP"0-HAaRP0-Fa Da3a;@Z-gF0-RmJ0-mJnx mZo;mJ`h;mJQ mZoVpJ-gpFV`D0-RmJ0-mJm2 mZo;mJ`";mJP mZopJ-gpFV-g60-TmL0-mLmP;mLQ m Zo>pJ-gpFV`,0-TmL0-mLn mZo;mL` ;mLP0-NH0mJJnDr]HH/0-LH2-PH4mDnDr]HHg:;|\Rm80-XH2-H4mLar a$ѭanaN5p`Ha_0mJJnDr]HH/0-H0mLJnDr]HHg ;|\N:\a_SWHH/pJ-gpFgP/-?< NN\Pa_:;@N;mP0-PH0m6-N4-P2-Na70-0o Sm0at`N9-gbpa80-PH0m6-N4-P2-Na7F0-VmPpa80-PH0m6-N4-P2-Na70-PlQ;mN;mPa^UfN4PpJ-gp2-\Hg-fN>-g`GFaGEXp aD/p aEF/0-FaDaH"_a2paFr"_a2Epa4x"madBg?-Hx?<Hm:Hm0-U@fal`P`?a@ A큎0Ep aba>A큎0NAF-f\0-,mF^HH/ -Ѐ_HHg ?p a"hx"maR`NEpa2Jx"maREpa24/$mh0a a6 "_a rEopa"x"maR$md40<@Sa2x"maRnx m؄1H0-4$m\RWHH/0-"m ^HHgdA큎0/-dHmHmHmHmHma0-H`, -ѭaߘ`0$mh0m0a ` 0- R@?aj` @g @g @g0-a6"4-2-a)`3Na3$m\0a `a40< a!d"HA크a0< a!R/$m`0a 6a4"_aCa)f0-H0mԐD/A4-"a(`2a3&Bm^;|8-H m 0Hl;m^Sm0-S@l`2a2Ala.A$a.;m^0-^gd;|p4m^Њa'`D8-H"mfaPx4m؊"mfaPL8-H m 0Hx4m؊ m!HSm0-klYPa/8-^H"mfaP -8-^H m!H?-^NJ,0-^HЀP@$ml4$ml0r#aD m$ra= m$a1"m$a( m$0(g m$8-^H"mfaO`Epa/8-^H"mfaOxAtra#JNM`1ja1Apa,Aa-LAa-DA(a-bpa".pa!pa!0-"$m40-$m4$m06<$m42<a $mTR$mUR$m06<$m42<a pa!fpa!p0-A$m40-$mR$m06<$m42<a0-U@fpa!Lpa!Jpa!Hp a!Fa!N`pa!.pa!,pa!*p a!(a!0pa!B0-H0mԐD/0-5/Epa-$"a%$mp0gA큎0pa pa pa 0-HЀTa a 0-a&<:<ax/?? m(0(a8:&aa\0mԐD/0-?/ m($"a%H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`"a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xaR`aL` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`zapExgPz`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9x`r _a &nO:NMINK|$<Nu[1][Error +111][Return]Ez g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`fHQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z"_K|MINO:HQ <-H*,`N,Vd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qaa`\`Xpea>pCR2Ad0A2r22aZ"<^H0<NBLNurt=@:=A@=B NuHz(` N^Hz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa Ha O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<aHtoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`app`0aNfHRaL>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Dk"~CA0< BhaB2"pNu$_AF Ge><QBAFpNuafgzp=` aZgzpaTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _aTG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNualSAkfJANuH HPhkJa^ $I _aFIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `jaPUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`~n\n^n\n^A0000000000prt`Ln\n^648HH`prt`(n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|mH-|m$L`Nu-HNbX?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na P222-IfHVMF,_Nup `T np` ( 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea"ep`&6NuE "e aֵ"d&&6NuE"e a"d66NuE"e a"d666NuE"e a|"d6Nuvn\n^~Ha0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`RaN`QNuHg"cc/ 0)a, _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`p a2`p CFp` a CF"p`Hza`Hyr"J`B.@=|DNua.@FpAR@C` @H` @HHyraݬaj"H`Hyr`Hyr 24`@H` @HHyrata2"Hav`XHyr`Hyr 24`aX`$aR@ApDrAeA`?a0J@g*?CJap0g?C2paSWfTNuB.@=|DNuB.@a=GDgNup`$a`aCF"E p`Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8a"L8 DBaَL8O <jDFJEjDEFn ffAbtNu&8:aވ`ڎ&8:at`ڀ.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`0AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`B@a Acr `@a A cr `@a\ A cr `Nc$H`Ha>LHP?.d=hdNc=_d2 "@$Y4Ad2`0Q @NuH@&g( b⸃bLHaBLC 0$Ir `Q"Jr0XDQD@CtEe PA`fRشf`e"J*c j|0"cRLJgR $I.f) 5e*0!.g -g  g 9f 0b`RB`1`p `4@`r ??a"P02R@H`2Q Nu?AFBHP?<GNAPAF `r0?HQa _/ ?a0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNur ?HQaN _/ ?aD0 _4gSB@c:Ad,J@gB@BmS@,. RB6Vg(R F"GQpNufJ@fRB`fS@kVft0HNuaHaJjtNua:HPa pJk NuCg.BJ@g  g &g, $g %gNeNutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaNuRB0 b b瀀`RB0 fрd`ap`ap`ap3BNu>.D<jRGg>VGg:TGjp`ժHPa0CF$IpR@  f _aBHd2Hd2`"QNu`<.DHSGFaAEg f< &_Nua`$Nu.dfaB=n`r>.D<jRGg.D<jRGg*VGgTGjp`Ԍ<.Da*`" y faa` y f aaAF "g pR@0 ,g  g  fHp`:pR@0  g  g "fR@0 ,g  g  fHpRU@"_  f#$H _a`QNupR@0 ,g"  g  fa~ (fR~Nua ~ `a~NuaJkHQ ! gRf _NuXX~Nu0jd\@??<NMXJk .dgp Nu`\<.DHSGFa ,g gAEf< &_Nu ."Ff +"g ,g`dsa"X0 @Jg2zf.HPEJH LppJ$_44"b#JJBNHD#BNNup<`"n2t4BBTC2aފ"X4 BJg zfEJHB LEJ@ ,_NuH0:nazPL4:^0$` v$2Qv$$I# $IA@HV ,_Nu?<%NNTNu2(gbc  P"H`Nu/0Ha2  _ PSAvjx E(Wf* ae zb Q @Nupagp?<?NMX"NuBnp`pBnp`p=| p|=Fn@=@b=n`ra Hj=Ah~`:a JfBH@ RfF.f Kg" Mg sg tg Pg Hf~`xSGjtRGFcn>`jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?Hya2NM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0anp Ce`&g4 Fga4JBjaLgPAe CbRa R@Sf0Nu FgRag JBjaAeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8afJBja~JAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`̌p#fpsNup`p`#Nu?/NT` pNuNHMAp f9skd n2!|Dv ||9r"XLv:g 4zg*Ag61 cg Jg ;e, ]b& Te` Db; g fg  bJg fg fg,HC#0j ` Hx Dg;0L5YBj@1BA gbШ dA gd BBdL@Nu wHHKMPPR g,g&yr`pBy4XB@etAg1B# `\HCHSGvg*1B f  f&< # XB@etAf&_`AC]gZ"HyNN#.r>"NN @A C#P B?< NA\#/a?< NA\AYd0N NuA#  x hg3&ZAC`g#P Nu?<"NNT @ 9Jg!@ HzT?<&NN\3NuYd#]NuHz ?<&NN\NupACErJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LHMO:|1R/9?< NAO:pdz`|/Maf,_NrNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(aӂ؀.dfatjNu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??paHpYaB0a<0`6.dfNudg"J9skfa4fp`Ld`/9dg/9|dg/9NupAR-H=@|p4a6S@Nu[2][Programmstop?][Stop|Cont]9xHHNu9z`aNf"_O:N"_O:HQ`6 9Vtg"9VpgJ9zfga"AO:Np\B`ƸG06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`C`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`HaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaĪ `ԒaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aϘNu-Hb=hzBnfNua` nbapfp0nfc`NuaX/ ? nb"XfRnfSnzkx _g !g &g. \g.a`RnfSnzkN`0"_fCsdpH`0"_`pR@RnfSnzk \f2"_gAc@@H?a0`jp?af0H"_`pNup?aTLn`Hn nb"XfRnfSnzk _g,vxz| +g2 -g, *g $g& #g$a`RnfSnzk`` `RCSnzk _f Snzj`h #g $g *g.g ^gH +g^ -gX.fXxRDSnzkL #g ^g +g4 -g. _f.RSnzj`RESnzk ^g +g -fRSnf nb? JEf0DH2HgR@?=nxvjDnxL8n@a@aV<z Ndz* I0`  fEQNdS|$Ne Jnvj|- nb XfRnf0nfc|.g8 _g>.g@ +gN -gR $f ,fHQ!arRnf"_p$RHQab"_`Rnf`)  g *fp `Jnvjp-`Jnvkp `=_fSnfRnzNuHLn=BvjDBNbLxC*E0RJCfRCR@r2HAARACd ` Efr0Sb Eg4 5e.!A*e0R 9c0`R1R@0c JEr+J@jr-D@UEoJYEc0SEnHJEf0SEH@HdREf0SEH@H 0 0REfH@C* nb XfRnf0nfcJ.g _g .g +g -g HQaL`Rnf`Jnvjp-`Jnvkp `=_fSnfRnzNu"H YJQfNu YH瀀aLP|HPG6C&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:G6FWfTL L-KA `L$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`X؅X`$_  IaیYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaVYHR"H` nd$HJf-HS Nup"`jHPa _a`QNua JH arL0Nua` .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a߾-IHQB0a _JNuz"-A=B|aߖ-I` +N?0~~``|8 ||??>> `` .t.t\:\:880 0 `` ` ?.t\:?80 @`px|~xp`@?-?toZoWv+5T? @ `?$? (?%R    ; ?{!Zn; / o >" /= 8 ! #! H0 0  !"" % >< ~.$oo????       P T i _ S H O O T V.: 3.3 / O8.O2.93 (public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14 D 55239 Gau-Odernheim *Deutsch032Nederlands049Escape001*8196 39634 6826 * DUMMY 001 028 114 057* Genoeg geknalt ? * Ja 036Nee049* Genug geballert? *ja036 nein 049* Als je weet, wat je wilt,kunnen wedoorgaan !* Wenn Du weit, was Du willst,knnen wirweiter machen!**Start031 028 114 057 Escape 001**SPIELEN031 028 114 057 Escape 001**~@P00* dat is helaas niet genoeg voor de 'Top Five'Opnieuw beginnen ?* Ja 036Nee049* reichen leider nicht fr die 'Top Five'Neues Spiel?*ja036 nein 049* T i _ S H O O T *S = START031 028 114H = HULP 035I = INFO 023T = TOP 5020--------------- Escape001* T i _ S H O O T *S = START031 028 114H = HILFE035I = INFO 023T = TOP 5020--------------- Escape001*T i _ S H O O Tis een schietspelletje.Wat anders ?!De linker muisknopknalt, de rechter onderbreekt het spel.De rest zie je wel.Gesnapt ?*Knallen maar !001 057 028 114 @K*T i _ S H O O Tist ein Ballerspiel.Was denn sonst ?!Die linke Maustasteballert, die rechte unterbricht das Spiel.Den Rest sieht man.Alles klar?*Fang an!001 057 028 114 @F*De nederlandse vertaling is vanPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_SHOOT is 'public domain',loopt inmidden en hoge ST-resolutieen 'heeft iets' tegen Linkvirussen.Het programma mag, nee moetverder gegeven worden - maarnatuurlijk uitsluitend kosteloos !Veel plezier ! De Auteuris*OK001 028 114 @O*Die bersetzungins Niederlndische ist vonPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_SHOOT ist 'public domain',luft inmittlerer und hoher ST-Auflsungund hat 'was gegen Linkviren.Das Programm darf und sollweitergegeben werden - abernatrlich ausschlielich kostenlos!Viel Spa! Der Autorist*OK001 028 114 @O*[3][ | * Pixel| Sorry, only:| ST-medium / ST-high ][ OK ]SCHOTEN:TREFFERS:SCORE:B O N U S - R O N D ESCHUSS:TREFFER:B O N U S - R U N D E[3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP]Ti_SHOOT.TOP LEVEL: Punten opschrijven ? Punkte eintragen? volgende kanon nog maar 2 kanonnen let op ! laatste kanon Veel Geluk ! nchste Kanone vorletzte Kanone pa auf! letzte Kanone Viel Glck! Alles opgeknalt geen schoten meer ! Stront ! Alles verballert kein Schu mehr! Mist! + S H I T Je hebt geen keus ! Du hast keine Wahl! Je kunt kiezen : Du hast die Wahl: + 1 kanon + 1 Kanone nobodyTyp je naam in en Gib deinen Namen ein und ######## TOP FIVE saven ? TOP FIVE sichern? Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  (f"F"B"0.FF 4 8j48(>*2(&$0 l<X N @v Br8 v.r8 r8 \R8 \R8 l ^DVJnv"4\Lb B$|(rTVp  Z:""p.Z&>,N * f((@4D L@$B 8~v 8 $@& $x 6 "xV.0  1269437 R.Tiemann 878254 R.Tiemann 587825 R.Tiemann 494565 R.Tiemann 369754 R.Tiemann . ݌1.. TI_T_V_HSRC1TI_T_V_HPRG < ~.$oo????' ============================================================ ' Ti_T_V_H ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' INLINE rat_spr%,74 ' D: ' Ratte als Sprite (funktioniert in allen Auflsungen) ' Wenn das LST-File mit Merge geladen wird, ' mu das INLINE mit HELP nachgeladen werden! ' NL: ' Rat (muisje ?) als Sprite (werkt in alle resoluties) ' Als het LST-file met Merge geladen wordt, ' moet de INLINE met HELP nageladen worden ! ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA " V.: 3.O / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA "Nederlands","049" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_T_V_H.PRG" DATA "=44669 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren ' auerdem bei 'low resolution' verwenden! (Compiler-Fehler ???) $I+ !Interrupt zulassen ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ' =========================================================== ' @pre.set ' neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' =========================================================== ' PROCEDURE pre.set ' Die Positionen werden gewhnlich so angegeben, ' da sie fr die niedrige Auflsung stimmen. ' Sie werden vom Programm mittels der Faktoren ' hf& und vf& an die aktuelle Auflsung angepat. ' ' Variablen mit zwei oder drei Zeichen+Suffix sind ' LOCAL deklariert oder haben nur lokale Bedeutung ' z.B. Laufvariable ni& etc. ' Ausnahmen: Adre-Variablen mit Suffix % (local) ' Globale Variablen haben mindestens vier Zeichen. ' Ausnahmen: alf&, hf&, vf&, mx&, my&, mk& ' MENU KILL DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen CLS y_kzl&=7*vf& !y Kopfzeile y_kln&=y_kzl&+2+vf& !y Kopflinie h_br&=h_max&+1 !horizontal Breite v_ho&=v_max&+1 !vertikal Hhe h_mid&=h_max&\2 !h- v_mid&=v_max&\2 !v-Mitte y_rel&=4*vf& top_pal$="" !Farbpalette des Desktop @get.palette(top_pal$) !retten check!=TRUE !fr Linvirentest ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 ' programmspezifisch: @pre.set.special @set.farben @set.grafik.normal @set.1.wahl DEFMOUSE 0 RETURN PROCEDURE pre.set.special DIM bild%(32255/4) !Platz fr 2.Bildschirm reservieren scr_1%=XBIOS(3) !Adresse des logischen (=physikalischen) Bildschirms scr_2%=(VARPTR(bild%(0))+255) AND NOT &HFF !Adr.: 2.Bildschirm (\256) sp_z&=3 !Spaltenzahl zl_z&=8 !Zeilenzahl sp_mod&=sp_z&+1 zug_max&=2^(zl_z&+1) !128 ' DIM platz&(sp_z&,zl_z&) DIM hoehe&(sp_z&) DIM x_pl&(sp_z&) DIM y_pl&(zl_z&) DIM platte$(zl_z&) DIM zug_of&(zug_max&) DIM zug_to&(zug_max&) ' fd_xd&=100*hf& !Spaltenbreite fd_xofs&=h_mid&-(fd_xd&*(sp_z&+2)\2) pl_br&=96*hf& !Plattenbreite pl_xdi&=-pl_br&\2 xd&=(fd_xd&-pl_br&)\2 pl_xofs&=fd_xofs&+xd& fd_yd&=16*vf& !Zeilenhhe pl_ydi&=-fd_yd&\2 pl_ho&=fd_yd&-2 !Plattenhhe unten&=185*vf& ' Platten-Positionen xi&=fd_xofs&+xd& FOR ni&=1 TO sp_z& ADD xi&,fd_xd& x_pl&(ni&)=xi& NEXT ni& yi&=unten& FOR ni&=1 TO zl_z& SUB yi&,fd_yd& y_pl&(ni&)=yi& NEXT ni& ' bn_l&=4+2*hf& !Buttonlnge x_esc&=bn_l&*8+1 !ESC x_hlp&=h_max&-x_esc& !HELP x_eaw&=10*hf& x_haw&=h_br&-x_eaw&-109 y_kaw&=19*vf& y_std&=21*vf& !21*vf&+2 y_pwo&=34*vf& ' Defaults level&=5 start&=1 !Start-Stapel RETURN PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.farben IF alf&=2 VSETCOLOR 0,7,7,7 !wei ELSE VSETCOLOR 0,6,6,6 !dunkelwei VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,3,4,5 !stahlblau ENDIF RETURN ' PROCEDURE test.virus LOCAL pad$,prg$,pln$,it$,prg_len%,dat_len%,bnr& pad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pad$,1)<>"\" pad$=pad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ dat_len%=LOF(#1) CLOSE #1 IF dat_len%prg_len% it$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,it$,bnr&) IF bnr&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @show.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,m_frei% it$="[3][ | MALLOC-ERROR! | ][ shit ]" m_frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -m_frei% prg_adr%=MALLOC(m_frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,it$,bnr&) ENDIF ELSE @show.alert(1,it$,bnr&) ENDIF RESERVE !wie vorher RETURN PROCEDURE show.warnung IF taal$="NL" it$="[3][ | De test op een Link-virus | kon niet (!)|" it$=it$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE !D it$="[3][ | Der Linkvirentest | konnte nicht(!)|" it$=it$+" durchgefhrt werden| ][ sehr verdchtig! ]" ENDIF @show.alert(1,it$,bnr&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE white.box(li&,ob&,re&,un&) @set.grafik.normal PBOX li&,ob&,re&,un& RETURN PROCEDURE clean ' fllt den Bildschirm (ohne Kopfzeile) mit "Hintergrund" ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE zent(yit&,it$) ' zentriert den Text an der gewnschten y-Position TEXT h_mid&-LEN(it$)*4,yit&,it$ RETURN PROCEDURE show.titel(it$) LOCAL lit&,xit& @white.box(-1,-1,h_br&,y_kln&) lit&=LEN(it$) IF lit& xit&=h_mid&-lit&*4 GRAPHMODE 4 TEXT xit&-8,y_kzl&,SPACE$(lit&+2) !mit Rand GRAPHMODE 3 TEXT xit&,y_kzl&,it$ GRAPHMODE 1 ENDIF RETURN PROCEDURE shit LOCAL it$,lit&,bnr& ON ERROR !aus ' ~XBIOS(5,L:scr_1%,L:scr_1%,-1) !programmspezifisch ' it$=ERR$(ERR) !Original-Fehlermeldung lit&=RINSTR(it$,"[") ' "CONT" und "STOP" statt "Return" schont den Reset-Knopf it$=LEFT$(it$,lit&)+" CONT |STOP]" @show.alert(2,it$,bnr&) IF bnr&=1 RESUME neu_start ELSE @ausgang ENDIF RETURN ' PROCEDURE test.wahl(VAR pt_&,pw_&) LOCAL test$,dummy$ pt_&=-1 !Info-Zeilen zhlen REPEAT INC pt_& READ test$ UNTIL test$="*" pw_&=-1 !Wahl-Zeilen zhlen REPEAT INC pw_& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR pt_&,pw_&,pt_$(),pw_$(),pk_$()) LOCAL dummy$ ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>20 OR ABS(my&-ay&)>20 @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' ' === hier beginnt das eigentliche Programm === ' PROCEDURE set.1.wahl RESTORE 1.wahl !DATA-Pointer setzen @test.wahl(pt_1&,pw_1&) !zhlen DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) !dimesionieren RESTORE 1.wahl !DATA-Pointer neu setzen @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) !Arrays fllen RETURN ' PROCEDURE 1.wahl @show.titel(" T i _ T _ V _ H ") @clean @pop.wahl(0,y_rel&,TRUE,TRUE,0,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) SELECT wahl& CASE 2,3 @set.sprache(wahl&-1) IF check! !nur beim ersten Durchgang / alleen de eerste keer @check.etc ENDIF @wahl.main CASE 5 @last.info @ausgang ENDSELECT RETURN PROCEDURE set.sprache(nr&) LOCAL neu! IF nr&=2 neu!=taal$<>"NL" taal$="NL" titel$="Torens van Hanoi" ELSE neu!=taal$<>"D" taal$="D" titel$="Trme von Hanoi" ENDIF IF alf&>0 titel$=" "+titel$+" " ENDIF IF neu! @set.wahl.main @set.wahl.genug @set.wahl.help ENDIF RETURN PROCEDURE check.etc @test.virus !=> short.exit ? @gen.spielfeld check!=FALSE RETURN PROCEDURE gen.spielfeld LOCAL li&,ob&,re&,un&,xd& VSYNC ! work show ~XBIOS(5,L:scr_2%,L:TRUE,-1) !hide @clean @show.titel("") li&=h_mid&-154*hf& re&=h_mid&+154*hf& ob&=y_pl&(zl_z&)-27*vf& un&=y_pl&(1)+fd_yd&+8*vf&+2 PBOX li&-3*hf&,ob&-3*vf&,re&+3*hf&,un&+3*vf& BOX li&,ob&,re&,un& ob&=unten& un&=ob&+8*vf& DEFFILL 1,1 PBOX x_pl&(1),ob&,x_pl&(1)+pl_br&,un& PBOX x_pl&(2),ob&,x_pl&(2)+pl_br&,un& PBOX x_pl&(3),ob&,x_pl&(3)+pl_br&,un& DEFFILL 1,0 PBOX h_mid&-24-2*hf&,y_std&-10*vf&,h_mid&+24+2*hf&,y_std&+4*vf& BOX h_mid&-24,y_std&-8*vf&,h_mid&+24,y_std&+2*vf& SGET spielfeld$ IF alf&=2 DEFFILL 1,2,4 ELSE DEFFILL 2,1 ENDIF HIDEM li&=x_pl&(1) re&=x_pl&(1)+pl_br& ' GET li&,y_pl&(1),re&,y_pl&(1)+pl_ho&,platte$(0) !leere Platte scheibe$=platte$(0) ' FOR ni&=1 TO zl_z& ob&=y_pl&(ni&) un&=ob&+pl_ho& xd&=(ni&-1)*6*hf& PRBOX li&+xd&,ob&,re&-xd&,un& GET li&,ob&,re&,un&,platte$(ni&) NEXT ni& VSYNC ! work show ~XBIOS(5,L:scr_1%,L:scr_2%,-1) !swap BMOVE scr_2%,scr_1%,32000 !copy VSYNC ~XBIOS(5,L:TRUE,L:scr_1%,-1) !show SHOWM RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,0,TRUE,TRUE,1) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN ' PROCEDURE set.wahl.main @da.is.main @test.wahl(pt_m&,pw_m&) ERASE pt_m$(),pw_m$(),pk_m$() !wegen Sprachwechsel DIM pt_m$(pt_m&),pw_m$(pw_m&),pk_m$(pw_m&) @da.is.main @read.wahl(pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$()) level_ofs&=1 start_ofs&=10 MID$(pw_m$(start_ofs&+1),3)=CHR$(4) ! MID$(pw_m$(start_ofs&+2),3)=CHR$(2) !wegen LST-File MID$(pw_m$(start_ofs&+3),3)=CHR$(3) ! ' separat abhaken, damit die Wahl auch nach ' einem Wechsel der Sprache beachtet wird @abhaken.level(level&) @abhaken.start(start&) RETURN PROCEDURE da.is.main !~NL~D~ IF taal$="NL" RESTORE wahl_main_nl ELSE RESTORE wahl_main_d ENDIF ' ohne Infozeilen wahl_main_nl: DATA * DATA "INFO","023" DATA "Regels","019" DATA "Speelwijze :","1" DATA " 3 schijven","004 111" DATA " 4 schijven","005 106" DATA " 5 schijven","006 107" DATA " 6 schijven","007 108" DATA " 7 schijven","008 103" DATA " 8 schijven","009 104" DATA "Startplaats :","1" DATA " 1 ","075" DATA " 2 ","080" DATA " 3 ","077" DATA "Demo","032" DATA "SPELEN","031" DATA " ------------ ","2" DATA "Escape","001" DATA *,"" ' wahl_main_d: DATA * DATA "INFO","023" DATA "Regeln","019" DATA "Spielweise:","1" DATA " 3 Platten","004 111" DATA " 4 Platten","005 106" DATA " 5 Platten","006 107" DATA " 6 Platten","007 108" DATA " 7 Platten","008 103" DATA " 8 Platten","009 104" DATA "Startplatz:","1" DATA " 1 ","075" DATA " 2 ","080" DATA " 3 ","077" DATA "Demo","032" DATA "SPIELEN","031" DATA " ------------ ","2" DATA "Escape","001" DATA *,"" RETURN PROCEDURE set.wahl.genug @da.is.genug @test.wahl(pt_g&,pw_g&) ERASE pt_g$(),pw_g$(),pk_g$() !wegen Sprachwechsel DIM pt_g$(pt_g&),pw_g$(pw_g&),pk_g$(pw_g&) @da.is.genug @read.wahl(pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$()) RETURN PROCEDURE da.is.genug !~NL~D~ IF taal$="NL" RESTORE wahl_genug_nl ELSE RESTORE wahl_genug_d ENDIF ' wahl_genug_nl: DATA " Genoeg ? " DATA * DATA " Ja ","001 036 028 114" DATA "Nee","049 057" DATA *,"" ' wahl_genug_d: DATA " Genug? " DATA * DATA "ja","001 036 028 114" DATA " nein ","049 057" DATA *,"" RETURN PROCEDURE set.wahl.help @da.is.help @test.wahl(pt_h&,pw_h&) ERASE pt_h$(),pw_h$(),pk_h$() !wegen Sprachwechsel DIM pt_h$(pt_h&),pw_h$(pw_h&),pk_h$(pw_h&) @da.is.help @read.wahl(pt_h&,pw_h&,pt_h$(),pw_h$(),pk_h$()) RETURN PROCEDURE da.is.help !~NL~D~ IF taal$="NL" RESTORE wahl_help_nl ELSE RESTORE wahl_help_d ENDIF ' wahl_help_nl: DATA " 0 <-> 0 " DATA * DATA "Terug","020" DATA "Vooruit","047" DATA "","" DATA " Escape ","001" DATA *,"" ' wahl_help_d: DATA " 0 <-> 0 " DATA * DATA "Zurck","021" DATA "Vorwrts","047" DATA "","" DATA " Escape ","001" DATA *,"" RETURN ' PROCEDURE wahl.main REPEAT @show.startbild @zent(y_std&," "+STR$(zug_min&)+" ") @pop.wahl(0,y_pwo&,TRUE,FALSE,17,pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$(),wahl&) SELECT wahl& CASE 1 @prg.info CASE 2 @spiel.regeln CASE 4 TO 9 @abhaken.level(wahl&-level_ofs&) CASE 11 TO 13 @abhaken.start(wahl&-start_ofs&) CASE 14 @zeig.demo CASE 15 @spielen ENDSELECT UNTIL wahl&=17 RETURN PROCEDURE show.startbild SPUT spielfeld$ @show.titel(titel$) FOR ni&=1 TO 8 IF ni&<=level& PUT x_pl&(start&),y_pl&(ni&),platte$(ADD(ni&,sub8level&)) ELSE PUT x_pl&(start&),y_pl&(ni&),platte$(0) ENDIF NEXT ni& RETURN PROCEDURE prg.info !~NL~D~ IF taal$="NL" RESTORE prg_info_nl ELSE RESTORE prg_info_d ENDIF @show.titel(" I N F O ") @pop.info(0,y_rel&,TRUE,TRUE,60) ' prg_info_nl: DATA DATA "Ti_T_V_H is 'public domain'," DATA "loopt in alle 3 ST-resoluties en" DATA "'heeft iets' tegen Linkvirussen." DATA "Het programma is in GFA-BASIC 3.0" DATA "geschreven en gecompileerd en mag," DATA "nee moet verder gegeven worden - maar" DATA "natuurlijk uitsluitend kosteloos !" DATA "En om te zorgen dat het ook" DATA "kosteloos blijft, stuurt U de auteur" DATA "a.u.b. geen (!) geld." DATA "Veel plezier !" DATA "De nederlandse vertaling is van" DATA "Philip van Rijthoven" DATA "Tel.: O8O-782457" DATA "Nelson Krugerstraat 58" DATA "NL 6543 MX Nijmegen" DATA "(Danke!)" DATA * ' prg_info_d: DATA DATA "Ti_T_V_H ist 'public domain'," DATA "luft in allen 3 ST-Auflsungen" DATA "und hat 'was gegen Linkviren." DATA "Das Programm ist in GFA-BASIC 3.0" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden - aber" DATA "natrlich ausschlielich kostenlos!" DATA "Und damit es auch kostenlos bleibt," DATA "schicken Sie dem Autor bitte" DATA "kein (!) Geld." DATA DATA "Viel Spa!" DATA * RETURN PROCEDURE spiel.regeln !~NL~D~ LOCAL tit$ IF taal$="NL" RESTORE spiel_regeln_nl ELSE RESTORE spiel_regeln_d ENDIF READ tit$ @show.titel(tit$) @pop.info(0,y_pwo&,TRUE,FALSE,60) ' spiel_regeln_nl: DATA "Spelregels" DATA "De toren moet van de" DATA "startplaats naar een andere" DATA "stapel verplaatst worden." DATA "De schijven moeten" DATA "n voor n" DATA "verplaatst worden" DATA "en een grotere mag nooit" DATA " op een kleinere liggen. " DATA "Met de linker muisknop" DATA "oppakken" DATA "en weer neerzetten." DATA "Er zijn minstens" DATA "( zie boven )" DATA "zetten nodig." DATA * spiel_regeln_d: DATA "Spielregeln" DATA " Der Turm soll von einem " DATA "Platz auf einen anderen" DATA "umgestapelt werden." DATA "Dabei mu jede Platte" DATA "einzeln bewegt werden" DATA "und darf nie auf einer" DATA "kleineren liegen." DATA "Die linke Maustaste" DATA "nimmt eine Platte" DATA "oder legt sie ab." DATA "Man braucht mindestens" DATA " ( siehe oben )" DATA "Zge." DATA * RETURN PROCEDURE abhaken.level(nr&) MID$(pw_m$(level&+level_ofs&),1)=" " level&=nr& sub8level&=SUB(8,level&) MID$(pw_m$(level&+level_ofs&),1)=CHR$(8) zug_min&=2^level&-1 zug_max&=2^(level&+1) RETURN PROCEDURE abhaken.start(nr&) MID$(pw_m$(start&+start_ofs&),1)=" " start&=nr& MID$(pw_m$(start&+start_ofs&),1)=CHR$(8) RETURN ' ' === hier beginnt das Spiel === ' PROCEDURE zeig.demo !~NL~D~ LOCAL aus! HIDEM @da.is.demo bis_zug&=zug_min& FOR ni&=1 TO bis_zug& READ zug_of&(ni&),zug_to&(ni&) NEXT ni& @demo.vorbereiten REPEAT @zug.vorwaerts UNTIL aus! @merke.neuen.startplatz IF taal$="NL" RESTORE demo_nl ELSE RESTORE demo_d ENDIF SHOWM @pop.info(0,y_pwo&,TRUE,FALSE,60) ' demo_nl: DATA "Te snel ?" DATA "Dat doen we expres." DATA " Probeer het zelf maar en " DATA "doe het lekker langzaam !" DATA * ' demo_d: DATA "Zu schnell?" DATA "Das ist Absicht." DATA " Probier es selbst und " DATA "mach langsamer!" DATA * RETURN PROCEDURE da.is.demo IF ODD(level&) !3~5~7 SELECT start& CASE 1 RESTORE demo_7_1_3 CASE 2 RESTORE demo_7_2_1 CASE 3 RESTORE demo_7_3_1 ENDSELECT ELSE !4~6~8 SELECT start& CASE 1 RESTORE demo_8_1_3 CASE 2 RESTORE demo_8_2_1 CASE 3 RESTORE demo_8_3_1 ENDSELECT ENDIF ' demo_7_1_3: DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3 demo_7_2_1: DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1 demo_7_3_1: DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1 demo_8_1_3: DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3 demo_8_2_1: DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,1,2 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1,2,3 DATA 1,2,1,3,2,3,1,2,3,1,3,2,1,2,1,3,2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1 DATA 3,1,3,2,1,2,3,1,2,3,2,1,3,1,3,2,1,2,1,3,2,3,1,2,3,1,3,2,1,2,3,1 DATA 2,3,2,1,3,1,2,3,1,2,1,3,2,3,2,1,3,1,3,2,1,2,3,1,2,3,2,1,3,1 demo_8_3_1: DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,1,3 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1,3,2 DATA 1,3,1,2,3,2,1,3,2,1,2,3,1,3,1,2,3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1 DATA 2,1,2,3,1,3,2,1,3,2,3,1,2,1,2,3,1,3,1,2,3,2,1,3,2,1,2,3,1,3,2,1 DATA 3,2,3,1,2,1,3,2,1,3,1,2,3,2,3,1,2,1,2,3,1,3,2,1,3,2,3,1,2,1 RETURN PROCEDURE demo.vorbereiten @vorbereitung.1.teil GRAPHMODE 4 TEXT 1,y_kzl&,SPACE$(bn_l&) GRAPHMODE 3 TEXT 8*hf&+1,y_kzl&,"DEMO" GRAPHMODE 1 @zent(y_std&," "+STR$(zug&)+" ") @vorbereitung.2.teil RETURN ' PROCEDURE spielen LOCAL abbruch!,fertig! @spiel.vorbereiten REPEAT @get.tom IF scan| @taste ELSE IF my& bewegen > ablegen ENDIF UNTIL fertig! OR abbruch! IF NOT abbruch! @show.kommentar ENDIF RETURN ' PROCEDURE spiel.vorbereiten @vorbereitung.1.teil bis_zug&=0 @set.bis.zug GRAPHMODE 4 TEXT 1,y_kzl&,SPACE$(bn_l&) TEXT x_hlp&+1,y_kzl&,SPACE$(bn_l&) GRAPHMODE 3 TEXT 8*hf&+5,y_kzl&,"ESC" TEXT x_hlp&+8*hf&+1,y_kzl&,"HELP" GRAPHMODE 1 @zent(y_std&," "+STR$(zug&)+" ") @vorbereitung.2.teil SHOWM RETURN PROCEDURE vorbereitung.1.teil VSYNC ! work show ~XBIOS(5,L:scr_2%,L:TRUE,-1) !hide @show.startbild ARRAYFILL platz&(),0 ARRAYFILL hoehe&(),0 FOR ni&=1 TO level& platz&(start&,ni&)=ni&+sub8level& NEXT ni& zug&=0 hoehe&(start&)=level& RETURN PROCEDURE vorbereitung.2.teil VSYNC ~XBIOS(5,L:scr_1%,L:scr_2%,-1) !swap BMOVE scr_2%,scr_1%,32000 !copy VSYNC ~XBIOS(5,L:TRUE,L:scr_1%,-1) !show RETURN PROCEDURE set.bis.zug MID$(pt_h$(1),10)=LEFT$(STR$(bis_zug&)+" ",3) RETURN PROCEDURE taste IF scan|=1 @wahl.genug ELSE IF scan|=98 @wahl.help ELSE @pup ENDIF RETURN PROCEDURE button IF mx&x_hlp& @wahl.help ENDIF RETURN PROCEDURE wahl.genug @pop.wahl(x_eaw&,y_kaw&,FALSE,FALSE,2,pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$(),wahl&) abbruch!=(wahl&=1) SHOWM RETURN PROCEDURE wahl.help LOCAL aus! REPEAT @pop.wahl(x_haw&,20*vf&,FALSE,FALSE,4,pt_h&,pw_h&,pt_h$(),pw_h$(),pk_h$(),wahl&) SELECT wahl& CASE 1 IF zug&>0 @zug.rueckwaerts ELSE @pup aus!=TRUE ENDIF CASE 2 IF zug& ablegen ELSE @pup ENDIF ELSE @pup ENDIF RETURN PROCEDURE platte.bewegen LOCAL abgelegt!,alt_stapel&,ax&,ay&,nx&,ny& @no.but HIDEM @platte.weg nx&=mx&+pl_xdi& ny&=my&+pl_ydi& ax&=nx& ay&=ny& alt_stapel&=stapel& @platte.hin.xor.weg REPEAT MOUSE mx&,my&,mk& nx&=mx&+pl_xdi& ny&=my&+pl_ydi& IF mk&=1 stapel&=((mx&-fd_xofs&)\fd_xd&) MOD sp_mod& IF stapel& hoch&=hoehe&(stapel&) IF platten_nr&>platz&(stapel&,hoch&) !nur kleinere auf grere @platte.hin.xor.weg @platte.ablegen ELSE @pup ENDIF ELSE @pup ENDIF ELSE IF nx&<>ax& OR ny&<>ay& @platte.xor.schieben ax&=nx& ay&=ny& ENDIF UNTIL abgelegt! SHOWM RETURN PROCEDURE platte.hin.xor.weg VSYNC ! work show ~XBIOS(5,L:scr_2%,L:TRUE,-1) !hide PUT ax&,ay&,scheibe$,6 VSYNC ~XBIOS(5,L:scr_1%,L:scr_2%,-1) !swap PUT ax&,ay&,scheibe$,6 VSYNC ~XBIOS(5,L:TRUE,L:scr_1%,-1) !show RETURN PROCEDURE platte.xor.schieben VSYNC ! work show ~XBIOS(5,L:scr_2%,L:TRUE,-1) !hide PUT ax&,ay&,scheibe$,6 PUT nx&,ny&,scheibe$,6 VSYNC ~XBIOS(5,L:scr_1%,L:scr_2%,-1) !swap PUT ax&,ay&,scheibe$,6 PUT nx&,ny&,scheibe$,6 VSYNC ~XBIOS(5,L:TRUE,L:scr_1%,-1) !show RETURN PROCEDURE platte.ablegen @platte.hin IF stapel&<>alt_stapel& !Zurcklegen zhlt nicht als Zug INC zug& @merke.zug @test.ob.fertig ENDIF abgelegt!=TRUE @no.but RETURN PROCEDURE merke.zug IF zug&zug_of&(zug&) OR stapel&<>zug_to&(zug&) ' wenn ein anderer Zug gemacht wird, ' sind die weiteren Zge ungltig! bis_zug&=zug& ENDIF ELSE bis_zug&=zug& ENDIF @set.bis.zug zug_of&(zug&)=alt_stapel& !Bewegung merken zug_to&(zug&)=stapel& @show.zugzahl RETURN PROCEDURE test.ob.fertig IF hoehe&(stapel&)=level& AND stapel&<>start& fertig!=TRUE @merke.neuen.startplatz ELSE IF zug&=zug_max& fertig!=TRUE ENDIF RETURN PROCEDURE merke.neuen.startplatz ' Fr wahl.main neuen Startplatz ohne Umbau ' abhaken, weil die Platten jetzt dort liegen! MID$(pw_m$(start&+start_ofs&),1)=" " start&=stapel& !da liegen jetzt die Platten MID$(pw_m$(start&+start_ofs&),1)=CHR$(8) RETURN ' PROCEDURE show.kommentar LOCAL wert& IF zug&4000 SOUND 1,0,0,0,0 !a Ruh is RETURN PROCEDURE sirene(nz&) LOCAL ni&,sd& ni&=nz& WHILE ni&>0 FOR sd&=1 TO 8 SOUND 1,15,sd&,4,1 NEXT sd& PAUSE 5 DEC ni& WEND SOUND 1,0,0,0,0 RETURN ' ' === Ti === `,6@AONLawawNxNN:AHajHmHNNNpNpN`pa[pa]aT$E atN`aPham AaiA퀜ahpa;@pa;@0-R@;@0-R@;@ mWHH/ mWHHg;|`p mWHH/ mȁWHHg;|`J m@WHH/ mȁWHHgBm`&EapC mab ?</-/-NNaO`lalJA퀤agjAagbA퀠ag~Npa\aS m$m2a<$m4N`kalNN`kak` ptraZFa{6;A;B;C0-fa{df`kvakHyNNX @p!@`k\akpa\:aR <aQ@z <aQ"<av <aQ"<av <aQ"<av0-6-tra[ab0-S@]HT@;@0-U@]HT@;@0-;@ 0-r4m ҊA;@ 0-T@;@0-HjR;@0-HjR;@0-@;@0-HЀX@;@0-HR@;@P큈E~aJANa|`j8aj~E4 +@xpJakCTa`*AT "@pJ mxaJ <~Aaw@?<NNT+@|x mAH B+@;|;|0-R@;@0-a?a]&<x:<aBN;@ 0-H2-H~A|av0-H~A킂av0-H~A킈av0-H~A킎av0-H~A큊avn0- H~A킔avn0- H~A킚av^0-d;@"0-"a?/??0-a?&<:<a< 8:&a?&<x:<ab6a=0mD;@$0-`;@&0-&HDJjR;@(0-"H0m&JjR$m4$m0m$;@*0-@;@,0-,HDJjR;@.0-,U@;@00-;@2$m0m$;@4$m40-a]`&0-"m40-4H$m8H m؄1H$mRR$m0koY;m26$m40-a\`&0-,m60-6H$m8H m؄1H$mRR$m0koY0-HЀX@;@0-HR@;@0-m;@80- ;@:pm2-m:D;@<0-;@>;|@0-";@B;|D;|F`g8ag~Aab mad$mBR?<$m??<NN\ae*"maR"ma]$mRR$m0@o`fag(A(ac6A,ac.0-U@fHxw?<NN\`NHxf?<NN\Hy?<NN\HyE?<NN\0-S@fHy?<NN\`Hy?<NN\`ffafA0abA4abAabEaF;|H max0-HU@gF$m4 m0(a[`"p$m2H maeac$m0ђ$mRR$m0koYRmH m HoEBaF\ max mahva:l$m4$$m4 $m0gEpac/$m0 a;af"_aQ "ma[AZ0$mL ЀR"p maba`$m,$$m,?*$mL?*?<NN\$mLR$mL o]`bacAa^DA퀼a^g``4a`zADa[A퀌a[A퀈a[A퀄a[Aa[zAa[rA퀰a\ Aa\($mBR`$mRR$m8H"m"Qar:ar$m0$mRn marx$mBR`$mRR$m8H"m"QaqarR$m8H"m"Qaqar<$m8H"m"Qaq0($m4$m0S@f0$m8H"m"Qaqaaa3$m8H mD P؄1H`^$m0WHH/$m8H"m"Qaqn0(J@WHHg$m8H mD P؄1H`$m8H mD P؄1H$m0$mRn `^a^AaZA퀔aZA퀐aZA퀄aZADaYAaYAaYAaZAdaZLA`aZDA퀸aYA퀴aYAaZXA퀼aZPAaZHAaZ@AaZ8AaZ0A퀰aZ(AaZ AaZAaZAaZ.AaZAaZAaYAaYAaYA aYAaY0-@$m40- $m4$m4aD/-/-/-N/-/-/-NN?$m8H"m"Qai/p@aU/A`a\""_aB"_aYJg "m m2$mRR$m0$mR]HH$m2HgZ`W.aWtADaRAaRA aSAaSA aS$m0g $m 4`$m 4$m4 m 0(SaK`Bp$m2H m aVZaYra+h$m4$m 0H$m8H mD P؄1H$mTR$m0koY`V|aVAPaR.AaQAdaRFA`aR>A퀸aQA퀴aQAaRRAaRJA퀼aRBAaR:AaR2AaR*A퀰aR"AaRAaRAaR A$aR(AaQAaQAaQA aQAaRa<0- $m4$m4$m0fLA큐aep~A큐ab$mRR$m8H"magah:$m8H"magp*aBfg$mSR$m4$m0aJ4`<$m8H"mag0($m4$m0H$m2Hl@$m4$mRR$m0koY$mRRN$mSR$mP VH?Np$m0H$m0RЈJjR$m4"m m2$mP f0-HЀR@$mR$m4$m0aIr`f$m8H"maf"m$aJ| m$0($m4$m0H$m0RD$m4$m0$mR m$$m4$m2aI$mRR$m0koYA큐adNp$mP gVp$m4RЊr$m4RҊATaX$mP $ԀЀЂ/NATaW m$m4H$m2HaDa:`SaS$m0$m$m4$mXR$m0$m2$m4RҊ$m4$m`g0-H$m0RJjR$mR$mdg0-H$m0RJjR$mR$m0$mR$m0$mR$m0H$m0RЈJjR$m4`RaS(AhaNNp0-$m0RDSrl@$m40-$m0RDrl@$m40-$m0RЈ2-Ho@$m40-$m0RЈ2-Ho@$m 4$mhg( m$m 8H$m:H$m<H$m>HaE0$m 0$m6$m4$m2a@0-HЀ$m0RЈ/0-HЀ$m0RЈ/0-HЀ$m0RD/0-HЀ$m 0RD&$"a@paBX`QaQATaMRAaMAaMa$mT l $mT$.a8$mTђaa$$m4aa,$m4?&<:<aV/??0-a!"8:&a" a/0-@a! &<:<a$/??0-a 8:&a!avm$rma9Ala@0-U@fpa;pa; pa;` pa:pa:a1x m؄00H$m4x m؄00Hm&$m4x m؄4pHHRx m؄00HH0m0Ј/x"ma\($m:H,$m>Ha=`$m8H m؄00H$m40-0$mR$m4$m0a&<:<a&<:<a /??0-a8:&a aH$m4$m0$m6$mR$m4$m2$mRa8*$m8H"ma[$m8H$m:H$m<H$m>HagEp a@T/a`Ep a@@/aN*Bg?-BHy?<HmlHmnHmHmHmHmHmVaAaRAaR|AaRtA킸aRl`BhaBN+fHmlHmna0-lH~AaOn0-nH~AaO^0-nH~AaON0-nH~A킸aONN+fHmlHmnHmHmHmHma`AaB2AZ0r"_aS m$;PF8-^H4mF؊"maS*/pa>r"_aS`@a@Ata0-FH`$Ea`*Ea`Ea` @g @g @g`?8a?~N0pa/0-a@4- ra4pa/0-HR/ a>N/HmlHmna0-lH~AaK0-nH~AaK0-nH~AaK0-nH~A킸aKN/HmlHmnHmHmHmHma `>:a>AZ0a>TAxa:A|a: N/?4- rm8a2pa-0-HZ/Epa:4- "a20-H0m8ЈR/ B?<Hm`HmbHmHmHmHmHmVa^0-VS@WHH$mxVa",`:a;:Ata60-rox m؄1H`x m؄1H0-pmrox m؄1H`x m؄1H?-<0-?B?<HmdHmfHmHmHmHmHmVa۸0-VH`D0-roN3V`DN?*$mtP`60-pmroN3`$N?*$mtP`$mtP` @g @g`$mtga!4`9a:B8-rH m؄00H;@tN48-rH m؄00H;@tN4zSmrN50-rWH$mtV`9a9Rmr8-rH m؄00H;@tN48-rH m؄00H;@tN4zN50-pmrWHH$mtV`9Na98-tH m؄00H;@v8-tH m؄AHSPN4Ax/:-v8-tH m|؅؄AH"_002Ar/8-xH"maKL"_a:F`8a98-tH m؄AHRP8-tH m؄00H;@vN4Ar/8-xH"maJ"_a9Ax/:-v8-tH m|؅؄AH"_002`8ba8a=?r0-nH~Aa>b0-nH~Aa>R0-nH~A킸a>RN=HmlHmnHmHmHmHmaEpa.`x"maC$m40-la%`$m8H"maC$0<>>ag 0- aa1$m8H"maB`$m8H"maB0<<Ea`2 @m @o @g @ g @ g @ g @g @g``$m40H``EaB`FE^a6`zEa*`nEa`bEEa`VEa`JEa`>Ea`2 @m @o @g @ g @ g @ g @g @g``.(a.nAXa*|A\a*t$mX$ `p<$m\$pa9$mX tra?Tpa9$m\ $mXђ$m\S$mX ovptra>pa9`-a-Apa9T$m@RR$m@0Q@opa9>$mSR$m0nvptra>zpa9`-2aadDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&ah&8:DE`DEx`aT` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu 24afpNu 24afpNu>jDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`jBNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`r 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup` <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a` (TJ_LkNuTJ_Lja&8* <r4<`HL aJBfL agLJBjDBa8L8a@aDBNuLJBjDBaL8a"`p` 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI@(K$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KMI@(O:HQ <-H*,`N,Jd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<R0<NBLNurt=@:=A@=B NuHz(` NRHz ?<&NN\Nu9:gNuW:Nu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa 8a O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJFkSFk4arQa`&HaFFaZQ&8*L/a,H܆jDBJ.:gtBn:Nu(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS a~`QNu$Aa``QBNuHPHQ0(ikaN $I _a6IUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `,/ a$I> _aG` VNuag`af`ae `ac` acpNuadpNu/ a\$I> _aR4Ae4v` VfANuHP0(R@kBa8 $I _a IUd4Id4Id$Id `$$$$Q @JfNuNup `laSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aBAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `aUAfQNuag`af`ae `ac` acpNuadpNua^SAkXf SAkXfJANurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`\n\n^648HH`prt`8n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|^FH-|^ZL`fNu-HNTh?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `xT np` 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea ~"ep`&6NuE "e a \"d&&6NuE"e a >"d66NuE"e a ""d666NuE"e a "d6Nu <}aV$Ia `,$XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha N0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`8a`QNuHg"cc/ 0)a~ _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`zaJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`p a2`p CFp`xa CF"p`jHza`Hydf"J`VB.@=|DNua.@FpAR@C`4 B.@=|DNuB.@a=GDgNup`a`aCF"E p`Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8aL8 DBaL8O <jDFJEjDEFn ffAbtNu&8:a`۔&8:a`ۆ 246jDC C b H&<;)8<\:<a^axHa R/@L&"NN @A C#P B?< NA\#w/a?< NA\AM0N yTNuA#y x x hg3&u>AC`g#P Nu?<"NNT @ 9u.g!@ HzT?<&NN\3NuM#wRvNuHz ?<&NN\NupACExjrJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3x Ni LHMO:|1R/9w?< NAO:pdz`/Maے,_NNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(aڮ؀.dfaڠjNu.dfNudg"J9kfa4fp`jd`/9dg/9dg/9NupAy-H=@|p4aTS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9Jg"9JgJ9fga"AO:Np\B`xG06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`C`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`ϜJAkfgRer?DDЁaAa$8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaj `ۺaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`a< ~.$oo???? T i _ T _ V _ H V.: 3.3 / O8.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14D 55239 Gau-Odernheim*Deutsch@DNederlands@N-----------------------2Escape00*7227 33196 11318 tot uw dienst * servus **INFO@IRegels@RSpeelwijze :1 3 schijven@3 4 schijven@4 5 schijven@5 6 schijven@6 7 schijven@7 8 schijven@8Startplaats :1 1 075 2 080 3 077Demo@DSPELEN@S---------------2Escape001**INFO@IRegeln@RSpielweise:1 3 Platten@3 4 Platten@4 5 Platten@5 6 Platten@6 7 Platten@7 8 Platten@8Startplatz:1 1 075 2 080 3 077Demo@DSPIELEN@S---------------2Escape001* Genoeg ? * Ja @J 001Nee@N* Genug? *ja@J 001 nein @N* 0 <-> 0 *Terug@TVooruit@V-------------2Escape001* 0 <-> 0 *Zurck@ZVorwrts@V-------------2Escape001*De nederlandse vertalingis vanPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_T_V_H is 'public domain',loopt in alle 3 ST-resoluties en'heeft iets' tegen Linkvirussen.Het programma is in GFA-BASIC 3.0geschreven en gecompileerd en mag,nee moet verder gegeven worden - maarnatuurlijk uitsluitend kosteloos !Veel plezier ! De Auteuris*OK001 028 114 @O*Die bersetzungins Niederlndische ist vonPhilip van RijthovenTel.: O8O-782457Paul Krugerstraat 58NL 6543 MX Nijmegen(Danke!)Ti_T_V_H ist 'public domain',luft in allen 3 ST-Auflsungenund hat 'was gegen Linkviren.Das Programm ist in GFA-BASIC 3.0geschrieben und compiliert und darfund soll weitergegeben werden - abernatrlich ausschlielich kostenlos!Viel Spa! Der Autorist*OK001 028 114 @O*De toren moet van destartplaats naar een anderestapel verplaatst worden.De schijven moetenn voor nverplaatst wordenen een grotere mag nooit op een kleinere liggen. Met de linker muisknopoppakkenen weer neerzetten.Er zijn minstens( zie boven )zetten nodig.*OK001 028 114 @O* Der Turm soll von einem Platz auf einen anderenumgestapelt werden.Dabei mu jede Platteeinzeln bewegt werdenund darf nie auf einerkleineren liegen.Die linke Maustastenimmt eine Platteoder legt sie ab.Man braucht mindestens( siehe oben )Zge.*OK001 028 114 @O*131232132123131232312132131232132123132132312123131232132123131232312132131232312123132132312132131232132123131232312132131232132123132132312123131232132123132132312132131232312123132132312123131232132123131232312132131232132123132132312123131232132123132123132132312123131232132123132132312132131232312123132132312123131232132123131232312132131232132123132132312123131232132123132132312132131232312123132132312132131232132123131232312132131232312123132132312123131232132123132132312132131232312123132132312131321231232131321213231231321231232131231213232131321231232131321213231231321213232131231213231231321231232131321213231231321231232131231213232131321231232131231213231231321213232131231213232131321231232131321213231231321231232131231213232131321231232131121323123132121323213123121323123132123123213132121323123132121323213123121323213132123123213123121323123132121323213123121323123132123123213132121323123132123123213123121323213132123123213132121323123132121323213123121323123132123123213132121323123132121323213123121323213132123123213123121323123132121323213123121323213132123123213132121323123132123123213123121323213132123123213123121323123132121323213123121323123132123123213132121323123132121323213123121323213132123123213123121323123132121323213123121323232131231213232131321231232131231213231231321213232131231213232131321231232131321213231231321231232131231213232131321231232131231213231231321213232131231213231231321231232131321213231231321213232131231213232131321231232131231213231231321213232131231213232131321231232131321213231231321231232131231213232131321231232131321213231231321213232131231213231231321231232131321213231231321231232131231213232131321231232131231213231231321213232131231213232131321231232131321213231231321231232131231213232131321231232131323121321312323121231321323121321312321321231312323121321312323121231321323121231312321321231321323121321312323121231321323121321312321321231312323121321312321321231321323121231312321321231312323121321312323121231321323121321312321321231312323121321312323121231321323121231312321321231321323121321312323121231321323121231312321321231312323121321312321321231321323121231312321321231321323121321312323121231321323121321312321321231312323121321312323121231321323121231312321321231321323121321312323121231321323121Te snel ?Dat doen we expres.Probeer het zelf maar en doe het lekker langzaam ! *OK001 028 114 @O*Zu schnell?Das ist Absicht. Probier es selbst und mach langsamer!*OK001 028 114 @O*Het kan niet beter !Maar nu met# schijven !* Ja Pa 00*Het kan niet beter !Ga maariets anders spelen.* Ja Pa 00*Helemaal niet slecht- maar het kon in <<zetten.* Hmm 00*Heel goed !voor een slomebeginneling.* Gheeuhw 00*Miserabel!Maar 't is gelukt.Tegen niemandvertellen !* Zucht 00*>>pogingen is wel genoeg !Hou er maar mee op.Je hebt zeker je dagniet vandaag ?* dat is't 00*>>pogingen is wel genoeg !Kun je jezelfniet beter eerst eensmet 3 schijvengaan uitsloven ?* Hmm 00*Kein Komentar!* Nanu! 00*Besser geht es nicht!Nun versuch's malmit # Platten!* na klar 00*Besser geht es nicht!Spiel doch malwas anderes!* na klar 00*Schon ganz gut- aber ..<<htten auch gengt.* Ach! 00*Sehr gut- fr einen verschlafenenAnfnger.* grrr! 00*Miserabel!Aber geschafft.Sag's niemandem!* ja 00*>>Versuche sind genug!La es lieber!Du hast wohl einenschlechten Tag ? !* sicher 00*>>Versuche sind genug!Willst Du dichnicht erst malmit 3 Plattenqulen?* Hmm 00*[3][ | Sorry, only| | ST-resolutions | ][ OK ][3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP]Torens van HanoiTrme von Hanoi I N F O SpelregelsSpielregelnESC001 057 028 114EDivision durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  *$dr48,>*2,0h N @.>`V J,< "r  r8 r8 h^R8 ^R8 4^r ( &tR8 ", FlDN 4Hv2R" L  *F f((@4>$ 8 $@& $x^ 6 "FV.. 1,.. TI_XPLODSRC1-TI_XPLODPRG HQ>. 1-.. 1,PENG_SD INL 1.RAT_SPR INL m!/JTI_XPLODLST 0    P >< ~.$oo????' ============================================================ ' Ti_XPLOD ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' INLINE peng_sd%,30 INLINE rat_spr%,74 ' D: ' Wenn das LST-File mit MERGE geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' ' ============================================================ ' Label und Vormen zur Wahl der Sprache: 1.wahl: DATA DATA " V.: 3.O / O6.12.91 " DATA "(public domain)" DATA "" DATA "Rudolf Tiemann" DATA "Tel.: O6733-62O5" DATA "Donnersbergstr.14" DATA "65O9 Gau-Odernheim" DATA "(West Germany)" DATA DATA * DATA "","" DATA "Deutsch","032" DATA "Nederlands","049" DATA "","" DATA " Escape ","001" DATA "","" DATA *,"" ' prg_daten: DATA "Ti_XPLOD.PRG" DATA "=38969 Bytes Ti" ' D: ' ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL: ' ->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $B+ !Meldung statt Bomben $E$ !Fehler-Texte (fr Routine 'shit') $C+ !bei C:-Aufrufen Register auf Stack retten und restaurieren $I+ !Interrupt zulassen (hier wegen Sound!) ' $U+ !hinter jedem Befehl C&S&A, EVERY, AFTER prfen ' ' =========================================================== ' @pre.set ' neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' ' =========================================================== ' PROCEDURE pre.set MENU KILL DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 Horizontalfaktor vf&=2+(alf&<2) !1 1 2 Vertikalfaktor ' Die Positionen werden gewhnlich so angegeben, ' da sie fr die niedrige Auflsung stimmen. ' Sie werden vom Programm mittels der Faktoren ' hf& und vf& an die aktuelle Auflsung angepat. h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen CLS y_kzl&=7*vf& !Y-Kopfzeile y_kln&=8*vf&+2 !Y-Kopflinie h_br&=h_max&+1 v_ho&=v_max&+1 h_mid&=h_br&\2 v_mid&=v_ho&\2 h_rd&=2*hf& v_rd&=2*vf& ' ratte$=SPACE$(74) BMOVE rat_spr%,V:ratte$,74 ' Ratte als Sprite (funktioniert in allen Auflsungen) top_pal$="" @get.palette(top_pal$) !Farbpalette des Desktop retten check!=TRUE !fr Linkvirentest ' programmspezifisch: @pre.set.special @set.farben @set.grafik.normal @set.1.wahl DEFMOUSE 0 RETURN PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE pre.set.special LOCAL br&,ho&,ym& ' Spielfeld: sp_z&=6 zl_z&=6 DIM xf&(sp_z&),yf&(zl_z&) DIM bl&(sp_z&,zl_z&),rt&(sp_z&,zl_z&),besitzer&(sp_z&,zl_z&) DIM bl$(6),rt$(6) DIM sieg&(2) ' fd_br&=24*hf& fd_ho&=24*vf& fd_xd&=26*hf& !30 fd_yd&=26*vf& br&=fd_xd&*(sp_z&-1)+fd_br& ho&=fd_yd&*(zl_z&-1)+fd_ho& ym&=v_mid&+y_kln&\2+1 fd_li&=h_mid&-br&\2-1 fd_re&=h_mid&+br&\2-1 fd_ob&=ym&-ho&\2-1 fd_un&=ym&+ho&\2-1 x_ofs&=fd_li&-fd_xd& !X- y_ofs&=fd_ob&-fd_yd& !Y-Offset bn_l&=4+2*hf& !Buttonlnge x_esc&=bn_l&*8+1 !ESC FOR sp&=1 TO sp_z& xf&(sp&)=x_ofs&+fd_xd&*sp& NEXT sp& FOR zl&=1 TO zl_z& yf&(zl&)=y_ofs&+fd_yd&*zl& NEXT zl& ' Rand x_sp1&=(fd_li&-fd_br&-16*hf&)\2-3*hf& x_sp2&=h_max&-x_sp1&-fd_br&-6*hf& y_spi&=ym&-fd_ho&\2-3*vf& y_std&=21*vf& RETURN PROCEDURE set.farben SELECT alf& CASE 0 VSETCOLOR 0,6,6,6 !dunkelweiss VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,3,4,5 !stahlblau VSETCOLOR 4,0,0,7 !blau VSETCOLOR 5,7,7,0 !gelb CASE 1 VSETCOLOR 0,6,6,6 !dunkelweiss VSETCOLOR 1,0,0,0 !schwarz VSETCOLOR 2,7,0,0 !rot VSETCOLOR 3,0,0,7 !blau DEFAULT ' Vsetcolor 0,1 !schwarz auf wei ENDSELECT RETURN ' PROCEDURE test.virus LOCAL pad$,prg$,pln$,it$,prg_len%,dat_len%,dummy& pad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0) IF RIGHT$(pad$,1)<>"\" pad$=pad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ dat_len%=LOF(#1) CLOSE #1 IF dat_len%prg_len% @set.color(3,7,0,0) it$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,it$,antw&) IF antw&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @set.color(3,7,0,0) @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr%,m_frei% it$="[3][ | MALLOC-ERROR! | ][ shit ]" m_frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -m_frei% prg_adr%=MALLOC(m_frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,it$,dummy&) ENDIF ELSE @show.alert(1,it$,dummy&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung IF taal$="NL" it$="[3][ | De test op een Link-virus | kon niet (!)|" it$=it$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE it$="[3][ | Der Linkvirentest | konnte nicht(!)|" it$=it$+" durchgefhrt werden| ][ hchst verdchtig! ]" ENDIF @show.alert(1,it$,dummy&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) @no.but @no.key DEFMOUSE 0 SHOWM ret&=FORM_ALERT(bn&,al$) @no.but @no.key RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat SOUND 1,0,0,0,0 !Gib AIDA WAVE 0,0 !keine Chance ~XBIOS(6,L:V:top_pal$) !alte Palette @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE set.color(nr&,rt&,gn&,bl&) IF alf&<2 !nur bei Farbe IF alf&<1 OR nr&<4 VSETCOLOR nr&,rt&,gn&,bl& ENDIF ENDIF RETURN PROCEDURE white.box(li&,ob&,re&,un&) @set.grafik.normal PBOX li&,ob&,re&,un& RETURN PROCEDURE clean ' fllt den Bildschirm (ohne Kopfzeile) mit "Hintergrund" ~FORM_DIAL(3,0,0,0,0,0,0,WORK_OUT(0),WORK_OUT(1)) RETURN PROCEDURE zent(yit&,it$) ' zentriert den Text an der gewnschten y-Position TEXT h_mid&-LEN(it$)*4,yit&,it$ RETURN PROCEDURE set.titel(it$) LOCAL lit&,xit& @white.box(-1,-1,h_br&,y_kln&) lit&=LEN(it$) IF lit& xit&=h_mid&-lit&*4 GRAPHMODE 4 TEXT xit&-8,y_kzl&,SPACE$(lit&+2) GRAPHMODE 3 TEXT xit&,y_kzl&,it$ GRAPHMODE 1 ENDIF RETURN PROCEDURE shit LOCAL it$,lit&,bnr& ON ERROR !aus it$=ERR$(ERR) !Original Fehlermeldung lit&=RINSTR(it$,"[") ' "CONT" und "STOP" statt "Return" schont den Reset-Knopf it$=LEFT$(it$,lit&)+" CONT |STOP]" @show.alert(2,it$,bnr&) IF bnr&=1 RESUME neu_start ELSE @ausgang ENDIF RETURN ' PROCEDURE test.wahl(VAR it_&,pw_&) LOCAL test$,dummy$ it_&=-1 !Info-Zeilen zhlen REPEAT INC it_& READ test$ UNTIL test$="*" pw_&=-1 !Wahl-Zeilen zhlen REPEAT INC pw_& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR it_&,pw_&,pt_$(),pw_$(),pk_$()) LOCAL dummy$ ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>30*hf& OR ABS(my&-ay&)>30*vf& @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' ' === hier beginnt das eigentliche Programm === ' PROCEDURE set.1.wahl RESTORE 1.wahl !DATA-Pointer setzen @test.wahl(pt_1&,pw_1&) !zhlen DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) !dimesionieren RESTORE 1.wahl !DATA-Pointer neu setzen @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) !Arrays fllen RETURN ' PROCEDURE set.wahl.main @da.is.main @test.wahl(pt_m&,pw_m&) ERASE pt_m$(),pw_m$(),pk_m$() !wegen Sprachwechsel DIM pt_m$(pt_m&),pw_m$(pw_m&),pk_m$(pw_m&) @da.is.main @read.wahl(pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$()) RETURN PROCEDURE da.is.main !~NL~D~ IF taal$="NL" RESTORE wahl_main_nl ELSE RESTORE wahl_main_d ENDIF ' ohne Infozeilen wahl_main_nl: DATA * DATA "","" DATA "INFO","023" DATA "","" DATA "Regels","019" DATA "","" DATA "Speelstand :","1" DATA "Op nul zetten","011 024 049 112" DATA "","" DATA "Start","031" DATA "----------------","2" DATA " Escape ","001" DATA "","" DATA *,"" ' wahl_main_d: DATA * DATA "","" DATA "INFO","023" DATA "","" DATA "Regeln","019" DATA "","" DATA "Spielstand:","1" DATA "zurcksetzen","021" DATA "","" DATA "Spielen","031" DATA "----------------","2" DATA " Escape ","001" DATA "","" DATA *,"" RETURN PROCEDURE stand.reset ARRAYFILL sieg&(),0 RETURN ' PROCEDURE set.wahl.genug @da.is.genug @test.wahl(pt_g&,pw_g&) ERASE pt_g$(),pw_g$(),pk_g$() !wegen Sprachwechsel DIM pt_g$(pt_g&),pw_g$(pw_g&),pk_g$(pw_g&) @da.is.genug @read.wahl(pt_g&,pw_g&,pt_g$(),pw_g$(),pk_g$()) RETURN PROCEDURE da.is.genug !~NL~D~ IF taal$="NL" RESTORE wahl_genug_nl ELSE RESTORE wahl_genug_d ENDIF ' wahl_genug_nl: DATA " Genoeg ? " DATA * DATA "","" DATA "Ja","001 036 028 114" DATA "","" DATA " Nee ","049 057" DATA "","" DATA *,"" ' wahl_genug_d: DATA " Genug? " DATA * DATA "","" DATA "ja","001 036 028 114" DATA "","" DATA " nein ","049 057" DATA "","" DATA *,"" RETURN ' PROCEDURE 1.wahl @set.color(3,3,4,5) !graublau @set.titel(" T i _ X P L O D ") @clean @pop.wahl(0,0,TRUE,TRUE,0,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) SELECT wahl& CASE 2,3 @set.sprache(wahl&-1) IF check! ' @test.virus ! < frs fertige Programm < check!=FALSE ENDIF @wahl.main CASE 5 @last.info @ausgang ENDSELECT RETURN PROCEDURE set.sprache(nr&) IF nr&=2 taal$="NL" ELSE taal$="D" ENDIF @set.wahl.main @set.wahl.genug RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,0,TRUE,TRUE,1) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN ' PROCEDURE wahl.main REPEAT @set.color(3,3,4,5) !graublau @set.titel(" T i _ X P L O D ") @clean @pop.wahl(0,0,TRUE,TRUE,11,pt_m&,pw_m&,pt_m$(),pw_m$(),pk_m$(),wahl&) SELECT wahl& CASE 2 @prg.info CASE 4 @spiel.regeln CASE 7 @stand.reset CASE 9 @spielen ENDSELECT UNTIL wahl&=11 RETURN ' PROCEDURE prg.info IF taal$="NL" RESTORE prg_info_nl ELSE RESTORE prg_info_d ENDIF @set.titel(" I N F O ") @pop.info(0,4*vf&,TRUE,TRUE,60) ' prg_info_nl: DATA "Ti_XPLOD is 'public domain'," DATA "loopt in alle 3 ST-resoluties en" DATA "'heeft iets' tegen Linkvirussen." DATA "Het programma is in GFA-BASIC 3.0" DATA "geschreven en gecompileerd en mag," DATA "nee, mt doorgegeven worden -" DATA "maar natuurlijk uitsluitend" DATA "kosteloos en in zijn geheel !" DATA "Veel plezier !" DATA "De nederlandse vertaling is van" DATA "Philip van Rijthoven" DATA "Paul Krugerstraat 58" DATA "NL 6543 MX Nijmegen" DATA "Tel.: O8O-782457" DATA "(Danke!)" DATA * ' prg_info_d: DATA DATA "Ti_XPLOD ist 'public domain'," DATA "luft in allen 3 ST-Auflsungen" DATA "und hat 'was gegen Linkviren." DATA "Das Programm ist in GFA-BASIC 3.0" DATA "geschrieben und compiliert und darf" DATA "und soll weitergegeben werden - aber" DATA "natrlich ausschlielich kostenlos!" DATA "Und damit es auch kostenlos bleibt," DATA "schicken Sie dem Autor bitte" DATA "kein (!) Geld." DATA DATA "Viel Spa!" DATA * RETURN PROCEDURE spiel.regeln !PhvR LOCAL it$ IF taal$="NL" it$="Spelregels" RESTORE spiel_regeln_nl ELSE it$="Spielregeln" RESTORE spiel_regeln_d ENDIF @set.titel(it$) @pop.info(0,4*vf&,TRUE,TRUE,60) ' spiel_regeln_nl: DATA DATA "Ti_XPLOD is een spel voor twee" DATA "personen. De spelers mogen" DATA "om beurten een knop zetten op" DATA "een veld dat niet door de" DATA "tegenstander bezet of omsingeld is." ' ist oder war !!! ' Trotzdem glaube ich das es so richtig (eben richtiger ?) ist : ' "ein Feld dat nicht durch den Gegner besetzt oder eingekreist ist." PhvR DATA "Hoekvelden kunnen maar n knop" DATA "verdragen, randvelden twee, en de" DATA "andere velden kunnen er drie hebben." DATA "Zodra een veld meer knoppen" DATA "krijgt dan aangegeven," DATA "explodeert het." DATA "Daardoor worden de aangrenzende" DATA "velden veroverd - ongeacht," DATA "wie ze daarvr in bezit had." DATA "Wie al zijn knoppen kwijt is," DATA "heeft verloren." DATA * spiel_regeln_d: DATA DATA "Ti_XPLOD ist ein Spiel fr zwei" DATA "Personen. Jeder Spieler darf" DATA "abwechselnd ein Feld besetzen," DATA "das nicht im Besitz des Gegners" DATA "ist oder war." DATA "Eckfelder fassen nur einen Knopf," DATA "Randfelder fassen zwei Knpfe" DATA "und die anderen fassen drei." DATA "Sobald in ein Feld mehr Knpfe" DATA "gelangen als dieses fat," DATA "explodiert es." DATA "Dadurch werden die Nachbarfelder" DATA "erobert - gleichgltig," DATA "wem sie zuvor gehrten." DATA "Wer keine Knpfe mehr hat," DATA "hat das Spiel verloren." DATA * RETURN ' ' === hier beginnt das Spiel === ' PROCEDURE spielen LOCAL genug!,aus! @set.color(4,4,4,4) !grau @set.color(3,0,0,7) !blau REPEAT @zeig.spielfeld @spiel.vorbereiten aus!=FALSE REPEAT @get.tom IF scan|=1 OR (my&fd_li& AND mx&fd_ob& AND my&0 AND xp&<=sp_z& AND yp&>0 AND yp&<=zl_z& IF mx&gegner& ON spieler& GOSUB bl.zug,rt.zug IF NOT aus! @spieler.weg(spieler&) SWAP spieler&,gegner& @spieler.hin(spieler&) INC oper& ENDIF ELSE @pup ENDIF ELSE @pup ENDIF ELSE @pup ENDIF RETURN ' PROCEDURE bl.zug @bl.zu(xp&,yp&) @bl.explode REPEAT yp&=1 REPEAT xp&=1 REPEAT @bl.explode INC xp& UNTIL xp&>sp_z& INC yp& UNTIL yp&>zl_z& noch&=0 yp&=1 REPEAT xp&=1 REPEAT gw&=3+(xp&=1 OR xp&=sp_z&)+(yp&=1 OR yp&=zl_z&) IF bl&(xp&,yp&)>gw& INC noch& ENDIF INC xp& UNTIL xp&>sp_z& INC yp& UNTIL yp&>zl_z& IF rot&<1 AND oper&>2 noch&=0 aus!=TRUE ENDIF UNTIL noch&=0 RETURN PROCEDURE bl.explode gw&=3+(xp&=1 OR xp&=sp_z&)+(yp&=1 OR yp&=zl_z&) IF bl&(xp&,yp&)>gw& SOUND 1,15,8,4,1 WAVE 0,0 IF xp&>1 @bl.ab @bl.zu(xp&-1,yp&) ENDIF IF xp&1 @bl.ab @bl.zu(xp&,yp&-1) ENDIF IF yp&0 SWAP bl&(xi&,yi&),rt&(xi&,yi&) INC bl&(xi&,yi&) INC blau& DEC rot& besitzer&(xi&,yi&)=1 ELSE IF bl&(xi&,yi&)=0 INC blau& besitzer&(xi&,yi&)=1 ENDIF INC bl&(xi&,yi&) ENDIF PUT xf&(xi&),yf&(yi&),bl$(bl&(xi&,yi&)) RETURN ' PROCEDURE rt.zug @rt.zu(xp&,yp&) @rt.explode REPEAT yp&=1 REPEAT xp&=1 REPEAT @rt.explode INC xp& UNTIL xp&>sp_z& INC yp& UNTIL yp&>zl_z& noch&=0 yp&=1 REPEAT xp&=1 REPEAT gw&=3+(xp&=1 OR xp&=sp_z&)+(yp&=1 OR yp&=zl_z&) IF rt&(xp&,yp&)>gw& INC noch& ENDIF INC xp& UNTIL xp&>sp_z& INC yp& UNTIL yp&>zl_z& IF blau&=0 AND oper&>2 noch&=0 aus!=TRUE ENDIF UNTIL noch&=0 RETURN PROCEDURE rt.explode gw&=3+(xp&=1 OR xp&=sp_z&)+(yp&=1 OR yp&=zl_z&) IF rt&(xp&,yp&)>gw& SOUND 1,15,8,4,1 WAVE 0,0 IF xp&>1 @rt.ab @rt.zu(xp&-1,yp&) ENDIF IF xp&1 @rt.ab @rt.zu(xp&,yp&-1) ENDIF IF yp&0 SWAP rt&(xi&,yi&),bl&(xi&,yi&) INC rt&(xi&,yi&) INC rot& DEC blau& besitzer&(xi&,yi&)=2 ELSE IF rt&(xi&,yi&)=0 INC rot& besitzer&(xi&,yi&)=2 ENDIF INC rt&(xi&,yi&) ENDIF PUT xf&(xi&),yf&(yi&),rt$(rt&(xi&,yi&)) RETURN ' PROCEDURE nach.spiel LOCAL lit&,it$,xit& ' INC sieg&(spieler&) it$=" "+STR$(sieg&(spieler&))+" " lit&=LEN(it$) IF spieler&=1 xit&=h_mid&-12-lit&*8 ELSE xit&=h_mid&+12 ENDIF @spieler.weg(spieler&) GRAPHMODE 4 TEXT xit&,y_std&,SPACE$(lit&) GRAPHMODE 3 TEXT xit&,y_std&,it$ @sirene(3) PAUSE 20 FOR ni&=1 TO 5 GRAPHMODE 1 TEXT xit&,y_std&,it$ @spieler.hin(spieler&) @peng PAUSE 20 GRAPHMODE 4 TEXT xit&,y_std&,SPACE$(lit&) GRAPHMODE 3 TEXT xit&,y_std&,it$ @spieler.weg(spieler&) @peng PAUSE 20 NEXT ni& GRAPHMODE 1 SHOWM RETURN PROCEDURE spieler.hin(nr&) IF nr&=1 PUT x_sp1&,y_spi&,bl_hin$ ELSE PUT x_sp2&,y_spi&,rt_hin$ ENDIF RETURN PROCEDURE spieler.weg(nr&) IF nr&=1 PUT x_sp1&,y_spi&,bl_weg$ ELSE PUT x_sp2&,y_spi&,rt_weg$ ENDIF RETURN ' PROCEDURE pup LOCAL per%,dif% per%=2400 dif%=60 PAUSE 2 REPEAT SOUND 1,15,#per%,0 ADD per%,dif% DEC dif% UNTIL per%>4000 SOUND 1,0,0,0,0 !a Ruh is RETURN PROCEDURE sirene(nz&) LOCAL ni&,sd& ni&=nz& WHILE ni&>0 FOR sd&=1 TO 8 SOUND 1,15,sd&,4,1 NEXT sd& PAUSE 5 DEC ni& WEND SOUND 1,0,0,0,0 RETURN PROCEDURE peng ~XBIOS(32,L:peng_sd%) RETURN ' ' == Ti == `A^AONNE +@E +@axaxNNN NA큔akHmNLN0NNNpa]pa`4aV\EauN!t`aRan0-R@;@B m@WHH/ mBWHHg;|D`p m@WHH/ mȂBWHHg;|D`J m@@WHH/ mȂBWHHgBmD`&EpC madx?</-/-NfaQ`m amfA퀤ahAah~A퀠ahNpa_aUD m$m2N$m4N`lamNN`lam` ptra\~a|R;AF;BH;CJ0-Jfa|f`lalHyNNX @p!@`lxalpa^aT <aT @ <aS"<aw <aS"<aw <aS"<aw0-B6-@tra]adp a~S+@0-DS@]HT@;@L0-DU@]HT@;@N0-N;@P0-NHT@;@R0-@HjR;@T0-BHjR;@V0-LHЀ;@X0-NHЀ;@Z0-NT@;@\pJalC큚abA큚 "@pJ maMPEaLA큠a~`k:akAaf mah$mBR?<$m??<NN\ai,"maW"mabF$mRR$m0@o`jak*A퀬afA퀰afA퀴af;|^;|`0-^H~A킶aw0-`H~A킼aw0-`H2-^H~Aaw0-`H2-^H~Aaw0-`H2-^H~Aawp~Aawzp~Aawnp~Aawr0-L;@b0-N;@d0-L;@f0-N;@h0-faDZ/??0-^aDL&<:<aA8:&aE(aBmb$m40-haD/??0-`aD&<:<aA8:&aDaBmd$m40-RHjR0mVЈR@$m4$m0HjR0mTDS@;@j$m0HjR0mTЈS@;@l$m0HjR$m0RDS@;@n$m0HjR$m0RЈS@;@p0-jmf;@r0-nmh;@t0-LHЀX@;@v0-vHR@;@x;|z0-^a^`"0-zf0mrЈ8-zH m؄1HRmz0-zkoY;||0-`a^`"0-|h0mtЈ8-|H m؄1HRm|0-|koY0-jH0mbaB"/??0-LaBva_Z8:&a@&<x:<ab/??0-LaBd&<:<aC,8:&a?a@;@~0-bH2-:$m8$$m8 $m4gEpab/$m4 a>af"_aQ"ma\>A큦0/$mH a=ad"_aPV"maZEpaa"maP:/$mL a=fad"_aP$"maZEpa`"maP"maZ?</-Hma,N F`c@acajvptratjpanpratHmN Np-"<ana[a"paRapaU aK2aG`bac Aa^@A퀸a^APa_ATa_ m0($m4$m0S@oh$mPB$m0HjRSaXl`>$mP ЀR"p maba_$mT$$mT?*$mP?*?<NN\$mPR$mP o]`b2abxATa]AXa]0-DU@l80-DS@]HH/$mX Y]HHg$mT?*$mX?*?<NN\`aab Aa]dAa]\Aa]TA퀼a]LN$m0$m6$m4$m2aQv`aaapatz/patr.|zxvtr0|ad`adaaAa]Aa\ m0(H0mTD/0-N$m/ m$"aW`aaadAa]Aa]Aa]Hx?-@?-Ra m0($m4$m0gZ$m0H0mTD$m4paRp$m4RЊab4-Pr$mRaWVpaR m4-P$m2aW>paRj``~a`Aa\Aa\|A퀜a\tagalao"maWp[a^`"maa$m4$m0H ma_FEpaNv"maWbpaO?</-/-a$m0S@f alt``a`_a`*paQpaQpaQpaQRpaQ\paQZpaQpaQpraQ paQZpaQXpaQV0-NSaQLaQT`_a_Ala[Zao;AF;BH;CJadN+A0-JH"p$mlJgpg -g2 -;@0-A크a\ -B@H@;@BmJ`BmBmA크a\`^a_:AaZZAaZRA a[Aa[$m4$mRR m aq| m p*aLg$m4$mRR m aqZ maqR m p*aLg`^a^A큐aYA퀌aYA퀈aYA퀄aYAaYAaYA퀸aZVAaZt$mBR`$mRR$m8H"m"Qapap$m0$mRn map$mBR`$mRR$m8H"m"QapJap$m8H"m"Qap4ap$m8H"m"Qap0($m4$m0S@f0$m8H"m"Qaoa`a6$m8H m P؄1H`^$m0WHH/$m8H"m"Qao0(J@WHHg$m8H m P؄1H`$m8H m P؄1H$m0$mRn `\a]DAaXdA퀔aX\A퀐aXTA퀄aXLA큐aXDAaX$m8H"m"Qah>/p@aS/A크aZ6"_aBb"_aWJg "m m2$mRR$m0$mR]HH$m2HgZ`U~aUA큐aPA aQA aQA$aQlA(aQd$m 0g $m(4`$m(4$m$4 m 0(SaKJ`Bp$m$2H m aTaWa.$m4$m(0H$m8H m P؄1H$m$TR$m$0koY`TaUA\aP~AaPNAtaPApaPAaP6A퀼aP.AaPAaPAaPAaPAaPAaPzA퀸aPrAaPjAaPbAaPZA$aPxAaPJA aPBAaP:AaP2AaPPaHo@$m4$mxg( m$m8H$m:H$m <H$m>HaD$m0$m6$m 4$m2a@40-LHЀ$m0RЈ/0-NHЀ$m 0RЈ/0-LHЀ$m0RD/0-NHЀ$m0RD&$"a@&paA`OaP:A`aKAaKAaKa$m` l $m`$.a7v$m`ђa_x$m4a_$m4?aMA큦0a4$m,0U@f0`G~aGA0aCA4aC|A8aCtA-~Ha80-L2-bH4mҊЁ/0-N2-dH4mҊЁ/A큾(*<-H>-Ha80-L2-bH4m~ҊЁ/0-N2-dmЁ&4-2-~a4 0-L2-bH4mҊЁ/0-N2-dmЁ&4-2-a30-L0m~Ј/0-N0mЈ/x"maV2$"a6L0-L0mЈ/0-N0mЈ/x"maV$"a60-L2-bH4m~ҊЁ/0-N2-dH4mҊЁ/A(*<-H>-~Ha70-L2-bH4mҊЁ/0-N2-dH4mҊЁ/A(*<-H>-Ha7Pa+J`BaC<0-DH`ADa>AHa>ALa>APa>ATa>|AXa>tA\a>lA`a>dAda>\Aha>TAla>LApa>DAta>4A|a>,A퀨a>$0-bHjR$m@40-dHjR$mD40-L$m\40-N$m`40-LHЀR@$md40-NHЀR@$mh4x m؄4pHHR0-dHjR"A$mP4$mP0$mDR$mH4$mD0$mPR$mX4$mP0$m`R$mL4$m`0$mPR$mT4x m؄00H$ml40-b$mlR$m|4$m@0$mlR$mt4x"maSr$mX8H$m|:H$mH<H$ml>Ha56x"maSDx"maS$m40-DU@fpa2Dpa2N` pa26pa2@$mh0$md6$mP4$mt2a0$m8H"maR$mX8H$m|:H$mH<H$ml>Ha4pa1pa1$mh0$md6$mP4$mt2a06$m8H"maR$mX8H$m|:H$mH<H$ml>Ha4L$m40-f$mlR0-f$m|R$m@0$mlR$mt4$mt0$m\R$mp4$m\0$mtR$mx40-DU@fpa1$pa1.` pa1pa1 $mh0$md6$mL4$mx2a/r$mh0$md6$mT4$mp2a/V$m8H"maQ$mX8H$m|:H$mH<H$ml>Ha3lpa0pa0$mh0$md6$mL4$mx2a.$mh0$md6$mT4$mp2a.$m8H"maQ0$mX8H$m|:H$mH<H$ml>Ha2$m40-f$mlR0-f$m|R$m@0$mlR$mt4$mt0$m\R$mp4$m\0$mtR$mx40-DU@fpa/pa/` pa/pa/$mh0$md6$mL4$mp2a.$mh0$md6$mP4$mt2a-$mh0$md6$mT4$mx2a-$m8H"maP4$mX8H$m|:H$mH<H$ml>Ha1pa/*pa/4$mh0$md6$mL4$mp2a-$mh0$md6$mP4$mt2a-j$mh0$md6$mT4$mx2a-N$m8H"maO$mX8H$m|:H$mH<H$ml>Ha1d$m40-f$mlR0-f$m|R$m@0$mlR$mt4$mt0$m\R$mp4$m\0$mtR$mx40-DU@fpa.Ha0Lpa-~pa-$mh0$md6$mL4$mp2a+$mh0$md6$mL4$mx2a+$mh0$md6$mT4$mp2a+$mh0$md6$mT4$mx2a+$m8H"maM$mX8H$m|:H$mH<H$ml>Ha/$m40-f$mlR0-f$m|R$m@0$mlR$mt4$mt0$m\R$mp4$m\0$mtR$mx40-DU@fpa,tpa,~` pa,fpa,p$mh0$md6$mL4$mp2a*$mh0$md6$mL4$mx2a*$mh0$md6$mP4$mt2a*$mh0$md6$mT4$mp2a*n$mh0$md6$mT4$mx2a*R$m8H"maL$mX8H$m|:H$mH<H$ml>Ha.hpa+pa+$mh0$md6$mL4$mp2a)$mh0$md6$mL4$mx2a)$mh0$md6$mP4$mt2a)$mh0$md6$mT4$mp2a)$mh0$md6$mT4$mx2a)$m8H"maK$mX8H$m|:H$mH<H$ml>Ha-$m40-f$mlR0-f$m|R$m@0$mlR$mt4$mt0$m\R$mp4$m\0$mtR$mx40-DU@fpa*tpa*~` pa*fpa*p$mh0$md6$mL4$mp2a($mh0$md6$mL4$mx2a($mh0$md6$mP4$mp2a($mh0$md6$mP4$mx2a(n$mh0$md6$mT4$mp2a(R$mh0$md6$mT4$mx2a(6$m8H"maJ$mX8H$m|:H$mH<H$ml>Ha,Lpa)~pa)$mh0$md6$mL4$mp2a'$mh0$md6$mL4$mx2a'$mh0$md6$mP4$mp2a'$mh0$md6$mP4$mx2a'$mh0$md6$mT4$mp2a'j$mh0$md6$mT4$mx2a'N$m8H"maI$mX8H$m|:H$mH<H$ml>Ha+dpa(pa(A큲a-`6a7@pAa"pAa"pAa"BmBm;|;|;|v0< traHlN7?-NDa`6a6A(a2Epa3/x m؄00Haa7"_a# pa5Epa$/x m؄00Haa7XEpa$pa5F"_a""m(a-h?-/-(aԮ`6 a6R0-L ?0-N?B?<HmHmHmHmHmHm$Hma0-U@WHH$m|Va`5a50-fH2-FH4mr@a;@0-hH2-HH4mt@az;@0-^HH/0-^mlB0-nB0-`m\HHg8-H m؄00HH0mbЈ2-FH^HH/8-H m؄00HH0mdЈ2-HH^HHgr:-8-H m؅؄00HH2-HgD0-H~a<:>h$mf>?-NDC킦A킨002?-NDRm`NE `NE `NE `4na4?-?-NpraD0-S@oNF$"a``+a,Aa'Aa'Aa'8-H m؄AHRPp a)/8-H m؄00Haa,"_a"p a6"ma" m0($m40-S@fB0-Ta&<:<aD/??$m0ava"V8:&aa&$m4`0-T@ $m4?-NDpa0-N킄/$m0a,R$$m2a!pa0-N킄/ m$$m2a!n?<NEpa6p$m4pa0-N킄/ m$$m2a!6?-NDNFpa62paL0-N킄/$m0a+$$m2a pa&0-N킄/ m$$m2a ?-NDNFpa5$mRR$m0[@o^paaB`)a*4A,a%x$m,0S@fA4-H2-~HaP`A4-H2-Ha:`)a)A,a%4$m,0S@fA큸4-H2-~Ha `A큾4-H2-Ha`)fa)Ada%Aha%$md$ `p<$mh$pa5$md tra:pa4$mh $mdђ$mhS$md ovptra:8pa4`(a)6A큈a$zA퀨a$A큌a$"m m2`:$m4$m6ptra9pa4r$mRR$m0Q@opa4\$mSR$m0nvptra9pa4<`(pa(/-?< NN\`(\a aGDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp` 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apE,gP`LJg&B.C`a8aD*9$fap-I,=|p4aHz*9$g ENp9`r _a &nO:NM,IF2K$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`fHQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z"_KM,IF2O:HQ <-H*,`N,M`d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<U"0<NBLNurt=@:=A@=B NuHz(` NTHz ?<&NN\Nu9հgNuWհNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa Xa O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a <aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJFkSFk4arQa`&HaFFaZQ&8*L/aT,H܆jDBJ.:gtBn:Nu(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS ab`QNu$AaD`QBNuHPHQ0(ika2 $I _aIUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `/ a$I> _azG` VNuag`af`ae `ac` acpNuadpNu/ a@$I> _a64Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _alIUd4Id4Id$Id `$$$$Q @JgSL`QNup `*a&Af` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `zavUAfQNuag`af`ae `ac` acpNuadpNuaBSAkXf SAkXfJANurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`n\n^8Hp rt=|D`nn\n^n\n^A0000000000prt`RG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a R]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|`H-|`L`FNu-HNV?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na222-IfHVMF,_Nup `T np`r 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`~g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"eaB"ep`&6NuE "e a "d&&6NuE"e a"d66NuE"e a"d666NuE"e aƵ"d6Nu <}a$Ia ` $XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`Rad`QNuHg"cc/ 0)aB _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp`"NN @A C#P B?< NA\#x/a?< NA\AP>0N zhNuA#z z x hg3&vRAC`g#P Nu?<"NNT @ 9vBg!@ HzT?<&NN\3NuP>#yTNuHz ?<&NN\NupAC2Ey~rJg" XX\QNuA2Cr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3z Ni LHM,O:|1R/9x?< NAO:pdz`^/M,a,_NNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a؀.dfaܸjNu.dfNudg"J9kfa4fp`ئd`/9(dg/9dg/9 NupAz-H=@|p4aِS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9MNg"9MJgJ9fga"AO:Np\B$`G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAa@8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`ЂaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNua `aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aXNu"H YJQfNu YH瀀aHLP|HPGdC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GdFWfTL L-KA `$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH` ؅X`$_  IapYHR"H @`ʘ؄*؄؅AHNu؅X`$_ Ia:YHR"H` nd$HJf-HS Nup"`HPa _a`QNua JH aL0Nua` .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a-IHQB0aҀ _JNuz"-A=B|a^-I` = <     P >< ~.$oo???? T i _ X P L O D V.: 3.3 / O8.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14D 55239 Gau-Odernheim*Deutsch@DNederlands@N-----------------------2Escape00*7783 33274 5370 *INFO@IRegels@RBlack & White@BSpeelstand :1Op nul zetten@O 011 112Start@S------------------2Escape001**INFO@IRegeln@RBlack & White@BSpielstand:1zurcksetzen021 011 112Spielen@S------------------2Escape001* Genoeg ? * Ja @J 001Nee@N* Genug? *ja@J 001 nein @N* tot uw dienst * servus *De nederlandse vertaling is vanPhilip van RijthovenPaul Krugerstraat 58NL 6543 MX NijmegenTel.: O8O-782457( Danke! )Ti_XPLOD is 'public domain',loopt in alle 3 ST-resoluties en'heeft iets' tegen Linkvirussen.Het programma is in GFA-BASIC 3.0geschreven en gecompileerd en mag,nee, mt doorgegeven worden -maar natuurlijk uitsluitendin zijn geheel en kosteloos !Veel plezier ! De Auteuris*OK001 028 114*Die bersetzungins Niederlndische ist vonPhilip van RijthovenPaul Krugerstraat 58NL 6543 MX NijmegenTel.: O8O-782457( Danke! )Ti_XPLOD ist 'public domain',luft in allen 3 ST-Auflsungenund hat 'was gegen Linkviren.Das Programm ist in GFA-BASIC 3.0geschrieben und compiliertund darf und sollweitergegeben werden -aber natrlich ausschlielichunverndert und kostenlos! Der Autorist*OK001 028 114*Ti_XPLOD is een spel voor tweepersonen. De spelers mogenom beurten een knop zetten opeen veld dat niet door detegenstander bezet of omsingeld is.Hoekvelden kunnen maar n knopverdragen, randvelden twee, en deandere velden kunnen er drie hebben.Zodra een veld meer knoppenkrijgt dan aangegeven,explodeert het.Daardoor worden de aangrenzendevelden veroverd - ongeacht,wie ze daarvr in bezit had.Wie al zijn knoppen kwijt is,heeft verloren.*Veel plezier !001 028 114 @V*SpelregelsTi_XPLOD ist ein Spiel fr zweiPersonen. Jeder Spieler darfabwechselnd ein Feld besetzen,das nicht im Besitz des Gegnersist oder war.Eckfelder fassen nur einen Knopf,Randfelder fassen zwei Knpfeund die anderen fassen drei.Sobald in ein Feld mehr Knpfegelangen als dieses fat,explodiert es.Dadurch werden die Nachbarfeldererobert - gleichgltig,wem sie zuvor gehrten.Wer keine Knpfe mehr hat,hat das Spiel verloren.*Viel Spa!001 028 114 @V*Spielregeln[3][ | Sorry, only| | ST-resolutions | ][ OK ][3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP] I N F O TI_XPLODESC : Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler   *$~r48,>*2,0`Z N @V.r8 $r8 fd X>r8 :NrH NLJ6"@F2d ."| >P8V * f((@4>$ 8 $@& $x^ 6 "fV.. 1x.. WONDER SRC1yWONDER PRG nH. 1y.. 1xB_WUNDERINL UzRAT_SPR INL ZJSCR_CONVINL \@ST_DEPACINL aWONDER LST BSpM86U 91801 8001''&fnnllo~ogwcaa!!1  ??u?|x؞&ff67|l|   on  ~   <80 GGcCÃ;2vƆ ;ss ? ??x 008ppx|88<|}n?, yacq=?΀ 01c??6pq{??$   x| Ã <Ɔ 13sscC@@ |? >  8px > y?x`7??>~~ܾ>6&bb?ߟ??oo??????0```/?Ӓ200?p? `p <0pNp0088?77''773aqq `08??|  7>cƎ<8p`p88A??????30p08  ٙ@ 8p" `p<0p`ӓ990p3bƆ 9?"p00` Acc~`08  $``p0x ǀx| 11 0p  @C |p`p cs1?'BB -   ?88 8?:00p08 ??7<>>~~n~>><8008x8 ? ?  Âca00pp|?

3310x?cÇ8aÃx   ??p113377?~>/????8  pxyy9;88 <| 08800p?0 ``LNNFg` ca  ";8~8 < IR4 Sߟ??;133qpp? 3cÃ@01ac `!qxHHyqcgo~x0p` ?>̀980`džpx5p?99!0>{8880888pp``x 烀0`p88   {|> p0$H088xx||L ??~~?>~f{?scÃ?LJ? 8800p88<C@`x|NFp`@@A` @@`p0pp?7g?ߟ??77''ggŇ=98,lƆfn~|` 08>?|܌6'geeď `8p`LJ {cc08 <|a`  p~~ ?880010?9>~ y`p8wLJ?` ` a 𰀀`p|lffnx88 x6` 0``8 808><0a0p` 677~   ??0?~oxlnww3s0p ?8088 >`acc?{`{?>s? ?D5`p  #3sq```7 8 ``?  8?8`aaaq9?0<800199=  ??8?????~~<<|ڛ;;7~`x< ~.$oo????`?<NNT @0/2/gSAg~S@kgNu&Ha" K0<r'"H2?Qr'"H3QQNu0<,.rFCGCQrFEGEQHFHGrFBGBQrFDGDQHBFBGf`gSBk`fJgSBk Q`p`pL~Nu' ============================================================ ' WONDER ' ( WUNDER ) ' D: ' Dieses Listing darf ausschlielich privat benutzt werden. ' Wenn Sie mehr wollen, wenden Sie sich an den Autor. ' Wenn Sie das Programm verndern, schicken Sie dem Autor ' bitte ein Belegexemplar. ' NL: ' De listing mag alleen strikt priv gebruikt worden. ' Wilt u meer neem dan kontakt op met de auteur. ' Ook wanneer u voor eigen gebruik veranderingen aanbrengt ' wordt hij graag op de hoogte gehouden. GfA gg. ' ' ============================================================ ' ' +++ 4 INLINEs +++ ' INLINE b_wunder%,6279 INLINE rat_spr%,74 INLINE scr_conv%,320 INLINE st_depack%,212 ' D: ' Wenn das LST-File mit MERGE geladen wird, ' mssen die INLINEs mit HELP nachgeladen werden! ' NL: ' Als de LST-file (met Merge) geladen wordt, ' moeten de INLINE's met HELP apart geladen worden. ' prg_daten: DATA "WONDER.PRG" DATA "=35819 Bytes Ti" ' ' D: ->^^^^^^<- hier drber mu nach dem 1.Compilieren ' linksbndig die genaue Gre eingetragen werden, ' dann folgt das endgltige 2.Compilieren ' (wichtig fr den Linkvirentest) ' NL:->^^^^^^<- hierboven moet na de eerste keer compileren ' links-aangeschoven de exacte grootte aangegeven worden. ' Pas daarna kan definitief gecompileerd worden. ' (i.v.m. Linkvirustest) ' ' > Compiler-Anweisungen: $S& !2-Byte-Select-Parameter $S< !Select optimieren auf Lnge $P> !Procedures: als GFA-Routinen $%3 !IntDiv immer als Integer $*% !LongMul nicht mit MULS $C+ !Register retten (sonst luft das compilierte Programm nicht in low) $B+ !Meldung statt Bomben $E$ !Fehler-Texte $I+ !Interrupt zulassen ' ' =========================================================== ' ' @pre.set ' neu_start: ON ERROR GOSUB shit DO @1.wahl LOOP END ' ' ' =========================================================== ' ' PROCEDURE pre.set MENU KILL CLS DEFMOUSE 2 SHOWM old_484|=PEEK(&H484) !Einstellung retten SPOKE &H484,BCLR(PEEK(&H484),0) !T-Klick aus SPOKE &H484,BSET(PEEK(&H484),1) !Key-rep ein SPOKE &H484,BCLR(PEEK(&H484),2) !Klingel aus alf&=XBIOS(4) !0 1 2 hf&=2+(alf&<1) !1 2 2 vf&=2+(alf&<2) !1 1 2 h_max&=WORK_OUT(0) v_max&=WORK_OUT(1) CLIP 0,0 TO h_max&,v_max& !Clipping richtig(!) setzen h_br&=h_max&+1 v_ho&=v_max&+1 v_mid&=v_max&\2 top_pal$="" @get.palette(top_pal$) !Farbpalette des Desktop retten @set.farben ' Platz fr 2.Bildschirm machen (braucht das Assembler-Programm) DIM bild%(32255/4) scr_1%=XBIOS(3) !Adresse des logischen (=physikalischen) Bildschirms scr_2%=(VARPTR(bild%(0))+255) AND NOT &HFF !\256 teilbar ~XBIOS(5,L:scr_1%,L:scr_2%,-1) HIDEM !Wunder auspacken: ~C:st_depack%(L:scr_1%,L:b_wunder%) IF alf&<2 !Wunder convertieren: ~C:scr_conv%(2,alf&) ENDIF li1&=23*hf& li2&=130*hf& li3&=li1& li4&=28*hf&-1 li5&=185*hf& re1&=li2&-1 re2&=288*hf& re3&=re2& ob1&=66*vf& un1&=136*vf& ob2&=ob1& un2&=un1& ob3&=un1&+1 un3&=199*vf& GET li1&,ob1&,re1&,un1&,teil_1$ GET li2&,ob2&,re2&,un2&,teil_2$ GET li3&,ob3&,re3&,un3&,teil_3$ CLS PUT li3&,ob3&,teil_3$ SGET hintergrund$ ~XBIOS(5,L:scr_1%,L:scr_1%,-1) CLS SPUT hintergrund$ PUT li1&,ob1&,teil_1$ PUT li2&,ob2&,teil_2$ rat_spr$=SPACE$(74) BMOVE rat_spr%,V:rat_spr$,74 @set.grafik.normal art&=1 weit&=5*vf& move!=FALSE check!=TRUE !fr Linkvirentest neu!=TRUE !fr Sprache @set.1.wahl RETURN PROCEDURE get.palette(VAR pal$) pal$="" FOR ni&=0 TO 15 pal$=pal$+MKI$(XBIOS(7,ni&,-1)) NEXT ni& RETURN PROCEDURE set.farben VSETCOLOR 0,7,7,7 !wei FOR ni&=1 TO 15 VSETCOLOR ni&,0,0,0 !schwarz NEXT ni& RETURN ' PROCEDURE set.1.wahl RESTORE 1.wahl @test.wahl(pt_1&,pw_1&) DIM pt_1$(pt_1&),pw_1$(pw_1&),pk_1$(pw_1&) RESTORE 1.wahl @read.wahl(pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$()) 1.wahl: DATA "WONDER" DATA " ( WUNDER ) " DATA * DATA "Deutsch","032" DATA " Nederlands ","049" DATA "","" DATA "Escape","001" DATA *,"" RETURN ' PROCEDURE test.wahl(VAR pt_&,pw&) LOCAL test$,dummy$ pt_&=-1 REPEAT INC pt_& READ test$ UNTIL test$="*" pw&=-1 REPEAT INC pw& READ test$,dummy$ UNTIL test$="*" RETURN PROCEDURE read.wahl(VAR pt_&,pw&,pt$(),pw$(),pk$()) LOCAL dummy$ ni&=0 WHILE ni&"\" pfad$=pfad$+"\" ENDIF RESTORE prg_daten READ prg$,pln$ prg$=pfad$+prg$ prg_len%=VAL(MID$(pln$,2)) IF EXIST(prg$) OPEN "I",#1,prg$ d_l%=LOF(#1) CLOSE #1 IF d_l%prg_len% it$="[3][ | | !!! LINKVIRUS !!! | ][ KILL |EXIT]" @show.alert(1,it$,antw&) IF antw&=1 @kill.virus ENDIF @short.exit ENDIF ELSE @zeig.warnung ENDIF RETURN PROCEDURE kill.virus LOCAL prg_adr% it$="[3][ | MALLOC-ERROR! | ][ shit ]" frei%=(prg_len%+255) AND &HFFFF00 !durch 256 teilbar RESERVE -frei% prg_adr%=MALLOC(frei%) IF prg_adr% OPEN "I",#1,prg$ BGET #1,prg_adr%,prg_len% CLOSE #1 ' Null ans Ende schreiben, knnte gelscht sein POKE prg_adr%+prg_len%-1,0 BSAVE prg$,prg_adr%,prg_len% prg_adr%=MFREE(prg_adr%) IF prg_adr% @show.alert(1,it$,dummy&) ENDIF ELSE @show.alert(1,it$,dummy&) ENDIF RESERVE !wie vorher RETURN PROCEDURE zeig.warnung !~NL~D~ IF taal$="NL" it$="[3][ | De test op een Link-virus | kon niet (!)|" it$=it$+" uitgevoerd worden. | ][ zeer verdacht ! ]" ELSE !D it$="[3][ | Der Linkvirentest | konnte nicht(!)|" it$=it$+" durchgefhrt werden| ][ hchst verdchtig! ]" ENDIF @show.alert(1,it$,dummy&) RETURN PROCEDURE show.alert(bn&,VAR al$,ret&) DEFMOUSE 0 SHOWM @no.but ret&=FORM_ALERT(bn&,al$) RETURN PROCEDURE shit LOCAL it$,lit&,bnr& ON ERROR !aus it$=ERR$(ERR) !Original Fehlermeldung lit&=RINSTR(it$,"[") ' "CONT" und "STOP" statt "Return" schont den Reset-Knopf it$=LEFT$(it$,lit&)+" CONT |STOP]" @show.alert(2,it$,bnr&) IF bnr&=1 RESUME neu_start ELSE @ausgang ENDIF RETURN ' PROCEDURE ausgang ON ERROR !damit's ein Ende hat scr_1%=MAX(scr_1%,scr_2%) ~XBIOS(5,L:scr_1%,L:scr_1%,-1) ~XBIOS(6,L:V:top_pal$) !Palette des Desktop @set.grafik.normal @short.exit RETURN PROCEDURE short.exit SPOKE &H484,old_484| !alte Einstellung CLS @no.but DEFMOUSE 0 SHOWM EDIT RETURN ' PROCEDURE pop.wahl(li&,ob&,hoz!,vez!,mk2&,VAR pt_&,az_&,pt_$(),aw_$(),cd_$(),pw_&) ' li& / ob& = links/oben ' hoz!/vez! = horizontal/vertikal zentriert (relativ zur Position) ' pt_&/pt_$() = Infotext ' az_&/aw_$() = Auswahlzeilen ' lcd&/cd_$() = Lnge/Scancodes (bzw. Textart) ' mk2& = Default fr rechten Mausknopf ' pw_& = gewhlt (Rckmeldung) ' LOCAL ai&,aw&,re&,un&,th&,tb&,td&,lzl&,lcd&,ax&,ay&,aw$,mi&,cd$,pop_pic$ ' th&=8*vf& !Texthhe td&=9*vf& !Textdistanz (vertikal) tb&=8 !Textbreite HIDEM SGET pop_pic$ !Hintergrund retten @search.max.len(re&,az_&,aw_$()) lzl&=re&*4+4 !Info-Lnge merken @search.max.len(re&,pt_&,pt_$()) @pop.center @pop.box mi&=(li&+re&)\2 li&=mi&-lzl&-1 re&=mi&+lzl& ay&=ob&-td&\2+vf& ni&=0 WHILE ni&2 !Auswahl: DEFTEXT ,0 !normal ELSE IF lcd&>0 !Kommentar: DEFTEXT ,VAL(cd_$(ni&)) !~Textstil ELSE !Default: DEFTEXT ,4 !kursiv ENDIF ax&=mi&-LEN(aw_$(ni&))*4 !zentrieren TEXT ax&,ay&,aw_$(ni&) ENDIF WEND un&=ay&+td&\2-2*vf& !Auswahl unten merken GRAPHMODE 3 !XOR DEFFILL 1,1 !voll pw_&=0 !gewhlt ay&=0 !alt @no.but @no.key SHOWM REPEAT @get.tom IF scan| !Taste cd$=RIGHT$("00"+STR$(scan|),3) ELSE IF mk&=2 !MK2 pw_&=mk2& !Default-Wahl mk&=0 !fr Anzeige ENDIF ' !innerhalb IF mx&>li& AND mx&ob& AND my&2 !whlbar ( mk&=1 nur innerhalb! ) pw_&=aw& !gewhlt ENDIF my&=aw&*td&+ob&-td& IF my&<>ay& !neu IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ay&=0 ENDIF IF LEN(cd_$(aw&))>2 !whlbar PBOX li&,my&,re&,my&+th& !neu hin ay&=my& !und merken ENDIF SHOWM ENDIF ELSE !auerhalb IF ay& !da war was PBOX li&,ay&,re&,ay&+th& !weg ENDIF ay&=0 ENDIF IF scan| !Taste ai&=1 REPEAT !suchen IF LEN(cd_$(ai&))>2 !whlbar IF INSTR(cd_$(ai&),cd$) !gefunden pw_&=ai& !gewhlt ENDIF ENDIF INC ai& UNTIL ai&>az_& OR pw_& ENDIF UNTIL pw_& !bis was gewhlt ist! IF mk&=0 !Tastenwahl zeigen IF ay& !da war noch was PBOX li&,ay&,re&,ay&+th& !alt weg ENDIF my&=pw_&*td&+ob&-td& PBOX li&,my&,re&,my&+th& !neu hin PAUSE 10 !kurz warten ENDIF @set.grafik.normal SPUT pop_pic$ @no.but RETURN PROCEDURE search.max.len(VAR sl&,sz&,st$()) ni&=0 WHILE ni&wt% OR ABS(mx&-ax&)>20 OR ABS(my&-ay&)>20 @no.but RETURN PROCEDURE pop.center MUL re&,tb& ADD re&,4 un&=(pt_&+az_&)*td& ' Wenn hoz! (vez!) = TRUE, gibt li& (ob&) ' die relative Abweichung von der Mitte an, ' andernfalls die absolute Position ' der linken oberen Ecke. ' re& und un& wird berechnet und hngt ' von der Textbreite bzw. Zeilenzahl ab. ' Die Umrahmung (s. 'pop.box') geht jeweils ' um 7*hf& bzw. 7*vf& ber diese Ecken hinaus. IF hoz! ADD li&,(h_br&-re&)\2 ENDIF IF vez! ADD ob&,(v_ho&-un&)\2 ENDIF ADD un&,ob& ADD re&,li& RETURN PROCEDURE pop.box @set.grafik.normal DEC li& PBOX li&-7*hf&,ob&-7*vf&,re&+7*hf&,un&+7*vf& BOX li&-5*hf&,ob&-5*vf&,re&+5*hf&,un&+5*vf& INC li& BOUNDARY FALSE RETURN PROCEDURE set.grafik.normal GRAPHMODE 1 BOUNDARY TRUE COLOR 1 DEFFILL 1,0,0 DEFLINE 1,1,0,0 DEFTEXT 1,0,0,7*vf&-1 !6/13 RETURN PROCEDURE get.tom ' Taste oder Maustaste abliefern (nicht warten) MOUSE mx&,my&,mk& KEYTEST key% IF key% scan|=AND(key%,&HFF0000)\&HFFFF @no.key mk&=0 ELSE scan|=0 ENDIF RETURN PROCEDURE no.key ' Tastaturpuffer lschen LPOKE XBIOS(14,1)+6,0 RETURN PROCEDURE no.but WHILE MOUSEK !fngt berschssige Mausklicks ab (meistens, Sch... GEM) REPEAT ~EVNT_BUTTON(0,0,0) MOUSE mx&,my&,mk& UNTIL mk&=0 WEND RETURN ' PROCEDURE 1.wahl DEFMOUSE 0 SHOWM @pop.wahl(0,9*vf&,TRUE,FALSE,0,pt_1&,pw_1&,pt_1$(),pw_1$(),pk_1$(),wahl&) IF wahl&<4 @aktion ELSE @last.info @ausgang ENDIF RETURN PROCEDURE aktion SELECT wahl& CASE 2 neu!=(taal$<>"NL") taal$="NL" DEFAULT neu!=(taal$<>"D") taal$="D" ENDSELECT IF check! ' nur beim ersten Durchgang ' alleen de eerste keer @test.virus !=> short.exit ? check!=FALSE ENDIF IF neu! @set.2.wahl @set.3.wahl @1.info neu!=FALSE ENDIF LOCAL kapiert! WHILE NOT kapiert! @2.wahl WEND RETURN ' PROCEDURE set.2.wahl @da.is.2 @test.wahl(pt_2&,pw_2&) ERASE pt_2$(),pw_2$(),pk_2$() DIM pt_2$(pt_2&),pw_2$(pw_2&),pk_2$(pw_2&) @da.is.2 @read.wahl(pt_2&,pw_2&,pt_2$(),pw_2$(),pk_2$()) RETURN PROCEDURE da.is.2 !~NL~D~ IF taal$="NL" RESTORE 2.wahl_nl ELSE RESTORE 2.wahl_d ENDIF ' 2.wahl_nl: DATA " 12 Heikneuters groeten U ! " DATA "WONDER :" DATA * DATA "S = Snel ","031" DATA "L = Langzaam","038" DATA "--------------","" DATA "Escape","001" DATA *,"" ' 2.wahl_d: DATA " 12 Ostfriesen gren Sie! " DATA "WUNDER:" DATA * DATA "S = schnell","031" DATA "L = langsam","038" DATA "--------------","" DATA "Escape","001" DATA *,"" RETURN PROCEDURE set.3.wahl @da.is.3 @test.wahl(pt_3&,pw_3&) ERASE pt_3$(),pw_3$(),pk_3$() DIM pt_3$(pt_3&),pw_3$(pw_3&),pk_3$(pw_3&) @da.is.3 @read.wahl(pt_3&,pw_3&,pt_3$(),pw_3$(),pk_3$()) RETURN PROCEDURE da.is.3 !~NL~D~ IF taal$="NL" RESTORE 3.wahl_nl ELSE RESTORE 3.wahl_d ENDIF ' 3.wahl_nl: DATA " Heeft U zich al genoeg " DATA "verwonderd ?" DATA * DATA " J = Ja, wegwezen hier ","036 001" DATA "I = Info ","023" DATA "U = Uitleg ","022" DATA "V = Verder ","047" DATA *,"" ' 3.wahl_d: DATA "Haben Sie sich etwa" DATA " schon genug gewundert? " DATA * DATA " J = Ja, raus hier ","036 001" DATA "I = Info ","023" DATA "A = Aufklrung ","030" DATA "W = weiter ","017" DATA *,"" RETURN ' PROCEDURE 2.wahl MID$(pt_2$(1),3)=STR$(art&+1) !12/13 @pop.wahl(0,9*vf&,TRUE,FALSE,4,pt_2&,pw_2&,pt_2$(),pw_2$(),pk_2$(),wahl&) SELECT wahl& CASE 1 !schnell weit&=5*vf& @move CASE 2 !langsam weit&=2 @move CASE 4 !Esc @3.wahl ENDSELECT RETURN PROCEDURE move ON art& GOSUB 1.tausch,2.tausch art&=(art& MOD 2)+1 RETURN PROCEDURE 3.wahl @pop.wahl(0,9*vf&,TRUE,FALSE,4,pt_3&,pw_3&,pt_3$(),pw_3$(),pk_3$(),wahl&) SELECT wahl& CASE 1 kapiert!=TRUE CASE 2 @2.info CASE 3 @3.info CASE 4 @1.info ENDSELECT RETURN ' PROCEDURE 1.info !~NL~D~ IF taal$="NL" RESTORE 1.info_nl ELSE RESTORE 1.info_d ENDIF @pop.info(0,0,TRUE,TRUE,60) ' 1.info_nl: DATA "Het" DATA "W O N D E R" DATA "van" DATA "Casteren" DATA DATA "geeft U eindelijk" DATA " het definitieve antwoord " DATA " op de vraag," DATA "die U al zo lang" DATA " uit de slaap houdt : " DATA DATA "Hoe planten de" DATA "Kempiese Heikneuters" DATA "zich voort ?" DATA DATA "Let U vooral goed op !" DATA * 1.info_d: DATA "Das" DATA "W U N D E R" DATA "von" DATA "Edewecht" DATA DATA "gibt Ihnen endlich" DATA "eine erschpfende Antwort" DATA " auf die Frage," DATA "die Sie schon immer so" DATA " brennend interessiert hat: " DATA DATA "Wie vermehren sich" DATA "die Ostfriesen?" DATA DATA "Bitte genau aufpassen!" DATA * RETURN PROCEDURE 2.info !~NL~D~ IF taal$="NL" RESTORE 2.info_nl ELSE RESTORE 2.info_d ENDIF @pop.info(0,0,TRUE,TRUE,60) ' 2.info_nl: DATA "Deze Belgenmop (Nr.911206)" DATA " - of weet U waar Casteren ligt ? - " DATA "is 'public domain'" DATA "(d.w.z. gratis en voor niks)" DATA "en is afkomstig van :" DATA DATA "Heiko Mller" DATA "Mozartstr.17" DATA "D 2905 Edewecht" DATA "&" DATA "Rudolf Tiemann" DATA "Donnersbergstr.14" DATA "D 6509 Gau-Odernheim" DATA DATA "Nederlandse vertaling :" DATA "Philip van Rijthoven" DATA "Nelson Krugerstraat 58" DATA "NL 6543 MX Nijmegen" DATA "(geboren in Casteren)" DATA * 2.info_d: DATA "Dieser" DATA "Ostfriesenwitz" DATA "(Nr.911206)" DATA "ist" DATA "'public domain'" DATA " (d.h. vllig umsonst) " DATA "und stammt von:" DATA DATA "Heiko Mller" DATA "Mozartstr.17" DATA "D 2905 Edewecht" DATA "&" DATA "Rudolf Tiemann" DATA "Donnersbergstr.14" DATA "D 6509 Gau-Odernheim" DATA * RETURN PROCEDURE 3.info !~NL~D~ IF taal$="NL" RESTORE 3.info_nl ELSE RESTORE 3.info_d ENDIF @pop.info(0,9*vf&,TRUE,FALSE,60) ' 3.info_nl: DATA "Uitleg :" DATA "De Kempiese Heikneuters" DATA "planten zich voort" DATA " door kollektieve deling. " DATA "(dat ziet U toch ?)" DATA * 3.info_d: DATA "Aufklrung:" DATA "Die Ostfriesen" DATA "vermehren sich durch" DATA "kollektive Teilung" DATA " (das sieht man doch) " DATA * RETURN PROCEDURE last.info !~NL~D~ IF taal$="NL" RESTORE last_info_nl ELSE RESTORE last_info_d ENDIF @pop.info(0,30*vf&,TRUE,FALSE,1) last_info_nl: DATA " tot uw dienst " DATA * last_info_d: DATA " servus " DATA * RETURN ' PROCEDURE 1.tausch x1&=li1& x2&=li2& y1&=ob1& y2&=ob2& REPEAT !Teil 1 nach oben @zeig.bild SUB y1&,weit& UNTIL y1&<0 y1&=0 REPEAT !Teil 1 nach rechts / Teil 2 nach links @zeig.bild ADD x1&,weit&*1.5 SUB x2&,weit& UNTIL x2&li5& x1&=li5& REPEAT !Teil 1 nach unten @zeig.bild ADD y1&,weit& UNTIL y1&>ob1& y1&=ob1& @zeig.bild @set.screen RETURN PROCEDURE 2.tausch x1&=li5& x2&=li4& y1&=ob1& y2&=ob2& REPEAT !Teil 2 nach oben @zeig.bild SUB y2&,weit& UNTIL y2&<0 y2&=0 REPEAT !Teil 1 nach links / Teil 2 nach rechts @zeig.bild SUB x1&,weit&*1.5 ADD x2&,weit& UNTIL x2&>li2& x2&=li2& REPEAT !Teil 1 noch weiter nach links @zeig.bild SUB x1&,weit& UNTIL x1&ob2& y2&=ob2& @zeig.bild @set.screen RETURN PROCEDURE zeig.bild SWAP scr_1%,scr_2% ~XBIOS(5,L:scr_1%,L:scr_2%,-1) VSYNC SPUT hintergrund$ PUT x1&,y1&,teil_1$,7 PUT x2&,y2&,teil_2$,7 RETURN PROCEDURE set.screen IF scr_1%a5bE aVN0`a1aOhAaKNA|aK pa`;@pa`;@0-R@;@0-R@;@ mWHH/ mWHHg;|`p mWHH/ mȁWHHg;|`J m@WHH/ mȁWHHgBm`&EpC maC?</-/-|NTa0`NLaNA퀄aIAaIA퀀aINpa=a4J m$m2a_$m4N`NaNHNN`MaN4` ptra;a]T;A;B;C0-fa]f`MaNHyNNX @p!@`MaMaBaFpaHmNBN <~A큺aY?<NNT+@8x mAH B+@-Ha=A8-H:-H<-H>-Ha-Ha?A4-H2-Ha:A4-H2-Ha:pJaLCa?FA "@pJ m,a*&N;|0-;@QDPEPFN`J^aJAaE maGBm?Rm mo`JaJXvptra9n0-U@l";|vpt2-Ha9PRm mo`IaJ;|0-a8pa8pa8pa8tpa8~pa8|pa84pa8>pra8Bpa8|pa8zpa8x0-Sa8na8v`IhaIAPaEBaX;A;B;CaN,+A@0-H@"p$mPJgpgHy NMXrVG -@g* -@AaF| -@B@H@;@Bm` BmAaFv`HaIE}a(FHm Hm N AHaXANaXzATaXrA2aXj0- H~AHaU0- H~ANaUv0- H~ATaUf0- H~A2aUfE}a'Hm Hm HmHHmNHmTHm2N >`H(aHnA$aD|A(aDtAaDDEa';| maY(0-W@g>;| m0(a;^`p2-H maGdaD$m$ђRm0-koYRm moE}ba' maX maJa$m($$m( $m$gEpaD/$m$ aaHn"_a1 "ma;A"0$m@ ЀR"p maCaA*$mD$$mD?*$m@?*?<NN\$m@R$m@ o]`CaDA퀔a?Ala>Aha>Ada>A퀔a>A퀐a>A퀌a?8Aa?VBm`Rm8-H"md"QaSaT4$m0mn maT Bm`Rm8-H"mh"QaSaT8-H"ml"QaSaS8-H"ml"QaS0($m4$m0S@f,8-H"ml"QaS`aEa8-H m P؄1H`X$m0WHH/8-H"mh"QaS&0(J@WHHg8-H m P؄1H`8-H m P؄1H$m0mn `AaBDA퀔a=dAta=\Apa=TAda=LAa=DA퀤a=$m8H"mt"QaK/p@a9/Aa?P"_a$"_ap$m2H m a9aHa'T$m0$m6$m4$m2a"0-HЀ$m0RЈ/0-HЀ$m0RЈ/0-HЀ$m0RD/0-HЀ$m0RD&$"a"pa$Z`5,a5rALa0Aa1*Aa1"a $mL l $mL$.a$mLђaD$m4aD$m4?aBB0-H~Ara?^0-H~Axa?N0-H~A~a?>0-H~A>a?>NHmHmHmrHmxHm~Hm>a`2a2LA"00-H~A큊a>0-H~A큐a>v0-H~ADa>vNbHmHmHmHmHmHmDa`1>a1A"0HmrHmxHm~Hmax0-H` $m`P`0N!`(N!` N!p` @g @g @g @g`.0a.vBg0- ?Hy?<HmHmHmDHmHmHmHma`-a.8Bg0- ?Hy?<Hm Hm"HmJHmHmHmHma`-a-Bg0- ?Hy?<Hm$Hm&HmPHmHmHmHma~`-va-A"0H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`|a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI$K$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KMI$O:HQ <-H*,`N,+d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<40<NBLNurt=@:=A@=B NuHz(` N3Hz ?<&NN\Nu9̜gNuW̜Nu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaaa O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJFkSFk4arQa`&HaFFaZQ&8*L/a,H܆jDBJ.:gtBn:Nu @$@JfS aH`QNu$Aa*`QBNuHPHQ0(ika $I _aIUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `/ aj$I> _a`G` VNuag`af`ae `ac` acpNuadpNu/ a&$I> _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `,aSAfNuag`af`ae `ac` acpNuadpNuaxSAkfJANuH HPhkJaj $I _aRIUd4Id4Id$Id `$$$$Q @JgSL`QNup `a Af` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu?HP0(T@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `a\UAfQNuag`af`ae `ac` acpNuadpNua(SAkXf SAkXfJANuth`tpa ".Nutj`t@H|`rk` rf`rg`r5=@|0`t)`t` tr`t2`t@-A=B|`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`JBp'rta< n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|?,H-|?@L`Nu-HN5?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na >222-IfHVMF,_Nup `T np`  24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea "ep`&6NuE "e a ĵ"d&&6NuE"e a "d66NuE"e a "d666NuE"e a j"d6Nu <}a $Ia `$XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha 0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`ra `QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNuA*pBQBX".g paBNupraHP?<NNT~U@g~tb3DA̞pr0 0BBB R@ @fA̞0000PB0Tp`00000\0X0Tp`T@00000P0BXpnT0raVA0p1| 1AQBX0$HTH0P P0Tp`0NuH(Fa$L(FNuSk [0NupNupa`p>`HPaa _&X Pf/|~K^zag @ ep 2tC̪"2 S@HQCػR"_d BTAA3ApC̞4$I2a222B"0@2A\xva@gF2#M 443BS@ -f HQCػR"_d@BAAb8RGRC`3RSG5G5C J1DcaRF Fe `RG GdNuXA̞SF1F41R1h4x1EDg"<̞p-A`h~dGdEH<Nup`0@F@AJhg PLNu`pLJg(HPBHh/??<@NAXLf ѨLNuJkp%`4aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp`"NN @A C#P B?< NA\#Y/a?< NA\A/20N [xNuA#[& [ x hg3&WbAC`g#P Nu?<"NNT @ 9WRg!@ HzT?<&NN\3Nu/2#Z 3NuHz ?<&NN\NupACEZrJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3[ Ni LHMO:|1R/9Y?< NAO:pdz`/Maڲ,_NNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a؀.dfajNu.dfNudg"J9kfa4fp`֊d`/9dg/9dg/9 NupA[-H=@|p4atS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9+g"9+gJ9fga"AO:Np\B`ϘG06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`C`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`μJAkfgRer?DDЁaAaD8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`(aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNua͊ `aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`a\Nu"H YJQfNu YH瀀aHLP|HPGaC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GaFWfTL L-KA `$I\bfBjQNu$YbfBjQNu؄*؄؅CH`؅X`$_  IaYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` nd$HJf-HS Nup"`&HPa _ah`QNua JH aVL0Nua`&4<H`@arL Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|a-IHQB0aѴ _JNuz"-A=B|a-I`V 8pM86U 91801 8001''&fnnllo~ogwcaa!!1  ??u?|x؞&ff67|l|   on  ~   <80 GGcCÃ;2vƆ ;ss ? ??x 008ppx|88<|}n?, yacq=?΀ 01c??6pq{??$   x| Ã <Ɔ 13sscC@@ |? >  8px > y?x`7??>~~ܾ>6&bb?ߟ??oo??????0```/?Ӓ200?p? `p <0pNp0088?77''773aqq `08??|  7>cƎ<8p`p88A??????30p08  ٙ@ 8p" `p<0p`ӓ990p3bƆ 9?"p00` Acc~`08  $``p0x ǀx| 11 0p  @C |p`p cs1?'BB -   ?88 8?:00p08 ??7<>>~~n~>><8008x8 ? ?  Âca00pp|?

3310x?cÇ8aÃx   ??p113377?~>/????8  pxyy9;88 <| 08800p?0 ``LNNFg` ca  ";8~8 < IR4 Sߟ??;133qpp? 3cÃ@01ac `!qxHHyqcgo~x0p` ?>̀980`džpx5p?99!0>{8880888pp``x 烀0`p88   {|> p0$H088xx||L ??~~?>~f{?scÃ?LJ? 8800p88<C@`x|NFp`@@A` @@`p0pp?7g?ߟ??77''ggŇ=98,lƆfn~|` 08>?|܌6'geeď `8p`LJ {cc08 <|a`  p~~ ?880010?9>~ y`p8wLJ?` ` a 𰀀`p|lffnx88 x6` 0``8 808><0a0p` 677~   ??0?~oxlnww3s0p ?8088 >`acc?{`{?>s? ?D5`p  #3sq```7 8 ``?  8?8`aaaq9?0<800199=  ??8?????~~<<|ڛ;;7~`x< ~.$oo????`?<NNT @0/2/gSAg~S@kgNu&Ha" K0<r'"H2?Qr'"H3QQNu0<,.rFCGCQrFEGEQHFHGrFBGBQrFDGDQHBFBGf`gSBk`fJgSBk Q`p`pL~NuWONDER( WUNDER )*Deutsch@DNederlands@N----------------2Escape001*15013 25018 11552 12 Heikneuters groeten U !WONDER :*S = Snel 031L = Langzaam038----------------------------2Escape001*12 Ostfriesen gren Sie!WUNDER :*S = schnell031L = langsam038---------------------------2Escape001*Heeft U zich al genoegverwonderd ?* J = Ja, wegwezen hier 036 001I = Info 023U = Uitleg 022V = Verder 047*Haben Sie sich etwaschon genug gewundert?* J = Ja, raus hier 036 001I = Info 023A = Aufklrung 030W = weiter 017*HetW O N D E RvanCasterengeeft U eindelijkhet definitieve antwoord op de vraag,die U al zo lang uit de slaap houdt : Hoe planten deKempiese Heikneuterszich voort ?* Let U vooral goed op ! @L 028 114*DasW U N D E RvonEdewechtgibt Ihnen endlicheine erschpfende Antwort auf die Frage,die Sie schon immer sobrennend interessiert hat:Wie vermehren sichdie Ostfriesen?* Bitte genau aufpassen ! @B 028 114*Deze Belgenmop (Nr.93O2O7)- of weet U waar Casteren ligt ? -is 'public domain'(d.w.z. gratis en voor niks)en is afkomstig van :Heiko MllerMozartstr.17Edewecht&Rudolf TiemannDonnersbergstr.14D 55239 Gau-OdernheimNederlandse vertaling :Philip van RijthovenPaul Krugerstraat 58NL 6543 MX Nijmegen(geboren in Casteren)* Verder @V 028 114*DieserOstfriesenwitz(Nr.93O2O7)ist'public domain'(d.h. vllig umsonst)und stammt von:Heiko MllerMozartstr.17Edewecht&Rudolf TiemannDonnersbergstr.14D 55239 Gau-Odernheim* Alles klar !? @A 028 114*Uitleg :De Kempiese Heikneutersplanten zich voortdoor kollektieve deling.* Dat ziet U toch ? @D*Aufklrung:Die Ostfriesenvermehren sich durchkollektive Teilung.* Das sieht man doch !? @D* tot uw dienst * servus *[3][ | Sorry, only| | ST-resolutions | ][ OK ][3][ | Checksumme: | | Dit programma is | helaas verandert !][ Sorry ] | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP]Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler   *$b $f"&j48,>*2,^>D N @,xr8 r8 r8 r8 r8 ,f F<&< *F f((@4n"&Xb0$ 8 $@& $x^ 6 "FV ******************************************************************** Deze diskette is samengesteld door de Stichting ST, Postbus 11129, 2301 EC Leiden. Onze bibliotheek van public domain programma's omvat op dit moment (lente 1992) al meer dan achthonderd disks. Daarop vindt u programma's op elk gebied, van tekstverwerker en database tot de leukste spelletjes, de fraaiste tekenprogramma's en de handigste utilities. Ook bevat onze bibliotheek een speciale afdeling voor public domain disks met Macintosh software, die te gebruiken zijn onder de ALADIN emulator. Deze MAC-PD serie bevat tot nu toe ongeveer vijfendertig disks. ******************************************************************** U vindt in het twee maandelijks tijdschrift "ST" (Onafhankelijk tijd- schrift van en voor gebruikers van Atari ST computers) een overzicht en een bespreking van de inhoud van de nieuwe public-domain diskettes. Dit tijdschrift bevat tevens een bestelkaart zodat U vlot over de software kunt beschikken. De november/december uitgave bevat een compleet overzicht van de Public Domain bibliotheek op dat moment. De Stichting ST geeft ook een speciale PD catalogus disk uit. Deze public domain disk is geproduceerd en gedistribueerd door: ************** Stichting ST afd. Software Bakkersteeg 9A 2311 RH LEIDEN ************** Ondanks onze controle komt het af en toe voor dat een diskje niet goed is gecopieerd.Mocht U dit overkomen, aarzel dan niet en stuur de defecte disk aan ons terug. U krijgt dan direct een vervangende disk toegestuurd. ************************************************************************ Teneinde het voor ons mogelijk te maken om productiefouten op te sporen en vervolgens in de toekomst te vermijden, zijn alle disks, geproduceerd door de Stichting ST, voorzien van een groen productienummer. ************************************************************************ `@bAONSEl +@PE +@TE +@XE +@\pJasC aiA "@pJ m\aTa}ra|NNNNN PN NN paaE 0az.N6N N aWarAamA|ampN,;@pN,;@0-R@;@0-R@;@ mWHH/ mWHHg;|`f m@WHH/ mȁWHHgBm`BEp* mahrEp3an"ma^p"mahd?</-/-|N aV`paqDpacaZN <aY@ <aY"<a}( <aYz"<a}0-S@]HT@;@0-U@]HT@;@0-HT@;@0-;@0-r4mҊA;@0-HjR;@0-HjR;@0-Hj^;@;|0-@;@0- ;@0-;@0-;@0-T@;@0-aKVaf&<:<aHvafaIR@;@p~Aa}p~Aa}p~A$a}0-HЀTx m؄1H0-Sx m؄1H0-]x m؄1Hx m؄1 Hx m؄1Hx m؄1H0-Hx m؄1Hx m؄1Hx m؄00HHJjRx m$؄1Hx m؄00HHJjRx m$؄1Hx m؄00HaJ.&<x:<aiN/??0-aJ&<:<aJ8:&aGaHTx m$؄1Hx m؄00HHJjRYx m$؄1Hp~A*a|H;|0-aI&<x:<aG,&<:<aJ`aH28-H m*؄1HRm0-W@o;|;|;|A&akHm&NN `manAai8 mak`Bm?$m0 ЀR"p malaj2$m4$$m4?*$m0?*?<NN\$m0R$m0 o]`lam$0-U@fHxw?<NN\`Hxg?<NN\Hy?<NN\Hy?<NN\Hy`?<NN\Hy?<NN\Hyp?<NN\Hy?<NN\Hy?<NN\HyE?<NN\Hy?<NN\Hy @?<NN\Hy w?<NN\Hy U?<NN\HyP?<NN\Hy @?<NN\Hy 0?<NN\`kal&A8ah4A;| m0(aa`p2-H makah$m8ђRm0-ذkoYRm m oEnaN ma~ mamaET$m<$$m< $m8gjEpah/$m8 aEal*"_aXXE&paY"mab@E,p;ah`"maX0"mab$?</-HmN N `jakA@agADagAHagALafAPafAafEuaM6 ma} malaD$mD$ ma} malaDf$mH$a~( @ ( $mL$a~ @ ($mP$$mD $mLVHH/$mH $mPVHHgEgpagj/$mL aDaj"_aW,"maa E}pag@"maW/$mP aDaj"_aV"ma`Epag"maV"ma`?</-HmN N `ijaiA퀈adAadA퀄adpa[laRN f m$m2a}b$m4N f`i aifN N z`i aiRHyNNX @p!@`hai8` ptraXayB;A;B;C0-faypf`hai;|0-aZxpaZzpaZppaZpaZpaZpaYpaYpraYpaZpaZpaZ 0-SaZaZ `hVahapAad~A퀌adPA|adHau^ax"ma_rp[af8"mai$m4$m0H magEpaV"ma_:Hm,abpaW?</-/-|ah$m|0S@f au``N `gagEaJ\Bg?-HyHxHxN`gagaoHm&aakaPp-"<aspraya`Da0paVpaYfaPaL`g6ag|A퀐acA큆av6A0av.0-H~AzasJ0-H~A큀as:0-H~A큆as*0-H~A0as*EaGHmHmHmzHmHmHm0N `eaeHA퀜a`hA퀘a``AaaAaa$m4$mRR maxJ mp*aSg$m4$mRR max( max mp*aS^g`dadAa_Ata_Apa_Ala_A퀜a_A퀘a_A퀀a`dAa`Bm`Rm8-H"ml"QawZaw$m0mn mawBm`Rm8-H"mp"Qaw&awz8-H"mt"Qawawf8-H"mt"Qav0($m4$m0S@o8-H m P؄BpH`J$m0S@f,8-H"mt"Qavafa=8-H m P؄1H`8-H m P؄1H$m0mnF`cPacA퀰a^Aa^Ata^Apa^Ala^A퀜a^A퀘a^A퀬a^A퀨a^A`a^A\a^A퀤a^A퀠a^zA퀴a^A퀸a^A퀼a^Aa^Aa^Aa^Aa^Aa^A a^Aa^Aa^Aa^Aa^A$a^aK/-/-lN/-/-pN"m m2N?a m$$m4H$m2HaP&ax`]a]AxaXAaXBm`.Rm8-H"mx"Qap0(H$m2Hl@$m4$m0mn`]:a]$m0g*0-H$m0RЈ$m6$m4$m2aL$mBR`]a]F$m0S@WHH/x"mt"Qap EgpaLDg $m4`0<00aZ/0-a8a]"_aIpa\"m aS$m4$m8H m P؄00HJ@fj$m8H"mt"Qao"H m a^pJg "m m2`>$m8H"mt"Qaof/p@aZL/A2aa^"_aIt"_a^0Jg "m m2$mRR$m0$mR]HH/$m0^HHgT`[a\&ATaWA퀘aWbA퀨aWZA`aWA\aWA퀤aWBA퀠aW:A퀴aWA퀸aWA퀼aWAaWAaWAaWA(aWAaWvAaWnAaWfAaW^A$aW|aD~$m0fP mlakp~ mlai$mRR$m8H"ml"Qan6an$m8H"ml"Qan p*aIg$mSR/-/-laL"m m2$mRRN$mSR$mT VH?N$m0H$m0RЈJjR$m4"m m2$mT f0-HЀR@$mR$m4$m0aP`\$m8H"ml"Qamr0(H$m0RD$m40-$mR$m8H"ml"Qam>$m4$m2aP$mRR$m0koY mlaja$$mT gVp$m4RЊr$m4RҊA a^r$mT $ԀЀЂ/NA a^ m$$m4H$m2HaLaB`Y~aY0-$m$m4$mXR0-$m2$m4RҊ$m4$m\g0-H$m0RJjR$mR$m`g0-H$m0RJjR$mR$m0$mR$m0$mR`XaY,AdaTa0-$m0RDSrl@$m40-$m0RDrl@$m40-$m0RЈ2-Ho@$m40-$m0RЈ2-Ho@$m4$mdg( m$$m8H$m:H$m<H$m>HaLr$m0$m6$m4$m2aG0-HЀ$m0RЈ/0-HЀ$m0RЈ/0-HЀ$m0RD/0-HЀ$m0RD&$"aGpaIz`WaWAXaSXAaSAaSah$mX l $mX$.a@6$mXђag$m4ag$m4? @g @g @m @o @m @ o @ g @ g @g @g`-mg`UJaUEza7HmHma00-H~A큌ac 0-H~A큒ab0-H~A큘ab0-H~A6abEza7HmHmHmHmHmHm6a>Bg?-HyHyHmHmHmHmHmHm6HmaJA큌aePA큒aeHA큘ae@A6ae80-S@WHHVm`TdaT;|p4mЊ2-Hf 8-H"magd/paRJr"_ag`8-H"magD/p aR*r"_agRm0-]@o;|p4mЊ2-Hf 8-H"mag/paQr"_agv`8-H"maf/p aQr"_agVRm m o0-U@f6x "maf/paQr"_ag(x "maf/p aQr"_ag`4x "maf~/p aQdr"_afx "mafd/paQJr"_af`S&aSlaLpaDpaDNpaDXpraD\paDBg0-?0-?0-?0-?0-?0-?0-?paCF0-.?0-?0-@S@?0-?paC0-U@f*N'"paCpaCpaC0<raDZpaD`"paCpaC0<raD&$"a?0-/0-H/0-/0-<&$"a?Z0-/0-?/0-/0->&$"a?*0-f"0-/0-/0-/0-&$"a>0--/0-/0-"/0-&$"a>0-G/0-q/0-V/0-b&$"a>0-/0-q/0-/0-b&$"a>b0-w/0-A/0-~/0-:&$"a>20-/0-A/0-/0-:&$"a>pa?j0-}?0-J?0-E?0-??<N)Tpa>pa>pa>x m؄00Ha>a>pa?0-/0-\/p:aK>$"aCpa>0-}?0-r?0-?0-??<N)T0-?0-r?0-?0-??<N)T0-}?0-?0-?0-#?BgN)T0-?0-?0-?0-#?BgN)TEpaI/N*a5z0-(/0-/0-/0-/A8(*,.a@V0-N/0-/0-p/0-/A>(*,.a@0-/0-/0-/0-/AD(*,.a?0-N/0-/AD$"a>AJaAa4`KdaKAaGjAaGbAaGZAaGR0-N$m40-$m40-"$mR$m40-"$mR$m4$m?0- $mR?$m?0-$mR?0- $mR?$m?pa;J0-$mR?$m?$m?0-$mR?$m?0- $mR?pa:0-$mR?$m?0- $mR?$m?$m?0- $mR?pa:0-U@fvpa;pa;0-H$m0RЈ2-$mRa;pa;pa;~pa;|pa;zx m؄00Ha;na;v p$m4RЊaH4-r$mRa>pa9 m4-$m2a=0-a9`G4aGzA aBad$m 06-tra6`GaGTAJa=0-U@f;|;|%;|L;|%`;|;|;|';|x"mtaY4-Hp2-Ha9:x"mtaY4-Hp2-Ha90-?0-O?0-?0-??<?-N1z0-?0-O?0-?0-??<?-N1zA큞aVA큤aVp~A큞aSp~A큤aSBmBm0-?0-v?0-?0-??<?-N1z0-?0-v?0-?0-??<?-N1z`EaEBmBmN-\N-`EhaE0-?0-O?0-?0-??<?-N1z`E*aEp0-?0-O?0-?0-??<?-N1z`DaE2Ea'HmHma0-H~A큌aR0-H~A큒aR0-H~A큘aR0-H~A6aREa'@HmHmHmHmHmHm6aBg?-HyHyHmHmHmHmHmHm6HmaA큌aTA큒aTA큘aTA6aT`DaD\Ea&HmHma0-H~A큌aQ0-H~A큒aQ0-H~A큘aQ0-H~A6aQEa&jHmHmHmHmHmHm6a Bg?-Hy0-@$??<HmHmHmHmHmHm6HmaA큌aTA큒aT A큘aTA6aS`C8aC~8-H m*؄00H;@8-H m*؄00H;@N/aa0-H~aK3V>DICA 0020- S@o0- U@fN00- f N/a0- W@f`BaBBm ;|;mւ 0-S@oCA 002`BxaBEa%"HmHma^0-H~A큌aP:0-H~A큒aP*0-H~A큘aP0-H~A6aPEa$HmHmHmHmHmHm6alBg0-2?HxHyHmHmHmHmHmHm6HmatA큌aRzA큒aRrA큘aRjA6aRb0-S@f Bm ;| `Bm `AaAELa$0Bg?-HyBHxapa2pa2pa2x m؄00Ha2a2aH`A4aAzEa#Bg?-HyBHxa2`A aARAa$"a1pa1*Na>x"mnaQaL\gN0-V/0-/x"mnaQ$"a00-V/0-/x"mnaQf$"a0`\HyVN6HyVN8@a'Tx"mnaQ6(<zh,<~Va2Jx"mnaQ(<zh,<~Va2,a'4pa/aԮBm `aN$;A;B;C0-g0-S@WHH/0-V2-HmB0-h2-H^HHg0-2-H]HH/0-2-H^HHg&0-N/0-/AD$"a/N90-2-H]HH/0-2-H^HHg0-N/0-/AD$"a/N8-H m H0-ava3/??0-a8:&aa;@0- 0mЈ/0-a&<:<a/??0-a8:&aBaV/0-H0mЈ/0-a&<:<aX/??0-at8:&aa&$"a+;| `a0- g`;a< Aa7dAa7\pa-*pa-4p$mRv$mR$m4$m2a+xpa,pa-p $mRr$mRa-~pa,pa,p$mRv$mRt$mRr$mRa+($m0Z@?$m0Z@?$m0P@?$m0P@?$m0X@?$m0@ ?pa+$m0\@?$m0@?$m0@ ?$m0@ ?$m0@ ?$m0@ ?pa+@$m0@ ?$m0Z@?$m0Z@?$m0Z@?pa+p a+pa+p $mRr$mRa,np a+pa+p $mRr $mRa,N`:Fa:Aa5Aa5pa+pa+p$mRv$mR$m4$m2a)pa+jpa+tp $mRr$mRa+pa+Jpa+Tp$mRv$mRt$mRr$mRa)$m0X@?$m0@?$m0@ ?$m0@ ?$m0\@?$m0@ ?pa*$m0\@?$m0@ ?$m0@ ?$m0@ ?$m0@?$m0X@?pa)pa*pa*p $mRr$mRa+p a*fp $mRr$mRa*`8a9*v0<traKNp2-H4mҊlp4mЊD;@;|0-a.`;|0-Ha.`Px"mtaK4-Hp2-Ha*RmSmx"mtaK4-Hp2-Ha*0<t raJfRm0-koYRm0-?0-v?0-?0-??<?-aRm0-аkoJYpraJl mfVx"mtaJ4-Hp2-Ha*H0-U@fm x"mtaJ4-Hp2-Ha*;| RmaZ`B0-S@WHH/0-_@fp.0-Q@fp. m WHHgN;L;| `7:a7v 0<traI+|ȁd`;|0-Ha-2`Tx"mtaJ(4-Hp2-Ha)zSmRmx"mtaJ4-Hp2-Ha)V -dtraHTdRm0-koYSm0-?0-v?0-?0-??<?-af8-H m 0HVHJ@WHH/0-^HHf&praH`64a6zBm pa'pa'pa'x m؄00Ha'a'Bm0-W@lRm`Bm0-U@f0-aJa64<b2<a,`0-a0a64<2<a,laat0mЈ+@h?$"a'pa&pa&pa&x m؄00Ha%a&pa&na`4Ba40-/0-/A>$"a&pa&`3a3x"mnaFaAngN0-/0-/x"mnaF$"a%0-/0-/x"mnaFx$"a%`lHyN@HyNB4afx"mnaFH(<*<,<.<a'Tx"mnaF"(<*<,<.<a'.a6pa$aɰBm `aC&;A;B;C0-g0-S@WHH/0-2-HmB0-2-H^HHgz0-2-H]HH/0-2-H^HHgNC`D0-2-H]HH/0-2-H^HHgNHX;| `a0- g(`1a2.Aa-rAa-jpa#8pa#Bp$mRv$mR$m4$m2a!pa# pa#p $mRr$mRa#pa"pa"p$mRv$mRt$mRr$mRa!6$m0Z@?$m0Z@?$m0Z@?$m0@ ?$m0P@?$m0@ ?pa!$m0@ ?$m0@?$m0@?$m0@ ?$m0@ ?$m0P@?pa!L$m0@ ?$m0Z@?$m0Z@?$m0Z@?pa!p a!pa"p $mRr$mRa"zp a!pa!p $mRr $mRa"Z`0Ra0Aa+Aa+pa!pa!p$mRv$mR$m4$m2apa!vpa!p $mRr$mRa!pa!Vpa!`p$mRv$mRt$mRr$mRa$m0@?$m0@?$m0P@?$m0@ ?$m0@ ?$m0@ ?pa $m0@ ?$m0@ ?$m0^@?$m0@ ?$m0T@?$m0X@?papa pa p $mRr$mRa!p a rp $mRr$mRa `.a/6v0<traAZ0-/0-/AD$"a!Jp2-H4mҊlp4mЊD;@;|0-a$`;|0-Ha$`Px"mtaA4-Hp2-Ha SmSmx"mtaAt4-Hp2-Ha 0<t ra@RRm0-koYRm0-?0-v?0-?0-??<?-aRm0-аkoJYpra@X mfVx"mta@4-Hp2-Ha 40-U@fmx"mta@4-Hp2-Ha ;| Rma`B0-S@WHH/0-_@fp.0-Q@fp. m WHHgNE`;| `-&a-lv 0<tra?+|ȁd`;|0-Ha#`Tx"mta@4-Hp2-HafRmRmx"mta?4-Hp2-HaB -dtra>TdRm0-koYSm0-?0-v?0-?0-??<?-aR8-H m 0HVHJ@WHH/0-^HHf&pra>`, a,fBm papapax m؄00HaaBm0-W@lRm`Bm0-U@f0-a6a,4<b2<ba"r`0-aa,4<2<a"Xaa`0mЈ+@h?ah^HH/0- ^HHg0- o`*a*a0- W@gTBm 0-/0-/A>$"apapapax m؄00HaapaZa`*.a*t0-/0-/AD$"a8-H m H0-aZva!/??0-aF8:&a0a;@0-a,&<:<a/??0-a8:&aa/0-a&<:<a/??0-a8:&afaz/0-a&<:<a/??0-a8:&a2aF/0-a&<:<aX/??0-at8:&aa&$"a`(a)4a$p al@+$m4Bmpadpabpa`x m؄00HaTa\;|$m0a`V0-W@lRm`Bm0-U@f0-aa)4<b2<ba`0-aa)v4<2<apa4Rm0-аkoYpa40-fa`pa40-m;@0-WHH/ mop.8-H m 0HVHR@WHHga`|0-]@WHH/ m WHHga`X0-[@^HH/ m mB m op. m]HHgaJ`pa$m4$m0ga0`aha`'Na aJDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp` 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9`r _a &nO:NMIK@K$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`fHQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z"_KMIK@O:HQ <-H*,`N,Rnd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa ~a`\`Xpea>pCR2Ad0A2r22a"<Z00<NBLNurt=@:=A@=B NuHz(` NZHz ?<&NN\Nu9ܒgNuWܒNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa*a O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a <aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _aвG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBar $I _aZIUd4Id4Id$Id `$$$$Q @JfNuNup `.aSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `a|Af` VNuag`af`ae `ac` acpNuadpNuaB4@m4v` Vf@Nurk` rf`rg`r5=@|0`v@H|`z`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`jn\n^648HH`prt`Fn\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a R]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|dH-|dL`TNu-HN[?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na222-IfHVMF,_Nup `T np`r 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"eaB"ep`&6NuE "e a "d&&6NuE"e a"d66NuE"e a"d666NuE"e aƵ"d6Nu <}a$Ia `$XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk``ad`QNuHg"cc/ 0)aB _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`"0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp`"NN @A C#P B?< NA\#}Z/a?< NA\AUL0N (NuA#~ ~ x hg3&{AC`g#P Nu?<"NNT @ 9{g!@ HzT?<&NN\3NuUL#}YNuHz ?<&NN\NupACE~>rJg" XX\QNuACr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3~ Ni LHMO:|1R/9}Z?< NAO:pdz`Ӭ/Ma,_NNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a8؀.dfa*jNu.dfNudg"J9kfa4fp`d`/9 dg/9dg/9NupA-H=@|p4aS@Nu[2][Programmstop?][Stop|Cont]9HHNu9`aNf"_O:N"_O:HQ`6 9R\g"9RXgJ9fga"AO:Np\B``G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`dJAkfgRer?DDЁaAaԎ8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNua2 `aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aئNu"H YJQfNu YH瀀aHLP|HPGHpqC1!R@?& @$I?H!?U u5? I)y~)@/8p4a004 R@sP8pSP,PR @   @ @8WkXWkXWkXWkX<<$$$$$<$<) ?8p4$00$4( 8@((8p((+ $  #@ @ @@ @@ @p>WkXWkXWkXWkX<<$$$$$<$< 80 ;0 8|l``` ```ppp00?ps```` ߀/@@   <<<@@@~~@|<<444666>< ~.$oo???? Ti_KLETTERN V.: 3.3 / O7.O2.93(public domain)Rudolf TiemannTel.: O6733-62O5Donnersbergstr.14 D 55239 Gau-Odernheim *Aha!@~~*8647 34542 6116 servus**INFO@IRegeln@R1.Spieler:1 Neuling00 Profi 00 Narr 002.Spieler:1 Neuling00 Profi 00 Narr 00Mitspieler:1 Mensch 00 Computer00S T A R T :11.Spieler@12.Spieler@2---------------2Escape001*Was?Willst Du etwajetzt schonTi_KLETTERNverlassen?*ja@J 001-----------------nein@N 028 114*ist ein Zwei-Personen-Spiel.Zuerst mu der momentane Spielerseinen Zhler stoppen.Bei 1,2 oder 3 kann er klettern,bei 0 geht's leider abwrts.Um einen spteren Absturzzu verhindern, kann man die Punkteauch zum Sichern verwenden.Einige Stellen sind so vereist,da man sie nur mit gengend Schwungberwinden kann (sichern unmglich). Wenn der zweite Spieler fehlt,kann der Computer dessen Rolle bernehmen.Natrlich wird dann der Zhler rein zufllig gestoppt, damit das Spiel fair bleibt.Na dann ...*Viel Spa!@~~*weiterKLETTERN?*nein danke@N 001---------------ja bitte@J 028 114*Stop-Schild mit der linken Maustasteanklicken!*Klettern oder Sichern das ist hier die Frage! *[3][ | Dieses Programm| luft nur|in niedriger oder hoher | ][ ST-Auflsung ][3][ | Checksumme: | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ] CONT |STOP] K L E T T E R N Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  4 (0h2"(>*2(0Ff" *L@ ^< VV|@Ά200R6f6>>VV$ HVR.Lr Lr : * f((@4>$ 8 $@& $x^ 6 "fV.ynx?u)!ӚOOInH1b)S*DCU %E hR!s4vEC%YL^[Ĝ髷Q;YE6|:r82͘ḿ' Z5f2'Te? !,lՖ{t]%,]0֐EoW  hy}*yk<엫/asTNVZ+0d !RXV-V[9@kՔ;iWeҷpL*Cnx^exKOܙonTO8Ϸ'. |Řj -t-&nw!LߧfՆ1Kꎰ$ͦ6zAɎh;qal2w:  5W*pi"p4rpV qM¥ߥf5L2imW4 0gOɘ}j洄1.KOB'Oڛš UWw.>3}6M"/:Ԏ@UIalĮ[j2גܷ++h,UyGKX*ΜYL%Lka|}-IyS1yH y!BYc^=c|p*<,Pf Wx({M_U[!]]F9ܷRWG*ބ75nVk(b:M¨lҿOB:}P2~ӟ{.XGMFx|'-r^$`AAONNxNpNJNNtNN\pNzNE1pNz/E1pNz/E1pNz/HmHmHmHmHmN!;m0-H~Nd3(~0-W@fNNL <N"<N <N"<N?<NNT;@0-S@]HT@;@0-U@]HT@;@pN8;@pN8;@0-HjRR@;@0-HЀ;@0-HЀ;@0-;@A\NHm\N(0-U@fHxw?<NN\`NHxf?<NN\Hy?<NN\HyE?<NN\0-S@fHy?<NN\`Hy?<NN\pNBpNFpNpNprNpNpNpN0-SNN&pNpNpN>NNLAN mN$mXBR?<$mX??<NN\N$"mN"mN$mXRR$mX0@oNNL <N"<NHm\NNHNpNJNpNzN4NNNLANA\NA(NbA,Nb m0($m\4$m\0S@oh$m(B$m\0HjRSN>`>$m( ЀR"p mNN $m,$$m,?*$m(?*?<NN\$m(R$m( o]NNLA`NAdNAhNAlN0- ;@0-6;@0-P;@0-x;@0-2;@ 0-;@ 0-P;@0-x;@;|0-H~A큰Nv0-H~A킺N0-H~AN0-H~AN0-H~ANE4pNzx"mN@ Np~ADNp ~AJNx mJ؄1Hx mJ؄1 Hx mJ؄1Hx mJ؄1Hx mJ؄1Hx mJ؄1Hx mJ؄1Hx mJ؄1Hx mJ؄1(H0-m;@,;m.0-;@00-;@20- ;@40-0m4;@6p~APNp~AVN0-!$md4$mp4`T$md0$mpS@$mt4$mt0H$mp8H mP؄1H0-2H$mt0RЈ$mp8H mV؄1H$mpRR$mp0[@ox mP؄00H;@8x mV؄00H;@:Bm<0- m6;@>0-;@@;mB0-,;@D0-L;@F0-R;@H0-;@J0-;@L0-5S@;@N0-T;@P0-S@;@R0-RmP;@T0- ;@V0-;@X0-%;@Z0-(;@\0-^;@^0-m;@`0-;@b0-;@d0-;@f0-X;@h0-S;@j0- R@;@l0-;@n0-^;@pp~ANvp~ANvp~A\Np~AbNp~AhNp~AnNp~AtN0-U@fZEpNzx"mN@Ep Nzx"mN@Ep Nzx"mN@Ep Nzx"mN@`XEpNzx"mN@EpNzx"mN@EpNzx"mN@EpNzx"mN@0-0$mh40-Q@$ml40-adj&<:<ae2&<:<aa/??$mh0ad>8:&aaab$md4$mp4`$mh0$mp$md0RЈ$mp8H m\؄1H$mp8H m\؄00HH$ml0RЈ$mp8H mt؄1H$mp8H m\؄00HH$mh0RЈ$mp8H mb؄1H$mp8H mh؄BpH0-$mp8H mn؄1H$mpRR$mp0W@oB0-;@r0-;@t0-?;@v0-tmr;@xQ큤;|zp NpavjChapN"HAhau8Cna~NNLA0NbA4NbAxNAXNA|NA퀀NAN:Evai$mx4 mN m0($m|4$mX4`"p$mX2H mNN$m0ђ$mXRR$m|0$mXRl$mxRR$mx0]@oEai mN mNa`$m4$$m4 $m0g\E pNz/$m0 aa~N"_at*"ma}E!pANz"mat"ma}?</-Hm|Na(NNLA8NbA-HavpajNNLNNNNL`p NN(Jn`p NN(JnNNLHyNNX @p!@NNLAa}Ata}B m0(H0mDR/0-$mt/ m$"ax2NNLA큀N^grazX0-6-traqj0-U@fparparpar` parpar0-H0m6-m4-2-aq"parparA큀aw|`A큀awNNLA퀠a|vay0-6-trap0-6-4-rap0-U@fpar6par@par>` par"par,0-H0m6-m4-2-ap$m0f paqpaq0-H0m6-m4-m2-apNpaqpaq`NLA퀬a{A퀨a{A퀤a{A`a{$m0$m6$m4$m`2ao0-U@fpaqfpaqppaqn` paqRpaq\$m0H0m$m6m4-$mR2-$m`Raopaqpaq `.atAa{Aa{A퀼azA퀸azAlazA퀴azAtazA퀰azAazAazAaz m0(@$m4$ml0l0-D$ml$ml4$mt0l0-D$mt$mt4$m0l$m0HjR0mD$m4$m0aZ /??$m0aY&<x:<ay.8:&aW/??$m0aY&<x:<ay8:&aWLaXaX\R@$m4$mt0aY/??$ml0aY&<x:<ax8:&aW2/??0-aYf&<:<aZ.8:&aW aXaW$m4$ml0H$mt0RЈ$m6$mR$mt4$m2am mpialgpao$m0ao*pao40-H$m2H$m4RҊD/0-$ml2$mtRD&4-$mtR2-$mRamd$m0an$m0anao mpial8gpao m$m4$m2aspanpananpanpanpan`|a|AXaxRATaxJAPaxBALax:ATax2A axAaxAaxAax^ALaxVAaxNAaxF m0~"m m2$mp4`p$mp2H ma{C큆asA큆a~JoA큆a}aV:$m4$m8H mL P؄?0H$m8H mP P؄?0H$m8H mT P؄?0H$m8H mX P؄?0HBg$m?$m8H"mT"QNz/N&$mpRR m0(H$mp2Hl8aBmN;A;B;C$mp4`*p$mp2H maza}aUf$m4$m8H mL P؄00HH2-H]HH/$m8H mT P؄00HH2-HnB$m8H mP P؄00HH2-HmB$m8H mX P؄00HH2-H^HHg$m0$mذRVHH/p$mLJgpJWHHg$m8H mL P؄?0H$m8H mP P؄?0H$m8H mT P؄?0H$m8H mX P؄?0H?<$m?$m8H"mT"QNz/N&"m m2$mLP0-S@WHH/$m0$mذRWHHg"m m2 m0 m;P$m0m~WHH/p$mLJgpRgB$m0aUazl"m azJWHHg6$m8H mL P؄?0H$m8H mP P؄?0H$m8H mT P؄?0H$m8H mX P؄?0HBg$m?$m8H"mT"QNz/N&$mBR$mLQ m;P~`$m0$mذRWHH/p$mLJgpRWHHg~$m8H mL P؄?0H$m8H mP P؄?0H$m8H mT P؄?0H$m8H mX P؄?0HBg$m?$m8H"mT"QNz/N&$mBR$mLQ$mpRR m0(H$mp2Hl0-^HH/0-aSax"m ayXJ^HHgxa`wawAat,AasAasA퀬asxA퀨aspA퀤ashA`as`AasA퀰asxAtasp m0(@$m4$m0H$m`0RЈaRh&<x:<ar/??$m0aR8:&aPPaQaQ`R@$m4$m0H$m0RЈaR&<x:<aq/??0-aRz&<:<aSB8:&aP aQaQ$mt40-~$mذRWHH/0-~\HHg*0-U@fpahXpahbpah``pahDpahN` pah6pah@$m0$m6$m4$m`2afpahpah$m0S@fpahV$m0H0m$m6m4-$mR2-$m`RafR$m0S@fpah m$mt4$m2alpaga^`uauAaqAaqAaqAaqAaqAaqAaqAaqA$aq0-U@lHy@?<NN\0-aP&<:<aN/??0-aP&<:<aQ8:&aNZaOn$m40-aP&<:<aNN/??0-aP&<:<aQ`8:&aN>aO($m40-$m40-$m40-@h$m40-aPD&<:<aM/??0-aP(vak8:&aMaN$m40-$m4a.0-H$m0RЈv$mR$m4mr$mRad$m0$m6$m4$m2adp$m?HyqQHyBgpnar/Ep aqX/a m$aj$m4` m$aj$m0aO`at$m4$m2aj$m0H~ax+4,.P0&10-W@f$mRR`,0-U@WHH/0-[@WHHg$mSR`$mBRa~$m0np`s0asv?<Epap/a?<Epap~/a?<(Ep!aph/a?<2Ep"apR/aj?<?<PEbp#ap/a(?<ZEp%ao/a?<dEpao/a?<nEp&ao/a?<xEpao/a?<E p!ao/a?<E.pao/a?<ECp#aov/a?<Efp ao`/ax0<13ao/0<13ao/0<13ao/HmHmHmHmHma`qaq?<Ep"ao /a$?<Epan/a?<(Ep an/a?<2Epan/a?<Epam /a"?<FEp al/a ?<NEpal/a?<VE!pal/a?<^E=pal/a?<fEYp#al/a?<nE|pal/a?<xEpalp/a?<Ep"alZ/ar?<EpalD/a\?<Epal./aF?<Epal/a0?<E$pal/aE1pak/E1pak/E1pak/HmHmHmHmHma`n>an?<E:p ak/a?<EEpak/a?<'Edp%akv/a?<0Ep$ak`/ax?<9EpakJ/ab?<BEpak4/aL?<MEp%ak/a6?<VEp$ak/a ?<_E'paj/a ?<jECp aj/a?<sEcp aj/a?<|Enp"aj/a?<Ep!aj/a?<Ep!aj/a?<Ep"ajn/a?<EpajX/apE1pajF/E1paj8/E1paj*/HmHmHmHmHma`lal?<Ep%ai/am ?<E6p#ai/am ?<(EYp$ai/am ?<2E}p#ai/am ?<?-Bar?-PBg?-T?-HxpnaeF/0-aBahad."_aPpabdC큘aZ8-H mt؄4pHHR8-(H m ؄4pHHRA큘$"aY;|`*?-h?-n?-j?-lHxpia`/8-"H"map/ah$mp4`D$mp8H mP؄4pHHR$mp8H m&؄4pHHR("mao$2-4HaU,$mpRR$mp0[@o0-zHak?-h?-n?-j?-lHxpna`0/8-"H"mao/a$mp4`D$mp8H mP؄4pHHR$mp8H m&؄4pHHR("mao>$2-4HaT$mpRR$mp0[@o0-zHakPRm moaJ$mp4 `:-$mp8H m2؅؄00HJ@l$mp8H mJ؄00HJ@o($mp8H mJ؄00HH$mp8H m>؄1H`"x m&؄00H$mp8H m>؄1Hp$mPJgpJf($mp8H m ؄4pHHRAn$2-NaW$mPP$mpSR0-$$mpRm4p$mPJgpJWHH/:-8-$H m2؅؄00HJ@WHHg$mPQ$mp4`:-$mp8H m2؅؄00HJ@l^$mp8H mJ؄00HH$mp8H m>؄1Hp$mPJgpJf($mp8H m ؄4pHHRAn$2-NaV$mPP$mpSR$mp0S@lrx m&؄00H;@P큨`_a_aH:-H8-$H m2؅؄1#H:-H8-Hp# m8؅؄AHP8-H mt؄4pHHR8-$H m ؄4pHHR < 35a]p$"aVF < a]^/:-8-H m8؅؄00Ha:a`*"_aLpa^`C큘aV8-H mt؄4pHHR8-(H m ؄4pHHRA큘$"aU$mp4`z?-h?-p?-j?-lHxpia\/8-$H"mal/ad0-zHah6?-h?-p?-j?-lHxpna\/8-$H"mak/a*0-zHag$mpRR$mp0@ ozaGf`^0a^vaG::-H8-&H m2؅؄12H:-H8-Hp2 m8؅؄AHP8-H mt؄4pHHR8-&H m ؄4pHHR < 50a[$"aT < a[/:-8-H m8؅؄00Ha96a^"_aKdpa\C큘aU8-H mt؄4pHHR8-(H m ؄4pHHRA큘$"aTL;|`paOn8-&H m؄4pHHR8-&H m ؄4pHHR8-&H"majx$"aTpaO.8-&H m؄4pHHR8-&H m ؄4pHHR8-&H"maj8$"aSpaN$mp4`D$mp8H mP؄4pHHR$mp8H m&؄4pHHR("mai$2-4HaOJ$mpRR$mp0[@o0-zHaf8-&H m؄4pHHR8-&H m ؄4pHHR8-&H"mai$"aS $mp4`D$mp8H mP؄4pHHR$mp8H m&؄4pHHR("maiR$2-4HaN$mpRR$mp0[@o0-zHaedRm mopaD`[a[Rm0-ml;|NCNEpA,aHBm`RmpaMaVp$2-FaOX$mpRR0-&$mpRl`X8aX~$mp4`6$mp8H m,؄00HJ@fpaCnR$mp8H m&؄1H$mpRR$mp0[@o`WaX,$m4`$m0R@$mp4`$mp8H m&؄4pHHR$m8H m&؄00HHoT$mp8H m&؄CH$m8H m&؄AH002$mp8H m,؄CH$m8H m,؄AH002$mpRR$mp0[@op$mRR$m0[@mL`WaWb$mp4`$mp8H m,؄00HJ@o@$mp8H mP؄4pHHR$mp8H m,؄4pHHR("mad<$2-4HaI`>$mp8H mP؄4pHHR$mp8H m&؄4pHHR("mac$2-4HaIX$mpRR$mp0[@o\0-W@lZx m؄?0Hx m؄?0Hx m؄?0Hx m؄?0HBgpJ-gp?0-a1aW0CbaC/aV`Tx m؄?0Hx m؄?0Hx m؄?0Hx m؄?0H?<pJ-gp?p3aSCbaC/a`UaUAaQAaQQ큩x m&؄00H$m4$m4$mp4`,$mp8H m&؄00HH$m2Hf$mRR$mpRR$mp0[@o$m0[@f:-8-&H m2؅؄00HJ@ld;|aP큩x m؄?0Hx m؄?0Hx m؄?0Hx m؄?0H?<pJ-gp?p3aRCbaB/a`|:-8-&H m2؅؄00HJ@o^;|atx m؄?0Hx m؄?0Hx m؄?0Hx m؄?0H?<pJ-gp?p3aRVCbaB/a܀`T,aTrpA>aADpADaA:EpA큞aKBm$mp4`$mp8H m&؄4pHHR( mD؄AHRP$mp8H m&؄00H$m4$m0a/\aT$m2HC큞aa$mp8H m&؄00Hm$mp8H m&؄4pHHR:-( m2؅؄00HJ@l6$mp8H m&؄4pHHR$mp8H m&؄00HH( m>؄AHP$mpRR$mp0[@oBmBmBmBmBm$mp4`$mp8H mD؄00HJ@o:-$mp8H m2؅؄00HJ@l~$mp8H mD؄00Ha.N&<:<a//??0-a.28:&a/a,0mDЈ/$mp8H m ؄4pHHR$mp8H mD؄00Ha-aS^$"aID$mp8H mD؄00HH~aWLjLvLL$mpRR$mp0]@o`QaR@Rm`QaR40-f mp;P` mp;P`QaR mp;P`QaR mp;P`QaQ:-x m2؅؄00HJ@l0-Hx m>؄1H:-x m2؅؄00HJ@l,0-^HH/0-^HHg0-Hx m>؄1H:-x m2؅؄00HJ@l0-o0-Hx m>؄1H:-x m2؅؄00HJ@l40-^HH/0-^HHgx mJ؄00HHx m>؄1HBm:-x m2؅؄00HJ@lx mD؄00HJ@^HH/x mD؄00HJ@^HHgx mD؄00HJ@^HH/x mD؄00HJ@^HHg;|x mD؄00HJ@^HH/x mD؄00HJ@^HHg;|x mD؄00HJ@^HH/x mD؄00HJ@^HHg;|0-ox mJ؄00HHx m>؄1H:-x m2؅؄00HJ@lX0-[@WHH/x mD؄00HJ@WHH/x mD؄00HJ@WHHgx mJ؄00HHx m>؄1H`O6aO|BmBm$mp4 `$mp8H m>؄00HJ@o mp;P$mp0@ fdx m>؄00HS@lRx m>؄00HS@]HH/x m>؄00H@^HHg"$mp8H m ؄4pHHRAn$2-NaE`b$mp0@ f4x m>؄00HS@lF$mp8H m ؄4pHHRAn$2-NaEZ`"$mp8H m ؄4pHHRAn$2-NaE6$mpRR$mp0@ o0-WHH/0-W@gB:-x m2؅؄00HJ@]HHgB mox m ؄4pHHRAn$2-NaD`x m ؄4pHHRAh$2-NaD m o;m`MaM0-W@lNQ&0-o;|`NV.0-W@f0-S@lNWP큫?-Ne`M>aMpA,a:V m f&:-x m2؅؄00HJ@lNUBm` 0-fNQr`LaM8Q크BmBm0-oD0-U@]HH/:-8-&H m2؅؄00HJ@]HHg;m?-NS0-f@:-x m2؅؄00HJ@l&0-^HH/0-^HHg ;| NTb0-f0-o:-8-H m2؅؄00HJ@]HH/:-x m2؅؄00HJ@]HHg;m0-Y@^HH/:-x m2؅؄00HJ@]HH/:-x m2؅؄00HJ@]HHg;m0-o ?-NS0-fV:-x m2؅؄00HJ@]HH/:-x m2؅؄00HJ@]HHg0-_@o ;| NU0-f0-^HH/:-8-H m2؅؄00HJ@]HHg;m`80-^HH/:-8-H m2؅؄00HJ@]HHg;m0-o ?-NS0-f8:-x m2؅؄00HJ@lNU`NX0-o ?-NS`JfaJAaFD$mp4`@$mp8H m&؄00HH$m2Hf$m0H$mp8H m,؄1H$mpRR$mp0[@o`JaJH0-^HH/0-^HHg$mp4`v$mp8H m&؄00HH2-HWHH/$mp8H m&؄00HH2-HWHHg&$mp8H m&؄00HH$mp8H m,؄1H$mpRR$mp0[@o`ITaI m0$m0V@;@ m;P$mp4`N$mp8H m&؄00HH2-Hf*$mp8H m&؄00HH$mp8H m,؄1HRm$mpRR$mp0[@_HH/0-m\HHf`HaH$mp4`$mpRR$mp0[@o`HaH$mp4`B$mp8H m&؄00HY@o&$mp8H m&؄00HH$mp8H m,؄1H$mpRR$mp0[@o`H6aH|$mp4`$mp8H m,؄00HJ@o@$mp8H mP؄4pHHR$mp8H m&؄4pHHR("maUV$2-4Ha:`>$mp8H mP؄4pHHR$mp8H m&؄4pHHR("maU$2-4Ha:r$mpRR$mp0[@o\0-o 0-HaQ ` aTgaŤ`G`aGQ크Bm$mp4 `T$mp8H m>؄00HJ@^HH/:-$mp8H m2؅؄00HJ@]HHg mp;P`$mpSR0-WHH/0-$$mpR]HHf0-Q@fP크Bm0-fNX$mp4`.:-$mp8H m2؅؄00HJ@l mp;P$mpRR0-WHH/0-&$mpR\HHf`F^aF$mp4`Z$mp8H mD؄00HH2-H^HH/:-$mp8H m2؅؄00HJ@]HHg mp;P$mpRR$mp0]@o0-oX;mpJ-gpRfD8-H mD؄4pHHRp4mЊ^HH/x m>؄00H@^HHg;|`EaEQ큭$mBRaøaRV;A;B;C0-Pm]HH/0-RmnB0-\mmB0-fm^HHgzN[$$m0mVHH/0-nB m]HHgN\0-S@WHH/0-nB:-8-H m2؅؄00HJ@]HHg@N`0`8pJ-gpRWHH/$m0nB0-$$mRVHHgNc0-o0-W@]HH/pJ-gpJWHHgh0-4m]HH/0-6mnB0-8mmB0-:m^HHgNd`&0->m]HH/0-Hm^HHgP큭x m؄00HH2-H]HH/x m؄00HH2-HnBx m؄00HH2-HmBx m؄00HH2-H^HHgNdpJ-gpRWHH/pJ-gpRWHHg`C@aC0-^mo 0-VH2-H4mX@a$h;@`f0-`m]HH/0-bm^HHg 0-VH2-H4mZ@a$&;@`$0-dml ;m&`pJ-gpRWHH/$m0nB0-$$mRVHHg$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maO$"a9R8-H mt؄4pHHR$m8H m ؄4pHHR < a@D$"a9:-8-$H m2؅؄00HS@l68-H mt؄4pHHR8-$H m ؄4pHHR < a?$"a8$mBRQ큮Bm`AaApJ-gpRWHH/$m0nB0-$$mRVHHg$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maN$"a8<8-H mt؄4pHHR$m8H m ؄4pHHR < a?.$"a8:-8-$H m2؅؄00HS@l68-H mt؄4pHHR8-$H m ؄4pHHR < a>$"a7Q큮:-8-H m2؅؄00HJ@]HH/0-$mVHHg,8-H mt؄4pHHR8-H m ؄4pHHRp+a>X/Epa=/8-H m>؄00HaaA4"_a-pa?j"_a-$"a70-$m^HH/:-8-$H m2؅؄00HS@]HHg:-8-(H m2؅؄4pHHR8-H m>؄00HHПr?o:8-H mt؄4pHHR8-$H m ؄4pHHR ؄00HHПaa@"_a,pa>6"_a,$"a5pa18-H m؄4pHHR8-H m ؄4pHHR8-H"maL $"a5pa08-H m؄4pHHR8-H m ؄4pHHR8-H"maK$"a5TP큮pa0| m0`>4a>zAa::?-Ne m0;|P큭$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maKL$"a48-H mt؄4pHHR$m8H m ؄4pHHRp a;$"a4:-8-$H m2؅؄00HS@l68-H mt؄4pHHR8-$H m ؄4pHHR < a;x$"a4NQ큮aJbUf ?-NahaJ,2-PH]HH/pJ-gpJWHHga@`؄00HH:-8-H m8؅؄AHP$m0^HH/$m0_@]HHg$m8H m>؄00HH:-8-(H m2؅؄AHP:-8-$H m2؅؄00H@#f:-8-(H m2؅؄00H@@lr:-H8-$H m2؅؄BpH:-H8-Hp# m8؅؄AHP8-H mt؄4pHHR8-$H m ؄4pHHR < a9$"a2ZNh^`;Fa;$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maH$"a2 8-H mt؄4pHHR$m8H m ؄4pHHR < a8$"a1:-8-$H m2؅؄00HS@l68-H mt؄4pHHR8-$H m ؄4pHHR < a8$"a1$mBRBmQ큮`:da:Bm$mp4`X$mp8H mP؄00HH2-H]HH/$mp8H mV؄00HH2-H^HHg mp;P$mpRR$mp0[@o0-o ?-Nd`9a:" m$a0P큦NhpJ-gpJf m$a0`9a9Apa5$mp8H m,؄00HJ@oR$mp8H m,؄BpH$mp8H mP؄4pHHR$mp8H m&؄4pHHR("maF$2-4Ha,`d$mp8H m&؄00HH$mp8H m,؄1H$mp8H mP؄4pHHR$mp8H m&؄4pHHR("maFX$2-4Ha+`8a9A퀄a4$m8H m>؄00HH:-$m8H m2؅؄1H$m8H m>؄00HH:-8-H m8؅؄AHP0-$$mR^HH/:-8-$H m2؅؄00HS@]HHgT$m8H m>؄00HH:-8-(H m2؅؄AHP:-8-(H m2؅؄00H@?oa"Nh^pJ-gpRf0< a5/:-$m8H m2؅؄00HaDa8"_a%rpa6C큒a/ pa)$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maD$"a.Dpa)p$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maDt$"a-pa)*8-H mt؄4pHHR$m8H m ؄4pHHR0<> a4"HA큒a$$"a-0-o 0-Ha@N` aCga$m8H m؄4pHHR$m8H m ؄4pHHR$m8H"maC$"a-\8-H mt؄4pHHR$m8H m ؄4pHHR0< a4F"HA큒a#$"a-Q큫aJ`6a6L < a4$/:-8-H m8؅؄00Haa6"_a#pa5&C큘a-`8-H mt؄4pHHR8-(H m ؄4pHHRA큘$"a,`5a5aϒ0-U@f(?-PBg?-R?-HyESp a2/a`&?-PBg?-R?-HyEpa2/a~$mp4`j$mp8H m\؄?0H$mp8H mh؄?0H$mp8H mb؄?0H$mp8H mn؄?0HHy$mp8H"maB>/a$mpRR0-$mpRlNj-g^?-?-?-?- a0-R@;@~Ep a1/Epa1/0<78a2/HmHmHmHmHma`60<78a2^/0<78a2T/0<78a2J/HmHmHmHmHmax0-_@fP큥`n0-Q@WHH/pJ-gpJWHHgJ0-~S@;@0-o20-ap&<x:<a &<:<a(a R@;@`BmQ큦Bm~`3a3$mp40-a)`$mp0a&<:<a&<:<a /??0-a8:&aa $mt40-|/0< a1:/$mp0aa4$"_a pa2Z$mt4"a)x mt؄4pHHR < a1/z$mp8H m8؅؄00Hada3"_a pa2$mt4"a)0-S@oTx mt؄4pHHR < a0/z$mp8H m8؅؄00Haa3t"_a 6pa1$mt4"a)J0-U@oTx mt؄4pHHR < a0L/z$mp8H m8؅؄00Ha a3"_apa1N$mt4"a($mpRR$mp0ko`Yz8-H m8؅؄00HHzx m8؅؄AHPx mt؄00HHQ/8-(H m ؄4pHHR < a//zx m8؅؄00Ha a2n"_a0pa0$"a(H0-S@oz8-H m8؅؄00HHzx m8؅؄AHPx mt؄00HHQ/8-(H m ؄4pHHR < a//zx m8؅؄00Ha ha1"_apa0 $"a'0-U@oz8-H m8؅؄00HHzx m8؅؄AHPx mt؄00HHQ/8-(H m ؄4pHHR < a.h/zx m8؅؄00Ha a1:"_apa/p$"a'`0a0LA a, Aa,Aa+Aa+Aa+A a+A$a+A(a+A,a+A0a+A4a+A8a+A$mp0H~a3.qqrHs8t`u$mp8H"ma;$m$8H$mH:H$m<H$m8>Ha"&$mpRR$mp0]@opaFpaPpaP큤`-Ta-$m40$m06$m4$m@2a$mp8H"ma:$m$8H$mH:H$m<H$m8>Ha!papa$m40$m06$m4$m@2af`,a-$m40$m06$m4$mD2aB$m40$m06$m 4$m<2a&$mp8H"ma:$m$8H$mH:H$m<H$m8>Ha! paHa 6pahpar$m40$m06$m4$m<2a$m40$m06$m4$m@2a$m40$m06$m 4$mD2a`+,a+r$m40$m06$m4$m<2a$m40$m06$m4$mD2a~$m40$m06$m 4$m<2ab$m40$m06$m 4$mD2aF$mp8H"ma8 $m$8H$mH:H$m<H$m8>Ha*pa\paf$m40$m06$m4$m<2a$m40$m06$m4$mD2a$m40$m06$m 4$m<2a$m40$m06$m 4$mD2a`*a*J$m40$m06$m4$m<2ar$m40$m06$m4$mD2aV$m40$m06$m4$m@2a:$m40$m06$m 4$m<2a$m40$m06$m 4$mD2a$mp8H"ma6$m$8H$mH:H$m<H$m8>Hapapa"$m40$m06$m4$m<2a$m40$m06$m4$mD2a$m40$m06$m4$m@2an$m40$m06$m 4$m<2aR$m40$m06$m 4$mD2a6`(a($m40$m06$m4$m<2a$m40$m06$m4$mD2a$m40$m06$m4$m<2a$m40$m06$m4$mD2a$m40$m06$m 4$m<2a$m40$m06$m 4$mD2a$mp8H"ma5`$m$8H$mH:H$m<H$m8>Hajpapa$m40$m06$m4$m<2a*$m40$m06$m4$mD2a$m40$m06$m4$m<2a$m40$m06$m4$mD2a$m40$m06$m 4$m<2a$m40$m06$m 4$mD2a`' a aBDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp` 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`6xa2`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEZngP\`LJg&B.C`a8aD*9ffap-I,=|p4aHz*9fg ENp9Z` _a &nO:NMnIw`K$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z"_KMnIw`O:HQ <-H*,`N,~d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`p?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa a`\`Xpea>pCR2Ad0A2r22a"<0<NBLNurt=@:=A@=B NuHz(` NHz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaaa O: n*NNuNuNuNuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?ax<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _a _a4Ae4v` VfANuHP0(R@kBa $I _aIUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNuaTSAkfJANuH HPhkJaF $I _a.IUd4Id4Id$Id `$$$$Q @JgSL`QNup `RG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|H-|L`Nu-HNx?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b naF222-IfHVMF,_Nup `T np` 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`zg BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea"ep`&6NuE "e a̵"d&&6NuE"e a"d66NuE"e a"d666NuE"e ar"d6Nu <}a$Ia `$XaH`a$HR?<NNT @"_ <}Nuvn\n^~Ha0 @xepw2AtE4*jDjHB t`0QTAtp =| D` 24JBoRBk NugSBk` 24JBoCkNugCk`Na`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`Pp a2`p CFp``ߜ.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?"NN @A C#P B?< NA\#`/a?< NA\Al0N .NuA#  x hg3&AC`g#P Nu?<"NNT @ 9g!@ HzT?<&NN\3Nul#NuHz ?<&NN\NupACtEDrJg" XX\QNuAtCr g"XQ!ACf NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LHMnO:|1R/9`?< NAO:pdz`/Mna,_NTNuHz` Hz`Hz&$A?<&NN\NuNu4Nu$Nu(a؀.dfaָjNu.dfNudg"J9Ukfa4fp`۠d`/9jdg/9^dg/9bNupA-H=@|p4a܊S@Nu[2][Programmstop?][Stop|Cont]aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`ԊaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`aNu؄*؄؅CH`P؅X`$_  IaYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` n1d$HJf-HS Nup"`^HPa _a`QNua JH a8L0Nua`^4<H`@aL Z0De2SCkÐCo@c2`QNu .*NuA`A` A|`A@00HNuA `A`A|`A `A `zQ`z ` zn`z4=A|aD-IHQB0a _JNuz"-A=B|a-I`zT i _ K N I F Fp u b l i c d o m a i nV.: 3.3 Rudolf Tiemann Tel.: O6733-62O5 Donnersbergstr.14O9.O2.93 D 55239 Gau-Odernheim10391 44314 5574 123StartAusA U SzurckweiterO K1 S P I E L E R2 S P I E L E R3 S P I E L E R1 SPIELER+COMPUTER2 SPIELER+COMPUTERT E M P OTEMPOAUSWEITERWurf JOKER 1_er 2_er 3_er 4_er 5_er 6_er BONUS Chance 3*Pasch 4*Pasch Fullhouse Kl.Strae Gr.Strae KNIFFEL S U M M E J O K E R B O N U S Chance 3 * Pasch 4 * Pasch Fullhouse Kleine Strae Groe Strae K N I F F E L Computer1.Spieler2.Spieler3.spielerComp.1.Sp.2.Sp.3.Sp.[3][ | Checksumme: | | Das Programm wurde | leider manipuliert!][ Sorry ][3][ | TEXT-Segment: | | DATA-Segment: ][ !!! LINKVIRUS !!! ]S.: / 5Kniffelist ein Spiel mit fnf Wrfeln.Das Wrfeln besorgt der Computer.Es knnen 1 bis 3 Spieler spielen.Der Computer kann einen Spielerersetzen; er spielt stets als Letzter.Jeder Spieler darf dreimal wrfeln.Um einen 'guten' Wrfel festzuhalten,gengt es, diesen anzuklicken.Ebenso kann man auch einen unpassendenWrfel wieder ins Spiel werfen.Nach jedem Wurf werden die Wrfelautomatisch geordnet.In der Kopfzeile steht bei 'Wurf _'wie oft bereits gewrfelt wurde.Darunter erscheinen links Hinweiseber den momentanen Wertund rechts davon zeigen die > ,was noch gebraucht wird.Zum Weiterwrfeln klickt manin diese Spalte.Sptestens nach dem dritten Wrfelnerfolgt die Wertung.Dazu klickt man einfach mit derlinken Maustaste die Zeile an,in der die Notierung erfolgen soll.Wenn man sich vertan hat,kann man mit der rechten Maustastedie Wahl rckgngig machen,solange die Maus noch rechts ist.Die Maus mu nach der Notierungder Punkte zuerst nach links,bevor es weiter geht, damit nichtversehentlich der nchste Spielergleich 'mitbedient' wird.Wenn der Computer mitspielt,kann man sein Spieltempo whlen:'5' bedeutet 'ganz schnell' '1' bedeutet 'ganz langsam'.Wenn Tempo '0' gewhlt wird,wartet der Computer nach jedem Wurferst auf einen Mausklick.Wenn Sie mal das Tempo ndernoder den Gesamtpunktestand ansehenwollen, klicken Sie 'AUS' an.Anschlieend kann mit 'WEITER'an der alten 'Stelle'weitergespielt werden.SPIELREGELNIn den Zeilen '1_er' bis '6_er'zhlen nur die entsprechenden Wrfel.Wenn man mit der Summe dieser Zeilenber 63 kommt, gibt es einenBONUS von 35 Punkten.Solange noch kein Bonus erreicht ist,wird hier die mit dem aktuellen Wurferreichbare Summe angezeigt.Bei CHANCE und den PASCHs zhlenalle Augen.Ein 3*Pasch sind drei, ein 4*Paschentsprechend vier gleiche Wrfel.Ein 'Fullhouse' sind 2+3 Gleiche.Eine 'Strae' besteht aus 4 bzw. 5aufeinanderfolgenden Wrfeln.Ein KNIFFEL sind fnf gleiche Wrfel.Der erste Kniffel bringt 50 Punkte.Jeder weitere Kniffel ist ein JOKER.Ein Joker bringt weitere 100 Punkteund auerdem,ohne Rcksicht auf die Wrfel,die maximale Punktzahl der Zeile,in der er einsetzt wird.Kniffel und Joker zhlen aber nur,wenn der Kniffel nicht gestrichen ist.brigens: das Spielchen ist inGfA-BASIC geschrieben und darfkostenlos weitergegeben werden. Der Autor123450123456012345678Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler  "< *4F^r2*(B*2(*F@6T 4X\T222rFh`x@J",:^F\&0B:l>lt(* * f`((@4^>L$b $@& $x^ ˭+"YӻZ&وҼbOLƈz7z[q!QwbR+U}q.5ԁH iCZ{=^HҊ5ԄT;i.GtކrF6V;w?R T$D=dnK@ OwFWaio}y P?[ipq S1=Yd8m. c-٢Qe20ڶCx'js*>V=&V#=M{$>*>V=&V+틦틏U*sF*ϑC79?&_?q 督+㐲 N%eg>|^\3)-`Ĕ%}"1 'b pq xӥM_ntsSNp7&MRXň&ΏjϷga6xv/a_`d|* ? 4MMNMVzJ8FO1zidko{c yɰr HVa:Ϭ8>3L3~|ۡx>d }1N>1`wAn~|k߇eWGc3 ^SגSe.&O%DaR=Q?AGcm^s;f57