10 REM KASTAOM 20 REM by Peter Sessions 30 REM from Creative Computing 40 REM anpassat f|r ABC-80 av Gunnar Tidner 50 ; CHR$(12);CUR(2,15)"KASTA OM" 60 RANDOMIZE 70 DIM A%(20) 80 REM *** N%=antal nr 90 N%=9 100 ; CUR(4,2)"- ett spel d{r skickligheten avg|r -" 110 ; CUR(11,0)"Vill du veta reglerna"; : INPUT A$ 120 IF (ASC(A$) AND 223%)=78 THEN 150 130 GOSUB 590 140 REM *** Random a(1) till a(n%) 150 A%(1)=INT((N%-1)*RND)+2 160 J1%=J1%+1 170 FOR K%=2 TO N% 180 A%(K%)=INT(N%*RND)+1 190 FOR J%=1 TO K%-1 200 IF A%(K%)=A%(J%) THEN 180 210 NEXT J% 220 NEXT K% 230 REM *** START print orginal-listan 240 ; CHR$(12);CUR(6,0)"H{r {r listan:" 250 T%=0 260 GOSUB 540 270 ; "Hur m}nga vill du kasta om"; : INPUT R% 280 IF R%=0 THEN J1%=J1%-1 : GOTO 500 290 IF R%<=N% THEN 310 300 ; "Hoppsan! DU kan kasta om h|gst";N% : GOTO 270 310 T%=T%+1 320 REM *** Kasta om r% tal och skriv listan 330 FOR K%=1 TO R%/2% 340 Z%=A%(K%) 350 A%(K%)=A%(R%-K%+1) 360 A%(R%-K%+1)=Z% 370 NEXT K% 380 GOSUB 540 390 REM *** Kolla om vinst 400 FOR K%=1 TO N% 410 IF A%(K%)<>K% THEN 270 420 NEXT K% 430 OUT 6,131 : ; "Du vann efter";T%;" steg!" 440 G%=G%+T% 450 ; : ; "Du har klarat";J1%;" partier" 460 ; "p} sammanlagt";G%;" drag," 470 G=G% : J=J1% : W=G/J 480 ; "genomsnitt";W;" drag per parti" 490 ; : ; 500 ; "Vill du spela igen"; : INPUT A$ 510 IF (ASC(A$) AND 223%)=74 THEN 150 520 ; "Tack f|r denna g}ng!" : GOTO 760 530 REM *** subrutin skriva listan 540 ; : ; : FOR K%=1 TO N% 550 ; A%(K%); 560 NEXT K% 570 ; : ; : RETURN 580 REM *** Skriv ut reglerna 590 ; CHR$(12);CUR(2,15)"Regler:" 600 ; CUR(6,0)"Talen 1 till 9 l{ggs ut i slumpm{ssig" 610 ; "ordning." 620 ; "Det g{ller att f} dem i r{tt ordning" 630 ; "genom att kasta om de f|sta N talen" 640 ; "(Du v{ljer N = 1 - 9) och upprepa" 650 ; "tills du vunnit." 660 ; : ; "Exempel: Listan visar" 670 ; " 2 3 4 5 1 6 7 8 9" 680 ; : ; "Kasta om 4 och listan visar" 690 ; : ; " 5 4 3 2 1 6 7 8 9" 700 ; : ; "Kasta om 5 och du har vunnit!" 710 ; "Du kan avbryta genom att v{lja N =0" 720 ; : ; : ; "Tryck ner en tangent n{r du {r klar!" 730 GET C$ 740 ; CHR$(12) 750 RETURN 760 END