home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 68
/
64er_Magazin_Sonderheft_68_19xx_Markt__Technik_de_Side_B.d64
/
raetsel
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
610 lines
15 print"[147]";
16 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]
17 [153]"(NULL)kreuzwortraetsel version 1.a(NULL)
18 print"[221] [221]
19 [153]"(NULL)(c) buettgenbach hh,30.5.84(NULL)
20 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]
22 :
23 :
24 [143]" ******** hauptprogramm ********
25 rem" *******************************
26 :
27 [143]" tantantantantantantan vorbereitungen tantantantantantantantan
28 clr
29 gosub970 :rem" routinen laden
30 [141]915 :[143]" vorbereitungen
32 gosub600 :rem" bild aufbauen
33 :
34 t$[178]"(NULL)tartwort" :[143]" 1.wort
35 nr=1:gosub654 :rem" eintragen
36 :
37 [141]700 :[143]" wortschatz einlesen
38 poke53280,0:poke53281,0
39 :
40 rem" ******** hauptschleife ********
42 :
44 [151]142,bs:[151]26,0:u[178][183](dl)
46 :
47 [145] u [137] 50,64,70,80
48 :
49 [143]" tantantantantan taste war gedrueckt tantantantantan
50 getf$
51 iff$="[136]"thengosub650:goto59
52 iff$="[138]"thengosub740:goto59
53 iff$="[133]"thengosub700:goto60
54 iff$="[139]"thengosub450:goto60
55 iff$="[140]"thengosub092:goto59
56 iff$="[137]"thengosub087:goto59
57 iffg>0then44
58 goto50
59 print"";ll$;ll$
60 poke53280,0:poke53281,0:gosub337
61 iffg>0then44
62 goto50
63 :
64 rem" [192][192][192][192] suche war vergeblich [192][192][192][192][192]
65 [139]bs[178]0[167][141]110
66 bs[178]0:[137]44
69 :
70 [143]" tantantan ein wort wurde gefunden tantantan
71 w=peek(25)
72 fs$(nr)=str$((peek(140)=0))+fw$(w)
73 gosub300:nr=nr+1:iffg>0then44
75 :
76 print"";ll$;"";tab(17);
77 print"[159][215]ortschatz erschoepft !"
78 gosub337:goto50
79 :
80 rem" [192][192][192] max. ordn.zahl erreicht [192][192][192]
81 [153]"";ll$;"open(NULL)aetsel fertig:wait";
82 [153]" atnusdrucken mit (NULL)val(NULL)(NULL)(NULL)(NULL)wait"
83 [146]203,64:[146]203,63
84 [153]"";ll$;ll$:[141]740
85 [137]95
86 :
87 [143]" tantantantantantan raetsel loeschen tantantantantantantan
88 f$="[210]aetsel loeschen":gosub4000
89 iff$<>"j"thenreturn
90 run30
91 :
92 rem" [192][192][192][192][192] programm abbrechen [192][192][192][192][192][192]
93 f$[178]"atnbbrechen":[141]4000
94 [139]f$[179][177]"j"[167][142]
95 [141]500:[143]" programm-ende
96 :
97 end
98 :
99 :
100 rem" ******* unterprogramme *******
102 [143]" ******************************
104 :
106 :
110 rem" autom. nachladen
112 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
114 :
115 print"[159]";ll$;"";tab(18);
116 print"[215]ortschatz ungenuegend"
117 gosub337
118 ifright$(nf$,1)="q"then154
120 :
122 dl=int(dm/3)
124 :
125 ifav=0thenav=1:goto154
126 ifls=0then154
127 :
128 rem" [192][192][192] folge-wortschatz laden [192][192][192]
130 [151]53280,2:[151]53281,2
132 [153]"";ll$;"open(NULL)ortschatz ";
133 [153]"";nf$;"wait wird geladen"
136 f$[178]nf$:[141]713
137 [151]53280,0:[151]53281,0
138 :
154 [142]
156 :
158 :
300 [143]" wortliste kuerzen
302 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
304 :
307 sa[178][194](47)[170][194](48)[172]256[170]7
308 :
315 [141]350 :[143]" woerter kuerzen
316 :
320 sa=sa+772
322 gosub350 :rem" fragen kuerzen
324 :
334 fg[178]fg[171]1:[151]2,fg:[143]" feld kuerzen
336 :
337 print"";nr;int(fg/og*100);"[157] % "
338 :
341 return
342 :
344 :
349 rem" wortvektoren vertauschen
350 x[178]sa[170]fg[172]3:y[178]sa[170]w[172]3
354 [151]y,[194](x)
356 [151]y[170]1,[194](x[170]1)
358 [151]y[170]2,[194](x[170]2)
360 :
397 [142]
398 :
399 :
450 [143]" autoladen ein/aus
452 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
454 :
456 [139]ls[178]0[167]ls[178]1:[137]461
458 [139]ls[178]1[167]ls[178]0
460 :
461 [151]214,13:[151]211,30:[158]58732
462 :
463 [153]"";
464 [139]ls[178]1[167][153]"valinwait";
466 [139]ls[178]0[167][153]"atnus";
472 :
497 [142]
498 :
499 :
500 [143]" programm-ende
502 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
504 :
505 [153]"loadcont";[199](9);
506 [151]53280,14:[143]" rahmen hellblau
508 poke53281,06:rem" grund blau
510 :
512 [151]792,71:[143]" restore und
514 poke788,49:rem" stop moeglich
594 :
596 [142]
598 :
599 :
600 [143]" bild aufbauen
602 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
604 :
606 [151]53265,11 :[143]" bild aus
607 :
608 rem" [192][192][192][192][192][192] kreuzwortfeld [192][192][192][192][192][192][192][192][192]
609 [153]"load";[199](14);[199](8);
610 [153]" openortantantantantantantantantantantantantantantantantantantantan^ "
612 [129]n[178]1[164]20
614 [153]" open(NULL)cont waitopen(NULL)"
616 [130]
618 [153]" open/tantantantantantantantantantantantantantantantantantantantanexp ";
619 :
620 [143]" tantantantantan tastenbelegung tantantantantantantantantan
621 b$=""
622 print"";
623 a$="[215]oerter einlesen"
624 f=1:gosub639
625 a$="[210]aetsel drucken "
626 f=4:gosub639
627 a$="[193]utolader [193]us "
628 f=6:gosub639
629 a$="von [200]and eingeben"
630 f=7:gosub639
631 printb$;"f 2[146][157][157][204]oeschen"
632 printb$;"f 8[146][157][157][193]bbrechen";
633 :
634 poke53265,27:rem" bild an
635 :
636 [142]
637 :
639 [153]b$;"f";f;"waittantantantantantan^
640 rem printb$;"[221] [221]
641 [153]b$;"(NULL)";[200](a$,9);"(NULL)
642 printb$;"[221]";right$(a$,9);"[221]"
643 printb$;"[173][192][192][192][192][192][192][192][192][192][189]
645 :
646 [142]
648 :
649 :
650 [143]" kreuzwort v. hand eingeben
651 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
652 :
653 t$[178]"(NULL)reuzwort (atnbbr=q)"
654 [151]53280,2:[151]53281,2
655 [153]"";ll$;ll$
656 l[178]20:m[178]0:[141]1000:m$[178]f$
657 [139]m$[178]"q"[175]nr[177]1[167]685
658 l[178][195](m$):[139]l[179]2[167]656
659 :
660 t$[178]m$:[141]2000 :[143]" pos. eingeben
661 :
662 poke26,len(m$):m$=m$:rem" wort
663 [146]203,64:u[178][183](0) :[143]" eintragen
664 ifu<>3then685
665 :
666 t$="[198]ragestellung" :rem" frage
667 l[178]36:m[178]1:[141]1000 :[143]" eingeben
669 :
680 x$=str$(peek(140)=0) :rem" frage
681 fs$(nr)[178]x$[170]f$:nr[178]nr[170]1 :[143]" merken
682 av=0:dl=dm
683 goto650
684 :
685 return
698 :
699 :
700 rem" kreuzwoerter einlesen
701 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
702 :
703 poke53280,2:poke53281,2
704 print"";ll$;ll$;
705 t$="[215]ortschatz ([193]bbr=q)"
706 l=14:m=1:gosub1000
707 iff$="q"thenprint"";ll$:goto733
708 iff$="$"then710
709 f$="[219]"+chr$(20)+f$:goto712
710 gosub3000:iff$=""then704
711 :
712 print"";ll$;ll$
713 open15,8,15
714 open1,8,2,"0:"+f$+",s,r"
715 input#15,en,en$
716 ifen<>0then728
717 :
718 input#1,fg :rem" feldgroesse gleich
719 [151]2,fg :[143]" anzahl woerter
720 forn=0tofg :rem"lese woerter/fragen
721 :[132]1,kw$(n),fw$(n)
722 [130]
723 :
724 [132]1,nf$:[143]" naechster file
725 input#15,en,en$
726 av=0:dl=dm:bs=1:og=fg
727 :
728 print"";left$(ll$,40-len(en$));
729 print"";en$
730 :
731 close1:close15
732 :
733 return
734 :
735 :
740 rem" raetsel drucken
741 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
742 :
743 poke53280,2:poke53281,2
744 print"";ll$;ll$
745 print"[159][210]aetsel wird ausgedruckt[146]"
746 :
747 gosub761:rem" wortfeld ausdrucken
748 [141]824:[143]" fragen ausdrucken
749 gosub900:rem" loesung ausdrucken
750 :
751 [142]
752 :
753 :
754 [143]" tantan init epson rx-80 drucker tantan
755 open1,4:print#1,chr$(27);"@";
756 print#1,chr$(27);"3";chr$(24);
757 rem print#1,chr$(27);"l";chr$(lr);
758 print#1: close1:return
759 :
760 rem" [192][192][192][192] wortfeld ausdrucken [192][192][192][192][192]
761 [141]755:[159]1,4,10:[157]1 :[153]:[153]"or";
762 [129]n[178]0[164]19:[153]"tantantan";:[130]
763 [153]"^wait"
764 :
765 [129]ze[178]0[164]19
766 :d[178]ze[172]20:ad[178]s1[170]d:as[178]s2[170]d:aw[178]s3[170]d
767 :ab[178]s4[170]ze[172]40
768 :
772 :[153]" ";
773 :[129]sp[178]0[164]19
774 : c[178][194](as[170]sp)
775 : [139]c[178]0[167][153]" ";:[137]777
776 : [153][202]([196](c)[170]" ",2,3);
777 :[130]sp
779 :[141]820
780 :[129]n[178]1[164]3
781 : [153]"(NULL)wait";
782 : [129]sp[178]0[164]19
783 : a[178]166:b[178]a:c[178]a
784 : [139][194](ab[170]sp)[178]160[167]790
785 : b[178]32:c[178]b:[139]sp[178]19[167]787
786 : [139]([194](ad[170]sp)[175]1)[167]c[178]167
787 : a[178]165:[139]sp[178]0[167]a[178]32
788 : [139](n[178]1)[175][194](as[170]sp)[167]a[178]32
789 : [139](n[178]3)[175][194](aw[170]sp)[167]a[178]32
790 : [153][199](a);[199](b);[199](c);
791 : [130]sp
792 : [153]"(NULL)wait";:[139]n[179]3[167][153]
793 :[130]n
794 :
795 :[141]820:[153]" ";
796 :[129]sp[178]0[164]19
797 : c[178][194](aw[170]sp)
798 : [139]c[178]0[167][153]" ";:[137]800
799 : [153][202]([196](c)[170]" ",2,3);
800 :[130]
801 :
802 :[139]ze[178]19[167]810
803 :[141]820:[153]" ";
804 :[129]sp[178]0[164]19
805 : p[178]ad[170]sp:c[178]([194](p)[175]16)
806 : [139]c[167][153]"andandand";:[137]808
807 : [153]"tototo";
808 :[130]sp
809 :
810 [153]:[130]ze
811 :
812 [153]"/";
813 :[129]n[178]0[164]19:[153]"tantantan";:[130]
814 [153]"expwait";:[152]1:[160]1
815 :
816 [142]
817 :
818 :
820 [153][199](141);:[142]
821 [143] printchr$(141);left$(ll$,lr);:return :rem fuer rx80
822 :
823 [143]" tantantantantan fragen ausdrucken tantantantantantan
824 printchr$(14):open1,4
825 print#1,chr$(27);"0";
826 print#1,chr$(27);chr$(15);
827 print#1,chr$(27);"l";chr$(lr*1.7);
828 :
829 cmd1:printchr$(14);"[211]enkrecht:"
830 sw=0:gosub838:print
831 :
832 printchr$(14);"[215]aagerecht:"
833 sw=-1:gosub838:print#1:close1
834 :
835 return
836 :
837 :
838 mz=0:zl=0:f=0:na=1
839 forn=1tonr-1
840 :ifval(fs$(n))=swthengosub847
841 nextn
842 m=0:mr=0:bz=0:gosub881:print
843 :
844 return
845 :
846 :
847 nl=len(str$(n))+2
848 l=zl+nl+len(fs$(n))
849 ifl<czthenzl=l:goto861
850 :
851 pa=1
852 forp=3tolen(fs$(n))-2
853 :ifmid$(fs$(n),p,1)<>" "then855
854 :l=zl+nl+p-2:ifl<czthenpa=p
855 nextp
856 :
857 ifpa=1thenmz=mz-1:l=zl
858 ifpa>1thenl=zl+nl+pa-2
859 gosub866:mz=0
860 :
861 mz=mz+1
862 :
863 return
864 :
865 :
866 bz=int((cz-l)/mz):mr=cz-(l+bz*mz)
867 m=-(mr>0):gosub881
868 :
869 na=n+1:l=len(fs$(n)):ifpa>1then873
870 w=n:print";":gosub892:zl=nl+l+3
871 printmid$(fs$(n),3,l);:goto878
872 :
873 print"; ";left$(ll$,bz);
874 w=n:gosub892:zl=l-pa+2
875 printmid$(fs$(n),3,pa-2)
876 printright$(fs$(n),l-pa);
877 :
878 return
879 :
880 :
881 forp=naton-1
882 :ifval(fs$(p))<>swthen887
883 :iffthenprint"; ";left$(ll$,bz+m);
884 :iffthenmr=mr+(mr>0):m=-(mr>0)
885 :f=1:w=p:gosub892
886 :printright$(fs$(p),len(fs$(p))-2);
887 nextp
888 :
889 return
890 :
891 :
892 nl=len(str$(w))-1:print"(";
893 printright$(str$(w),nl);") ";
894 return
895 :
899 rem" [192][192][192][192][192] loesung ausdrucken [192][192][192][192][192]
900 [141]755:[153][199](14):[159]1,4,10:[157]1
901 :
902 [153]:[153]:[153]:[153]"(NULL)oesung:"
903 [153]"ortantantantantantantantantantantantantantantantantantantantan^"
904 [129]n[178]s4[164]s4[170]760[169]40
905 :[153]"(NULL)";:[129]p[178]n[164]n[170]19
906 :[153][199]([194](p));
907 :[130]p:[153]"(NULL)"
908 [130]n
909 [153]"/tantantantantantantantantantantantantantantantantantantantanexp"
910 [152]1:[160]1
911 :
912 [142]
913 :
914 :
915 [143]" vorbereitungen
916 rem" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
917 :
919 [151]53280,2:[143]" rahmen grau
920 poke53281,2:rem" hintergrund grau
921 :
922 [143] poke792,193:rem" restore und
923 rem poke788,52 :rem" stop verriegeln
924 :
925 [134]kw$(254):[143]" kreuzwoerter
926 dimfw$(254):rem" fragen dazu
927 [134]fs$(255):[143]" fragestellung
928 fg=1:og=fg :rem" feldgroesse
929 [151]2,fg :[143]" uebergeben
930 :
931 poke785,0 :rem" usr-vektor
932 [151]786,192 :[143]" setzen
933 :
934 ls=0:rem" [193]utolader [193]us
935 bs[178]1:[143]" peeklausperre valin
936 :
937 sys50016:rem" matrix loeschen
938 :
940 [143] sys 51859 :rem" init. drucktreiber
942 :
944 rem" konstanten:
945 :
946 lr[178]10 :[143]" linker rand druckausg.
948 cz=int(130-lr*1.7) :rem" zeillaenge
949 :
950 [129]n[178]1[164]40 :[143]" leerstring fuer
952 :ll$=ll$+" " :rem" formatierte
954 [130] :[143]" ausgabe
955 :
956 s1=50176 :rem" adressen der
958 s2[178]50576 :[143]" wortfeld-
960 s3=50976 :rem" speicher
962 s4[178]1186
963 :
964 dm[178]10000:[143]" max. anz. laeufe
965 :
966 return
967 :
969 :
970 rem" routinen laden
971 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
972 :
975 forn=0to3:s1=s1+peek(49152+n):next
976 forn=0to3:s2=s2+peek(51857+n):next
977 :
978 ifs1<>483thenload"such.obj",8,1
979 rem ifs2<>494thenload"druck.obj",8,1
980 :
987 return
997 :
998 :
999 :
1000 rem" inputform routine
1001 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
1002 :
1003 x$=chr$(13):y$=chr$(20)
1004 z$=chr$(34)
1005 :
1006 print"[159]";t$;"?[146] ";:poke198,0
1007 :
1008 f$=""
1009 forn=1tol+1
1010 :print"[157]";f$;"[164]";
1011 :wait198,1:getf$:poke198,0
1012 :iff$=x$then1024
1013 :iff$=y$andn>1thenn=n-1:goto1010
1014 :ifn>lthen1011
1015 :ifm=0then1021
1016 :iff$=","orf$=z$then1011
1017 :iff$>=" "andf$<="9"then1022
1018 :iff$>="[193]"andf$<="[218]"then1022
1021 :iff$<"a"orf$>"z"then1011
1022 next
1023 :
1024 print"[157] [157]";t$;
1026 poke631,13:poke198,1:inputf$
1029 iff$=x$then1005
1030 :
1097 return
1098 :
1099 :
2000 rem" wort positionieren
2001 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
2002 :
2004 print"[154] ([211]) enkrecht oder";
2005 print" ([215]) aagerecht ? "
2006 wait203,63:getf$
2007 iff$<>"s"andf$<>"w"then2006
2008 :
2009 print"[146]";ll$;
2010 print"[194]itte [208]osition anfahren!"
2011 print"[146]";
2012 :
2013 fa=1186:p=fa:f=peek(fa)
2014 x=0:y=0:s=(f$="s"):poke140,abs(s)
2015 mx=20+l*(s=0)+(s=-1)
2016 my=20+l*(s=-1)+(s=0)
2017 :
2018 forn=0to9999
2019 pokep,f:p=fa+x+y*40
2020 f=peek(p):pokep,94:wait198,1
2021 getf$:iff$=chr$(13)then2028
2022 iff$=""theny=y-1*(y<my):next
2023 iff$=""thenx=x-1*(x<mx):next
2024 iff$="[145]"theny=y+1*(y>0):next
2025 iff$="[157]"thenx=x+1*(x>0):next
2026 next
2027 :
2028 pokep,f
2029 print"";ll$;ll$;
2030 :
2031 poke211,x :rem" cursor-position
2032 [151]214,y :[143]" setzen
2033 :
2097 return
2098 :
2099 :
3000 rem" directory listen
3001 [143]" tantantantantantantantantantantantantantantantantantantantantantantantantantantantantan
3003 :
3004 print"";ll$;"[159]";
3005 print"[205]it [210][197][212][213][210][206][146] auswaehlen "
3006 print"[145][205]it [204][197][197][210][212][193][211][212][197][146] weiter "
3007 :
3008 open15,8,15,"io":open2,8,2,"#"
3010 :
3012 t=18:s=1:f$=""
3014 :
3016 forw=0to99
3018 :
3020 :print#15,"b-r";2;0;t;s
3022 :print#15,"b-p";2;0
3024 :
3026 :get#2,x$:t=asc(x$+chr$(0))
3028 :get#2,x$:s=asc(x$+chr$(0))
3030 :
3032 :forx=0to7
3034 : print#15,"b-p";2;x*32+5:get#2,f$
3038 : iff$<>"[219]"thennextx:goto3060
3042 : fory=1to15
3044 : get#2,x$:f$=f$+x$
3046 : ifx$=chr$(160)theny=15
3048 : nexty
3050 : print"";tab(24);"";
3052 : printright$(f$,len(f$)-2);"[146]"
3053 : wait203,64:wait203,63:getx$
3054 : ifx$=chr$(13)then3064
3055 : print"";tab(24);left$(ll$,14)
3056 : f$=""
3057 :nextx
3058 :
3060 :ift=0thenw=99
3061 nextw
3062 :
3064 close2:close15
3065 print"";ll$;ll$
3066 :
3068 return
3070 :
3071 :
4000 rem" sicherheitsabfrage
4001 [143]" tantantantantantantantantantantantantantantantantantan
4002 :
4003 poke53280,2:poke53281,2
4004 print"";ll$
4006 print"[159]";f$;":[146] [211]icher ([202]/[206]) ?"
4008 wait203,64:wait203,63:getf$
4010 iff$<>"j"thenprint"";ll$
4012 :
4014 return
4016 :
4018 :
4020 :
9000 rem"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]
9002 [143]"(NULL) ende raetselgenerator (NULL)
9004 rem"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]