1 'DIM IM(14000) 4 KEY OFF 5 '640 x 350 gr, 80 x25 text 6 ON KEY(1) GOSUB 25000 'help 7 KEY(1) ON 10 SCREEN 0,0,0:CLS 12 LOCATE 10,10:INPUT "Enter the name of the picture to be stored in :";FILE$ 20 'PSET(650,351) 28 SCREEN 9:CLS 30 X=320:Y=175 31 LOCATE 2,70:PRINT "Help :F1" 35 LOCATE 1,65:PRINT "X:";X;"Y:";Y 40 PSET(X,Y) 50 LINE(0,30)-(640,30) 70 A$=INKEY$:IF A$="" THEN 70 75 LOCATE 1,65:PRINT "X:";X;"Y:";Y 77 IF X<5 OR Y<30 THEN BEEP :X=X+1:Y=Y+1:GOTO 70 78 'IF X<5 OR Y<30 THEN BEEP :X=X+1:Y=Y+1:GOTO 70 80 IF A$="u" THEN Y=Y-1:PSET(X,Y) 81 IF A$="U" THEN LINE(X,Y)-(X,Y-5):Y=Y-5 90 IF A$="n" THEN Y=Y+1:PSET(X,Y) 91 IF A$="N" THEN LINE(X,Y)-(X,Y+5):Y=Y+5 100 IF A$="h" THEN X=X-1:PSET(X,Y) 101 IF A$="H" THEN LINE(X,Y)-(X-5,Y):X=X-5 110 IF A$="k" THEN X=X+1:PSET(X,Y) 111 IF A$="K" THEN LINE(X,Y)-(X+5,Y):X=X+5 120 IF A$="1" THEN GOSUB 5500 'Line 123 IF A$=CHR$(13) AND TAGL=2 THEN L1=X:L2=Y:GOSUB 5522 125 IF A$=CHR$(13) AND TAGL=3 THEN LOCATE 1,1:PRINT SPACE$(50):LINE(L1,L2)-(X,Y):TAGL=0 130 IF A$="a" THEN GOSUB 6000 131 IF A$="A" THEN PRESET(X,Y):X=X-5:PSET(X,Y) 140 IF A$="d" THEN PRESET(X,Y):X=X+1:PSET(X,Y) 141 IF A$="D" THEN PRESET(X,Y):X=X+5:PSET(X,Y) 150 IF A$="w" THEN PRESET(X,Y):Y=Y-1:PSET(X,Y) 151 IF A$="W" THEN PRESET(X,Y):Y=Y-5:PSET(X,Y) 160 IF A$="x" THEN PRESET(X,Y):Y=Y+1:PSET(X,Y) 161 IF A$="X" THEN PRESET(X,Y):Y=Y+5:PSET(X,Y) 170 IF A$="2" THEN GOSUB 7000 'circle 172 IF A$=CHR$(13) AND TAGC=2 THEN GOSUB 7040 175 IF A$=CHR$(13) AND TAGC=3 THEN GOSUB 7990 'R=X-C1:CIRCLE(C1,C2),R:TAGc=0 180 IF A$="q" THEN PRESET(X,Y):X=X-1:Y=Y-1:PSET(X,Y) 190 IF A$="Q" THEN PRESET(X,Y):Y=Y-5:X=X-5::PSET(X,Y) 200 IF A$="e" THEN PRESET(X,Y):X=X+1:Y=Y-1:PSET(X,Y) 210 IF A$="E" THEN PRESET(X,Y):X=X+5:Y=Y-5:PSET(X,Y) 220 IF A$="z" THEN PRESET(X,Y):X=X-1:Y=Y+1:PSET(X,Y) 230 IF A$="Z" THEN PRESET(X,Y):X=X-5:Y=Y+5:PSET(X,Y) 240 IF A$="c" THEN PRESET(X,Y):X=X+1:Y=Y+1:PSET(X,Y) 250 IF A$="C" THEN PRESET(X,Y):X=X+5:Y=Y+5:PSET(X,Y) 270 IF A$="y" THEN X=X-1:Y=Y-1:PSET(X,Y) 280 IF A$="Y" THEN LINE(X,Y)-(X-5,Y-5):X=X-5:Y=Y-5 290 IF A$="b" THEN X=X-1:Y=Y+1:PSET(X,Y) 300 IF A$="B" THEN LINE(X,Y)-(X-5,Y+5):X=X-5:Y=Y+5 310 IF A$="i" THEN X=X+1:Y=Y-1:PSET(X,Y) 320 IF A$="I" THEN LINE(X,Y)-(X+5,Y-5):X=X+5:Y=Y-5 330 IF A$="m" THEN X=X+1:Y=Y+1:PSET(X,Y) 340 IF A$="M" THEN LINE(X,Y)-(X+5,Y+5):X=X+5:Y=Y+5 342 IF A$="t" OR A$="T" THEN GOSUB 30000 350 IF A$="3" THEN GOSUB 9000 360 IF A$=CHR$(13) AND TAGB=2 THEN GOSUB 9040 370 IF A$=CHR$(13) AND TAGB=3 THEN LINE(X1,Y1)-(X,Y),,B:LOCATE 1,1:PRINT SPACE$(50):TAGB=0 380 IF A$="4" THEN GOSUB 11000 390 IF A$=CHR$(13) AND TAGCO=2 THEN GOSUB 11500 400 IF A$=CHR$(13) AND TAGCO=3 THEN GOSUB 12000 410 IF A$=CHR$(13) AND TAGT=1 THEN GOSUB 31000 4900 GOTO 70 5000 'END 5490 'line 5500 LOCATE 1,1:PRINT "Move the pointer to the first point" 5520 TAGL=2 :RETURN 5522 LOCATE 1,2:PRINT "Move the pointer to the second point" 5530 TAGL=3:RETURN 70 5540 LOCATE 1,40:INPUT "Y :";Y2 5542 IF Y2<21 THEN BEEP :GOTO 5540 5550 LINE(X1,Y1)-(X2,Y2) 5600 RETURN 6000 'A=POINT(X,Y) 'WITHOUT DRAWING MOVE 6010 'IF A=0 THEN 6030 6020 'X=X-1:PSET(X,Y):GOTO 6040 6030 PRESET(X,Y):X=X-1:PSET(X,Y) 6040 RETURN 7000 'circle1 7010 LOCATE 1,1:PRINT "Move the pointer to the centre point" 7020 TAGC=2 7030 RETURN 7040 'circle 2 7050 C1=X:C2=Y:TAGC=3:LOCATE 1,1:PRINT "Move the pointer upto the radius " 7070 RETURN 70 7990 'CIRCLE3 8000 'IF X>C1 AND YC2 THEN R=C1-X 8030 'IF X>C1 AND Y>C2 THEN R=X-C1 8032 'IF X=C1 THEN R=ABS(X-C1) 8034 'IF Y=C2 THEN R=ABS(Y-C2) 8036 A=ABS(X-C1):B=ABS(Y-C2):R=((A^2)+(B^2))^(1/2) 8040 CIRCLE(C1,C2),R:TAGC=0 8042 LOCATE 1,1:PRINT SPACE$(50) 8050 RETURN 9000 'BOx1 9010 LOCATE 1,1:PRINT "Move the pointer to the first point" 9020 X1=X:Y1=Y:TAGB=2 9030 RETURN 9040 'box2 9050 LOCATE 1,1:PRINT "Move the pointer to the second point" 9060 TAGB=3 9070 RETURN 70 10000 'Column 10010 CLS 10020 LINE(300,125)-(350,275),,B 10030 CIRCLE(325,125),25,,0,3.14,.3 10032 CIRCLE(325,275),25,,3.14,2*3.14,.3 11000 'Column 1 11010 LOCATE 1,1:PRINT "Move the pointer to the Column Upper Left" 11020 TAGCO=2 11030 RETURN 70 11500 LOCATE 1,1:PRINT "Move the pointer to the Column Bottom Right" 11510 X1=X:Y1=Y:TAGCO=3 11520 RETURN 70 12000 'Column 3 12010 LINE(X1,Y1)-(X,Y),,B 12020 C=(X1+X)/2 12030 CIRCLE(C,Y1),(X-C),,0,3.14,.3 12040 CIRCLE(C,Y),(X-C),,3.14,2*3.14,.3 12050 TAGCO=0 12060 LOCATE 1,1:PRINT SPACE$(50) 12070 RETURN 70 25000 DEF SEG =&HB800 'GET(35,0)-(580,200),IM 25010 BSAVE "temp.pic",0,16000 'CLS:SCREEN 0,0,0 25020 SCREEN 0,0,0:CLS:LOCATE 1,40:PRINT "HELP" 25030 PRINT ,"Press",,,"Action" 25040 PRINT ,"u",,"One point up with drawing" 25050 PRINT ,"u",,"One point up with drawing" 25060 PRINT ,"U",,"Five point up with drawing" 25070 PRINT ,"n",,"One point down with drawing" 25080 PRINT ,"N",,"Five point down with drawing" 25090 PRINT ,"h",,"One point left with drawing" 25100 PRINT ,"H",,"Five point left with drawing" 25110 PRINT ,"k",,"One point right with drawing" 25120 PRINT ,"K",,"Five point right with drawing" 25130 PRINT ,"w",,"One point up without drawing" 25140 PRINT ,"W",,"Five point up without drawing" 25150 PRINT ,"x",,"One point down without drawing" 25160 PRINT ,"X",,"Five point down without drawing" 25170 PRINT ,"a",,"One point left without drawing" 25180 PRINT ,"A",,"Five point left without drawing" 25190 PRINT ,"d",,"One point right without drawing" 25200 PRINT ,"D",,"One point right without drawing" 25500 IF INKEY$="" THEN 25500 25510 SCREEN 9:DEF SEG=&HB800:BLOAD"temp.pic",0 'PUT(35,0),IM 25520 RETURN 70 30000 LOCATE 1,1:PRINT "TEXT MODULE: Enter the Location and press RETURN" 30010 TAGT=1 30020 'KEY(10) ON:ON KEY(10) GOTO 30040 30030 GOTO 30050 30040 'IF TAGT=1 THEN TAGT=0:RETURN 30050 RETURN 30060 ' 31000 'text module 31010 LOCATE 1,1:PRINT "TEXT MODULE : Enter the text now ":ROW=80*(X/640):COL=25*(Y/350) 31020 LOCATE COL,ROW 31030 INPUT A$:LOCATE COL,ROW:PRINT " " 31040 TAGT=0:LOCATE 1,1:PRINT SPACE$(40):RETURN