Classy Front End, Part I

Authors

Paul Bingham

Publication

Publication Details

Volume: 3 Issue: 3

Date

March/April 1987

Pages

9-11

Program demonstrates printing with variable-width fonts using PLOT/DRAW.

   10 POKE 23658,8: GO SUB 200
   20 LET X=110: LET Y=80
   30 LET MODE=1
   40 LET X=X+(INKEY$="8")-(INKEY$="5")
   50 LET Y=Y+(INKEY$="7")-(INKEY$="6")
   60 IF Y>175 THEN LET Y=175
   70 IF Y<0 THEN LET Y=0
   80 IF X>255 THEN LET X=255
   90 IF X<0 THEN LET X=0
  100 IF INKEY$="M" THEN LET MODE=0
  110 IF INKEY$="D" THEN LET MODE=1
  120 IF INKEY$="Z" THEN COPY 
  125 IF INKEY$="V" THEN CLS 
  130 IF INKEY$="I" THEN GO TO 500
  135 IF INKEY$="Q" THEN GO TO 1000
  140 IF INKEY$="S" THEN GO TO 700
  145 IF INKEY$="L" THEN GO TO 750
  150 IF MODE=0 THEN GO TO 180
  160 OVER 1: PLOT X,Y: OVER 0: PLOT X,Y
  170 GO TO 40
  180 OVER 0: PLOT X,Y: OVER 1: PLOT X,Y
  190 GO TO 40
  200 CLS 
  210 PRINT AT 1,10;"*PLOTTER*"
  220 PRINT ,," BY HARRY W. JOHNSON            "
  230 PRINT ,," AND GARY L. SWARTZ    1984     "
  240 PRINT ,,"                                "
  250 PRINT ,,"REVISED FOR 2068 BY JOHN MARION "
  260 PRINT ,,"KEY ""M"" TO MOVE WITH OUT"
  270 PRINT "PLOTTING OR TO ERASE."
  280 PRINT ,,"KEY ""D"" TO DRAW."
  290 PRINT ,, "KEY ""Z"" TO COPY TO 2040 PRINTER."
  300 PRINT ,,"MOVE USING THE ARROW KEYS."
  310 PRINT ,,"    PRESS ANY KEY TO CONTINUE   "
  320 PAUSE 4E4
  330 CLS 
  340 PRINT AT 1,10;"*PLOTTER*"
  350 PRINT ,,"KEY ""I"" TO ENTER TEXT."
  360 PRINT "POSITION CURSOR THEN KEY ""P"""
  370 PRINT "ENTER YOUR TEXT, IT WILL APPEAR"
  380 PRINT "AT CURSOR POINT."
  390 PRINT ,,"KEY ""S"" TO SAVE SCREEN"
  400 PRINT ,,"KEY ""L"" TO LOAD SCREEN"
  405 PRINT ,,"KEY ""V"" TO CLEAR SCREEN"
  410 PRINT ,,"KEY ""Q"" TO QUIT PROGRAM"
  420 PRINT ,,"    PRESS ANY KEY TO CONTINUE   "
  430 PAUSE 4E4
  440 CLS 
  450 RETURN 
  500 OVER 0: LET L=21: LET C=0
  510 IF L>21 THEN LET L=21
  520 IF L<0 THEN LET L=0
  530 IF C>31 THEN LET C=31
  540 IF C<0 THEN LET C=0
  550 PRINT AT L,C;">"
  555 FOR V=1 TO 10: NEXT V
  560 PRINT AT L,C;" "
  570 LET L=L+(INKEY$="6")-(INKEY$="7")
  580 LET C=C+(INKEY$="8")-(INKEY$="5")
  590 IF INKEY$="P" THEN GO TO 610
  600 GO TO 510
  610 PRINT AT L,C;">"
  620 INPUT H$
  630 PRINT AT L,C;" ";H$
  640 GO TO 40
  700 INPUT "SAVE NAME";A$
  710 IF A$="" THEN GO TO 40
  720 SAVE A$SCREEN$ 
  730 GO TO 40
  750 INPUT "LOAD NAME";A$
  760 LOAD A$SCREEN$ 
  770 GO TO 40
  800 SAVE "PLOTTER" LINE 10
  810 RUN 
Scroll to Top