1 REM ++++++++++++++++++++++++++++++++ 2 REM ! Program .... L8RADER 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 ONERRORGOTO 100 : ; CHR$(12%) : ; 'Ant. enkelrader'; : INPUT R1% 105 ONERRORGOTO 105 : ; 'Ant. 8-raders'; : INPUT R2% : R%=R1%+R2% 110 ONERRORGOTO 110 : ; 'Ant. nummer'; : INPUT N% 115 N6%=N%-6% : N5%=N%-5% : N4%=N%-4% : N3%=N%-3% : N2%=N%-2% : N1%=N%-1% 120 DIM S%(R%,N%),V%(75%,3%),G%(40%,3%),T%(20%,3%),R$=N%+N% 125 FOR T=1 TO 1000 : NEXT T : ; CHR$(12%) 130 IF R1%>0% THEN ; 'Inmatning av enkelrader (2/1):' : ; 135 FOR X%=1% TO R% 140 IF X%>R1% AND [1%=0% THEN ; : ; : ; 'Och s}';R2%;' st. 8-raders:' : ; : [1%=1% 145 [%=0% : ; 'Rad';TAB(5-INT(LOG(X%)/LOG(10)));X%; 150 INPUT R$ : IF LEN(R$)<>N% THEN 145 155 FOR H%=1% TO LEN(R$) 160 IF MID$(R$,H%,1%)="2" THEN [%=[%+1% 165 NEXT H% 170 IF X%7% THEN 145 175 IF X%>R1% AND [%<>8% THEN 145 180 FOR Y%=1% TO N% 185 IF MID$(R$,Y%,1%)='2' THEN S%(X%,Y%)=1% ELSE S%(X%,Y%)=0% 190 NEXT Y% : NEXT X% 195 FOR T=1 TO 1000 : NEXT T 200 ; CHR$(12%) 205 OPEN 'PR:' ASFILE 1% 210 IF R1%>0% THEN ; #1%,'Inmatade enkelrader:' : ; #1% 215 FOR X%=1% TO R% 220 IF X%>R1% AND [2%=0% THEN ; #1% : ; #1%,'Inmatade 8-raders:' : ; #1% : [2%=1% 225 R$='' 230 FOR Y%=1% TO N% 235 IF N%<20% AND S%(X%,Y%)=1% THEN R$=R$+'X ' ELSE IF N%<20% AND S%(X%,Y%)=0% THEN R$=R$+'- ' 240 IF N%>=20% AND S%(X%,Y%)=1% THEN R$=R$+'X' ELSE IF N%>=20% AND S%(X%,Y%)=0% THEN R$=R$+'-' 245 NEXT Y% 250 ; #1%,R$ 255 NEXT X% 260 FOR A%=1% TO 3% 265 FOR T=1 TO 1000 : NEXT T 270 ; CHR$(12%) 275 ; #1% : ; #1% : ; #1% 280 ; #1%,' 7 6 5 Fall:' 285 ; #1%,' --------- ----' 290 FOR T=1 TO 1000 : NEXT T 295 IF A%=2% THEN 435 ELSE IF A%=3% THEN 560 300 FOR K1%=1% TO N6% : FOR K2%=K1%+1% TO N5% : FOR K3%=K2%+1% TO N4% : FOR K4%=K3%+1% TO N3% : FOR K5%=K4%+1% TO N2% 305 FOR K6%=K5%+1% TO N1% : FOR K7%=K6%+1% TO N% 310 ; CUR(1%,5%);K1%;K2%;K3%;K4%;K5%;K6%;K7%;' ' 315 FOR Z%=1% TO 3% : V%(0%,Z%)=0% : NEXT Z% 320 FOR X%=1% TO R% 325 R0%=S%(X%,K1%)+S%(X%,K2%)+S%(X%,K3%)+S%(X%,K4%)+S%(X%,K5%)+S%(X%,K6%)+S%(X%,K7%) 330 IF R0%<5% THEN R0%=4% 335 V%(0%,R0%-4%)=V%(0%,R0%-4%)+1% 340 IF X%>R1% AND R0%=7% THEN V%(0%,2%)=V%(0%,2%)+7% 345 IF X%>R1% AND R0%=6% THEN V%(0%,2%)=V%(0%,2%)+1% : V%(0%,1%)=V%(0%,1%)+6% 350 IF X%>R1% AND R0%=5% THEN V%(0%,1%)=V%(0%,1%)+2% 355 NEXT X% 360 FOR I%=1% TO 75% : IF V%(I%,0%)=0% THEN 390 365 FOR X%=1% TO 3% : IF V%(0%,X%)<>V%(I%,X%) THEN 380 370 NEXT X% 375 V%(I%,0%)=V%(I%,0%)+1% : GOTO 395 380 NEXT I% 385 ; #1%,'#####' : GOTO 410 390 FOR X%=1% TO 3% : V%(I%,X%)=V%(0%,X%) : NEXT X% : GOTO 375 395 NEXT K7% : NEXT K6% : NEXT K5% : NEXT K4% : NEXT K3% : NEXT K2% : NEXT K1% 400 ; : ; : ; TAB(6%);'Garantitabell? SIFFRA'; 405 ONERRORGOTO 405 : INPUT W% 410 FOR X%=1% TO 75% : FOR Y%=3% TO 0% STEP -1% 415 IF V%(X%,0%)=0% THEN 680 420 ; #1%,V%(X%,Y%);' '; : NEXT Y% 425 ; #1% 430 NEXT X% 435 FOR K1%=1% TO N5% : FOR K2%=K1%+1% TO N4% : FOR K3%=K2%+1% TO N3% : FOR K4%=K3%+1% TO N2% : FOR K5%=K4%+1% TO N1% 440 FOR K6%=K5%+1% TO N% 445 ; CUR(1%,5%);K1%;K2%;K3%;K4%;K5%;K6%;' ' 450 FOR Z%=1% TO 3% : G%(0%,Z%)=0% : NEXT Z% : FOR X%=1% TO R% 455 R0%=S%(X%,K1%)+S%(X%,K2%)+S%(X%,K3%)+S%(X%,K4%)+S%(X%,K5%)+S%(X%,K6%) 460 IF R0%<5% THEN R0%=4% 465 G%(0%,R0%-4%)=G%(0%,R0%-4%)+1% 470 IF X%>R1% AND R0%=6% THEN G%(0%,2%)=G%(0%,2%)+1% : G%(0%,1%)=G%(0%,1%)+6% 475 IF X%>R1% AND R0%=5% THEN G%(0%,1%)=G%(0%,1%)+2% 480 NEXT X% 485 FOR I%=1% TO 40% : IF G%(I%,0%)=0% THEN 515 490 FOR X%=1% TO 3% : IF G%(0%,X%)<>G%(I%,X%) THEN 505 495 NEXT X% 500 G%(I%,0%)=G%(I%,0%)+1% : GOTO 520 505 NEXT I% 510 ; #1%,'#####' : GOTO 535 515 FOR X%=1% TO 3% : G%(I%,X%)=G%(0%,X%) : NEXT X% : GOTO 500 520 NEXT K6% : NEXT K5% : NEXT K4% : NEXT K3% : NEXT K2% : NEXT K1% 525 ; : ; : ; TAB(6%);'Garantitabell? SIFFRA'; 530 ONERRORGOTO 530 : INPUT W% 535 FOR X%=1% TO 40% : FOR Y%=3% TO 0% STEP -1% 540 IF G%(X%,0%)=0% THEN 680 545 ; #1%,G%(X%,Y%);' '; : NEXT Y% 550 ; #1% 555 NEXT X% 560 FOR K1%=1% TO N4% : FOR K2%=K1%+1% TO N3% : FOR K3%=K2%+1% TO N2% : FOR K4%=K3%+1% TO N1% : FOR K5%=K4%+1% TO N% 565 ; CUR(1%,5%);K1%;K2%;K3%;K4%;K5%;' ' 570 FOR Z%=1% TO 3% : T%(0%,Z%)=0% : NEXT Z% : FOR X%=1% TO R% 575 R0%=S%(X%,K1%)+S%(X%,K2%)+S%(X%,K3%)+S%(X%,K4%)+S%(X%,K5%) 580 IF R0%<5% THEN R0%=4% 585 T%(0%,R0%-4%)=T%(0%,R0%-4%)+1% 590 IF X%>R1% AND R0%=5% THEN T%(0%,1%)=T%(0%,1%)+2% 595 NEXT X% 600 FOR I%=1% TO 20% : IF T%(I%,0%)=0% THEN 630 605 FOR X%=1% TO 3% : IF T%(0%,X%)<>T%(I%,X%) THEN 620 610 NEXT X% 615 T%(I%,0%)=T%(I%,0%)+1% : GOTO 635 620 NEXT I% 625 ; #1%,'#####' : GOTO 650 630 FOR X%=1% TO 3% : T%(I%,X%)=T%(0%,X%) : NEXT X% : GOTO 615 635 NEXT K5% : NEXT K4% : NEXT K3% : NEXT K2% : NEXT K1% 640 ; : ; : ; TAB(6%);'Garantitabell? SIFFRA'; 645 ONERRORGOTO 645 : INPUT W% 650 FOR X%=1% TO 20% : FOR Y%=3% TO 0% STEP -1% 655 IF T%(X%,0%)=0% THEN 675 660 ; #1%,T%(X%,Y%);' '; : NEXT Y% 665 ; #1% 670 NEXT X% 675 ; : ; CUR(7%,6%);'Siffertips-' : ; CUR(8%,6%);'Jokke.' 680 ; : IF A%<3% THEN ; '"CTRL+C" = stop! Forts{ttning? SIFFRA'; 685 ONERRORGOTO 685 : IF A%<3% THEN INPUT C% 690 NEXT A% 695 CLOSE 1%