1 REM Ins{nd av Lennart Einarsson <6554> 1986-05-30 17.15.32 10 REM ****************************** 20 REM * * 30 REM * NIMM * 40 REM * DATAINDUSTRIER AB /UN/ * 50 REM * ABC80 40tkn * 60 REM ****************************** 70 IF PEEK(590%)<>40% ; INP(3%) 80 PRINT CHR$(12); 90 RANDOMIZE 100 GOSUB 540 110 GOSUB 540 120 FOR I%=1% TO 19% 130 PRINT "NIM ";SPACE$(31%);" NIM" 140 NEXT I% 150 GOSUB 540 160 GOSUB 540 170 PRINT CUR(4,4)" NIM "; 180 PRINT CUR(6,4)" [R ETT MYCKET GAMMALT "; 190 PRINT CUR(8,4)" KINESISKT SPEL MED STICKOR "; 200 PRINT CUR(10,4)" OTALIGA VARIANTER EXISTERAR "; 210 PRINT CUR(12,4)" DENNA VARIANT [R EN AV DE "; 220 PRINT CUR(14,4)" MEST FANTASIFULLA OCH [VEN "; 230 PRINT CUR(16,4)" EN AV DE SV]RASTE!"; 240 FOR L=1 TO 7000 : NEXT L 250 GOSUB 270 260 GOTO 290 270 PRINT CHR$(12%) 280 RETURN 290 ; SPACE$(17); : ; "REGLER" 300 ; SPACE$(17); : ; "======" : ; : ; 310 ; "Vi skall ha ett antal h|gar "; 320 ; "(3-6 st), i" 330 ; "varje h|g finns ett antal "; 340 ; "(1-9 st)" : ; "stickor." 350 ; "Jag best{mmer slumpm{ssigt antalet" 360 ; "h|gar och stickor." 370 ; "Sedan drar vi varannan g}ng "; 380 ; "1-9 stickor" 390 ; "ur n}gon h|g." 400 ; "N{r du sett h|garna f}r du v{lja" : ; "vem som skall b|rja." : ; : ; 410 ; " DEN SOM DRAR SISTA STICKAN"; 420 ; " VINNER." 430 ; : ; " M] DEN SMARTASTE "; 440 ; "VINNA!" : ; : ; 450 ; " TRYCK EN TANGENT N[R DU VILL"; 460 ; " B\RJA." 470 IF INP(56)<128% GOTO 470 480 GOSUB 270 490 FOR I%=1% TO 6% 500 ; CUR(I%,0%); : ; CHR$(151); 510 ; CUR(I%+9%,0%); : ; CHR$(151); 520 NEXT I% 530 GOTO 560 540 FOR X=1 TO 10 : ; "NIM "; : NEXT X 550 RETURN 560 M%=6% 570 DIM P%(6%),B%(6%,5%),D%(5%) 580 GOSUB 1230 590 GOSUB 1360 : ; " VILL DU B\RJA "; 600 GET S$ : L%=ASC(S$) AND 223% 610 IF L%=74% GOTO 660 620 IF L%=78% GOTO 710 630 OUT 6,0% : OUT 6,131% : GOTO 590 640 REM ****PROGRAMMETS HUVUDDEL**** 650 REM ****SPELAREN DRAR**** 660 GOSUB 1140 670 REM ****KONTROLLERA OM SPELAREN VUNNIT**** 680 GOSUB 1180 690 IF T%>0% THEN GOTO 720 700 GOSUB 1850 : GOSUB 2370 710 REM ****DATORN DRAR**** 720 GOSUB 790 730 REM ****KONTROLLERA OM DATORN VUNNIT**** 740 GOSUB 1180 750 IF T%>0% THEN GOTO 660 760 GOSUB 2070 770 GOSUB 2370 780 REM ****DATORNS DRAG**** 790 FOR J%=1% TO 5% 800 D%(J%)=0% 810 NEXT J% 820 FOR I%=1% TO N% 830 T%=P%(I%) 840 FOR J%=5% TO 1% STEP -1% 850 B%(I%,J%)=T%/2%^(J%-1%) 860 D%(J%)=ABS(D%(J%)-B%(I%,J%)) 870 T%=T%-B%(I%,J%)*2%^(J%-1%) 880 NEXT J% 890 NEXT I% 900 T%=0% 910 FOR I%=5% TO 1% STEP -1% 920 T%=T%+I%*D%(I%)*(1%-SGN(T%)) 930 NEXT I% 940 IF T%>0% THEN 990 950 S%=(N%*RND)+1% 960 IF P%(S%)=0% THEN 950 970 T%=1% 980 GOTO 1090 990 S%=0% 1000 FOR I%=1% TO N% 1010 S%=S%+I%*B%(I%,T%)*(1%-SGN(S%)) 1020 NEXT I% 1030 IF T%=1% THEN 1090 1040 W%=0% 1050 FOR J%=T%-1% TO 1% STEP -1% 1060 W%=W%+D%(J%)*2%^(J%-1%)*SGN(B%(S%,J%)-.5) 1070 NEXT J% 1080 T%=2%^(T%-1%)+W% 1090 GOSUB 2470 1100 P%(S%)=P%(S%)-T% 1110 GOSUB 1670 1120 RETURN 1130 REM ****SPELARENS DRAG**** 1140 GOSUB 1420 1150 GOSUB 1670 1160 RETURN 1170 REM ****KOLLA OM N]GON VUNNIT**** 1180 T%=0% 1190 FOR I%=1% TO N% 1200 T%=T%+P%(I%) 1210 NEXT I% 1220 RETURN 1230 Q%=0% 1240 N%=RND*4%+3% 1250 FOR S%=1% TO N% 1260 P%(S%)=RND*9%+1% 1270 GOSUB 1670 1280 NEXT S% 1290 RETURN 1300 ; CUR(18%,0%); : ; SPACE$(39%); 1310 ; CUR(18%,5%); 1320 RETURN 1330 ; CUR(20%,0%); : ; SPACE$(39%); 1340 ; CUR(20%,3%); 1350 RETURN 1360 ; CUR(22%,0%); : ; SPACE$(39%); 1370 ; CUR(22%,3%); 1380 RETURN 1390 ; CUR(24%,0%); : ; SPACE$(39%); 1400 ; CUR(24%,3%); 1410 RETURN 1420 GOSUB 1360 1430 ONERRORGOTO 1420 1440 ; " VILKEN H\G VILL DU DRA UR "; 1450 INPUT S% 1460 GOSUB 1300 1470 IF S%>0% THEN 1500 1480 ; " DET FINNS INGEN S]N H\G!"; 1490 GOTO 1420 1500 IF S%<=N% THEN 1540 1510 OUT 6,0 : OUT 6,131 1520 ; " DET FINNS BARA";N%;" H\GAR!"; 1530 GOTO 1420 1540 IF P%(S%)>0% THEN 1590 1550 OUT 6,0 : OUT 6,131 1560 ; " DENNA H\G [R TOM!"; 1570 GOTO 1420 1580 ONERRORGOTO 1590 1590 GOSUB 1360 1600 ONERRORGOTO 1590 1610 ; " HUR M]NGA STICKOR VILL DU DRA "; 1620 INPUT T% 1630 IF T%=0% THEN 1590 1640 IF T%>P%(S%) THEN T%=P%(S%) 1650 P%(S%)=P%(S%)-T% 1660 RETURN 1670 REM ==UPPDATERA H\G S%== 1680 R1%=1% 1690 IF S%/2%*2%=S% R1%=10% 1700 K1%=(S%-1%)/2%*14%+2% 1710 N1%=P%(S%) 1720 IF N1%=0% GOTO 1780 1730 FOR I%=1% TO N1% 1740 FOR J%=0% TO 5% 1750 ; CUR(R1%+J%,I%+K1%); : ; CHR$(53%); 1760 NEXT J% : NEXT I% 1770 IF N1%=9% GOTO 1820 1780 FOR I%=N1%+1% TO 9% 1790 FOR J%=0% TO 5% 1800 ; CUR(R1%+J%,I%+K1%); : ; CHR$(32%); 1810 NEXT J% : NEXT I% 1820 ; CUR(R1%+7%,K1%-1%); 1830 ; "H\G"; : ; S%; : ; "->"; : ; P%(S%); 1840 RETURN 1850 R%=0% 1860 R9%=R9%+1% 1870 GOSUB 1330 : ; "DU VANN, "; 1880 IF R9%-R8%>0% GOTO 1920 1890 IF R9%=R8% GOTO 2310 1900 ; "DU KAN JU INTE F\RLORA J[MT."; 1910 RETURN 1920 IF R9%-R8%>1% GOTO 1950 1930 ; "MEN PASS UPP N[STA TAR JAG!" 1940 RETURN 1950 IF R9%>2% GOTO 1980 1960 ; "DU SPELAR JU GANSKA BRA."; 1970 RETURN 1980 IF R9%-R8%>3% GOTO 2010 1990 ; "FAAN ERU PROFFS VA ?" 2000 RETURN 2010 IF R9%-R8%>4% GOTO 2040 2020 ; "DU HAR PAPPER & PENNA !!!!!" 2030 RETURN 2040 ; "DU TYCKS VA PROFFS, SOM JAG!"; 2050 RETURN 2060 RETURN 2070 R%=0% 2080 R8%=R8%+1% 2090 GOSUB 1330 : ; "JAG VANN, "; 2100 IF R8%-R9%<1% GOTO 2280 2110 IF R8%-R9%>1% GOTO 2140 2120 ; "P] V[G MOT STORSEGER."; 2130 RETURN 2140 IF R8%-R9%>2% GOTO 2170 2150 ; "NU DRAR JAG IFR]N!"; 2160 RETURN 2170 IF R8%-R9%>3% GOTO 2200 2180 ; "NU F]R DU SK[RPA DIG!"; 2190 RETURN 2200 IF R8%-R9%>4% GOTO 2230 2210 ; "SNART F]R DU SLUTA SPELA!"; 2220 RETURN 2230 IF R8%-R9%>5% GOTO 2260 2240 ; "DU SPELAR JU PLANL\ST!"; 2250 RETURN 2260 ; "U T K L A S S N I N G ! !"; 2270 RETURN 2280 IF R8%=R9% GOTO 2310 2290 ; "NU [R JAG P] G]NG !!" 2300 RETURN 2310 ; "LIKA NU BLIR DET ALLVAR."; 2320 RETURN 2330 GET S$ : L%=ASC(S$) AND 223% 2340 IF L%=74% THEN GOTO 480 2350 IF L%=78% THEN GOTO 2530 2360 OUT 6,0 : OUT 6,131 : GOTO 2430 2370 REM 2380 GOSUB 1390 2390 ; " JAG HAR"; 2400 IF R8%=1% ; " 1 SEGER"; 2410 IF R8%<>1% ; R8%;" SEGRAR"; 2420 ; " OCH DU";R9%;"!"; 2430 GOSUB 1360 2440 PRINT " VILL DU SPELA EN G]NG TILL "; 2450 GOTO 2330 2460 RETURN 2470 REM ****MEDDELANDE OM VILKEN H\G DATORN DRAR FR]N**** 2480 GOSUB 1330 2490 IF T%=1% THEN PRINT " JAG DRAR 1 STICKA UR H\G NR";S%; 2500 IF T%=1% THEN 2520 2510 ; " JAG DRAR";T%;" STICKOR UR H\G";S%; 2520 RETURN 2530 ; CHR$(12,7)"Tr|ttnade du s} fort, men det var kul." : ; : ; "En stund i alla fall. Hejd}" : CHAIN ''