home *** CD-ROM | disk | FTP | other *** search
- 1 REM SKETCHPAD PROGRAM FOR THE AMIGA
- 2 REM
- 3 REM WRITTEN BY RICK SCHAEFFER [70120,174]
- 4 REM
- 5 REM TO DRAW, CLICK ON A COLOR AND GO FOR IT!
- 6 REM TO DRAW A LINE, FIRST SELECT A COLOR AND THEN CLICK ON "L"
- 7 REM AND THEN MOVE TO THE STARTING LOCATION FOR THE LINE...
- 8 REM THEN HOLD THE BUTTON DOWN WHILE DRAWING THE LINE.
- 9 REM
- 10 REM TO DRAW A BOX, DO LIKE A LINE EXCEPT CLICK ON "B".
- 11 REM TO DRAW AN ELIPSE, DO LIKE A BOX EXCEPT CLICK ON "E".
- 12 REM
- 13 REM TO FILL A SHAPE...FIRST CLICK ON THE DESIRED COLOR...
- 14 REM THEN CLICK ON "F"...
- 15 REM THEN MOVE THE POINTER INSIDE THE SHAPE TO FILL...
- 16 REM THEN CLICK THE MOUSE ONCE AND THE SHAPE WILL BE FILLED.
- 17 REM
- 18 REM TO CLEAR THE SCREEN, CLICK ON "C".
- 19 REM TO QUIT, CLICK ON "Q".
- 20 REM
- 200 OUTLINE 0
- 210 ASK WINDOW S1%,S2%
- 220 IF S1%>320 THEN SCREEN 0,4,0
- 230 ASK RGB 0,R0%,G0%,B0%
- 240 ASK RGB 1,R1%,G1%,B1%
- 250 WINDOW #1,0,0,320,240,"SKETCHPAD"
- 260 X1%=-1:Y1%=-1
- 270 GOSUB 470
- 280 ASK MOUSE X%,Y%,B%
- 290 X1%=X%:Y1%=Y%
- 300 IF B%=0 THEN 280
- 310 IF Y%<=10 AND B%=4 AND X%<160 THEN 320 ELSE 360
- 320 C=INT(X%*.1)
- 330 IF C<0 THEN C=0
- 340 PENA C
- 350 GOTO 280
- 360 IF Y%>10 THEN 430
- 370 IF X%>=192 AND X%<=199 AND B%=4 THEN SCNCLR:GOTO 270
- 380 IF X%>=272 AND X%<=279 AND B%=4 THEN 660
- 390 IF X%>=208 AND X%<=215 AND B%=4 THEN GOSUB 710:GOTO 280
- 400 IF X%>=224 AND X%<=231 AND B%=4 THEN GOSUB 850:GOTO 280
- 410 IF X%>=240 AND X%<=247 AND B%=4 THEN GOSUB 970:GOTO 280
- 420 IF X%>=256 AND X%<=263 AND B%=4 THEN GOSUB 1030:GOTO 280
- 430 DRAW(X1%,Y1% TO X%,Y%):X1%=X%:Y1%=Y%
- 440 ASK MOUSE X%,Y%,B%
- 450 IF B%=4 THEN 430
- 460 GOTO 280
- 470 CMD 1
- 480 OUTLINE 0
- 490 RGB 0,0,0,0
- 500 RGB 1,6,9,15
- 510 PRINT AT (25,0);INVERSE(1);"C";
- 520 PRINT AT (27,0);INVERSE(1);"L";
- 530 PRINT AT (29,0);INVERSE(1);"B";
- 540 PRINT AT (31,0);INVERSE(1);"F";
- 550 PRINT AT(33,0);INVERSE(1);"E";
- 560 FOR X=0 TO 15
- 570 PENA X
- 580 BOX(X*10,0;X*10+9,10),1
- 590 NEXT X
- 600 PRINT AT (35,0);INVERSE(1);"Q";INVERSE(0);" ";
- 610 PENA 0
- 620 BOX(288,0;288+9,10),1
- 630 PENA 0
- 640 OUTLINE 1
- 650 RETURN
- 660 CLOSE #1
- 670 RGB 0,R0%,G0%,B0%
- 680 RGB 1,R1%,G1%,B1%
- 690 IF S1%>320 THEN SCREEN 1,3,0
- 700 END
- 710 REM DRAW A LINE
- 720 ASK MOUSE X%,Y%,B%:IF B%=4 THEN 720
- 730 ASK MOUSE X%,Y%,B%:IF B%=0 THEN 730
- 740 X2%=X%:Y2%=Y%
- 750 X1%=X%:Y1%=Y%
- 760 DRAWMODE 2
- 770 ASK MOUSE X%,Y%,B%
- 780 IF B%=0 THEN DRAWMODE 0:DRAW(X1%,Y1% TO X2%,Y2%):RETURN
- 790 PENA 0
- 800 DRAW(X1%,Y1% TO X2%,Y2%)
- 810 PENA C
- 820 DRAW(X1%,Y1% TO X%,Y%)
- 830 X2%=X%:Y2%=Y%
- 840 GOTO 770
- 850 REM DRAW A BOX
- 860 ASK MOUSE X%,Y%,B%:IF B%=4 THEN 860
- 870 ASK MOUSE X%,Y%,B%:IF B%=0 THEN 870
- 880 X2%=X%:Y2%=Y%
- 890 X1%=X%:Y1%=Y%
- 900 DRAWMODE 2
- 910 ASK MOUSE X%,Y%,B%
- 920 IF B%=0 THEN DRAWMODE 0:PENO C:BOX(X1%,Y1% ; X2%,Y2%):PENO 0:RETURN
- 930 BOX(X1%,Y1% ; X2%,Y2%)
- 940 BOX(X1%,Y1% ; X%,Y%)
- 950 X2%=X%:Y2%=Y%
- 960 GOTO 910
- 970 REM FILL
- 980 ASK MOUSE X%,Y%,B%:IF B%=4 THEN 980
- 990 ASK MOUSE X%,Y%,B%:IF B%=0 THEN 990
- 1000 ASK MOUSE X%,Y%,B%:IF B%=0 THEN 1000
- 1010 PAINT (X%,Y%),1
- 1020 RETURN
- 1030 REM DRAW A CIRCLE
- 1040 ASK MOUSE X%,Y%,B%:IF B%=4 THEN 1040
- 1050 ASK MOUSE X%,Y%,B%:IF B%=0 THEN 1050
- 1060 CX%=X%:CY%=Y%
- 1070 X1%=X%:Y1%=Y%
- 1080 CA=0:CR=0
- 1090 DRAWMODE 2
- 1100 ASK MOUSE X%,Y%,B%
- 1110 IF B%=0 THEN DRAWMODE 0:PENO C:CIRCLE(CX%,CY%),CR,CA:PENO 0:RETURN
- 1120 CIRCLE(CX%,CY%),CR,CA
- 1130 REM DRAW THE NEW CIRCLE
- 1140 CX%=(X1%+X%)/2:CY%=(Y1%+Y%)/2
- 1150 CR=ABS(X1%-X%)/2
- 1160 IF ABS(X1%-X%)=0 THEN CA=1 ELSE CA=ABS(Y1%-Y%)/ABS(X1%-X%)
- 1170 CIRCLE(CX%,CY%),CR,CA
- 1180 GOTO 1100
-