10 REM ...list ROTERA 20 REM id` fr}n ROTATE ur MORG BASIC COMP. GAMES 30 REM nyskriven f|r ABC80 81 06 13 SW 40 REM bearb. Sven Wickberg 85 07 30 50 REM ------------------------------ 60 DIM B%(16%),B$(16%) 70 DEFFNJ%=W$='J' OR W$='j' OR W$='' : REM FNJ% sant f|r JA 80 T%=10% : REM ---v{nstermarginal f|r br{det 90 ; CHR$(12%)'INSTRUKTIONER (J)'; : INPUT W$ : IF FNJ% GOSUB 580 100 REM ------------------------------- 110 REM g|ra i ordning br{det 120 FOR I%=1% TO 16% : B$(I%)=CHR$(64%+I%) : NEXT I% : REM fylla rutorna 130 REM blanda om bokst{verna 140 FOR I%=16% TO 2% STEP -1% 150 X%=RND*I%+1% : REM dra ledig ruta 160 T$=B$(I%) : B$(I%)=B$(X%) : B$(X%)=T$ : REM l{gg dragna bokstaven sist 170 NEXT I% 180 REM ============================= 190 REM spelet b|rjar; M=drag, S=1 om skift utf|rt 200 M%=0% : S%=0% 210 GOSUB 490 : REM rita br{det 215 REM ------------------------------ 220 ; 'Vilken ruta ska roteras?' : ; '(alt. 0 =upgivet -1 =skifta tv} rutor)' 230 ; '(RETURN =instruktionerna)' : ; : ; 'Ditt val'; : INPUT W$ 250 IF W$='' GOSUB 580 : ; CHR$(12%) : GOTO 210 260 IF W$='0' THEN ; : ; 'OTUR!'M%' f|rlorade drag...' : ; : G2%=G2%+1% : M2%=M2%+M% : GOTO 390 270 ONERRORGOTO 220 : W%=VAL(W$) : IF W%=-1% THEN 540 280 IFW%<1% OR W%=4% OR W%=8% OR W%>11% THEN ; 'OTILL]TET DRAG!' : GOTO 220 290 M%=M%+1% : T$=B$(W%) 300 B$(W%)=B$(W%+4%) : B$(W%+4%)=B$(W%+5%) : B$(W%+5%)=B$(W%+1%) : B$(W%+1%)=T$ 310 GOSUB 490 : REM rita br{det 315 REM ----------------------------- 320 REM kolla om bokst{verna r{tt=slut 330 FOR I%=1% TO 16% 340 IF CHR$(I%+64%)<>B$(I%) THEN 220 : REM ---ej slut 350 NEXT I% 360 REM --- alla bokst{ver r{tt, spelet slut 370 OUT 6%,5% : FOR I=1 TO 500 : NEXT I : OUT 6%,0% 380 ; : ; 'Du fixade br{det med'M%' drag' : M1%=M1%+M% : G%=G%+1% : REM ---M1=totalant.drag;G=antal spel 390 IF G%=0% THEN 420 : REM hindra division med noll 400 ; : ; 'Du har klarat'G%' spel' 410 ; 'med i genomsnitt'M1%/G%' drag per spel' 420 IF G2%=0% THEN 450 430 ; '- och givit upp'G2%' spel efter' 440 ; 'i genomsnitt'M2%/G2%' drag.' 450 ; : ; : ; 'Ett spel till (J)'; : INPUT W$ : IF FNJ% THEN 120 460 ; : ; 'SLUT' : END 470 REM ============================== 480 REM rita br{det 490 ; CHR$(12%)'(Spel'G%+G2%+1%') ST[LLNINGEN EFTER DRAG'M%':' : ; 500 ; : FOR I%=1% TO 13% STEP 4% 510 ; TAB(T%)B$(I%)' 'B$(I%+1%)' 'B$(I%+2%)' 'B$(I%+3%) 520 NEXT I% : ; : ; : RETURN 525 REM ------------------------------ 530 REM ---SKIFTA TV] RUTOR OM S=0 540 S%=S%+1% : IF S%>1% THEN ; 'DU F]R BARA G\RA ETT SKIFTE PER SPEL!' : GOTO 220 550 ; 'VILKA TV] RUTOR SKALL SKIFTAS'; : INPUT X$,Y$ : ONERRORGOTO 550 : X%=VAL(X$) : Y%=VAL(Y$) : ONERRORGOTO 0 560 IF X%<>Y%+1% AND X%<>Y%-1% ; CHR$(7%)'M]STE ST] P] SAMMA RAD' : GOTO 550 570 T$=B$(X%) : B$(X%)=B$(Y%) : B$(Y%)=T$ : GOTO 310 575 REM ------------------------------ 580 REM ---INSTRUKTIONER 590 ; CHR$(12%) : ; 'Rutorna har f|ljande nummer:' : ; 600 FOR I%=1% TO 16% : B%(I%)=I% : NEXT I% 610 ; : FOR I%=1% TO 13% STEP 4% 620 FOR J%=0% TO 3% 630 ; TAB(7%+4*J%)B%(I%+J%); 640 NEXT J% : ; : NEXT I% 650 ; : ; 'Rutorna fylls slumpvis med bokst{verna' 660 ; 'A-P. Du ska ordna dem genom att rotera' 670 ; 'fyra rutor medurs med utg}ngspunkt fr}n' 680 ; 'den |vre v{nstra rutan i gruppen.' : ; 690 ; 'Giltiga drag {r allts} 1, 2, 3; 5, 6, 7;samt 9, 10 och 11.' : ; CUR(23%,0%)'Tryck RETURN'; : GET W$ 700 ; CHR$(12%)'Om t.ex. fyra rutor ser'TAB(30%)'B F' 710 ; 'ut s} h{r:'TAB(30%)'A E' : ; 720 ; 'kan man genom att trycka' : ; 'in numret f|r ruta B'TAB(30%)'A B' 730 ; 'rotera dem s} h{r:'TAB(30%)'E: ; : ; 'EN G]NG under spelet kan man l}ta' 740 ; 'tv} bokst{ver BREDVID VARANDRA p}' 750 ; 'en rad byta plats. Skriv d} in -1' 760 ; 'och d{refter rutornas nummer' 770 ; 'med kommatecken emellan.' : ; 780 ; 'Vill du ge upp, skriv in 0 (en nolla).' : ; 790 ; CUR(20%,0%)'Vill du se intruktionerna igen skriv I' : ; 'annars tryck RETURN'; : GET W$ 800 IF W$='I' OR W$='i' THEN 580 ELSE RETURN