10 REM +-----------------------------+ 20 REM ! GUBBEN .BAC ! 30 REM ! VER 2.0 /1981-04-05 ! 40 REM ! (C)STEFAN PERSSON ! 50 REM ! gjort av Stefan Persson ! 60 REM ! Jordgubbsv{gen 13 ! 70 REM ! 734 00 Hallstahammar ! 80 REM ! 0220/126 93 ! 90 REM +-----------------------------+ 100 ; CHR$(12%)CUR(10%,0%)"Vill du ha instruktioner (J/N)"; : GET F$ 110 IF F$="j" OR F$="J" GOTO 120 ELSE 240 120 ; CHR$(12%) : ; TAB(7%)"***H [ N G A**G U B B E***" : ; 130 ; "I detta program ska du f|rs|ka gissa ocht{nka dig fram till de r{tta bokst{vernai ett ord." 140 ; : ; "Det ordet kan (om det {r tv} vid Datorn)den ena av er skriva in och sedan den andra f|rs|ka gissa." 150 ; : ; "[r du ensam s} har jag ord i Datasatser som jag slumpar mellan." 160 ; : ; "Det {r bara STORA bokst{ver allts} inga siffror eller andra tecken i ordet, t.ex. $/&%#." 170 ; : ; "Tryck p} n{r du l{st f{rdigt!"; : GET F$ 180 ; CHR$(12%) : ; TAB(7%)"***H [ N G A**G U B B E***" : ; 190 ; "Punkterna mitt p} sk{rmen motsvarar antalet bokst{ver i ordet." 200 ; : ; "Var g}ng du skriver in en bokstav kollarjag om den finns med i det hemliga ordet,{r bokstaven"; 210 ; " r{tt skrivs den in p}r{tt plats." 220 ; : ; "Om du gissar fel s} ritar jag upp en delav gubben, och skriver ut den bokstaven som {r fel l{ngst"; 230 ; " upp p} sk{rmen." : ; : ; "Du kan gissa fel 8 g}nger den 9 g}ngen blir du h{ngd!" 240 ; : ; : ; "Vill du skriva in ett eget ord? (J/N)"; : GET F$ 250 X1=0 : IF F$="J" OR F$="j" THEN Q2=1 ELSE 320 260 ; : ; : ; "Det f}r vara h|gst 20 bokst{ver l}ngt!" : INPUT A$ 270 L=LEN(A$) : IF L>20 OR L<1 GOTO 310 280 FOR A%=1 TO L : B$=MID$(A$,A%,1) : IF ASC(B$)<64 OR ASC(B$)>94 GOTO 300 ELSE NEXT A% 290 GOTO 320 300 ; CHR$(7%) : ; "Det f}r bara vara STORA bokst{ver i ordet!" : ; "Tryck p} "; : GET F$ 310 ; CHR$(12%)CUR(9%,0%); : GOTO 260 320 DIM F$(30%)=1 : FOR \%=0 TO 30 : F$(\%)="" : NEXT \% 330 ; CHR$(12%) : FOR I%=3 TO 23 : ; CUR(I%,0%);CHR$(151%); : NEXT I% 340 IF Q2=1 GOTO 370 : REM EGET ORD 350 RANDOMIZE : I=INT(RND*19)+1 360 RESTORE 730 : FOR A=1 TO I : READ A$ : NEXT A 370 Q2=0 : L=LEN(A$) : FOR A%=1 TO L : ; CUR(11,A%);"0"; : NEXT A% 380 A%=0 : I%=0 : I=0 : A=0 : J1=0 : A1=0 : [%=0 : \$="" 390 B=0 : \%=0 : D%=0 : B1=0 : H=0 : K%=0 : B$="" : A5=0 : O=0 : S=0 : [=0 : K=0 : R=0 : G=0 : L1%=0 400 FOR \%=0 TO 30 410 H=1 : A=A+1 : ; CUR(2%,0%); : GET F$(\%) 420 IF ASC(F$(\%))<64 OR ASC(F$(\%))>94 GOTO 430 ELSE 440 430 ; CHR$(7%)CUR(20%,0%)"Du m}ste skriva in STORA bokst{ver!" : ; "Tryck p} "; : GET F$ : A=A-1 : GOTO 650 440 IF A<2 GOTO 480 450 FOR D%=0 TO A-2 460 IF F$(\%)=F$(D%) GOTO 640 : REM J[MF\R TIDIGARE BOKST[VER,LIKA? 470 NEXT D% 480 I%=I%+1 : REM \KA "KOLUMN" F\R UTSKRIFT 490 ; CUR(0%,I%);F$(\%) : REM UTSKRIFT AV FEL GISSNING 500 FOR K%=1 TO L 510 B$=MID$(A$,K%,1) 520 IF F$(\%)=B$ GOTO 540 : REM ST[MMER BOKSTAVEN? 530 B1=B1+1 : GOTO 570 540 G=G+1 : A5=A5+1 : ; CUR(11%,K%);F$(\%) : REM SKRIV UT R[TT GISSNING! 550 IF H=2 GOTO 570 560 ; CUR(O%,I%);" " : I%=I%-1 : H=2 570 NEXT K% 580 IF G=L THEN 660 : REM FULLST[NDIGT ORD 590 IF A5<>0 GOTO 620 600 IF B1=0 GOTO 620 610 B1=0 : B=B+1 : L1%=L1%+1 : GOTO 740 620 B1=0 : A5=0 : NEXT \% 630 GOTO 860 640 ; CHR$(7%)CUR(20%,0%)"Du har redan skrivit in den bokstaven!" : ; "Tryck p} "; : GET F$ : A=A-1 650 ; CUR(20%,0%)" " : ; " " : GOTO 410 660 ; CHR$(12%)"GRATTIS DU HAR GISSAT R[TT." : ; 670 IF B=0 ; "DET VAR INTE FEL P] N]GON GISSNING! TURGUBBE!" ELSE 690 680 GOTO 700 690 IF L1%=1% ; "DET VAR FEL P] 1 GISSNING!" ELSE ; "DET VAR FEL P]";L1%" GISSNINGAR!" 700 ; CUR(5%,0%);"DET R[TTA ORDET VAR ALLTS] " : ; A$ : ; CUR(10%,0%)"IGEN? (J/N)"; : POKE 65013%,0% : GET F$ 710 IF F$="J" OR F$="j" GOTO 240 720 IF F$="N" OR F$="n" GOTO 900 ELSE 700 730 DATA STENHUS,JOJO,ANKA,DATOR,HUS,HAV,SN\,KLO,STEN,]KER,SKOG,STAD,F]GEL,[LG,SK]P,SYMASKIN,]L,MUS,BANDSPELARE 740 IF B>11 GOTO 860 750 B1=0 : ON B RESTORE 1260,1260,1310,980,1000,1070,1090,1110,1130,1150,1190 760 IF B=1 THEN S=48 : REM S=ANTAL SETDOT POSITIONER 770 IF B=2 GOTO 1230 780 IF B=3 THEN S=4 790 IF B=4 THEN S=19 800 IF B=5 THEN S=48 810 IF B=6 OR B=7 THEN S=7 820 IF B=8 OR B=9 THEN S=14 830 IF B=10 THEN S=2 840 IF B=11 S=6 850 GOTO 910 860 ; CUR(20,0)"DET R[TTA ORDET VAR "A$ 870 POKE 32464,211,207,210,210,217,172,196,213,160,194,204,197,214,160,200,219,206,199,196,161 880 ; CUR(22%,0%);"IGEN? (J/N)"; : GET F$ 890 IF F$="J" OR F$="j" ; CHR$(12%)CUR(10%,0%); : GOTO 240 900 IF F$="N" OR F$="n" ; CHR$(12%)"Adj|!" : END ELSE GOTO 880 910 FOR J2=1 TO S 920 READ R,J1 930 SETDOT R+23,J1+36 940 NEXT J2 950 IF B=1 GOTO 1230 960 IF B=11 GOTO 860 ELSE 570 970 REM HUVUD 980 DATA 5,16, 5,17, 5,18, 6,19, 6,15, 7,14, 7,20, 8,14, 9,14, 8,20, 9,20, 10,15, 10,19, 11,16, 11,17, 11,18 990 DATA 7,16, 7,18, 8,17 1000 REM KROPP 1010 DATA 12,13, 12,14, 12,15, 12,16, 12,17, 12,18, 12,19 1020 DATA 12,20, 12,21, 13,13, 13,14, 13,15, 13,16, 13,17, 13,18, 13,19 1030 DATA 13,20, 13,21, 14,15, 14,16, 14,17, 14,18, 14,19 1040 DATA 15,15, 15,16, 15,17, 15,18, 15,19, 16,15, 16,16, 16,17, 16,18 1050 DATA 16,19, 17,15, 17,16, 17,17, 17,18, 17,19, 18,15 1060 DATA 18,16, 18,17, 18,18, 18,19, 19,15, 19,16, 19,17, 19,18, 19,19 1070 REM V.ARM 1080 DATA 14,13, 15,13, 16,13, 17,13, 18,13, 19,13, 20,13 1090 REM H.ARM 1100 DATA 14,21, 15,21, 16,21, 17,21, 18,21, 19,21, 20,21 1110 REM V.BEN 1120 DATA 20,15, 20,16, 21,15, 21,16, 22,15, 22,16, 23,15, 23,16, 24,15, 24,16, 25,15, 25,16, 26,15, 26,16 1130 REM H.BEN 1140 DATA 20,18, 20,19, 21,18, 21,19, 22,18, 22,19, 23,18, 23,19, 24,18, 24,19, 25,18, 25,19, 26,18, 26,19 1150 REM V.HAND 1160 DATA 20,12 1170 REM H.HAND 1180 DATA 20,22 1190 REM V.FOT 1200 DATA 27,14, 27,15, 27,16 1210 REM H.FOT 1220 DATA 27,18, 27,19, 27,20 1230 FOR A1=1 TO 28 : SETDOT A1+23,43 : NEXT A1 1240 FOR A1=7 TO 17 : SETDOT 24,A1+36 : NEXT A1 : FOR A1=2 TO 4 : SETDOT A1+23,53 : NEXT A1 1250 B=3 : GOTO 750 1260 DATA 34,1, 34,2, 34,3, 34,4, 34,5, 34,6, 34,7, 34,8 1270 DATA 34,9, 34,10, 34,11, 34,12, 34,13, 33,2, 33,3, 33,4 ,33,5 1280 DATA 33,6, 33,7, 33,8, 33,9, 33,10, 33,11, 33,12, 32,3 1290 DATA 32,4, 32,5, 32,6, 32,7, 32,8, 32,9, 32,10, 32,11, 31,4 1300 DATA 31,5, 31,6, 31,7, 31,8, 31,9, 31,10, 30,5, 30,6, 30,7, 30,8, 30,9, 29,6, 29,7, 29,8 1310 DATA 5,8, 4,9, 3,10, 2,11