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