1 REM Ins{nt av 863 10 REM +++++++++++++++++++++++++++++++++ 20 REM ! Program .... DJUR 30 REM ! Utg}va 1.0 82-05-05 40 REM ! Id` fr}n YOUR COMPUTER 50 REM ! {ndrat av GST 60 REM ! Copyright GST 70 REM ! Minne 32 Kbytes f|r flexskiva 80 REM ! Ins{nt av GST 90 REM +++++++++++++++++++++++++++++++++ 100 REM F|r instruktioner se separat fil 110 REM 120 ; CHR$(12%) 130 ; ' * * * D J U R * * * ' 140 ; : ; : ; 150 ; 'SPELA "GISSA DJURET"' 160 ; 'T[NK P] ETT DJUR OCH L]T DATORN' 170 ; 'GISSA VILKET.' 180 ; 190 M9%=200% 200 ONERRORGOTO 1450 210 E9%=1% 220 DIM A$(M9%) 230 GOSUB 900 240 N%=VAL(A$(0%)) 250 ; : ; 'T[NKER DU P] ETT DJUR '; : INPUT A$ 260 IF LEFT$(A$,1%)<>"J" THEN 1330 270 K%=1% 280 GOSUB 560 290 IF LEN(A$(K%))=0% THEN STOP 300 IF LEFT$(A$(K%),2%)="#Q" THEN 280 310 ; "[R DET ";RIGHT$(A$(K%),3%);' '; 320 INPUT A$ 330 A$=LEFT$(A$,1%) 340 IF A$="J" THEN PRINT "VARF\R INTE PROVA ETT ANNAT DJUR ?" : GOTO 250 350 ; 'DJURET DU T[NKTE P] VAR '; : INPUTLINE V$ 360 V$=LEFT$(V$,LEN(V$)-2%) 370 ; : ; 'VAR V[NLIG OCH SKRIV IN EN FR]GA' 380 ; 'SOM G\R ';V$ 390 ; 'SKILJBAR FR]N ';RIGHT$(A$(K%),3%) 400 INPUTLINE X$ 410 X$=LEFT$(X$,LEN(X$)-2%) 420 ; : ; 'F\R ';V$;' SKULLE SVARET BLI '; 430 INPUT A$ 440 A$=LEFT$(A$,1%) : IF A$<>'J' AND A$<>'N' THEN 420 450 IF A$='J' THEN B$='N' 460 IF A$='N' THEN B$='J' 470 Z1%=VAL(A$(0%)) 480 IF Z1%=M9% GOTO 1080 490 A$(0%)=MID$(SPACE$(1%)+NUM$(Z1%+2%)+SPACE$(1%),2%,LEN(SPACE$(1%)+NUM$(Z1%+2%)+SPACE$(1%))-2%) 500 A$(Z1%)=A$(K%) 510 A$(Z1%+1%)="#E"+V$ 520 E1$=MID$(SPACE$(1%)+NUM$(Z1%+1%)+SPACE$(1%),2%,LEN(SPACE$(1%)+NUM$(Z1%+1%)+SPACE$(1%))-2%) 530 E2$=MID$(SPACE$(1%)+NUM$(Z1%)+SPACE$(1%),2%,LEN(SPACE$(1%)+NUM$(Z1%)+SPACE$(1%))-2%) 540 A$(K%)="#Q"+X$+"#"+A$+E1$+"#"+B$+E2$+"#" 550 GOTO 250 560 Q$=A$(K%) 570 FOR Z%=3% TO LEN(Q$) 580 IF MID$(Q$,Z%,1%)<>"#" THEN PRINT MID$(Q$,Z%,1%); : NEXT Z% 590 ; ' '; 600 INPUT C$ 610 C$=LEFT$(C$,1%) 620 IF C$<>'J' AND C$<>'N' THEN 570 630 T$='#'+C$ 640 FOR X%=3% TO LEN(Q$)-1% 650 IF MID$(Q$,X%,2%)=T$ THEN 680 660 NEXT X% 670 STOP 680 FOR Y%=X%+1% TO LEN(Q$) 690 IF MID$(Q$,Y%,1%)='#' THEN 720 700 NEXT Y% 710 STOP 720 K%=VAL(MID$(Q$,X%+2%,Y%-X%-2%)) 730 RETURN 740 DATA '4','#Q[R DET ETT D[GGDJUR#J2#N3#','#EEN HUND','#EEN G[DDA' 750 ; : ; 'DJUR SOM JAG REDAN KAN [R:' 760 X%=0% : ]%=0% 770 FOR I%=0% TO M9% 780 IF ]%>=40% ; CUR(23%,0%)'FORTS[TTA (J)'; : GET Z$ : ; ELSE 800 790 IF Z$='J' OR Z$=CHR$(13%) ]%=0% : X%=0% : GOTO 800 ELSE 780 800 IF A$(I%)='' 870 810 IF LEFT$(A$(I%),2%)<>'#E' THEN 860 820 ]%=]%+1% : ; TAB(20%*X%); 830 FOR Z%=3% TO LEN(A$(I%)) 840 IF MID$(A$(I%),Z%,1%)<>'#' THEN ; MID$(A$(I%),Z%,1%); : NEXT Z% 850 X%=X%+1% : IF X%>1% THEN X%=0% : ; 860 NEXT I% 870 ; 880 ; 890 GOTO 250 900 REM 910 REM FINNS BIBLIOTEK ? 920 ONERRORGOTO 1450 930 E9%=2% 940 P1$='DJURBIBL.SYS' 950 P2$='DJURTEMP.SYS' 960 OPEN P1$ ASFILE 1% 970 INPUTLINE #1%,A$(0%) 980 A$(0%)=LEFT$(A$(0%),LEN(A$(0%))-2%) 990 ONERRORGOTO 1450 1000 E9%=3% 1010 F9%=1% 1020 I%=1% 1030 INPUTLINE #1%,A$(I%) 1040 A$(I%)=LEFT$(A$(I%),LEN(A$(I%))-2%) 1050 I%=I%+1% 1060 IF I%>M9% THEN 1080 1070 GOTO 1030 1080 REM 1090 ; CHR$(7%) : ; P1$;' F\R STOR.' 1100 ; 'ELLER A$() F\R LITEN. UT\KA M9%.' 1110 ; 'VILL DU SPARA BIBLIOTEKET (J/N)'; : GET S$ : IF S$='J' 1130 1120 STOP 1130 REM 1140 ONERRORGOTO 1450 1150 E9%=4% 1160 PREPARE P2$ ASFILE 2% 1170 FOR I%=0% TO VAL(A$(0%))-1% 1180 ; #2%,A$(I%) 1190 NEXT I% 1200 REM 1210 ONERRORGOTO 1450 1220 E9%=5% 1230 CLOSE 2% 1240 IF F9%<>1% THEN 1260 1250 KILL P1$ 1260 NAME P2$ AS P1$ 1270 STOP 1280 REM <1 : A G]NGEN> 1290 FOR I%=0% TO 3% 1300 READ A$(I%) 1310 NEXT I% 1320 RETURN 1330 REM KOLLA VAD HAN VILL 1340 ; 1350 ; 'DU HAR NU F\LJANDE ALTERNATIV: ' 1360 ; ' EXIT (AVSLUTA)' 1370 ; ' LIST (SKRIV DJUR JAG L[RT MIG)' 1380 ; ' GISSA (GISSA MERA DJUR)' 1390 ; 'DU V[LJER: '; : INPUT A$ 1400 A$=LEFT$(A$,2%) 1410 IF A$='EX' THEN 1130 1420 IF A$='LI' THEN 750 1430 IF A$='GI' THEN 250 1440 GOTO 1340 1450 REM 1460 ON E9% GOTO 1470,1500,1530,1570,1720 1470 REM <\VRIGA FEL> 1480 ; 'FEL NR:'ERRCODE 1490 STOP 1500 REM 1510 IF ERRCODE=21% THEN 1280 1520 GOTO 1480 1530 REM 1540 IF ERRCODE<>34% THEN 1480 1550 CLOSE 1% 1560 GOTO 250 1570 REM 1580 IF ERRCODE=41% THEN 1630 1590 GOTO 1480 1600 REM 1610 KILL P2$ 1620 GOTO 1130 : REM PROVA IGEN 1630 REM 1640 ; 'SKIVAN FULL. F\R ATT SPARA SENASTE' 1650 ; 'BIBLIOTEKET F]R DU S[TTA IN EN NY' 1660 ; 'SKIVA. ELLER STRUNTA I DET' 1670 ; 'NY I NU (NY)/STRUNTA (ST): '; : INPUT A$ 1680 A$=LEFT$(A$,2%) 1690 IF A$='NY' THEN GOTO 1130 1700 IF A$='ST' THEN STOP 1710 GOTO 1630 1720 REM 1730 GOTO 1260