10 ! P]SK.BAC 20 ! Program av Magnus <8042> 1990 30 ! Programet {r skrivet p} en ABC806a 40 ! 50 ! M|jlighet att avsluta med RETURN inf|rd <7759> 60 ! 70 INTEGER : NO EXTEND : ATTRIBUTE 1 80 ; CHR$(12) 90 ; YEL DBLE TAB(10);"P]SK" : ; "" : ; "" 100 ; " Du styr en kyckling med siffertangenterna (2,4,6,8) - avslutar" 110 ; CHR$(10) ' Tryck siffertangent f|r att starta!' 120 IF SYS(5)=0 THEN 120 130 ; CHR$(12) 140 X=20 : Y=10 150 DEF FNK1(X,Y) 160 FGCTL BLK : ; CHR$(12) 170 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112) 180 ; CUR(Y+1,X);GYEL;CHR$(127);GWHT;CHR$(55);GYEL;CHR$(125);GRED;CHR$(112) 190 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 200 ; CUR(Y+3,X-1);GYEL;CHR$(122);CHR$(127);CHR$(127);CHR$(127) 210 ; CUR(Y+4,X-1);GYEL;CHR$(43);CHR$(111);CHR$(63);CHR$(33) 220 ; CUR(Y+5,X);GRED;CHR$(96);CHR$(101) 230 RETURN 0 240 FNEND 250 DEF FNK2(X,Y) 260 FGCTL BLK : ; CHR$(12) 270 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112) 280 ; CUR(Y+1,X);GYEL;CHR$(127);GWHT;CHR$(55);GYEL;CHR$(125);GRED;CHR$(112) 290 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 300 ; CUR(Y+3,X-1);GYEL;CHR$(122);CHR$(127);CHR$(127);CHR$(127) 310 ; CUR(Y+4,X-1);GYEL;CHR$(43);CHR$(111);CHR$(63);CHR$(33) 320 ; CUR(Y+5,X-1);GRED;CHR$(96);CHR$(118);CHR$(121);CHR$(48) 330 RETURN 0 340 FNEND 350 DEF FNN1(X,Y) 360 FGCTL BLK : ; CHR$(12) 370 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 380 ; CUR(Y+1,X);GWHT;CHR$(55);RED NWBG GYEL;CHR$(47);BLBG GWHT;CHR$(107) 390 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 400 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 410 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 420 ; CUR(Y+5,X);GRED;CHR$(58);CHR$(112);CHR$(101) 430 RETURN 0 440 FNEND 450 DEF FNN2(X,Y) 460 FGCTL BLK : ; CHR$(12) 470 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 480 ; CUR(Y+1,X);GWHT;CHR$(55);RED NWBG GYEL;CHR$(47);BLBG GWHT;CHR$(107) 490 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 500 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 510 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 520 ; CUR(Y+5,X);GRED;CHR$(38);CHR$(100);CHR$(101) 530 RETURN 0 540 FNEND 550 DEF FNN3(X,Y) 560 FGCTL BLK : ; CHR$(12) 570 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 580 ; CUR(Y+1,X);GWHT;CHR$(55);RED NWBG GYEL;CHR$(47);BLBG GWHT;CHR$(107) 590 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 600 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 610 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 620 ; CUR(Y+5,X);GRED;CHR$(58);CHR$(56);CHR$(41) 630 RETURN 0 640 FNEND 650 DEF FNV1(X,Y) 660 FGCTL BLK : ; CHR$(12) 670 ; CUR(Y,X+1);GYEL;CHR$(112);CHR$(48) 680 ; CUR(Y+1,X-1);GRED;CHR$(112);GYEL;CHR$(126);GWHT;CHR$(107);GYEL;CHR$(127) 690 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 700 ; CUR(Y+3,X);GYEL;CHR$(127);CHR$(127);CHR$(127);CHR$(117) 710 ; CUR(Y+4,X);GYEL;CHR$(34);CHR$(111);CHR$(63);CHR$(39) 720 ; CUR(Y+5,X+1);GRED;CHR$(58);CHR$(48) 730 RETURN 0 740 FNEND 750 DEF FNV2(X,Y) 760 FGCTL BLK : ; CHR$(12) 770 ; CUR(Y,X+1);GYEL;CHR$(112);CHR$(48) 780 ; CUR(Y+1,X-1);GRED;CHR$(112);GYEL;CHR$(126);GWHT;CHR$(107);GYEL;CHR$(127) 790 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 800 ; CUR(Y+3,X);GYEL;CHR$(127);CHR$(127);CHR$(127);CHR$(117) 810 ; CUR(Y+4,X);GYEL;CHR$(34);CHR$(111);CHR$(63);CHR$(39) 820 ; CUR(Y+5,X);GRED;CHR$(96);CHR$(118);CHR$(121);CHR$(48) 830 RETURN 0 840 FNEND 850 DEF FNU1(X,Y) 860 FGCTL BLK : ; CHR$(12) 870 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 880 ; CUR(Y+1,X);GYEL;CHR$(127);CHR$(127);CHR$(127) 890 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 900 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 910 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 920 ; CUR(Y+5,X);GRED;CHR$(58);CHR$(112);CHR$(101) 930 RETURN 0 940 FNEND 950 DEF FNU2(X,Y) 960 FGCTL BLK : ; CHR$(12) 970 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 980 ; CUR(Y+1,X);GYEL;CHR$(127);CHR$(127);CHR$(127) 990 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 1000 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 1010 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 1020 ; CUR(Y+5,X);GRED;CHR$(38);CHR$(100);CHR$(101) 1030 RETURN 0 1040 FNEND 1050 DEF FNU3(X,Y) 1060 FGCTL BLK : ; CHR$(12) 1070 ; CUR(Y,X);GYEL;CHR$(96);CHR$(112);CHR$(48) 1080 ; CUR(Y+1,X);GYEL;CHR$(127);CHR$(127);CHR$(127) 1090 ; CUR(Y+2,X);GYEL;CHR$(126);CHR$(127);CHR$(125) 1100 ; CUR(Y+3,X-1);GYEL;CHR$(104);CHR$(127);CHR$(127);CHR$(127);CHR$(52) 1110 ; CUR(Y+4,X-1);GYEL;CHR$(34);CHR$(127);CHR$(47);CHR$(127);CHR$(33) 1120 ; CUR(Y+5,X);GRED;CHR$(58);CHR$(56);CHR$(41) 1130 RETURN 0 1140 FNEND 1150 IF SYS(5)=0 THEN 1150 1160 OUT 34,9 1170 GET A$ 1180 IF A$="4" THEN GOSUB 1240 1190 IF A$="6" THEN GOSUB 1280 1200 IF A$="8" THEN GOSUB 1320 1210 IF A$="2" THEN GOSUB 1380 1220 IF A$=CHR$(13) 1440 1230 GOTO 1150 1240 ! ----- V[NSTER -------- 1250 X=X-1 : IF X<1 THEN X=1 1260 IF V=0 THEN V=1 : Z=FNV1(X,Y) : RETURN 1270 IF V=1 THEN V=0 : Z=FNV2(X,Y) : RETURN 1280 ! ------- H\GER ----------- 1290 X=X+1 : IF X>75 THEN X=75 1300 IF H=0 THEN H=1 : Z=FNK1(X,Y) : RETURN 1310 IF H=1 THEN H=0 : Z=FNK2(X,Y) : RETURN 1320 ! ------- UPP ----------- 1330 Y=Y-1 : IF Y<1 THEN Y=1 1340 IF U=0 THEN U=1 : Z=FNU1(X,Y) : RETURN 1350 IF U=1 THEN U=2 : Z=FNU2(X,Y) : RETURN 1360 IF U=2 THEN U=3 : Z=FNU1(X,Y) : RETURN 1370 IF U=3 THEN U=0 : Z=FNU3(X,Y) : RETURN 1380 ! -------- NER ---------- 1390 Y=Y+1 : IF Y>17 THEN Y=17 1400 IF N=0 THEN N=1 : Z=FNN1(X,Y) : RETURN 1410 IF N=1 THEN N=2 : Z=FNN2(X,Y) : RETURN 1420 IF N=2 THEN N=3 : Z=FNN1(X,Y) : RETURN 1430 IF N=3 THEN N=0 : Z=FNN3(X,Y) : RETURN 1440 END