Screenshot 1 Screenshot 2
2bc0 3ef1 0000 B ... GRAFIK
Grafikroutinen werden noch gebraucht. Wo sind sie? Ruft verschiedene Routinen auf: CALL*9393 Punkt setzen CALL*9395 Punkt löschen CALL*9399 CALL*939B CALL*939D
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10!GRAFIKPROGRAMM:CALL*9399
   15 CALL*9399
   20 WINDOW 0,31,0,31:CLS:X$=CHR$(203)
   30 PRINT STRING$(224,X$)"GRAFIKPROGRAMM";
   40 PRINT STRING$(255,X$)STRING$(255,X$);
   50 PRINT STRING$(251,X$)"W.Gutzmann"
   60 PAUSE 40:CLS
   65 WINDOW 0,31,0,31:CLS
   70 PRINT "***GRAFIKPROGRAMM***":PRINT:PRINT:PRINT
   80 PRINT "AUSWAHL DURCH KENNZIFFER":PRINT:PRINT
   90 PRINT "PUNKT SETZEN/LOESCHEN    1":PRINT   
  100 PRINT "LINIE SETZEN/LOESCHEN    2":PRINT    
  110 PRINT "KREIS SETZEN/LOESCHEN    3":PRINT   
  120 PRINT "VIELECK SETZEN/LOESCHEN  4":PRINT
  130 PRINT "LOESCHEN BWS UND RAM     5":PRINT
  140 PRINT "LOESCHEN GRAFIK-RAM      6":PRINT
  150 PRINT "DARSTELLEN GRAFIK-RAM    7":PRINT
  160 PRINT "PROGRAMM-ENDE            8":PRINT
  170 INPUT "KENNZIFFER=";A:CLS
  180 IF A<0 OR A>8 THEN PRINT "FALSCHE EINGABE !":PAUSE 10:CLS:GOTO 65
  190 ON A GOTO 500,1000,1600,5000,2500,3000,3500,200
  200 END
  500 REM PUNKT
  510 WINDOW 28,31,0,31:    
  520 CLS:PRINT "ZURUECK INS MENUE ? (J/N)"  
  530 E$=INKEY$:IF E$="J" THEN GOTO 65
  540 IF E$=""THEN GOTO 530:CLS
  550 CLS
  560 PRINT "PUNKT SETZEN  = 1"
  570 PRINT "PUNKT LOESCHEN= 2"
  580 INPUT B
  590 ON B GOSUB 650,750
  600 GOTO 500
  650!UP PUNKT SETZEN
  660 CLS:PRINT "PUNKT SETZEN"
  678 INPUT "ZEILE =";X
  680 INPUT "SPALTE =";Y
  690 POKE(-27759),X
  700 POKE(-27760),Y
  710 CALL*9393
  720 RETURN
  750!UP PUNKT LOESCHEN
  760 CLS:PRINT "PUNKT LOESCHEN"
  770 INPUT "ZEILE=";X
  780 INPUT "SPALTE=";Y
  790 POKE(-27759),X
  800 POKE(-27760),Y
  810 CALL*9395
  820 RETURN
 1000!LINIE
 1010 WINDOW 28,31,0,31:CLS
 1020 CLS:PRINT "ZURUECK INS MENUE ? (J/N)"
 1030 E$=INKEY$:IF E$="J" THEN GOTO 65
 1040 IF E$=""THEN GOTO 1030
 1050 CLS
 1060 PRINT "LINIE SETZEN = 1"
 1070 PRINT "LINIE LOESCHEN = 2"
 1080 INPUT A
 1090 ON A GOSUB 1200,1400 
 1100 GOTO 1010
 1200!
 1210 CLS
 1215 INPUT "ANFANGSZEILE =";XA
 1220 INPUT "ANFANGSSPALTE=";YA
 1225 INPUT "ENDZEILE     =";XE
 1230 INPUT "ENDSPALTE    =";YE
 1235 LET X1=XE-XA:LET X2=-XE*YA+XA*YE:LET X3=YE-YA
 1240 LET Y1=YE-YA:LET Y2=-XA*YE+XE*YA:LET Y3=XE-XA
 1245 IF ABS(XE-XA)>(YE-YA)THEN GOTO 1300
 1250 IF YA<YE THEN LET ST=1:ELSE LET ST=-1
 1255 FOR JL=YA TO YE STEP ST
 1260 LET JH=(JL*X1+X2)/X3
 1265 IF JH<0 OR JH>255 OR JL<0 OR JL>255 THEN GOTO 1290
 1270 POKE(-27759),JH
 1275 POKE(-27760),JL
 1280 CALL*9393
 1290 NEXT:RETURN
 1300 IF XA<XE THEN LET ST=1:ELSE LET ST=-1
 1305 FOR JL=XA TO XE STEP ST
 1310 LET JH=(JL*Y1+Y2)/Y3
 1315 IF JL<0 OR JL>255 OR JH<0 OR JH>255 THEN GOTO 1335
 1320 POKE(-27759),JL
 1325 POKE(-27760),JH
 1330 CALL*9393
 1335 NEXT:RETURN
 1400!LINIE LOESCHEN
 1410 WINDOW 28,31,0,31:CLS
 1420 PRINT "LINIE LOESCHEN "      "
 1425 PRINT "ZURUECK INS MENUE (J/N) ?"
 1430 E$=INKEY$:IF E$="J" THEN GOTO 65   
 1440 IF E$=""THEN GOTO 1430
 1450 INPUT "ANFANGSZEILE =";XA
 1460 INPUT "ANFANGSSPALTE =";YA
 1470 INPUT "ENDZEILE  =";XE
 1480 INPUT "ENDSPALTE =";YE
 1490 LET X1=XE-XA:LET X2=-XE*YA+XA*YE:LET X3=YE-YA
 1500 LET Y1=YE-YA:LET Y2=-XA*YE+XE*YA:LET Y3=XE-XA
 1510 IF ABS(XE-XA)>(YE-YA)THEN GOTO 4000
 1520 IF YA<YE THEN LET ST=1:ELSE LET ST=-1
 1530 FOR JL=YA TO YE STEP ST
 1540 LET JH=(JL*X1+X2)/X3
 1550 IF JH<0 OR JH>255 OR JL<0 OR JL>255 THEN GOTO 1590
 1560 POKE(-27759),JH
 1570 POKE(-27760),JL
 1580 CALL*9395
 1590 NEXT:RETURN  
 1600!KREIS
 1610 WINDOW 28,31,0,31:CLS
 1620 PRINT "ZURUECK INS MENUE (J/N) ?"
 1630 E$=INKEY$:IF E$="J" THEN GOTO 65
 1640 IF E$=""THEN GOTO 1630
 1641 PRINT "KREIS SETZEN= 1"
 1642 PRINT "KREIS LOESCHEN= 2"
 1643 INPUT A
 1644 ON A GOSUB 1660,1800
 1645 GOTO 1600
 1650 CLS
 1660 INPUT "ZEILE=";ZM
 1670 INPUT "SPALTE=";SM
 1680 INPUT "RADIUS 1=";R1
 1690 INPUT "RADIUS 2=";R2
 1700 FOR I=.01 TO 2*PI STEP .01
 1710 POKE(-27759),(SM+R1*COS(I))
 1720 POKE(-27760),(ZM+R2*SIN(I))
 1730 CALL*9393
 1740 NEXT:RETURN
 1800!KREIS LOESCHEN
 1810 WINDOW 28,31,0,31:CLS
 1820 PRINT "ZURUECK INS MENUE (J/N) ?"
 1830 E$=INKEY$:IF E$="J" THEN GOTO 65
 1840 IF E$=""THEN GOTO 1830
 1850 PRINT "KREIS LOESCHEN"
 1860 INPUT "ZEILE =";ZM
 1870 INPUT "SPALTE =";SM
 1880 INPUT "RADIUS 1 =";R1
 1890 INPUT "RADIUS 2 =";R2
 1900 FOR I=.01 TO 2*PI STEP .01
 1910 POKE(-27759),(SM+R1*COS(I))
 1920 POKE(-27760),(ZM+R2*SIN(I))
 1930 CALL*9395
 1940 NEXT:RETURN
 2500!LOESCHEN BWS UND RAM
 2501 WINDOW 28,31,0,31:CLS
 2510 PRINT "BWS UND RAM LOESCHEN ?"
 2520 INPUT "J/N ?";E$
 2530 IF E$="J" THEN GOTO 2550
 2540 IF E$<>"J" THEN GOTO 65
 2550 CALL*9399
 2560 GOTO 2500
 3000!LOESCHEN GRAFIK-RAM
 3001 WINDOW 28,31,0,31:CLS
 3010 PRINT "LOESCHEN GRAFIK-RAM ?"
 3020 INPUT "J/N ?";E$
 3030 IF E$="J" THEN GOTO 3050
 3040 IF E$<>"J" THEN GOTO 65
 3050 CALL*939B
 3060 GOTO 3000
 3500!DARSTELLEN
 3560 CALL*939D
 3570 E$=INKEY$:IF E$=""THEN GOTO 3570
 3575 GOTO 65
 4000 IF XA<XE THEN LET ST=1:ELSE LET ST=-1 
 4010 FOR JL=XA TO XE STEP ST 
 4020 LET JH=(JL*Y1+Y2)/Y3
 4030 IF JL<0 OR JL>255 OR JH<0 OR JH>255 THEN GOTO 4070 
 4040 POKE(-27759),JL
 4050 POKE(-27760),JH
 4060 CALL*9395
 4070 NEXT:RETURN
 4080!        THEN LET ST=1:ELSE LET ST=-1
 4090!         TO XE STEP ST
 4100!     =(JL*Y1+Y2)/Y3
 4110!   L<0 OR JL>255 OR JH<0 OR JH>255 THEN GOTO 4150
 4120!  E(-27759),JL
 4130!  E(-27760),JH
 4140!  L*9395
 4150!EXT:RETURN
 5000!VIELECKE
 5010 WINDOW 28,31,0,31:CLS
 5020 PRINT "ZURUECK INS MENUE (J/N) ?"
 5030 E$=INKEY$:IF E$="J"THEN GOTO 65
 5040 IF E$=""GOTO 5030
 5050 CLS:PRINT "VIELECKE SETZEN = 1"
 5060 PRINT "VIELECKE LOESCHEN = 2"
 5070 INPUT A
 5080 ON A GOSUB 5100,5500
 5090 GOTO 5000
 5100 INPUT "ANZAHL DER ECKEN";AN
 5110 INPUT "GRUNDRADIUS =";GR
 5120 INPUT "LINIENABSTAND =";AB
 5130 INPUT "DREHWINKEL X-RICHTUNG =";WX
 5140 INPUT "DREHWINKEL Y-RICHTUNG =";WY
 5150 FOR R=GR TO 125 STEP AB
 5160 LET XA=128+R*COS(WX*PI/180)
 5170 LET YA=128+R*SIN(WY*PI/180)
 5180 FOR E=1 TO AN
 5190 LET XE=128+R*COS(2*E*PI/AN+WX*PI/180)
 5200 LET YE=128+R*SIN(2*E*PI/AN+WY*PI/180)
 5210 GOSUB 1235
 5220 LET XA=XE:LET YA=YE
 5230 NEXT:NEXT
 5240 RETURN
 5500!VIELECKE LOESCHEN
 5510 INPUT "ANZAHL DER ECKEN =";AN
 5520 INPUT "GRUNDRADIUS =";GR
 5530 INPUT "LINIENABSTAND =";AB
 5540 INPUT "DREHWINKEL X-RICHTUNG =";WX
 5550 INPUT "DREHWINKEL Y-RICHTUNG =";WY
 5560 FOR R=GR TO 125 STEP AB
 5570 LET XA=128+R*COS(WX*PI/180)
 5580 LET YA=128+R*SIN(WY*PI/180)
 5590 FOR E=1 TO AN
 5600 LET XE=128+R*COS(2*E*PI/AN+WX*PI/180)
 5610 LET YE=128+R*SIN(2*E*PI/AN+WY*PI/180)
 5620 GOSUB 1490
 5630 LET XA=XE:LET YA=YE
 5640 NEXT:NEXT
 5650 RETURN