10 REM ************************** 20 REM * * 30 REM * HI-Q * 40 REM * DATAINDUSTRIER AB/UN/* 50 REM * COPYRIGHT 790331 * 60 REM * * 70 REM ************************** 90 DIM A%(7%,7%),D%(3%) 100 ; CHR$(12) 110 ; : ; 120 ; SPACE$(12); : ; "**************" 130 ; SPACE$(12); : ; "* *" 140 ; SPACE$(12); : ; "* ABC80 *" 150 ; SPACE$(12); : ; "* ===== *" 160 ; SPACE$(12); : ; "* *" 170 ; SPACE$(12); : ; "* HI-Q *" 180 ; SPACE$(12); : ; "**************" 190 ; : ; : ; 200 ; "P} spelplanen {r 32 pj{ser utplacerade." 210 ; "Du skall med en pj{s hoppa |ver en" 220 ; "annan till en tom ruta." 230 ; "\verhoppad pj{s tas ur spel." 240 ; "Det finns ett flertal strategier att f}" 250 ; "bort samtliga pj{ser utom en." 260 ; "Naturligtvis, kan varje strategi spelas" 270 ; "p} 8 olika s{tt p} planen." 275 ; "KAN DU HITTA EN VINNANDE STRATEGI?" 290 ; "Flyttbara pj{ser markeras med en svart" 300 ; "punkt i mitten." 310 ; " TRYCK EN TANGENT N[R DU VILL B\RJA!" 320 IF INP(56)>128% GOTO 320 330 IF INP(56)<128% GOTO 330 340 GOSUB 1210 350 GOSUB 1320 360 I1%=1% : J1%=1% 370 I2%=7% : J2%=7% 380 GOSUB 990 390 ; CUR(19%,0%); : ; SPACE$(39); 400 ; CUR(19%,7%); 410 ; "SLAGNA PJ[SER= "; : ; N1%; 420 ; " KVAR= "; : ; N%; 430 ; CUR(21%,0%); : ; SPACE$(40%); 440 ; CUR(23%,0%); : ; SPACE$(39%); 450 ; CUR(23%,7%); : ; "FR]N RUTA "; 460 GOSUB 1740 470 A1%=C1% : A2%=C2% 480 ; CUR(23%,21%); : ; "TILL RUTA "; 490 GOSUB 1740 500 B1%=C1% : B2%=C2% 510 GOSUB 1610 520 IF P%=0% GOTO 960 530 A%(A1%,A2%)=0% 540 A%(B1%,B2%)=1% 550 A%(C1%,C2%)=0% 560 I1%=C1%-3% : I2%=C1%+3% 570 J1%=C2%-3% : J2%=C2%+3% 580 N%=N%-1% 590 N1%=32%-N% 600 GOSUB 990 610 FOR I%=1% TO 7% 620 FOR J%=1% TO 7% 625 IF A%(I%,J%)<>1% GOTO 655 630 K%=I%*U%-U%/2% 640 R%=J%*U%-U%/2% 650 IF DOT(R%+F1%+1%,K%+F2%+1%) GOTO 655 ELSE GOTO 390 655 NEXT J% : NEXT I% 656 ; CUR(21%,13%); 660 ; "SPELET [R SLUT" 661 ; CUR(19%,7%); 662 ; "SLAGNA PJ[SER= "; : ; N1%; 663 ; " KVAR= "; : ; N%; 665 ; CUR(23%,0%); : ; SPACE$(40%); 670 ; CUR(22%,0%); 680 IF N%>5% GOTO 780 690 IF N%>4% GOTO 810 700 IF N%>3% GOTO 840 710 IF N%>2% GOTO 870 720 IF N%>1% GOTO 879 750 ; "JUST S] SKALL DET G] TILL!" 760 ; "KAN DU G\RA OM DET EN G]NG TILL (J/N)"; 770 GOTO 950 780 ; "USELT SPELAT - RIKTIGT D]LIGT" 790 ; "F\RS\K IGEN S[MRE KAN DET INTE BLI(J/N)"; 800 GOTO 950 810 ; "BRA GJORT OCH F] ETT S] SNABBT SLUT" 820 ; "KONCENTRERA DIG OCH F\RS\K IGEN(J/N)"; 830 GOTO 950 840 ; "EJ GODK[NT MEN DU [R JU NYB\RJARE" 850 ; "VARF\R INTE PR\VA P] NYTT(J/N)"; 860 GOTO 950 870 ; "GODK[NT F\R EN NYB\RJARE" 876 ; "DU F]R EN NY CHANS DIREKT(J/N)"; 877 GOTO 950 879 ; "BRA SPELAT MEN N]GOT MISSADE DU" 880 ; "TR[NA P], KANSKE ETT SPEL TILL(J/N)"; 950 IF INP(56)=202% GOTO 340 951 IF INP(56)<>206% GOTO 950 952 GET T$ 953 ; : ; "TACK OCH ADJ\" 954 END 960 ; CUR(21%,15%); : ; "OTILL]TET"; 970 OUT 6,0 : OUT 6,131 980 GOTO 440 990 REM ====UPPDATERA BR[DET==== 1000 IF I1%<1% THEN I1%=1% 1005 IF I2%>7% THEN I2%=7% 1010 IF J2%>7% THEN J2%=7% 1020 IF J1%<1% THEN J1%=1% 1030 FOR I%=I1% TO I2% 1040 FOR J%=J1% TO J2% 1050 K%=I%*U%-U%/2% 1060 R%=J%*U%-U%/2% 1070 IF A%(I%,J%)<>1% GOTO 1180 1080 GOSUB 1490 1090 A1%=I% : A2%=J% 1100 FOR L%=1% TO 3% : FOR M%=1% TO 3% 1110 B1%=A1%-D1%(L%) 1120 B2%=A2%-D1%(M%) 1130 GOSUB 1610 1140 IF P%=0% GOTO 1160 1150 CLRDOT R%+F1%+1%,K%+F2%+1% 1160 NEXT M% : NEXT L% 1170 GOTO 1190 1180 GOSUB 1550 1190 NEXT J% : NEXT I% 1200 RETURN 1210 REM ===INITIERING====== 1220 F1%=2% : F2%=14% : U%=6% 1230 D1%(1%)=2% : D1%(2%)=-2% : D1%(3%)=0% 1240 N%=32% 1250 FOR I%=1% TO 7% : FOR J%=1% TO 7% 1260 A%(I%,J%)=1% 1270 NEXT J% : NEXT I% 1280 FOR I%=1% TO 2% : FOR J%=1% TO 2% 1290 A%(I%+5%,J%)=2% : A%(I%+5%,J%+5%)=2% 1295 A%(I%,J%)=2% : A%(I%,J%+5%)=2% 1300 NEXT J% : NEXT I% 1305 A%(4%,4%)=0% 1310 RETURN 1320 REM ====RITA BR[DET======= 1330 ; CHR$(12%); 1340 FOR I%=1% TO 18% 1350 ; CUR(I%,0%); : ; CHR$(151%); 1360 NEXT I% 1370 FOR I%=1% TO 7%*U%+1% 1380 FOR J%=13% TO 32% STEP U% 1390 SETDOT J%+F1%,I%+F2% 1400 SETDOT I%+F1%,J%+F2% 1410 NEXT J% : NEXT I% 1411 FOR I%=1% TO 7% STEP U% 1412 FOR J%=13% TO 31% 1413 SETDOT I%+F1%,J%+F2% 1414 SETDOT I%+36%+F1%,J%+F2% 1415 SETDOT J%+F1%,I%+36%+F2% 1416 SETDOT J%+F1%,I%+F2% 1417 NEXT J% : NEXT I% 1420 ; CUR(0%,9%); 1430 ; "A B C D E F G "; 1440 FOR I%=1% TO 7% 1450 ; CUR(I%*2%,4%); : ; CHR$(135%); 1460 ; CHR$(I%+48%); : ; CHR$(151%); 1470 NEXT I% 1480 RETURN 1490 REM =====T[ND PUNKT====== 1500 FOR L%=0% TO U%/2%-1% 1510 FOR M%=0% TO U%/2%-1% 1520 SETDOT R%+L%+F1%,K%+M%+F2% 1530 NEXT M% : NEXT L% 1540 RETURN 1550 REM =====SL[CK PUNKT===== 1560 FOR L%=0% TO U%/2%-1% 1570 FOR M%=0% TO U%/2%-1% 1580 CLRDOT R%+L%+F1%,K%+M%+F2% 1590 NEXT M% : NEXT L% 1600 RETURN 1610 REM ==KOLL OM TILLATET=== 1620 P%=0% 1630 IF B1%>7% OR B2%>7% GOTO 1730 1640 IF B1%<1% OR B2%<1% GOTO 1730 1650 IF ABS(A1%-B1%)<>2% GOTO 1660 1652 IF ABS(A2%-B2%)<>0% GOTO 1730 1654 GOTO 1670 1660 IF ABS(A2%-B2%)<>2% GOTO 1730 1665 IF ABS(A1%-B1%)<>0% GOTO 1730 1670 IF A%(A1%,A2%)<>1% GOTO 1730 1680 IF A%(B1%,B2%)<>0% GOTO 1730 1690 C1%=(A1%-B1%)/2%+B1% 1700 C2%=(A2%-B2%)/2%+B2% 1710 IF A%(C1%,C2%)=0% GOTO 1730 1720 P%=1 1730 RETURN 1740 REM ===L[S ETT DRAG== 1750 GET T$ 1760 T1%=ASC(T$) AND 223% 1770 IF T1%<72% AND T1%>64% GOTO 1790 1780 OUT 6,0 : OUT 6,131 : GOTO 1750 1790 C1%=T1%-64% 1800 ; T$; 1810 GET T$ 1820 C2%=ASC(T$)-48% 1830 IF C2%>0% AND C2%<8% GOTO 1850 1840 OUT 6,0 : OUT 6,131 : GOTO 1810 1850 ; T$; 1860 RETURN