100 REM SAVE TANKEL[S 105 REM +--------------------------+ 110 REM ! T A N K E L [ S N I N G ! 115 REM +--------------------------+ 120 REM ! (OBS! GOTO-l|st) ! 125 REM +--------------------------+ 130 REM ! Version 1.3 83-11-29 ! 135 REM ! Konstr. Arne Sp}ngtorp ! 140 REM ! <1218> Sturegatan 9,11 ! 145 REM ! 632 30 E-tuna ! 150 REM ! 016/42 45 04 ! 155 REM +--------------------------+ 160 REM 165 RANDOMIZE : REM Olika startv{rde 170 T$=TAB(9%) : REM Tabulatorl{ge 175 DIM G$=1% : REM F|r inmatning 180 DIM C0%(31%) : REM Alfabetet 185 DIM C1%(27%) : REM Randomstr{ng 190 DIM C2%(3%,9%) : REM Radstr{ngar 195 REM L1%,L2% For-next, Styrrutin 200 REM I0%,I1%,I2% " , Subrutiner 205 REM R%=Radnummer 210 REM 215 REM ++ Styrrutin 220 REM 225 FOR L1%=0% TO 0% STEP 0% 230 GOSUB 595 : REM Skapa str{ng 235 GOSUB 650 : REM Str{ng > rader 240 GOSUB 335 : REM Rubrik 245 GOSUB 375 : REM Beskrivning 1 250 GOSUB 555 : REM Skriva raderna 255 GOSUB 505 : REM Ta in radnr 260 FOR L2%=1% TO 2% : REM Loop 2* 265 GOSUB 685 : REM Rader > str{ng 270 GOSUB 650 : REM Str{ng > rader 275 GOSUB 335 : REM Rubrik 280 GOSUB 420 : REM Beskrivning 2 285 GOSUB 555 : REM Skriva raderna 290 GOSUB 505 : REM Ta in radnr 295 NEXT L2% : L2%=0% 300 GOSUB 685 : REM Rader > str{ng 305 GOSUB 335 : REM Rubrik 310 GOSUB 455 : REM Avslutning 315 L1%=INSTR(1%,'Nn',G$) 320 NEXT L1% 325 ; : ; T$'T{nkte v{l det!' : END 330 REM 335 REM ++ Rubrik 340 REM 345 ; CHR$(12%) 350 ; T$'======================' 355 ; T$'ABC80 som tankel{sare!' 360 ; T$'======================' : ; 365 RETURN 370 REM 375 REM ++ Beskrivning 1 380 REM 385 ; T$'Du har h{r n}gra bok-' 390 ; T$'st{ver f|rdelade p}' 395 ; T$'tre rader. T{nk p} en' 400 ; T$'av bokst{verna och' 405 ; T$'l{gg den p} minnet!' : ; 410 RETURN 415 REM 420 REM ++ Beskrivning 2 425 REM 430 ; T$'Du har h{r de tjugosju,' 435 ; T$'bokst{verna omf|rdela-' 440 ; T$'de p} tre nya rader!' : ; 445 RETURN 450 REM 455 REM ++ Avslutning 460 REM 465 ; T$'Det var'; 470 ; ' ..'CHR$(C1%(14%))'.. '; 475 ; 'som Du' : ; 480 ; T$'t{nkte p} - eller hur?' : ; 485 ; T$'Vill Du prova en g}ng' : ; 490 ; T$'till (J/N)'; : GET G$ : ; 495 RETURN 500 REM 505 REM ++ Ta in radnr 510 REM 515 ; T$'Ange numret p} den rad' 520 ; T$'d{r Din bokstav finns!' 525 FOR R%=0% TO 0% STEP 0% 530 ; CUR((L2%<>0%)*2%+21%,0%); 535 ; : ; T$'Radnumret {r = '; 540 GET G$ : R%=INSTR(1%,'123',G$) 545 NEXT R% : RETURN 550 REM 555 REM ++ Skriv raderna 560 REM 565 FOR I1%=1% TO 3% : ; : ; T$I1%' '; 570 FOR I2%=1% TO 9% 575 ; CHR$(C2%(I1%,I2%))' '; 580 NEXT I2% : ; : NEXT I1% : ; 585 RETURN 590 REM 595 REM ++ Skapa str{ng 600 REM 605 FOR I1%=1% TO 31% 610 C0%(I1%)=I1%+63% 615 NEXT I1% : I0%=31% 620 FOR I1%=1% TO 27% 625 I2%=INT(RND*I0%)+1% 630 C1%(I1%)=C0%(I2%) 635 C0%(I2%)=C0%(I0%) 640 I0%=I0%-1% : NEXT I1% : RETURN 645 REM 650 REM ++ Str{ng till rader 655 REM 660 FOR I2%=1% TO 9% 665 FOR I1%=1% TO 3% 670 C2%(I1%,I2%)=C1%(I2%*3%-3%+I1%) 675 NEXT I1% : NEXT I2% : RETURN 680 REM 685 REM ++ Rader till str{ng 690 REM 695 FOR I0%=1% TO 3% 700 I1%=(I0%=1%)*((R%=1%)*2%+(R%>1%)) 705 I1%=I1%+(I0%=3%)*((R%=3%)*2%+(R%<3%)*3%) 710 I1%=I1%-(I0%=2)*R% : FOR I2%=1% TO 9% 715 C1%(I0%*9%-9%+I2%)=C2%(I1%,I2%) 720 NEXT I2% : NEXT I0% : RETURN