Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10! Programm: R+MASTER VERSION 1 20 A1$="HEIMCOMPUTER robotron Z9001" 30 A2$="SPIEL":A9=2:A3$="R+MASTER" 50 A4$="MASTER MIND" 60 A5$="RATEN EINER ZIFFERNFOLGE" 70 WINDOW:BORDER A9:INK 8:PAPER 1:CLS 80 PRINT INK 1;AT(0,0);" " 90 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),"" 100 PRINT AT(5,2);"":PRINT AT(5,37);"" 110 PRINT AT(6,2);"",STRING$(34,""),"":IF A<>0 THEN 250 120 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$ 130 INK A9:PRINT AT(8,2);STRING$(36,"") 140 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I 150 PRINT AT(14,2);STRING$(36,"") 160 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$ 170 PRINT INK 3;AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK" 180 PRINT INK 3;AT(19,8);">OTTO SCHOEN< DRESDEN":GOSUB 1140 190 INK 3:PRINT AT(19,2);"ERLAEUTERUNGEN: (J)/N " 200 PRINT AT(18,2);STRING$(27," ") 210 PRINT INK 4;AT(22,31);">ENTER<":WINDOW 19,19,30,36:JN$="J":INPUT "";JN$ 220 WINDOW:INK 8:IF JN$="J"THEN GOSUB 1180 230 WINDOW:BORDER 1:PAPER 1:INK 2:CLS:PRINT INK 1;AT(0,0);" ":ZN=6:AN=5:ZI=7:A=1 240 A1$="":GOTO 90 250 PRINT INK 4;AT(5,16);"AUSWAHL":INK 3 260 PRINT AT(9,4);"LAENGE DER ZIFFERNFOLGE ?" 270 WINDOW 9,9,32,39:PRINT AT(10,4);"(Wert zwischen 1 und 10)" 280 INPUT "";AN:IF AN<1 OR AN>10 THEN 280 290 PRINT AT(9,32);AN:PRINT AT(13,4);"ZIFFERN ? zwischen 0 und" 300 WINDOW 13,13,32,39:PRINT AT(14,4);"(Wert zwischen 1 und 9)" 310 INPUT "";ZI:IF ZI<1 OR ZI>9 THEN 310 320 PRINT AT(13,32);ZI 330 F1$="nur Schwierigkeitsstufe ":F2$=" moeglich" 340 IF AN=1 THEN A=1:WINDOW:PRINT INK 1;AT(0,0);" " 350 IF AN=1 THEN PRINT INK 2;AT(17,4);F1$,"1",F2$:GOSUB 1140:GOTO 470 360 IF ZI<AN-1 THEN A=2:WINDOW:PRINT INK 1;AT(0,0);" " 370 IF ZI<AN-1 THEN PRINT INK 2;AT(17,4);F1$,"2",F2$:GOSUB 1140:GOTO 450 380 PRINT AT(17,4);"SCHWIERIGKEITSSTUFE:":WINDOW 17,17,32,39 390 F1$=" Wiederholung":PRINT AT(18,4);"(1) ohne",F1$," von Ziffern" 400 PRINT AT(19,5);"2 auch",F1$,"en moeglich" 410 INPUT "";A:IF A<>1 AND A<>2 THEN 410 420 PRINT AT(17,32);A:PAUSE 10 430 WINDOW:PRINT INK 1;AT(0,0);" " 440 IF A=2 THEN GOTO 450:ELSE 470 450 FOR I=1 TO AN:GOSUB 460:VO(I)=ZU:NEXT:GOTO 510 460 ZU=INT(RND(10)*10):IF ZU>ZI OR ZU<0 THEN 460:ELSE RETURN 470 FOR I=1 TO AN:VO(I)=20:NEXT 480 FOR K=1 TO AN 490 GOSUB 460:FOR I=1 TO K-1:IF ZU=VO(I)THEN 490 500 NEXT I:VO(K)=ZU:NEXT K 510 BORDER 1:PAPER 1:INK 3:CLS:PRINT TAB(7);"Vorschlag ?";TAB(20);"richtig" 520 PRINT:PRINT TAB(2);"erlaubte Ziffern";TAB(20);"Ziffer und Stelle" 530 PRINT AT(2,38);CHR$(201) 540 Z1$="":FOR I=0 TO ZI:Z1$=Z1$+MID$(STR$(I),2,1):NEXT 550 PRINT SPC(18-LEN(Z1$));Z1$; 560 PRINT TAB(20);"Ziffer":PRINT INK 8;AT(3,38);CHR$(138) 570 Z1$=STRING$(7,CHR$(160)) 580 PRINT:PRINT " ";Z1$;" Schwierigkeitsstufe";A;Z1$;CHR$(160) 590 Z=0:WINDOW 7,23,17-AN,39 600 IF ZN<22 THEN ZN=ZN+1:PRINT AT(ZN,18);CHR$(161):ELSE PRINT AT(23,18);CHR$(161) 610 ST$="":INPUT "";ST$ 620 L=LEN(ST$):IF L<2 THEN 650 630 FOR IL=L TO 2 STEP-1:IF MID$(ST$,IL,1)=" "THEN L=IL-1:ELSE 650 640 NEXT 650 ST$=LEFT$(ST$,L):IF ST$="A"GOTO 740 660 F1$="Laenge ist" 670 IF LEN(ST$)<>AN THEN PRINT INK 2;AT(ZN,20);F1$,AN,"!":GOSUB 1130:GOTO 600 680 FOR I=1 TO AN:X$=MID$(ST$,I,1) 690 IF ASC(X$)>47 AND ASC(X$)<58 GOTO 710<<TOKEN:1c>><<TOKEN:1c>> 700 PRINT INK 2;AT(ZN,20);"Nur Zahlen eingeben!":GOSUB 1130:GOTO 600 710 ST(I)=VAL(X$):F1$="nur Ziffern <=" 720 IF ST(I)>ZI THEN PRINT INK 2;AT(ZN,20);F1$,ZI,"!":GOSUB 1130:GOTO 600 730 NEXT:GOTO 770 740 PRINT AT(ZN,18);" ":PRINT:INK 2 750 PRINT " ";:FOR I=1 TO AN:PRINT MID$(STR$(VO(I)),2,1);:NEXT:INK 1:PRINT " " 760 WINDOW:PRINT INK 1;AT(0,0);" ":GOSUB 1140:INK 3:PAPER 1:CLS:GOTO 1120 770 X=0:Y=0:Z=Z+1 780 FOR I=1 TO AN:TE(I)=VO(I):NEXT 790 FOR I=1 TO AN:IF TE(I)=ST(I)THEN 810 800 NEXT:GOTO 820 810 X=X+1:TE(I)=20:ST(I)=30:GOTO 800 820 FOR I=1 TO AN:FOR J=1 TO AN 830 IF TE(I)=ST(J)THEN 850 840 NEXT J,I:GOTO 860 850 Y=Y+1:TE(I)=20:ST(J)=30:GOTO 840 860 IF X=AN THEN 920 870 Z1$=STRING$(X,CHR$(201)) 880 Z2$=STRING$(Y,CHR$(138)) 890 PRINT AT(ZN,18-AN);ST$,STRING$(20," ") 900 PRINT INK 3;AT(ZN,20);Z1$ 910 PRINT INK 8;AT(ZN,20+LEN(Z1$));Z2$:GOTO 600 920 PRINT AT(ZN,18-AN);ST$," ":WINDOW:PRINT INK 1;AT(0,0);" " 930 FOR I=1 TO 3:PRINT AT(ZN,20);" " 940 PAUSE 5:PRINT INK 4;AT(ZN,20);"richtig":PAUSE 5:NEXT 950 GOSUB 1140 960 INK 3:CLS:PRINT INK 1;AT(0,0);" ":IF AN=1 THEN 1110 970 IF Z=1 THEN PRINT AT(5,6);"SIE HABEN MEHR GLUECK":PRINT AT(7,6);"ALS VERSTAND. 980 IF Z=1 THEN GOTO 1050 990 PRINT AT(5,6);"SIE HABEN DIE LOESUNG MIT" 1000 PRINT AT(7,5);Z,"VERSUCHEN GEFUNDEN." 1010 IF A=1 THEN FA=0.8:ELSE FA=1.3 1020 FA=FA*AN*ZI/8 1030 IF Z<FA THEN PRINT INK 4;AT(10,6);"SIE SIND SUPER!":GOTO 1050 1040 IF Z<2.5*FA THEN PRINT AT(10,6);"SIE SIND GUT." 1050 WINDOW 22,22,6,39:JN$="J" 1060 INPUT "NOCH EIN SPIEL: (J)/N ";JN$:IF JN$<>"J"AND JN$<>"N"THEN 1060 1070 IF JN$="J"THEN 230 1080 PAPER 1:WINDOW:CLS 1090 PRINT INK 4;AT(11,11);"AUF WIEDERSEHEN !":PRINT INK 1;AT(0,0);" " 1100 PAUSE 20:CLS:INK 3:END 1110 PRINT AT(7,6);"SIE MACHEN ES SICH ZU EINFACH !":GOTO 1050 1120 PRINT AT(7,6);"UEBEN! UEBEN! UEBEN!":GOTO 1050 1130 PAUSE 20:PRINT AT(ZN,0);STRING$(40," "):RETURN 1140 IF A=3 THEN PO=18:ELSE PO=22 1150 PRINT INK 4;AT(PO,31);">ENTER<" 1160 T$=INKEY$:IF T$=""THEN ZU=RND(10):GOTO 1160 1170 RETURN 1180 WINDOW:CLS:WINDOW 4,19,0,39:BORDER 1:PAPER 1:INK 3:OUT 136,4 1190 PRINT "Ihre Loesungsvorschlaege werden be-" 1200 PRINT "wertet. Die Anzahl der ist gleich" 1210 PRINT "der Anzahl der Ziffern, die an der" 1220 PRINT "richtigen Stelle und am richtigen Platz" 1230 PRINT "stehen, die der gleich der Anzahl der" 1240 PRINT "Ziffern, die in der Folge auftreten," 1250 PRINT "aber nicht an der richtigen Stelle ste-" 1260 PRINT "hen. Bei Eingabe von A wird die zu er-" 1270 PRINT "mittelnde Zahl ausgegeben.":PRINT INK 8;AT(8,16);"" 1280 A=3:WINDOW:PRINT INK 1;AT(0,0);" ":GOSUB 1140:OUT 136,0:CLS:RETURN