1 REM Ins{nd av Leopold Lundstr|m <2694> 1988-01-15 18.44.14 (KERMIT) 10 REM +------------------------------- 11 REM ! Program .... 8DAMER 12 REM ! Utg}va 2.0 1988-01-15 13 REM ! av L Lundstr|m <2694> 14 REM ! F|r ABC 80 15 REM ! Minne 16 Kbytes 16 REM +------------------------------- 17 REM ! Jfr Sven Wickbergs artiklar 18 REM ! i ABC-bladet 3.1987 s 16 ff 19 REM ! 4.1987 s 62 20 REM +------------------------------- 95 DIM T$(100%)=16%,S$(100%)=20% 100 ; CHR$(12%) 110 I%=1% : Z%=PEEK(590%)/40% 199 REM +------------------------------- 200 IF Q%(I%)>=8% THEN I%=I%-1% : IF I%>0% GOTO 200 ELSE 630 210 Q%(I%)=Q%(I%)+1% 299 REM +------------------------------- 300 FOR J%=1% TO I%-1% 310 IF Q%(I%)=Q%(J%) THEN 200 320 IF Q%(I%)+I%=Q%(J%)+J% THEN 200 330 IF Q%(I%)-I%=Q%(J%)-J% THEN 200 340 NEXT J% 399 REM +------------------------------- 400 IF I%<8% I%=I%+1% : Q%(I%)=0% : GOTO 200 410 FOR J%=1% TO 8% : T$=T$+NUM$(Q%(J%)) : NEXT J% 420 Q%=0% : GOSUB 900 : IF Q% THEN 620 430 A%=A%+1% : T$(A%)=T$ : ; T$ : T$='' : N1%=N1%+1% : S$(A%)=' Unik'+NUM$(N1%) 435 REM +--- Spegla l|sningen ---------- 436 REM +-- Spara unika positionerna --- 440 A%=A%+1% : FOR J%=1 TO 8 : P%(J%)=Q%(9%-J%) : S%(J%)=Q%(J%) : T$(A%)=T$(A%)+NUM$(P%(J%)) : NEXT J% 450 S$(A%)=' Spegel'+NUM$(N1%) 455 REM +--- Vrid 90 grader 3 ggr ------ 460 FOR K%=1 TO 3 465 REM +--- Vrid ---------------------- 470 FOR J%=1 TO 8 480 T%=9-J% 490 Q1%(Q%(J%))=T% : REM Unika pj{serna 500 P1%(P%(J%))=T% : REM Spegelpj{serna 510 NEXT J% 515 REM +--- Unik + vridning ----------- 520 A%=A%+1% : FOR J%=1 TO 8 530 T$(A%)=T$(A%)+NUM$(Q1%(J%)) : Q%(J%)=Q1%(J%) 540 NEXT J% 550 S$(A%)=' Unik'+NUM$(N1%)+' +'+NUM$(K%*90) 555 REM +--- Spegel + vridning --------- 560 A%=A%+1% : FOR J%=1 TO 8 570 T$(A%)=T$(A%)+NUM$(P1%(J%)) : P%(J%)=P1%(J%) 580 NEXT J% 590 S$(A%)=' Spegel'+NUM$(N1%)+' +'+NUM$(K%*90) 600 NEXT K% 605 REM +--- S{tt tillbaka damerna ----- 610 FOR J%=1% TO 8% : Q%(J%)=S%(J%) : NEXT J% 620 N%=N%+1% : I%=I%-1% : GOTO 200 625 REM +------------------------------- 630 ; #P9%TAB(P9%/2%)'Det finns'N%' l|sningar,varav 'N1%' unika, till problemet med de }tta damerna' 640 ; #P9% : IF P9% THEN 670 645 REM +-------- Utskrift ------------- 650 ; 'Utskrift p} printer? (J)'; : INPUT [$ : IF (ASC([$) AND 95%)<>78% THEN P9%=8% 660 IF P9% THEN OPEN 'pr:' ASFILE P9% : Z%=2% : GOTO 630 670 FOR J%=1% TO 8% STEP Z% 680 FOR H%=0% TO N%-1% STEP 8% 690 ; #P9%TAB(P9%)T$(J%+H%)S$(H%+J%); : IF Z%=2% ; #P9%TAB(35%+P9%)T$(J%+1%+H%)S$(J%+1%+H%) ELSE ; 700 NEXT H% 710 ; #P9% 720 IF P9%=0% THEN GET [$ 730 NEXT J% 740 END 899 REM +--- Finns l|sningen redan? ---- 900 FOR J%=1% TO A% 920 IF T$=T$(J%) THEN T$='' : Q%=-1% : RETURN 930 NEXT J% 940 RETURN