1 REM Ins{nd av Gunnar Larsson <4876> 1985-05-11 12.30.02
10 ! Program bokstavsregn
20 ! 1985-04-27
30 ! (c) Gunnar Larsson
40 ! <4876>
50 !
60 ! Variabler
70 ! Bokstav$ slumpboksatav
80 ! Varv snurra
90 ! Get$ tangentbord
100 ! Po{ng antal po{ng
110 ! Antal antal f|rs|k
120 ! Fel antal feltryck
130 ! Tut$ maskinkod
140 ! I snurra
150 ! Max max antal fel
160 ! Hastighet F|rdr|jning
170 ! Hast step
180 ! Z slaskvariabel
190 !
200 INTEGER : EXTEND
210 !
220 DEF FNSlump%
230 RANDOMIZE
240 RETURN INT(RND*31%)+64%
250 FNEND
260 !
270 DEF FNTut%(Frek%)
280 Tut$=CHR$(66%,22%,0%,219%,5%,197%,16%,254%,193%,27%,122%,179%,32%,245%,201%)
290 RETURN CALL(VARPTR(Tut$),Frek%*256%+55%)
300 FNEND
310 !
320 DEF FNV{nta%(Tid%)
330 FOR Varv%=0% TO Tid%
340 NEXT Varv%
350 RETURN 0%
360 FNEND
370 !
380 DEF FNRensa%
390 ; CHR$(12%)
400 RETURN 0%
410 FNEND
420 !
430 DEF FNInstruktioner%
440 Z%=FNRensa%
450 ; GRN 'Programmet har till syfte att l{ra sig'
460 ; GRN ' hitta bokst{verna p} tangentbordet.'
470 ; GRN 'Datorn skriver ut en bokstav som'
480 ; GRN ' "rinner" ned}t och det g{ller att'
490 ; GRN ' trycka p} r{tt tangent innan den n}r'
500 ; GRN ' botten.'
510 ; GRN 'Om man trycker p} fel tangent eller'
520 ; GRN ' den n}r botten f}r man minuspo{ng.'
530 ; GRN 'Sv}righetsgraden |kar hela tiden.'
540 ; GRN 'Spelet {r slut n{r antalet fel'
550 ; GRN ' |verstiger 12, eller man trycker'
560 ; GRN ' p} PF1.'
570 ; : ;
580 ; YEL 'Tryck p} H'
590 POKE 65507%,0%
600 WHILE PEEK(65507%)<>72% AND PEEK(65507%)<>104%
610 WEND
620 RETURN 0%
630 FNEND
640 !
650 DEF FNR{tt% LOCAL Z$=1
660 IF Get$>'@' THEN Z$=CHR$(ASCII(Get$) AND 95%) ELSE Z$=Get$
670 IF Z$=Bokstav$ THEN RETURN -1%
680 RETURN 0%
690 FNEND
700 !
710 ! Huvudloop
720 !
730 Z%=FNInstruktioner%
740 Hastighet%=400% : Hast%=1%
750 Po{ng%=1%
760 Fel%=0%
770 Antal%=0%
780 Max%=12%
790 WHILE ASCII(Get$)<>192% AND Fel%