10 REM Bengt \sterholm <2077> 1985-08-03 22.52.13 20 RANDOMIZE 30 POKE 65408,205,147,2,98,107,201 40 ; INP(4);CHR$(12); 50 ; 'Hur m}nga deltagare ? (1-6) '; 60 GET G$ : IF G$<"1" OR G$>"6" THEN 60 70 ; CHR$(12); : A%=VAL(G$) 80 DIM P%(19,A%),K%(19,A%) 90 FOR I=1 TO A% 100 ; 'Namn p} spelare nummer';I;'? '; 110 INPUTLINE G$ : IF LEN(G$)=2 THEN 110 120 N$(I)=LEFT$(G$,LEN(G$)-2) : ; 130 NEXT I 140 ; CHR$(12) 150 ; CUR(1,40)'Y A T Z Y !' 160 FOR I=1 TO A% 170 ; CUR(1,I*4+50);LEFT$(N$(I),1);' !'; 180 FOR J=2 TO 19 190 ; CUR(J,I*4+52);'!'; 200 P%(J,I)=0 : K%(J,I)=0 210 NEXT J 220 NEXT I 230 FOR I=1 TO A% 240 K%(8,I)=1 : K%(9,I)=1 : K%(19,I)=1 250 ; CUR(8,I*4+51);'0' : ; CUR(9,I*4+51);'0' : ; CUR(19,I*4+51);'0' 260 NEXT I 270 ; CUR(2,40)'Ettor !' 280 ; CUR(3,40)'Tv}or !' 290 ; CUR(4,40)'Treor !' 300 ; CUR(5,40)'Fyror !' 310 ; CUR(6,40)'Femmor !' 320 ; CUR(7,40)'Sexor !' 330 ; CUR(8,40)'Summa !' 340 ; CUR(9,40)'Bonus !' 350 ; CUR(10,40)'1 par !' 360 ; CUR(11,40)'2 par !' 370 ; CUR(12,40)'Tretal !' 380 ; CUR(13,40)'Fyrtal !' 390 ; CUR(14,40)'Liten stege !' 400 ; CUR(15,40)'Stor stege !' 410 ; CUR(16,40)'K}k !' 420 ; CUR(17,40)'Chans !' 430 ; CUR(18,40)'Y A T Z Y !' 440 ; CUR(19,40)'S U M M A !' 450 FOR J2=1 TO 15 460 FOR I2=1 TO A% 470 ; CUR(1,I2*4+50); : X%=CALL(65408%) : POKE X%,128 OR PEEK(X%) 480 ; CUR(3,0);SPACE$(30) 490 FOR I=15 TO 19 500 ; CUR(I,0)SPACE$(30); 510 NEXT I 520 ; CUR(3,0);N$(I2);"'s tur"; : GET G$ 530 FOR I=1 TO 5 540 X(I)=INT(RND*6+1) 550 NEXT I 560 ; 570 FOR I=15 TO 19 580 ; CUR(I,0);CHR$(151);CUR(I,35);CHR$(135) 590 NEXT I 600 FOR I1=1 TO 3 610 FOR N=10 TO 42 STEP 8 620 FOR R=48 TO 54 630 FOR K=N TO N+6 640 SETDOT R,K 650 NEXT K 660 NEXT R 670 NEXT N 680 FOR I=1 TO 5 690 ON I GOSUB 1620,1630,1640,1650,1660 700 ON X(I) GOSUB 1670,1680,1680,1680,1680,1680 710 NEXT I 720 IF I1=3 THEN 780 730 PRINT CUR(7,1)"Vilka t{rningar vill Du kasta om ?" 740 INPUT N$ 750 ; CUR(7,1)SPACE$(35) : ; SPACE$(35) 760 IF N$="0" GOTO 790 770 GOSUB 1800 780 NEXT I1 790 FOR I=1 TO 4 800 FOR J=I+1 TO 5 810 IF X(I)X(5) THEN 940 870 FOR I=1 TO 2 880 FOR R=48 TO 54 890 FOR K=5 TO 60 900 IF DOT(R,K) THEN CLRDOT R,K ELSE SETDOT R,K 910 NEXT K 920 NEXT R 930 NEXT I 940 R%=2 950 IF K%(R%,I2)=1 THEN R%=R%+1 : GOTO 950 960 ; CUR(R%,I2*4+50); : GET G$ 970 IF ASC(G$)=23 THEN R%=R%-1 ELSE 1010 980 IF R%=1 THEN R%=18 990 IF K%(R%,I2)=1 THEN R%=R%-1 : GOTO 980 1000 GOTO 960 1010 IF ASC(G$)=26 THEN R%=R%+1 ELSE 1050 1020 IF R%=19 THEN R%=2 1030 IF K%(R%,I2)=1 THEN R%=R%+1 : GOTO 1020 1040 GOTO 960 1050 IF ASC(G$)<>13 THEN 960 1060 K%(R%,I2)=1 1070 IF R%>9 THEN 1190 1080 X=0 1090 FOR I=1 TO 5 1100 IF X(I)=R%-1 THEN X=X+X(I) 1110 NEXT I 1120 P%(19,I2)=P%(19,I2)+X : P%(8,I2)=P%(8,I2)+X 1130 IF P%(8,I2)>=63 THEN P%(9,I2)=50 1140 GOSUB 1880 : ; CUR(R%,I2*4+49);X$ 1150 X=P%(8,I2) : GOSUB 1880 : ; CUR(8,I2*4+49);X$ 1160 X=P%(9,I2) : GOSUB 1880 : ; CUR(9,I2*4+49);X$ 1170 X=P%(19,I2)+P%(9,I2) : GOSUB 1880 : ; CUR(19,I2*4+49);X$ 1180 GOTO 1510 1190 ON R%-9 GOTO 1200,1230,1310,1330,1350,1380,1410,1440,1480 1200 FOR I=5 TO 2 STEP -1 1210 IF X(I)=X(I-1) THEN X=X(I)*2 : GOTO 1490 1220 NEXT I : X=0 : GOTO 1490 1230 FOR I=5 TO 4 STEP -1 1240 IF X(I)=X(I-1) THEN X=X(I)*2 : GOTO 1260 1250 NEXT I : X=0 : GOTO 1490 1260 FOR I=I-2 TO 2 STEP -1 1270 IF X(I)=X(I-1) THEN X=X+X(I)*2 : GOTO 1290 1280 NEXT I : X=0 : GOTO 1490 1290 IF X(2)=X(4) THEN X=0 1300 GOTO 1490 1310 IF X(1)=X(3) OR X(2)=X(4) OR X(3)=X(5) THEN X=X(3)*3 ELSE X=0 1320 GOTO 1490 1330 IF X(1)=X(4) OR X(2)=X(5) THEN X=X(3)*4 ELSE X=0 1340 GOTO 1490 1350 FOR I=1 TO 5 1360 IF X(I)<>I THEN X=0 : GOTO 1490 1370 NEXT I : X=15 : GOTO 1490 1380 FOR I=1 TO 5 1390 IF X(I)<>I+1 THEN X=0 : GOTO 1490 1400 NEXT I : X=20 : GOTO 1490 1410 IF X(1)<>X(2) OR X(4)<>X(5) THEN X=0 : GOTO 1490 1420 IF X(3)<>X(2) AND X(3)<>X(4) THEN X=0 : GOTO 1490 1430 IF X(1)=X(5) THEN X=0 : GOTO 1490 1440 X=0 1450 FOR I=1 TO 5 1460 X=X+X(I) 1470 NEXT I : GOTO 1490 1480 IF X(1)=X(5) THEN X=50 ELSE X=0 1490 GOSUB 1880 : ; CUR(R%,I2*4+49);X$ 1500 P%(19,I2)=P%(19,I2)+X : X=P%(19,I2)+P%(9,I2) : GOSUB 1880 : ; CUR(19,I2*4+49);X$ 1510 NEXT I2 1520 FOR I=1 TO A% : S%(I)=P%(19,I)+P%(9,I) : S1%(I)=I : NEXT I 1530 FOR I=1 TO A%-1 : FOR J=I+1 TO A% 1540 IF S%(I)>=S%(J) THEN 1560 1550 X=S%(I) : S%(I)=S%(J) : S%(J)=X : X=S1%(I) : S1%(I)=S1%(J) : S1%(J)=X 1560 NEXT J : NEXT I 1570 X=1 : FOR I=1 TO A% 1580 IF S%(I)<>S%(I-1) THEN X=I 1590 ; CUR(21,S1%(I)*4+49);X; 1600 NEXT I 1610 NEXT J2 : END 1620 N=10 : RETURN 1630 N=18 : RETURN 1640 N=26 : RETURN 1650 N=34 : RETURN 1660 N=42 : RETURN 1670 CLRDOT 51,N+3 : RETURN 1680 CLRDOT 49,N+1 1690 CLRDOT 53,N+5 1700 IF X(I)=3 GOTO 1670 1710 IF X(I)>3 GOTO 1730 1720 RETURN 1730 CLRDOT 49,N+5 1740 CLRDOT 53,N+1 1750 IF X(I)=5 GOTO 1670 1760 IF X(I)=4 GOTO 1720 1770 CLRDOT 51,N+1 1780 CLRDOT 51,N+5 1790 RETURN 1800 ; CUR(9,1);SPACE$(35) 1810 FOR I=1 TO LEN(N$) 1820 ONERRORGOTO 1850 1830 IF (VAL(MID$(N$,I,1))<1) OR (VAL(MID$(N$,I,1))>5) THEN 1850 1840 X(VAL(MID$(N$,I,1)))=INT(RND*6+1) 1850 IF I=5 THEN 1870 1860 NEXT I 1870 RETURN 1880 X$=RIGHT$(' '+RIGHT$(NUM$(X),2),LEN(' '+RIGHT$(NUM$(X),2))-2) 1890 RETURN