1 REM Ins{nd av Bengt \sterholm <2077> 1986-08-18 14.34.45 (DUMP) 10 RANDOMIZE 20 POKE 65408,205,147,2,98,107,201 30 ; INP(4);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%(24,A%),K%(24,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,40)'MAXI-YATZY !' 150 FOR I=1 TO A% 160 ; CUR(0,I*4+50);LEFT$(N$(I),1);' !'; 170 FOR J=1 TO 24 180 ; CUR(J,I*4+52);'!'; 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%(23,I)=1 240 ; CUR(7,I*4+51);'0' : ; CUR(8,I*4+51);'0' : ; CUR(23,I*4+51);'0'; 250 NEXT I 260 ; CUR(1,40)'Ettor !' 270 ; CUR(2,40)'Tv}or !' 280 ; CUR(3,40)'Treor !' 290 ; CUR(4,40)'Fyror !' 300 ; CUR(5,40)'Femmor !' 310 ; CUR(6,40)'Sexor !' 320 ; CUR(7,40)'Summa !' 330 ; CUR(8,40)'Bonus !' 340 ; CUR(9,40)'1 par !' 350 ; CUR(10,40)'2 par !' 355 ; CUR(11,40)'3 par !' 360 ; CUR(12,40)'Tretal !' 370 ; CUR(13,40)'Fyrtal !' 375 ; CUR(14,40)'Femtal !' 380 ; CUR(15,40)'Liten stege !' 390 ; CUR(16,40)'Stor stege !' 395 ; CUR(17,40)'Full stege !' 400 ; CUR(18,40)'K}k !' 403 ; CUR(19,40)'Hus !' 407 ; CUR(20,40)'Torn !' 410 ; CUR(21,40)'Chans !' 420 ; CUR(22,40)'MAXI-YATZY !' 430 ; CUR(23,40)'S U M M A !'; 440 FOR J2=1 TO 20 450 FOR I2=1 TO A% 460 ; CUR(0,I2*4+50); : X%=CALL(65408%) : POKE X%,128 OR PEEK(X%) 470 ; CUR(3,0);SPACE$(30) 480 FOR I=15 TO 19 490 ; CUR(I,0)SPACE$(30); 500 NEXT I 510 ; CUR(3,0);N$(I2);"'s tur"; : GET G$ 520 FOR I=1 TO 6 530 X(I)=INT(RND*6+1) 540 NEXT I 550 ; 560 FOR I=15 TO 19 570 ; CUR(I,0);CHR$(151);CUR(I,35);CHR$(135) 580 NEXT I 590 FOR I1=1 TO 3 600 FOR N=10 TO 50 STEP 8 610 FOR R=48 TO 54 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 6 680 ON I GOSUB 1600,1610,1620,1630,1640,1645 690 ON X(I) GOSUB 1650,1660,1660,1660,1660,1660 700 NEXT I 710 IF I1=3 THEN 770 720 PRINT CUR(7,1)"Vilka t{rningar vill Du kasta om ?" 730 INPUT N$ 740 ; CUR(7,1)SPACE$(35) : ; SPACE$(35) 750 IF N$="0" GOTO 780 760 GOSUB 1780 770 NEXT I1 780 FOR I=1 TO 5 790 FOR J=I+1 TO 6 800 IF X(I)X(6) THEN 930 860 FOR I=1 TO 2 870 FOR R=48 TO 54 880 FOR K=5 TO 68 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+50); : GET G$ 960 IF ASC(G$)=23 THEN R%=R%-1 ELSE 1000 970 IF R%=0 THEN R%=22 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%=23 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 6 1090 IF X(I)=R% THEN X=X+X(I) 1100 NEXT I 1110 P%(23,I2)=P%(23,I2)+X : P%(7,I2)=P%(7,I2)+X 1120 IF P%(7,I2)>=84 THEN P%(8,I2)=100 1130 GOSUB 1860 : ; CUR(R%,I2*4+49);X$ 1140 X=P%(7,I2) : GOSUB 1860 : ; CUR(7,I2*4+49);X$ 1150 X=P%(8,I2) : GOSUB 1860 : ; CUR(8,I2*4+49);X$ 1160 X=P%(23,I2)+P%(8,I2) : GOSUB 1860 : ; CUR(23,I2*4+49);X$; 1170 GOTO 1490 1180 ON R%-8 GOTO 1190,1220,1291,1300,1320,1331,1340,1370,1391,1400,1421,1424,1430,1470 1190 FOR I=6 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=6 TO 4 STEP -1 1230 IF X(I)=X(I-1) THEN X=X(I)*2 : X1=X(I) : 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) AND X(I)<>X1 THEN X=X+X(I)*2 : GOTO 1480 1270 NEXT I : X=0 : GOTO 1480 1291 IF X(1)<>X(2) OR X(3)<>X(4) OR X(5)<>X(6) THEN X=0 : GOTO 1680 1292 IF X(3)=X(1) OR X(3)=X(5) THEN X=0 : GOTO 1480 1293 GOSUB 1900 : GOTO 1480 1300 FOR I=6 TO 3 STEP -1 1301 IF X(I)=X(I-2) THEN X=X(I)*3 : GOTO 1480 1302 NEXT I : X=0 1310 GOTO 1480 1320 IF X(1)=X(4) OR X(2)=X(5) OR X(3)=X(6) THEN X=X(3)*4 ELSE X=0 1330 GOTO 1480 1331 IF X(1)=X(5) OR X(2)=X(6) THEN X=X(3)*5 ELSE X=0 1332 GOTO 1480 1340 GOSUB 1940 1350 IF (T% AND 62)=62 THEN X=15 ELSE X=0 1360 GOTO 1480 1370 GOSUB 1940 1380 IF (T% AND 124)=124 THEN X=20 ELSE X=0 1390 GOTO 1480 1391 FOR I=1 TO 6 1392 IF X(I)<>I THEN X=0 : GOTO 1480 1393 NEXT I : X=21 : GOTO 1480 1400 FOR I=6 TO 4 STEP -1 1402 IF X(I)=X(I-1) THEN X=X(I)*2 : X1=X(I) : GOTO 1406 1404 NEXT I : X=0 : GOTO 1480 1406 FOR I=I-2 TO 2 STEP -1 1408 IF X(I)=X(I-1) AND X(I)<>X1 THEN X=X+X(I)*2 : GOTO 1412 1410 NEXT I : X=0 : GOTO 1480 1412 FOR I=6 TO 3 STEP -1 1414 IF X(I)=X(I-2) THEN X=X+X(I) : GOTO 1480 1416 NEXT I : X=0 1420 GOTO 1480 1421 IF X(1)<>X(3) OR X(4)<>X(6) THEN X=0 : GOTO 1480 1422 IF X(3)=X(4) THEN X=0 : GOTO 1480 1423 GOSUB 1900 : GOTO 1480 1424 IF X(1)<>X(2) OR X(3)<>X(4) OR X(5)<>X(6) THEN X=0 : GOTO 1480 1425 IF X(1)=X(6) THEN X=0 : GOTO 1480 1426 IF X(3)<>X(1) AND X(3)<>X(5) THEN X=0 : GOTO 1480 1427 GOSUB 1900 : GOTO 1480 1430 X=0 1440 FOR I=1 TO 6 1450 X=X+X(I) 1460 NEXT I : GOTO 1480 1470 IF X(1)=X(6) THEN X=100 ELSE X=0 1480 GOSUB 1860 : ; CUR(R%,I2*4+49);X$ 1485 P%(23,I2)=P%(23,I2)+X : X=P%(23,I2)+P%(8,I2) : GOSUB 1860 : ; CUR(23,I2*4+49);X$; 1490 M%=0% : FOR I%=1% TO A% 1510 IF P%(23%,I%)+P%(8%,I%)>M% THEN M%=P%(23%,I%)+P%(8%,I%) 1520 X=P%(23%,I%)+P%(8%,I%) : GOSUB 1860 : ; CUR(23%,I%*4%+49%);X$; 1530 NEXT I% 1540 FOR I%=1% TO A% 1550 IF P%(23%,I%)+P%(8%,I%)=M% THEN ; CUR(23%,I%*4%+49%); ELSE 1560 1555 X%=CALL(65408%) : POKE X%,128 OR PEEK(X%),128 OR PEEK(X%+1%),128 OR PEEK(X%+2%) 1560 NEXT I% 1570 NEXT I2 1590 NEXT J2 : ; CUR(0,0); : END 1600 N=10 : RETURN 1610 N=18 : RETURN 1620 N=26 : RETURN 1630 N=34 : RETURN 1640 N=42 : RETURN 1645 N=50 : RETURN 1650 CLRDOT 51,N+3 : RETURN 1660 CLRDOT 49,N+1 1670 CLRDOT 53,N+5 1680 IF X(I)=3 GOTO 1650 1690 IF X(I)>3 GOTO 1710 1700 RETURN 1710 CLRDOT 49,N+5 1720 CLRDOT 53,N+1 1730 IF X(I)=5 GOTO 1650 1740 IF X(I)=4 GOTO 1700 1750 CLRDOT 51,N+1 1760 CLRDOT 51,N+5 1770 RETURN 1780 ; CUR(9,1);SPACE$(35) 1790 FOR I=1 TO LEN(N$) 1800 ONERRORGOTO 1830 1810 IF (VAL(MID$(N$,I,1))<1) OR (VAL(MID$(N$,I,1))>6) THEN 1830 1820 X(VAL(MID$(N$,I,1)))=INT(RND*6+1) 1830 IF I=6 THEN 1850 1840 NEXT I 1850 RETURN 1860 X$=RIGHT$(' '+RIGHT$(NUM$(X),2),LEN(' '+RIGHT$(NUM$(X),2))-2) 1870 RETURN 1900 X=0 : FOR I=1 TO 6 1910 X=X+X(I) 1920 NEXT I 1930 RETURN 1940 T%=0 1950 FOR I=1 TO 6 1960 T%=T% OR (2^X(I)) 1970 NEXT I 1980 RETURN