1 REM ++++++++++++++++++++++++++++++++ 2 REM ! Program .... LOPOFLEX 3 REM ! Utg}va 1.0 83-06-30 4 REM ! av (c) TORDH JOHANSSON 7 REM ! Minne 16 Kbytes 8 REM ! Ins{nt av 666 9 REM ++++++++++++++++++++++++++++++++ 10 REM 11 REM Screened by C R LERIN. 12 REM 100 ; CHR$(12%) 110 ; "Systemets RADANTAL"; : INPUT R% 120 ; "Ant. NR. i systemet"; : INPUT N% 130 ; "Ant. KRYSS pr enkelrad"; : INPUT K% : ; 140 ; "H\GSTA ant. KRYSS i kollrader"; : INPUT H% 150 ; "L[GSTA ant. KRYSS:";H%;" -";K%-2%;"!";" VAD"; : INPUT L% 160 DIM S%(R%,N%),G%(150%,3%),R$=N%+N% 170 ; : ; "Inmatning av rader (kryss=2, lucka=1):" : ; STRING$(37%,61%) : ; 180 FOR X%=1% TO R% 190 ; "RAD";TAB(5-INT(LOG(X%)/LOG(10)));X%; 200 INPUT R$ : IF LEN(R$)<>N% THEN 190 210 FOR Y%=1% TO N% 220 IF MID$(R$,Y%,1%)="2" THEN S%(X%,Y%)=1% ELSE S%(X%,Y%)=0% 230 NEXT Y% : NEXT X% : ; 240 OPEN "PR:" ASFILE 1% 250 ; #1%,"Inmatade rader:" : ; #1% 260 FOR X%=1% TO R% : R$="" : FOR Y%=1% TO N% 270 IF N%<20% AND S%(X%,Y%)=1% THEN R$=R$+"X " ELSE IF N%<20% THEN R$=R$+"- " 280 IF N%>=20% AND S%(X%,Y%)=1% THEN R$=R$+"X" ELSE IF N%>=20% THEN R$=R$+"-" 290 NEXT Y% : ; #1%,R$ : NEXT X% 300 ; #1% : ; #1% : ; #1% : ; #1% 310 CLOSE 1% 320 FOR A%=H% TO L% STEP -1% 330 FOR Z%=1% TO H%+1% : N%(Z%)=0% : NEXT Z% 340 G%=A% 350 FOR Z%=G% TO 1% STEP -1% 360 N%(Z%)=N%(Z%)+1% 370 IF N%(Z%)<=N%(Z%+1%) OR N%(Z%)>N%-Z%+1% THEN N%(Z%)=N%(Z%+1%)+1% 380 NEXT Z% 390 \%=\%+1% : ; \%; 400 FOR Z%=1% TO 3% : G%(0%,Z%)=0% : NEXT Z% 410 FOR X%=1% TO R% 420 V%=0% 430 FOR Z%=1% TO A% 440 V%=S%(X%,N%(Z%))+V% 450 NEXT Z% 460 IF V%G%(I%,J%) THEN 550 530 NEXT J% 540 G%(I%,0%)=G%(I%,0%)+1% : GOTO 570 550 NEXT I% 560 FOR Z%=1% TO 3% : G%(I%,Z%)=G%(0%,Z%) : NEXT Z% : GOTO 540 570 FOR Z%=1% TO A% : IF N%(Z%)9% THEN ; #1%," 0 1 2 FALL:" ELSE ; #1%,K%;" ";K%-1%;" ";K%-2%;" FALL:" 620 ; #1%," --------- ----" 630 FOR I%=1% TO 150% : FOR J%=3% TO 0% STEP -1% 640 IF G%(I%,0%)=0% THEN 690 650 ; #1%,G%(I%,J%);" "; : NEXT J% 660 ; #1 670 NEXT I% 680 CLOSE 1% 690 IF A%=L% THEN 740 700 FOR I%=1% TO 150% : FOR J%=0% TO 3% 710 G%(I%,J%)=0% : NEXT J% : NEXT I% 720 \%=0% 730 NEXT A% 740 ;