Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10 CLEAR 40 30 DATA "","","","","","","","" 40 DATA "","" 50 DATA "","","","","","","","" 60 FOR Y=1 TO 6:FOR Z=1 TO 3:READ K$(Y,Z):NEXT Z:NEXT Y:GOSUB 130:GOSUB 70:GOTO 610 70 FOR K=1 TO 26 STEP 5:V=V+1:PRINT AT(0,K);"":FOR R=1 TO 3 80 PRINT AT(R,K);K$(V,R):NEXT R:NEXT K 90 FOR Q=0 TO 30:PRINT AT(10,Q);"":PRINT AT(19,Q);"":NEXT Q 100 PRINT AT(13,8);" P U S H " 110 PRINT AT(16,2);"EIN CLEVERES WUERFELSPIEL !" 120 FOR Q=11 TO 18:PRINT AT(Q,0);"":PRINT AT(Q,30);"":NEXT Q:GOSUB 1070:PAUSE 50 130 WINDOW:CLS:PRINT AT(0,0);" ":RETURN 140 L=4*J-3:FOR K=0 TO 3:PRINT AT(L+K,25);" ":NEXT K:PAUSE 1 150 PRINT AT(L,25);"":FOR K=1 TO 3 160 PRINT AT(L+K,25);K$(W(J),K):NEXT K:RETURN 170 WINDOW 23,23,0,31:CLS:INPUT "WELCHE WUERFE BLEIBEN ?";A$ 180 FOR L=1 TO 5:K(L)=0:NEXT L 190 IF LEN(A$)=0 OR LEN(A$)>5 THEN 170 200 IF LEFT$(A$,1)="A"AND LEN(A$)<>2 THEN 170 210 IF A$="N"THEN RETURN 220 IF A$="G"THEN K(1)=1:K(2)=1:K(3)=1:K(4)=1:K(5)=1:RETURN 230 IF LEFT$(A$,1)<>"A"THEN K=0:GOTO 270 240 C=INSTR(RIGHT$(A$,1),"123456"):IF C=0 THEN 170 250 FOR K=1 TO 5:IF W(K)=C THEN K(K)=1 260 NEXT K:RETURN 270 K=K+1:C=INSTR(MID$(A$,K,1),"123456"):IF C=0 THEN 170 280 FOR L=1 TO 5:IF K(L)=0 AND W(L)=C THEN K(L)=1:L=6 290 NEXT L:IF L=6 THEN 170 300 IF K=LEN(A$)THEN RETURN:ELSE 270 310 M=0:IF C<7 THEN FOR K=1 TO 5:M=M-C*(W(K)=C):NEXT K:RETURN 320 IF C=16 THEN M=W(1)+W(2)+W(3)+W(4)+W(5):RETURN 330 IF C<>13 AND C<>14 THEN 370 340 FOR K=1-(C=14)TO 5-(C=14):FOR L=1 TO 5:M=M-K*(W(L)=K):NEXT L:NEXT K 350 IF C=13 AND M<>15 THEN M=0:RETURN 360 IF C=14 AND M<>20 THEN M=0:RETURN:ELSE RETURN 370 FOR K=1 TO 6:Z(K)=0:FOR L=1 TO 5:Z(K)=Z(K)-(W(L)=K):NEXT L:NEXT K 380 IF C<>9 AND C<>11 AND C<>12 THEN 410 390 Y=C-8+(C>10):FOR K=6 TO 1 STEP-1:M=M-K*(Y+1)*(Z(K)>Y) 400 K=-K*(Z(K)<=Y)-(Z(K)>Y):NEXT K:RETURN 410 IF C=17 AND(Z(1)=5 OR Z(2)=5 OR Z(3)=5 OR Z(4)=5 OR Z(5)=5 OR Z(6)=5)THEN M=50 420 IF C=17 THEN RETURN 430 FOR K=1 TO 6:M=M-(Z(K)<>2 AND Z(K)<>3 AND Z(K)<>0 AND Z(K)<>5):NEXT K 440 IF C=15 AND M<>0 THEN M=0:RETURN 450 IF M=0 AND C=15 THEN M=W(1)+W(2)+W(3)+W(4)+W(5):RETURN 460 M=0:FOR K=6 TO 1 STEP-1:M=M-2*K*(Z(K)>1):Y=K:K=-K*(Z(K)<2)+1*(Z(K)>1) 470 Z(Y)=Z(Y)+2*(Z(Y)>1):NEXT K:IF M=0 THEN RETURN 480 Y=M:FOR K=6 TO 1 STEP-1:M=M-2*K*(Z(K)>1):NEXT K:IF Y=M THEN M=0 490 RETURN 500 CLS:INPUT "WOHIN EINTRAGEN ?";A$:IF LEN(A$)<>2 THEN 500 510 C=0:FOR K=1 TO 18:IF A$=T$(K)THEN C=K 520 NEXT K:IF C=0 OR C=7 OR C=8 OR C=18 OR F(I,C)<>-1 THEN 500 530 GOSUB 310:F(I,C)=M:GOSUB 580 540 IF C<7 THEN F(I,7)=F(I,7)+M:C=7:M=F(I,7):GOSUB 580 550 IF C=17 AND M=50 THEN:GOSUB 1070 560 IF F(I,7)>=63 AND F(I,8)=-1 THEN C=8:F(I,8)=50:M=50:GOSUB 580:GOSUB 1070 570 RETURN 580 L=C+2-(C>6)-(C>8)-(C>17) 590 IF M<>0 THEN PRINT AT(L,I*5-2);RIGHT$(" "+STR$(M),3):RETURN 600 PRINT AT(L,I*5-1);"":RETURN 610 WINDOW:CLS 620 PRINT AT(9,4);"",STRING$(23,""),"" 630 FOR I=10 TO 12:PRINT AT(I,4);"":PRINT AT(I,28);"":NEXT I 640 PRINT AT(13,4);"",STRING$(23,""),"" 650 PRINT AT(11,10);"SPIELERANZAHL ?":WINDOW 22,22,12,31 660 INPUT "(1...4)";S 670 IF S<>INT(S)OR S<1 OR S>4 THEN 650 680 DIM F(S,18),T$(18),N$(S),W(5),K(5) 690 PRINT AT(11,9);" SPIELERNAMEN":WINDOW 22,22,10,31:CLS:FOR I=1 TO S 700 PAUSE 5:PRINT "SPIELER";I;:INPUT ":";A$:N$(I)=LEFT$(A$+" ",4):NEXT I 710 FOR J=1 TO 18:READ T$(J):FOR I=1 TO S:F(I,J)=-1:F(I,7)=0:NEXT I:NEXT J 720 DATA "Z1","Z2","Z3","Z4","Z5","Z6","ZS","BO","1P" 730 DATA "2P","3G","4G","KL","GR","KU","CH","PA","GS" 750 WINDOW:CLS:FOR I=0 TO 21:PRINT AT(2,I);"":PRINT AT(9,I);"" 760 PRINT AT(12,I);"":NEXT I 770 FOR I=2 TO 22 STEP 5:FOR J=0 TO 21:PRINT AT(J,I);"":NEXT J:NEXT I 780 C=2:FOR I=1 TO 17:C=C+1:PRINT AT(C,0);T$(I) 790 IF I=6 OR I=8 THEN C=C+1 800 NEXT I:FOR I=1 TO S:PRINT AT(0,5*I-2);N$(I):NEXT I 810 FOR R=1 TO 15:FOR I=1 TO S:FOR J=1 TO 22:PRINT AT(J,I*5-3);"*" 820 PRINT AT(J,I*5+2);"*":NEXT J:PRINT AT(1,I*5-2);"****" 830 PRINT AT(22,I*5-2);"****" 840 PRINT AT(0,24);"1.WURF" 850 X=1:FOR J=1 TO 5:W(J)=INT(RND(1)*6+1):K(J)=0:GOSUB 140:NEXT J 860 GOSUB 170 870 IF K(1)+K(2)+K(3)+K(4)+K(5)=5 THEN 940 880 X=2:PRINT AT(0,24);"2":FOR J=1 TO 5 890 IF K(J)=0 THEN W(J)=INT(RND(1)*6+1):GOSUB 140 900 NEXT J:GOSUB 170 910 IF K(1)+K(2)+K(3)+K(4)+K(5)=5 THEN 940 920 PRINT AT(0,24);"3" 930 FOR J=1 TO 5:IF K(J)=0 THEN W(J)=INT(RND(1)*6+1):GOSUB 140 935 NEXT J 940 GOSUB 500:PRINT AT(1,I*5-2);" ":PRINT AT(22,I*5-3);" " 950 FOR J=1 TO 21:PRINT AT(J,I*5-3);"":PRINT AT(J,I*5+2);"":NEXT J 960 NEXT I:NEXT R:WINDOW 0,23,23,29:CLS:WINDOW 970 PRINT AT(23,0);"GS":FOR I=1 TO S:M=0 980 IF F(I,8)=-1 THEN F(I,8)=0:C=8:GOSUB 580 990 FOR J=7 TO 17:M=M+F(I,J):NEXT J:F(I,18)=M:C=18:GOSUB 580:FOR J=1 TO 5 1000 IF M>Z(J)THEN FOR K=5 TO J STEP-1:Z(K+1)=Z(K):NEXT K:Z(J)=M:M=-1:J=7 1010 NEXT J:IF M<>-1 THEN Z(6)=M 1020 NEXT I:FOR I=1 TO S:PRINT AT(1,5*I-2);" ":FOR J=6 TO 2 STEP-1 1030 IF F(I,18)=Z(J)THEN PRINT AT(1,5*I-2);J:PRINT AT(1,5*I);"." 1040 NEXT J:IF F(I,18)=Z(1)THEN PRINT AT(1,5*I-2);"SIEG" 1050 NEXT I:PAUSE 200:WINDOW:CLS:WINDOW 15,15,9,28:INPUT "WEITER (J/N)?";Q$ 1060 IF Q$="J"THEN 10 ELSE PRINT:WINDOW:PRINT "AUF WIEDERSEHEN":CLEAR:END 1070 FOR Q=0 TO 20:BEEP:PAUSE 1:NEXT Q:RETURN