home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / grafik / lupecolo / lupecolo.gfa (.txt) < prev    next >
Encoding:
GFA-BASIC Atari  |  1980-12-30  |  87.2 KB  |  4,599 lines

  1. anfwink#=0
  2. endwink#=3600
  3. bildin#=1
  4. p_m#=3
  5. g_m#=1
  6. DEFMOUSE 0
  7. DIM r#(15)
  8. DIM g#(15)
  9. DIM b#(15)
  10. DIM farb_index#(15)
  11. FOR x#=0 TO 14
  12.   READ r#(x#),g#(x#),b#(x#)
  13.   SETCOLOR x#,r#(x#),g#(x#),b#(x#)
  14. NEXT x#
  15. DATA 7,7,7,7,0,0,0,6,0,0,0,7,0,0,5,5,2,0,7,4,3,5,5,5,3,3,3,0,7,7,0,4,0,7,0,7
  16. DATA 5,0,5,7,7,0,5,5,0
  17. HIDEM
  18. IF EXIST("TITEL.LUP") THEN
  19.   BLOAD "TITEL.LUP",XBIOS(2)
  20.   REPEAT
  21.   UNTIL MOUSEK<>0 OR INKEY$<>""
  22. ENDIF
  23. CLS
  24. IF EXIST("BENUTZ.LUP") THEN
  25.   BLOAD "BENUTZ.LUP",XBIOS(2)
  26. ENDIF
  27. SGET benutz$
  28. breite#=1
  29. komp1#=1
  30. komp2#=1
  31. CLS
  32. SGET bild_1$
  33. SGET bild_2$
  34. SGET bild_3$
  35. DEFMOUSE 0
  36. PAUSE 5
  37. SPUT benutz$
  38. bildin#=1
  39. REPEAT
  40.   REPEAT
  41.     DEFMOUSE 0
  42.     GOSUB farbe
  43.     REPEAT
  44.       GOSUB farbe
  45.       REPEAT
  46.         SHOWM
  47.         SPUT benutz$
  48.         PAUSE 5
  49.         waag#=0
  50.         senk#=0
  51.         sondert#=0
  52.         DEFMOUSE 0
  53.         DEFTEXT 1,,,6
  54.         COLOR 1
  55.         DEFFILL 1,1,1
  56.         DEFLINE 1,1,0,0
  57.         REPEAT
  58.           farbe1$=INKEY$
  59.           waagrecht#=MOUSEX
  60.           senkrecht#=MOUSEY
  61.         UNTIL farbe1$<>"" OR MOUSEK<>0
  62.         IF MOUSEK=1 THEN
  63.           waag#=INT(waagrecht#/45)+1
  64.           senk#=INT(senkrecht#/33)+1
  65.         ENDIF
  66.         PAUSE 5
  67.         IF bildin#=1 THEN
  68.           SPUT bild_1$
  69.         ENDIF
  70.         IF bildin#=2
  71.           SPUT bild_2$
  72.         ENDIF
  73.         IF bildin#=3 THEN
  74.           SPUT bild_3$
  75.         ENDIF
  76.         IF LEN(farbe1$)=1 THEN
  77.           farbe1$=UPPER$(farbe1$)
  78.           SGET screen$
  79.         ENDIF
  80.         IF waag#>0 AND (waag#<>4 OR senk#<>5) THEN
  81.           SGET screen$
  82.         ENDIF
  83.         IF LEN(farbe1$)>1 THEN
  84.           sondert#=ASC(RIGHT$(farbe1$,1))
  85.         ENDIF
  86.         IF farbe1$<>"" THEN
  87.           SHOWM
  88.         ENDIF
  89.         IF sondert#=59 OR (waag#=5 AND senk#=5) THEN
  90.           IF bildin#=2 THEN
  91.             SGET bild_2$
  92.           ENDIF
  93.           IF bildin#=3
  94.             SGET bild_3$
  95.           ENDIF
  96.           IF bildin#<>1 THEN
  97.             SPUT bild_1$
  98.           ENDIF
  99.           bildin#=1
  100.           PAUSE 5
  101.         ENDIF
  102.         IF sondert#=60 OR (waag#=6 AND senk#=5) THEN
  103.           IF bildin#=1 THEN
  104.             SGET bild_1$
  105.           ENDIF
  106.           IF bildin#=3 THEN
  107.             SGET bild_3$
  108.           ENDIF
  109.           IF bildin#<>2 THEN
  110.             SPUT bild_2$
  111.           ENDIF
  112.           bildin#=2
  113.           PAUSE 5
  114.         ENDIF
  115.         IF sondert#=61 OR (waag#=7 AND senk#=5) THEN
  116.           IF bildin#=1 THEN
  117.             SGET bild_1$
  118.           ENDIF
  119.           IF bildin#=2 THEN
  120.             SGET bild_2$
  121.           ENDIF
  122.           IF bildin#<>3 THEN
  123.             SPUT bild_3$
  124.           ENDIF
  125.           bildin#=3
  126.           PAUSE 5
  127.         ENDIF
  128.         IF sondert#=97 OR (waag#=4 AND senk#=5) THEN
  129.           IF screen$<>"" THEN
  130.             SGET screen1$
  131.             SPUT screen$
  132.             screen$=screen1$
  133.             sondert#=0
  134.           ENDIF
  135.           IF bildin#=1 THEN
  136.             SGET bild_1$
  137.           ENDIF
  138.           IF bildin#=2 THEN
  139.             SGET bild_2$
  140.           ENDIF
  141.           IF bildin#=3 THEN
  142.             SGET bild_3$
  143.           ENDIF
  144.           PAUSE 5
  145.         ENDIF
  146.         IF sondert#=98 OR (waag#=1 AND senk#=5) THEN
  147.           SGET ges$
  148.           CLS
  149.           DEFTEXT 1,0,0,4
  150.           TEXT 0,10,"                       Anleitung"
  151.           TEXT 0,20,320,"LUPECOL2 ist ein Grafikprogramm für den Farbmonitor"
  152.           TEXT 0,26,"von Nils Raabe."
  153.           TEXT 0,36,320,"Bei LUPECOL2 werden die verschiedenen Funktionen "
  154.           TEXT 0,42,320,"über das Menü oder die Tastatur ( Man kann sich "
  155.           TEXT 0,48,320,"eine Tabelle ansehen, indem man >T< drückt) aufge-"
  156.           TEXT 0,54,320,"rufen. Um einen Auschnitt mit der Lupe zu vergrößern,"
  157.           TEXT 0,60,320,"schiebt man das Quadrat auf die gewünschte Stelle"
  158.           TEXT 0,66,320,"und drückt die linke Maustaste. Die aktuelle"
  159.           TEXT 0,72,320,"Farbe ist bei jeder neuen Vergrößerung schwarz."
  160.           TEXT 0,78,320,"Um einen Punkt in der aktuellen Farbe zu setzen,"
  161.           TEXT 0,84,320,"drückt man im Vergrößerungsfenster die linke"
  162.           TEXT 0,90,320,"Maustaste. Die aktuelle Farbe wird - wie auch"
  163.           TEXT 0,96,320,"bei allen anderen Zeichenfunktionen - über die"
  164.           TEXT 0,102,320,"Tastatur verändert ( Auch hier mit >T< die"
  165.           TEXT 0,108,"Tastaturbelegung)."
  166.           TEXT 0,114,320,"Bei den Funktionen >Kreise<, >Ellipsen<, >Recht-"
  167.           TEXT 0,120,320,"ecke<, >Linien< und >N-Eck< setzt man den Start-"
  168.           TEXT 0,126,320,"punkt der Objekte mit der linken Maustaste und"
  169.           TEXT 0,132,320,"kann nach Loslassen  der Taste die Objekte"
  170.           TEXT 0,138,320,"ziehen. Drückt man erneut die Taste, wird das Objekt"
  171.           TEXT 0,144,320,"gezeichnet. Eine Funktion verläßt man mit der"
  172.           TEXT 0,150,320,"rechten Maustaste. Bei all diesen Funktionen "
  173.           TEXT 0,156,320,"- wie auch bei >Freihandzeichnen<, >Parallelo-"
  174.           TEXT 0,162,320,"gramm<, >Dreiecke<, >Netz<, >Polygon< und >Pyra-"
  175.           TEXT 0,168,320,"mide< - wird die Linienbreite mit >+< bzw. >-<"
  176.           TEXT 0,174,"verstärkt bzw. verringert."
  177.           TEXT 0,195,"          Weiter mit linker Maustaste"
  178.           REPEAT
  179.           UNTIL MOUSEK=1 OR MOUSEK=2
  180.           IF MOUSEK=1 THEN
  181.             CLS
  182.             PAUSE 5
  183.             TEXT 0,10,320,"Bei den Funktionen >Parallelogramme<, >Dreiecke< und"
  184.             TEXT 0,16,320,">Pyramide< zieht man zunächst wie gewohnt eine Linie."
  185.             TEXT 0,22,320,"Wenn man jetzt noch einmal die linke Maustaste"
  186.             TEXT 0,28,320,"drückt, kann man bei >Dreiecke< und >Pyramide< ein"
  187.             TEXT 0,34,320,"Dreieck und bei >Parallelogramme< ein Parallelogramm"
  188.             TEXT 0,40,320,"ziehen, das bei Drücken der Taste gezeichnet wird."
  189.             TEXT 0,46,320,"Drückt man bei >Pyramide< nun noch einmal die linke"
  190.             TEXT 0,52,320,"Maustaste, so werden die drei Eckpunkte des vorher"
  191.             TEXT 0,58,320,"gezeichneten Dreiecks mit der Mausposition verbunden"
  192.             TEXT 0,66,"und man kann eine Pyramide ziehen."
  193.             TEXT 0,72,320,"Bei den Funktionen >N-Eck< bzw. >Netz< kann man die"
  194.             TEXT 0,78,320,"Anzahl der Ecken bzw. Kästen durch die Tasten >(<"
  195.             TEXT 0,84,"bzw. >)< verändern."
  196.             TEXT 0,90,320,"Mit >Undo< wird der letze Arbeitsschritt rückgängig"
  197.             TEXT 0,96,"gemacht."
  198.             TEXT 0,102,320,"Mit den Funktionstasten kann man zwischen den ver-"
  199.             TEXT 0,108,320,"schiedenen Bildern hin- und herspringen."
  200.             TEXT 0,114,320,"Bei der Funktion >Farben einstellen< kann man durch"
  201.             TEXT 0,120,320,"Anklicken der Plus-/Minus-Tasten die Rot-/Grün- und"
  202.             TEXT 0,126,320,"Blauanteile der ausgewählten Farbe verändern."
  203.             TEXT 0,132,320,"Um das Programm zu verlassen, hält man die rechte"
  204.             TEXT 0,138,"Maustaste gedrückt."
  205.             REPEAT
  206.             UNTIL MOUSEK=1 OR MOUSEK=2
  207.           ENDIF
  208.           SPUT ges$
  209.           sondert#=0
  210.           GRAPHMODE 3
  211.         ENDIF
  212.         IF farbe1$="8" OR (waag#=3 AND senk#=6) THEN
  213.           muster$=""
  214.           SGET screen2$
  215.           PAUSE 5
  216.           DIM zeile$(17)
  217.           CLS
  218.           COLOR 1
  219.           DEFFILL 1,komp1#,komp2#
  220.           GRAPHMODE 1
  221.           BOUNDARY 0
  222.           PBOX 0,0,15,15
  223.           PAUSE 5
  224.           BOUNDARY 1
  225.           FOR bau#=0 TO 15
  226.             FOR topf#=0 TO 15
  227.               zeile$(bau#+1)=zeile$(bau#+1)+STR$(POINT(topf#,bau#))
  228.             NEXT topf#
  229.             muster$=muster$+MKI$(VAL("&X"+zeile$(bau#+1)))
  230.           NEXT bau#
  231.           DEFFILL 1,muster$
  232.           PBOX 200,10,270,40
  233.           CLS
  234.           BOX 100,100,120,120
  235.           TEXT 107,113,"L"
  236.           BOX 100,125,120,145
  237.           TEXT 107,138,"S"
  238.           BOX 100,150,120,170
  239.           TEXT 107,163,"K"
  240.           BOX 0,0,73,73
  241.           DEFFILL 1,1,1
  242.           PBOX 4,4,68,68
  243.           FOR bau#=1 TO 16
  244.             FOR topf#=1 TO 16
  245.               DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1
  246.               PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3
  247.             NEXT topf#
  248.           NEXT bau#
  249.           REPEAT
  250.             DEFFILL 1,muster$
  251.             PBOX 200,10,270,40
  252.             REPEAT
  253.               mustx#=MOUSEX
  254.               musty#=MOUSEY
  255.             UNTIL MOUSEK<>0
  256.             IF MOUSEK=1 AND mustx#>100 AND mustx#<120 AND musty#>150 AND musty#<170 THEN
  257.               xlupe#=16
  258.               ylupe#=16
  259.               SGET screen3$
  260.               SPUT screen2$
  261.               GRAPHMODE 3
  262.               HIDEM
  263.               REPEAT
  264.               UNTIL MOUSEK=0
  265.               REPEAT
  266.                 mx#=MOUSEX
  267.                 my#=MOUSEY
  268.                 IF mx#+xlupe#>=320 THEN
  269.                   mx#=320-xlupe#
  270.                 ENDIF
  271.                 IF my#+ylupe#>=200 THEN
  272.                   my#=200-ylupe#
  273.                 ENDIF
  274.                 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  275.                 REPEAT
  276.                   testx#=MOUSEX
  277.                   testy#=MOUSEY
  278.                   IF testx#+xlupe#>=320 THEN
  279.                     testx#=320-xlupe#
  280.                   ENDIF
  281.                   IF testy#+ylupe#>=200 THEN
  282.                     testy#=200-ylupe#
  283.                   ENDIF
  284.                   EXIT IF MOUSEK=2
  285.                 UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0
  286.                 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  287.               UNTIL MOUSEK<>0
  288.               IF MOUSEK=1 THEN
  289.                 GET mx#,my#,mx#+16,my#+16,muste$
  290.                 muster$=""
  291.                 ERASE zeile$()
  292.                 DIM zeile$(17)
  293.                 SGET screen2$
  294.                 PAUSE 5
  295.                 CLS
  296.                 PUT 0,0,muste$
  297.                 GRAPHMODE 1
  298.                 PAUSE 5
  299.                 FOR bau#=0 TO 15
  300.                   FOR topf#=0 TO 15
  301.                     pufa#=POINT(topf#,bau#)
  302.                     IF POINT(topf#,bau#)>1 THEN
  303.                       COLOR 0
  304.                       PLOT topf#,bau#
  305.                       pufa#=0
  306.                     ENDIF
  307.                     zeile$(bau#+1)=zeile$(bau#+1)+STR$(pufa#)
  308.                   NEXT topf#
  309.                   muster$=muster$+MKI$(VAL("&X"+zeile$(bau#+1)))
  310.                 NEXT bau#
  311.                 COLOR 1
  312.                 DEFFILL 1,muster$
  313.                 PBOX 200,10,270,40
  314.                 CLS
  315.                 BOX 100,100,120,120
  316.                 TEXT 107,113,"L"
  317.                 BOX 100,125,120,145
  318.                 TEXT 107,138,"S"
  319.                 BOX 100,150,120,170
  320.                 TEXT 107,163,"K"
  321.                 BOX 0,0,73,73
  322.                 DEFFILL 1,1,1
  323.                 PBOX 4,4,68,68
  324.                 FOR bau#=1 TO 16
  325.                   FOR topf#=1 TO 16
  326.                     DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1
  327.                     PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3
  328.                   NEXT topf#
  329.                 NEXT bau#
  330.               ELSE
  331.                 SPUT screen3$
  332.               ENDIF
  333.               SHOWM
  334.             ENDIF
  335.             IF MOUSEK=1 AND mustx#>100 AND mustx#<120 AND musty#>125 AND musty#<145 THEN
  336.               FILESELECT "A:\*.MUS","",mus$
  337.               IF mus$<>"" THEN
  338.                 OPEN "O",#1,mus$
  339.                 FOR x#=1 TO 16
  340.                   PRINT #1,zeile$(x#)
  341.                 NEXT x#
  342.                 CLOSE #1
  343.               ENDIF
  344.             ENDIF
  345.             IF mustx#>100 AND mustx#<120 AND musty#>100 AND musty#<120 THEN
  346.               FILESELECT "A:\*.MUS","",mus$
  347.               IF mus$<>"" THEN
  348.                 OPEN "I",#1,mus$
  349.                 FOR x#=1 TO 16
  350.                   INPUT #1,zeile$(x#)
  351.                 NEXT x#
  352.                 CLOSE #1
  353.                 muster$=""
  354.                 FOR bau#=1 TO 16
  355.                   muster$=muster$+MKI$(VAL("&X"+zeile$(bau#)))
  356.                 NEXT bau#
  357.                 DEFFILL 1,muster$
  358.                 PBOX 200,10,270,40
  359.                 FOR bau#=1 TO 16
  360.                   FOR topf#=1 TO 16
  361.                     DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1
  362.                     PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3
  363.                   NEXT topf#
  364.                 NEXT bau#
  365.               ENDIF
  366.             ENDIF
  367.             IF MOUSEK=1 AND mustx#<68 AND musty#<68 AND mustx#>3 AND musty#>3 THEN
  368.               zeile#=INT(musty#/4)
  369.               spalte#=INT(mustx#/4)
  370.               IF POINT(mustx#+1,musty#+1)=0 THEN
  371.                 DEFFILL 1,1
  372.                 ur#=1
  373.               ELSE
  374.                 DEFFILL 0,0
  375.                 ur#=0
  376.               ENDIF
  377.               REPEAT
  378.                 GRAPHMODE 1
  379.                 musty#=MOUSEY
  380.                 mustx#=MOUSEX
  381.                 zeile#=INT(musty#/4)
  382.                 spalte#=INT(mustx#/4)
  383.                 IF ur#=1 THEN
  384.                   DEFFILL 1,1
  385.                 ELSE
  386.                   DEFFILL 0,0
  387.                 ENDIF
  388.                 PBOX spalte#*4+1,zeile#*4+1,spalte#*4+3,zeile#*4+3
  389.                 zeile$(zeile#)=""
  390.                 FOR topf#=1 TO 16
  391.                   zeile$(zeile#)=zeile$(zeile#)+STR$(POINT((topf#)*4+1,(zeile#)*4+1))
  392.                 NEXT topf#
  393.                 muster$=""
  394.                 FOR bau#=1 TO 16
  395.                   muster$=muster$+MKI$(VAL("&X"+zeile$(bau#)))
  396.                 NEXT bau#
  397.                 DEFFILL 1,muster$
  398.                 PBOX 200,10,270,40
  399.               UNTIL MOUSEK=0 OR MOUSEX<4 OR MOUSEY<4 OR MOUSEX>67 OR MOUSEY>67
  400.             ENDIF
  401.             PAUSE 5
  402.           UNTIL MOUSEK=2
  403.           DEFFILL 1
  404.           ERASE zeile$()
  405.           SPUT screen2$
  406.           DEFFILL 1,1,0
  407.         ENDIF
  408.         IF farbe1$="7" OR (waag#=2 AND senk#=6) THEN
  409.           DEFFILL 0
  410.           SGET screen2$
  411.           PAUSE 5
  412.           DEFMOUSE 5
  413.           REPEAT
  414.           UNTIL MOUSEK=1
  415.           mx#=MOUSEX
  416.           my#=MOUSEY
  417.           REPEAT
  418.           UNTIL MOUSEK=0
  419.           WHILE MOUSEK=0
  420.             mx1#=MOUSEX
  421.             my1#=MOUSEY
  422.             IF mx1#-mx#>320 THEN
  423.               mx1#=mx#+158
  424.             ENDIF
  425.             IF my1#-my#>200 THEN
  426.               my1#=my#+98
  427.             ENDIF
  428.             IF mx#>mx1# THEN
  429.               mx1#=mx#
  430.             ENDIF
  431.             IF my#>my1# THEN
  432.               my1#=my#
  433.             ENDIF
  434.             GRAPHMODE 3
  435.             BOX mx#,my#,mx1#,my1#
  436.             REPEAT
  437.               testx#=MOUSEX
  438.               testy#=MOUSEY
  439.               EXIT IF MOUSEK=2
  440.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  441.             BOX mx#,my#,mx1#,my1#
  442.           WEND
  443.           GET mx#,my#,mx1#,my1#,kopierb$
  444.           PUT 0,0,kopierb$
  445.           xachse#=mx1#-mx#
  446.           yachse#=my1#-my#
  447.           FOR q#=1 TO xachse#
  448.             FOR w#=1 TO yachse#
  449.               IF POINT(q#,w#)<>POINT(q#-1,w#) AND POINT(q#,w#)<>1 AND POINT(q#-1,w#)<>1 THEN
  450.                 COLOR 1
  451.                 GRAPHMODE 1
  452.                 PLOT q#,w#
  453.               ENDIF
  454.               IF POINT(q#,w#)<>POINT(q#,w#-1) AND POINT(q#,w#)<>1 AND POINT(q#,w#-1)<>1 THEN
  455.                 COLOR 1
  456.                 GRAPHMODE 1
  457.                 PLOT q#,w#
  458.               ENDIF
  459.               IF POINT(q#,w#)<>POINT(q#-1,w#-1) AND POINT(q#,w#)<>1 AND POINT(q#-1,w#-1)<>1 THEN
  460.                 COLOR 1
  461.                 GRAPHMODE 1
  462.                 PLOT q#,w#
  463.               ENDIF
  464.             NEXT w#
  465.           NEXT q#
  466.           GET 0,0,xachse#,yachse#,k_bild$
  467.           SPUT screen2$
  468.           GRAPHMODE 3
  469.           REPEAT
  470.             farbe3$=INKEY$
  471.             IF LEN(farbe3$)>1 THEN
  472.               sondert#=ASC(RIGHT$(farbe3$,1))
  473.             ENDIF
  474.             IF sondert#=59 THEN
  475.               IF bildin#=2 THEN
  476.                 SGET bild_2$
  477.               ENDIF
  478.               IF bildin#=3 THEN
  479.                 SGET bild_3$
  480.               ENDIF
  481.               IF bildin#<>1 THEN
  482.                 SPUT bild_1$
  483.               ENDIF
  484.               bildin#=1
  485.             ENDIF
  486.             IF sondert#=60 THEN
  487.               IF bildin#=1 THEN
  488.                 SGET bild_1$
  489.               ENDIF
  490.               IF bildin#=3 THEN
  491.                 SGET bild_3$
  492.               ENDIF
  493.               IF bildin#<>2 THEN
  494.                 SPUT bild_2$
  495.               ENDIF
  496.               bildin#=2
  497.             ENDIF
  498.             IF sondert#=61 THEN
  499.               IF bildin#=1 THEN
  500.                 SGET bild_1$
  501.               ENDIF
  502.               IF bildin#=2 THEN
  503.                 SGET bild_2$
  504.               ENDIF
  505.               IF bildin#<>3 THEN
  506.                 SPUT bild_3$
  507.               ENDIF
  508.               bildin#=3
  509.             ENDIF
  510.             mx2#=MOUSEX
  511.             my2#=MOUSEY
  512.             PUT mx2#,my2#,k_bild$,6
  513.             REPEAT
  514.               testx#=MOUSEX
  515.               testy#=MOUSEY
  516.               EXIT IF MOUSEK=2
  517.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  518.             PUT mx2#,my2#,k_bild$,6
  519.           UNTIL MOUSEK=1 OR MOUSEK=2
  520.           GRAPHMODE g_m#
  521.           IF MOUSEK=1
  522.             PUT mx2#,my2#,k_bild$,p_m#
  523.           ENDIF
  524.           GRAPHMODE 1
  525.           ERASE punkte#()
  526.           DEFMOUSE 0
  527.           DEFFILL 1
  528.           COLOR 1
  529.         ENDIF
  530.         IF farbe1$="W" OR (waag#=1 AND senk#=6) THEN
  531.           DEFFILL 0
  532.           SGET screen2$
  533.           PAUSE 5
  534.           DEFMOUSE 5
  535.           REPEAT
  536.           UNTIL MOUSEK=1
  537.           mx#=MOUSEX
  538.           my#=MOUSEY
  539.           REPEAT
  540.           UNTIL MOUSEK=0
  541.           WHILE MOUSEK=0
  542.             mx1#=MOUSEX
  543.             my1#=MOUSEY
  544.             IF mx1#-mx#>320 THEN
  545.               mx1#=mx#+158
  546.             ENDIF
  547.             IF my1#-my#>200 THEN
  548.               my1#=my#+98
  549.             ENDIF
  550.             IF mx#>mx1# THEN
  551.               mx1#=mx#
  552.             ENDIF
  553.             IF my#>my1# THEN
  554.               my1#=my#
  555.             ENDIF
  556.             GRAPHMODE 3
  557.             BOX mx#,my#,mx1#,my1#
  558.             REPEAT
  559.               testx#=MOUSEX
  560.               testy#=MOUSEY
  561.               EXIT IF MOUSEK=2
  562.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  563.             BOX mx#,my#,mx1#,my1#
  564.           WEND
  565.           GET mx#,my#,mx1#,my1#,kopierb$
  566.           PUT 0,0,kopierb$
  567.           xachse#=mx1#-mx#
  568.           yachse#=my1#-my#
  569.           FOR q#=0 TO xachse#
  570.             FOR w#=0 TO yachse#
  571.               IF POINT(q#,w#)>1 THEN
  572.                 COLOR 0
  573.                 GRAPHMODE 1
  574.                 PLOT q#,w#
  575.               ENDIF
  576.             NEXT w#
  577.           NEXT q#
  578.           GET 0,0,xachse#,yachse#,k_bild$
  579.           SPUT screen2$
  580.           GRAPHMODE 3
  581.           REPEAT
  582.             farbe3$=INKEY$
  583.             IF LEN(farbe3$)>1 THEN
  584.               sondert#=ASC(RIGHT$(farbe3$,1))
  585.             ENDIF
  586.             IF sondert#=59 THEN
  587.               IF bildin#=2 THEN
  588.                 SGET bild_2$
  589.               ENDIF
  590.               IF bildin#=3 THEN
  591.                 SGET bild_3$
  592.               ENDIF
  593.               IF bildin#<>1 THEN
  594.                 SPUT bild_1$
  595.               ENDIF
  596.               bildin#=1
  597.             ENDIF
  598.             IF sondert#=60 THEN
  599.               IF bildin#=1 THEN
  600.                 SGET bild_1$
  601.               ENDIF
  602.               IF bildin#=3 THEN
  603.                 SGET bild_3$
  604.               ENDIF
  605.               IF bildin#<>2 THEN
  606.                 SPUT bild_2$
  607.               ENDIF
  608.               bildin#=2
  609.             ENDIF
  610.             IF sondert#=61 THEN
  611.               IF bildin#=1 THEN
  612.                 SGET bild_1$
  613.               ENDIF
  614.               IF bildin#=2 THEN
  615.                 SGET bild_2$
  616.               ENDIF
  617.               IF bildin#<>3 THEN
  618.                 SPUT bild_3$
  619.               ENDIF
  620.               bildin#=3
  621.             ENDIF
  622.             mx2#=MOUSEX
  623.             my2#=MOUSEY
  624.             PUT mx2#,my2#,k_bild$,6
  625.             REPEAT
  626.               testx#=MOUSEX
  627.               testy#=MOUSEY
  628.               EXIT IF MOUSEK=2
  629.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  630.             PUT mx2#,my2#,k_bild$,6
  631.           UNTIL MOUSEK=1 OR MOUSEK=2
  632.           GRAPHMODE g_m#
  633.           IF MOUSEK=1
  634.             PUT mx2#,my2#,k_bild$,p_m#
  635.           ENDIF
  636.           GRAPHMODE 1
  637.           ERASE punkte#()
  638.           DEFMOUSE 0
  639.           DEFFILL 1
  640.           COLOR 1
  641.         ENDIF
  642.         IF farbe1$="5" OR (waag#=7 AND senk#=4) THEN
  643.           freisp#=DFREE(1)
  644.           freisp$=STR$(freisp#)
  645.           reibi#=INT(freisp#/32000)
  646.           reibi$=STR$(reibi#)
  647.           insg$="ES SIND NOCH| "+freisp$+" BYTES FREI|DAS REICHT FÜR|"+reibi$+" BILDER"
  648.           ALERT 1,insg$,1,"OK",b#
  649.         ENDIF
  650.         IF farbe1$="4" OR (waag#=6 AND senk#=4) THEN
  651.           SGET screen2$
  652.           CLS
  653.           FOR f#=0 TO 15
  654.             GRAPHMODE 1
  655.             DEFFILL f#
  656.             BOX f#*15+1,10,f#*15+11,20
  657.             FILL f#*15+3,13
  658.           NEXT f#
  659.           BOX fabb#*15,9,fabb#*15+12,21
  660.           FOR x#=1 TO 3
  661.             BOX x#*10,100,x#*10+10,110
  662.             DEFTEXT 1,,4
  663.             TEXT x#*10+2,107,"+"
  664.           NEXT x#
  665.           FOR x#=1 TO 3
  666.             BOX x#*10,110,x#*10+10,120
  667.             DEFTEXT 1,,4
  668.             TEXT x#*10+2,117,"-"
  669.           NEXT x#
  670.           TEXT 12,98,"R"
  671.           TEXT 22,98,"G"
  672.           TEXT 32,98,"B"
  673.           BOX 100,100,120,120
  674.           TEXT 107,113,"L"
  675.           BOX 100,125,120,145
  676.           TEXT 107,138,"S"
  677.           TEXT 12,128,r#(fabb1#)
  678.           TEXT 22,128,g#(fabb1#)
  679.           TEXT 32,128,b#(fabb1#)
  680.           REPEAT
  681.             REPEAT
  682.               mxfabb#=MOUSEX
  683.               myfabb#=MOUSEY
  684.             UNTIL MOUSEK=1 AND mxfabb#<240 OR MOUSEK=2
  685.             EXIT IF MOUSEK=2
  686.             IF mxfabb#>100 AND mxfabb#<120 AND myfabb#>125 AND myfabb#<145 THEN
  687.               FILESELECT "A:\*.COL","",col$
  688.               IF col$<>"" THEN
  689.                 OPEN "O",#1,col$
  690.                 FOR x#=0 TO 15
  691.                   PRINT #1,r#(x#)
  692.                   PRINT #1,g#(x#)
  693.                   PRINT #1,b#(x#)
  694.                 NEXT x#
  695.                 CLOSE #1
  696.               ENDIF
  697.             ENDIF
  698.             IF mxfabb#>100 AND mxfabb#<120 AND myfabb#>100 AND myfabb#<120 THEN
  699.               FILESELECT "A:\*.COL","",col$
  700.               IF col$<>"" THEN
  701.                 OPEN "I",#1,col$
  702.                 FOR x#=0 TO 15
  703.                   INPUT #1,r#(x#)
  704.                   INPUT #1,g#(x#)
  705.                   INPUT #1,b#(x#)
  706.                   SETCOLOR x#,r#(x#),g#(x#),b#(x#)
  707.                 NEXT x#
  708.                 CLOSE #1
  709.               ENDIF
  710.             ENDIF
  711.             IF myfabb#<90 THEN
  712.               GRAPHMODE 3
  713.               BOX fabb#*15,9,fabb#*15+12,21
  714.               fabb#=INT(mxfabb#/15)
  715.               GRAPHMODE 1
  716.               BOX fabb#*15,9,fabb#*15+12,21
  717.               IF fabb#=0 THEN
  718.                 fabb1#=0
  719.               ENDIF
  720.               IF fabb#=2 THEN
  721.                 fabb1#=1
  722.               ENDIF
  723.               IF fabb#=3 THEN
  724.                 fabb1#=2
  725.               ENDIF
  726.               IF fabb#=6 THEN
  727.                 fabb1#=3
  728.               ENDIF
  729.               IF fabb#=4 THEN
  730.                 fabb1#=4
  731.               ENDIF
  732.               IF fabb#=7 THEN
  733.                 fabb1#=5
  734.               ENDIF
  735.               IF fabb#=5 THEN
  736.                 fabb1#=6
  737.               ENDIF
  738.               IF fabb#=8 THEN
  739.                 fabb1#=7
  740.               ENDIF
  741.               IF fabb#=9 THEN
  742.                 fabb1#=8
  743.               ENDIF
  744.               IF fabb#=10 THEN
  745.                 fabb1#=9
  746.               ENDIF
  747.               IF fabb#=11 THEN
  748.                 fabb1#=10
  749.               ENDIF
  750.               IF fabb#=14 THEN
  751.                 fabb1#=11
  752.               ENDIF
  753.               IF fabb#=12 THEN
  754.                 fabb1#=12
  755.               ENDIF
  756.               IF fabb#=15 THEN
  757.                 fabb1#=13
  758.               ENDIF
  759.               IF fabb#=13 THEN
  760.                 fabb1#=14
  761.               ENDIF
  762.               IF fabb#=1 THEN
  763.                 fabb1#=15
  764.               ENDIF
  765.             ENDIF
  766.             IF mxfabb#>10 AND mxfabb#<40 AND myfabb#>100 AND myfabb#<110 THEN
  767.               PAUSE 5
  768.               rgb#=INT(mxfabb#/10)
  769.               IF rgb#=1 THEN
  770.                 IF r#(fabb1#)<7 THEN
  771.                   r#(fabb1#)=r#(fabb1#)+1
  772.                 ENDIF
  773.               ENDIF
  774.               IF rgb#=2 THEN
  775.                 IF g#(fabb1#)<7 THEN
  776.                   g#(fabb1#)=g#(fabb1#)+1
  777.                 ENDIF
  778.               ENDIF
  779.               IF rgb#=3 THEN
  780.                 IF b#(fabb1#)<7 THEN
  781.                   b#(fabb1#)=b#(fabb1#)+1
  782.                 ENDIF
  783.               ENDIF
  784.               SETCOLOR fabb1#,r#(fabb1#),g#(fabb1#),b#(fabb1#)
  785.             ENDIF
  786.             IF mxfabb#>10 AND mxfabb#<40 AND myfabb#>110 AND myfabb#<120 THEN
  787.               PAUSE 5
  788.               rgb#=INT(mxfabb#/10)
  789.               IF rgb#=1 THEN
  790.                 IF r#(fabb1#)>0 THEN
  791.                   r#(fabb1#)=r#(fabb1#)-1
  792.                 ENDIF
  793.               ENDIF
  794.               IF rgb#=2 THEN
  795.                 IF g#(fabb1#)>0 THEN
  796.                   g#(fabb1#)=g#(fabb1#)-1
  797.                 ENDIF
  798.               ENDIF
  799.               IF rgb#=3 THEN
  800.                 IF b#(fabb1#)>0 THEN
  801.                   b#(fabb1#)=b#(fabb1#)-1
  802.                 ENDIF
  803.               ENDIF
  804.               SETCOLOR fabb1#,r#(fabb1#),g#(fabb1#),b#(fabb1#)
  805.             ENDIF
  806.             TEXT 12,128,r#(fabb1#)
  807.             TEXT 22,128,g#(fabb1#)
  808.             TEXT 32,128,b#(fabb1#)
  809.           UNTIL MOUSEK=2
  810.           SPUT screen2$
  811.         ENDIF
  812.         IF farbe1$="U" OR (waag#=4 AND senk#=4) THEN
  813.           SGET screen2$
  814.           CLS
  815.           DEFTEXT 1,0,0,6
  816.           TEXT 30,10,"GRAPHIKMODUS:"
  817.           FOR x#=1 TO 4
  818.             BOX x#*30,30,x#*30+20,50
  819.             DEFTEXT 1,0,0,6
  820.             TEXT x#*30+5,40,x#
  821.           NEXT x#
  822.           BOX g_m#*30-1,29,g_m#*30+21,51
  823.           REPEAT
  824.             GRAPHMODE 3
  825.             REPEAT
  826.             UNTIL MOUSEK=1 OR MOUSEK=2
  827.             EXIT IF MOUSEK=2
  828.             IF MOUSEX>30 AND MOUSEX<140 AND MOUSEY>30 AND MOUSEY<50 AND MOUSEK=1 THEN
  829.               BOX g_m#*30-1,29,g_m#*30+21,51
  830.               g_m#=INT(MOUSEX/30)
  831.               IF g_m#=1 THEN
  832.                 p_m#=3
  833.               ENDIF
  834.               IF g_m#=2 THEN
  835.                 p_m#=7
  836.               ENDIF
  837.               IF g_m#=3 THEN
  838.                 p_m#=6
  839.               ENDIF
  840.               IF g_m#=4 THEN
  841.                 p_m#=13
  842.               ENDIF
  843.               GRAPHMODE 3
  844.               BOX g_m#*30-1,29,g_m#*30+21,51
  845.             ENDIF
  846.           UNTIL MOUSEK=2
  847.           SPUT screen2$
  848.         ENDIF
  849.         IF farbe1$="O" OR (waag#=1 AND senk#=2) THEN
  850.           DEFFILL 0
  851.           SGET screen2$
  852.           PAUSE 5
  853.           DEFMOUSE 5
  854.           REPEAT
  855.           UNTIL MOUSEK=1
  856.           mx#=MOUSEX
  857.           my#=MOUSEY
  858.           REPEAT
  859.           UNTIL MOUSEK=0
  860.           WHILE MOUSEK=0
  861.             mx1#=MOUSEX
  862.             my1#=MOUSEY
  863.             IF mx1#-mx#>158 THEN
  864.               mx1#=mx#+158
  865.             ENDIF
  866.             IF my1#-my#>98 THEN
  867.               my1#=my#+98
  868.             ENDIF
  869.             IF mx#>mx1# THEN
  870.               mx1#=mx#
  871.             ENDIF
  872.             IF my#>my1# THEN
  873.               my1#=my#
  874.             ENDIF
  875.             GRAPHMODE 3
  876.             BOX mx#,my#,mx1#,my1#
  877.             REPEAT
  878.               testx#=MOUSEX
  879.               testy#=MOUSEY
  880.               EXIT IF MOUSEK=2
  881.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  882.             BOX mx#,my#,mx1#,my1#
  883.           WEND
  884.           GET mx#,my#,mx1#,my1#,kopierb$
  885.           PUT 0,0,kopierb$
  886.           xachse#=mx1#-mx#
  887.           yachse#=my1#-my#
  888.           DIM punkte#(xachse#,yachse#)
  889.           FOR q#=0 TO xachse#
  890.             FOR w#=0 TO yachse#
  891.               punkte#(q#,w#)=POINT(q#,w#)
  892.             NEXT w#
  893.           NEXT q#
  894.           CLS
  895.           FOR r#=0 TO yachse#-1
  896.             FOR e#=0 TO xachse#-1
  897.               IF e#>0 AND r#>0 THEN
  898.                 GRAPHMODE 1
  899.                 IF punkte#(e#-1,r#-1)<>punkte#(e#,r#) THEN
  900.                   COLOR punkte#(e#,r#)
  901.                   GRAPHMODE 1
  902.                   DRAW e#-1,r#-1
  903.                 ENDIF
  904.                 IF punkte#(e#-1,r#)<>punkte#(e#,r#) THEN
  905.                   COLOR punkte#(e#,r#)
  906.                   GRAPHMODE 1
  907.                   DRAW e#-1,r#
  908.                 ENDIF
  909.                 IF punkte#(e#-1,r#+1)<>punkte#(e#,r#) THEN
  910.                   COLOR punkte#(e#,r#)
  911.                   GRAPHMODE 1
  912.                   DRAW e#-1,r#+1
  913.                 ENDIF
  914.                 IF punkte#(e#,r#-1)<>punkte#(e#,r#) THEN
  915.                   COLOR punkte#(e#,r#)
  916.                   GRAPHMODE 1
  917.                   DRAW e#,r#-1
  918.                 ENDIF
  919.                 IF punkte#(e#,r#+1)<>punkte#(e#,r#) THEN
  920.                   COLOR punkte#(e#,r#)
  921.                   GRAPHMODE 1
  922.                   DRAW e#,r#+1
  923.                 ENDIF
  924.                 IF punkte#(e#+1,r#-1)<>punkte#(e#,r#) THEN
  925.                   COLOR punkte#(e#,r#)
  926.                   GRAPHMODE 1
  927.                   DRAW e#+1,r#-1
  928.                 ENDIF
  929.                 IF punkte#(e#+1,r#)<>punkte#(e#,r#) THEN
  930.                   COLOR punkte#(e#,r#)
  931.                   GRAPHMODE 1
  932.                   DRAW e#+1,r#
  933.                 ENDIF
  934.                 IF punkte#(e#+1,r#+1)<>punkte#(e#,r#) THEN
  935.                   COLOR punkte#(e#,r#)
  936.                   GRAPHMODE 1
  937.                   DRAW e#+1,r#+1
  938.                 ENDIF
  939.                 IF POINT(e#,r#)=punkte#(e#,r#) THEN
  940.                   COLOR 0
  941.                   DRAW e#,r#
  942.                 ENDIF
  943.               ENDIF
  944.             NEXT e#
  945.           NEXT r#
  946.           GET 0,0,xachse#,yachse#,k_bild$
  947.           SPUT screen2$
  948.           GRAPHMODE 3
  949.           REPEAT
  950.           UNTIL MOUSEK=0
  951.           REPEAT
  952.             farbe3$=INKEY$
  953.             IF LEN(farbe3$)>1 THEN
  954.               sondert#=ASC(RIGHT$(farbe3$,1))
  955.             ENDIF
  956.             IF sondert#=59 THEN
  957.               IF bildin#=2 THEN
  958.                 SGET bild_2$
  959.               ENDIF
  960.               IF bildin#=3 THEN
  961.                 SGET bild_3$
  962.               ENDIF
  963.               IF bildin#<>1 THEN
  964.                 SPUT bild_1$
  965.               ENDIF
  966.               bildin#=1
  967.             ENDIF
  968.             IF sondert#=60 THEN
  969.               IF bildin#=1 THEN
  970.                 SGET bild_1$
  971.               ENDIF
  972.               IF bildin#=3 THEN
  973.                 SGET bild_3$
  974.               ENDIF
  975.               IF bildin#<>2 THEN
  976.                 SPUT bild_2$
  977.               ENDIF
  978.               bildin#=2
  979.             ENDIF
  980.             IF sondert#=61 THEN
  981.               IF bildin#=1 THEN
  982.                 SGET bild_1$
  983.               ENDIF
  984.               IF bildin#=2 THEN
  985.                 SGET bild_2$
  986.               ENDIF
  987.               IF bildin#<>3 THEN
  988.                 SPUT bild_3$
  989.               ENDIF
  990.               bildin#=3
  991.             ENDIF
  992.             mx2#=MOUSEX
  993.             my2#=MOUSEY
  994.             PUT mx2#,my2#,k_bild$,6
  995.             REPEAT
  996.               testx#=MOUSEX
  997.               testy#=MOUSEY
  998.               EXIT IF MOUSEK=2
  999.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1000.             PUT mx2#,my2#,k_bild$,6
  1001.           UNTIL MOUSEK=1 OR MOUSEK=2
  1002.           GRAPHMODE g_m#
  1003.           IF MOUSEK=1
  1004.             PUT mx2#,my2#,k_bild$,p_m#
  1005.           ENDIF
  1006.           GRAPHMODE 1
  1007.           ERASE punkte#()
  1008.           DEFMOUSE 0
  1009.           DEFFILL 1
  1010.           COLOR 1
  1011.         ENDIF
  1012.         IF farbe1$="J" OR (waag#=6 AND senk#=6) THEN
  1013.           PAUSE 10
  1014.           ALERT 2,"WAS WOLLEN|SIE ERSTELLEN",1,"TORT/BALK|FLUß",flus#
  1015.           IF flus#=1 THEN
  1016.             IF esta#=1 THEN
  1017.               ALERT 2,"WOLLEN SIE EINE|NEUE STATISTIK ERSTELLEN",1,"JA|NEIN",neus#
  1018.               IF neus#=1 THEN
  1019.                 ERASE partei$()
  1020.                 ERASE werte#()
  1021.                 ERASE prozent#()
  1022.               ENDIF
  1023.             ELSE
  1024.               neus#=1
  1025.             ENDIF
  1026.             maximal#=0
  1027.             SGET screen2$
  1028.             ALERT 2,"SOLLEN PROZENTE|ANGEZEIGT WERDEN",1,"JA|NEIN",pro#
  1029.             CLS
  1030.             IF neus#=1 THEN
  1031.               REPEAT
  1032.                 PRINT AT(1,1);"WIE VIELE WERTE";
  1033.                 INPUT stucke#
  1034.               UNTIL stucke#<=32
  1035.               DIM partei$(stucke#)
  1036.               DIM werte#(stucke#)
  1037.               DIM prozent#(stucke#)
  1038.               PRINT AT(1,2);"WIE LAUTET DIE EINHEIT";
  1039.               INPUT einheit$
  1040.               geswert#=0
  1041.               FOR eingabe#=1 TO stucke#
  1042.                 CLS
  1043.                 PRINT AT(1,1);"WIE HEISST NR.";eingabe#;
  1044.                 INPUT partei$(eingabe#)
  1045.                 PRINT AT(1,2);"WIEVIEL ";einheit$;" BEKOMMT ";partei$(eingabe#);
  1046.                 INPUT werte#(eingabe#)
  1047.                 IF werte#(eingabe#)>=0 THEN
  1048.                   IF werte#(eingabe#)>maximal# THEN
  1049.                     maximal#=werte#(eingabe#)
  1050.                   ENDIF
  1051.                 ELSE
  1052.                   IF (-1)*werte#(eingabe#)>maximal# THEN
  1053.                     maximal#=(-1)*werte#(eingabe#)
  1054.                   ENDIF
  1055.                 ENDIF
  1056.                 geswert#=geswert#+werte#(eingabe#)
  1057.               NEXT eingabe#
  1058.               maximal1#=maximal#
  1059.             ELSE
  1060.               maximal#=maximal1#
  1061.             ENDIF
  1062.             CLS
  1063.             ALERT 2,"WAS WOLLEN SIE ERSTELLEN",1,"TORTE|BALKEN",sta#
  1064.             IF sta#=1 THEN
  1065.               REPEAT
  1066.                 REPEAT
  1067.                 UNTIL MOUSEK=0
  1068.                 GRAPHMODE 3
  1069.                 HIDEM
  1070.                 REPEAT
  1071.                   stax#=MOUSEX
  1072.                   CIRCLE 160,100,stax#-100
  1073.                   REPEAT
  1074.                     testx#=MOUSEX
  1075.                     EXIT IF MOUSEK=2
  1076.                   UNTIL testx#<>stax# OR MOUSEK<>0
  1077.                   CIRCLE 160,100,stax#-100
  1078.                 UNTIL MOUSEK<>0
  1079.                 SHOWM
  1080.                 rad#=stax#-100
  1081.                 GRAPHMODE 1
  1082.                 winkel1#=0
  1083.                 winkel2#=0
  1084.                 CLS
  1085.                 FOR rechnen#=1 TO stucke#
  1086.                   prozent#(rechnen#)=(werte#(rechnen#)/geswert#)*100
  1087.                   winkel2#=winkel1#+(prozent#(rechnen#)/100)*3600
  1088.                   DEFFILL rechnen#,komp1#,komp2#
  1089.                   PCIRCLE 160,100,rad#,winkel1#,winkel2#
  1090.                   DEFLINE 1
  1091.                   CIRCLE 160,100,rad#,winkel1#,winkel2#
  1092.                   winkel1#=winkel2#
  1093.                 NEXT rechnen#
  1094.                 DEFTEXT 1,,,4
  1095.                 rads#=rad#
  1096.                 FOR rechnen#=1 TO stucke#
  1097.                   IF rechnen#=1 THEN
  1098.                     GRAPHMODE 1
  1099.                   ELSE
  1100.                     GRAPHMODE 2
  1101.                   ENDIF
  1102.                   prozent#(rechnen#)=INT(((werte#(rechnen#)/geswert#)*100)*100)/100
  1103.                   winkel2#=winkel1#+(prozent#(rechnen#)/100)*3600
  1104.                   winkel3#=winkel1#+((winkel2#-winkel1#)/2)
  1105.                   rech1#=RAD(winkel3#/10-90)
  1106.                   xsch#=SIN(rech1#)*rads#
  1107.                   ysch#=COS(rech1#)*rads#
  1108.                   neuz$=STR$(werte#(rechnen#))+" "+einheit$
  1109.                   neuz1$=STR$(prozent#(rechnen#))+"%"
  1110.                   TEXT 160-xsch#,100-ysch#,partei$(rechnen#)
  1111.                   TEXT 160-xsch#,100-ysch#+6,neuz$
  1112.                   IF pro#=1 THEN
  1113.                     TEXT 160-xsch#,100-ysch#+12,neuz1$
  1114.                   ENDIF
  1115.                   winkel1#=winkel2#
  1116.                 NEXT rechnen#
  1117.                 REPEAT
  1118.                 UNTIL MOUSEK=0
  1119.                 REPEAT
  1120.                 UNTIL MOUSEK<>0
  1121.                 IF MOUSEK=1 THEN
  1122.                   ALERT 2,"ANDERE GRÖßE ZEICHNEN",1,"NEIN|JA",erneut#
  1123.                 ELSE
  1124.                   erneut#=1
  1125.                 ENDIF
  1126.               UNTIL erneut#=1
  1127.             ELSE
  1128.               CLS
  1129.               IF geswert#<>0 THEN
  1130.                 FOR rechnen#=1 TO stucke#
  1131.                   prozent#(rechnen#)=(werte#(rechnen#)/geswert#)*100
  1132.                 NEXT rechnen#
  1133.               ENDIF
  1134.               maximal#=(1+VAL(LEFT$(STR$(maximal#),1)))*10^(LEN(STR$(maximal#))-1)
  1135.               REPEAT
  1136.                 CLS
  1137.                 DEFLINE 1,1,0,0
  1138.                 GRAPHMODE 3
  1139.                 DEFMOUSE 5
  1140.                 REPEAT
  1141.                   mx2#=MOUSEX
  1142.                   my2#=MOUSEY
  1143.                   IF my2#<50 THEN
  1144.                     my2#=50
  1145.                   ENDIF
  1146.                   BOX 20,10,mx2#,my2#
  1147.                   REPEAT
  1148.                     testx#=MOUSEX
  1149.                     testy#=MOUSEY
  1150.                     IF testy#<50 THEN
  1151.                       testy#=50
  1152.                     ENDIF
  1153.                   UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1154.                   BOX 20,10,mx2#,my2#
  1155.                 UNTIL MOUSEK<>0
  1156.                 REPEAT
  1157.                 UNTIL MOUSEK=0
  1158.                 diffx#=INT(mx2#/stucke#)
  1159.                 okay#=0
  1160.                 teil#=1
  1161.                 REPEAT
  1162.                   IF INT(my2#/(maximal#/teil#))<2 THEN
  1163.                     teil#=teil#*10
  1164.                   ELSE
  1165.                     okay#=1
  1166.                   ENDIF
  1167.                 UNTIL okay#=1
  1168.                 diffy#=INT(my2#/(maximal#/teil#))
  1169.                 GRAPHMODE 1
  1170.                 DEFLINE 2
  1171.                 DEFTEXT 1,,,4
  1172.                 FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx#
  1173.                   GRAPHMODE 1
  1174.                   DRAW x#+19,10 TO x#+19,diffy#*(maximal#/teil#)+9 TO x#+19-diffx#/6,diffy#*(maximal#/teil#)+9+diffx#/6
  1175.                 NEXT x#
  1176.                 FOR y#=1 TO diffy#*(maximal#/teil#)+diffy# STEP diffy#
  1177.                   IF (y# DIV diffy#) MOD 10=0 OR diffy#>6 THEN
  1178.                     TEXT 1,y#+10,maximal#-(teil#*INT((y#/diffy#)))
  1179.                     DEFLINE 2
  1180.                   ELSE
  1181.                     DEFLINE 3
  1182.                   ENDIF
  1183.                   DRAW 20,y#+9 TO diffx#*stucke#+19,y#+9
  1184.                 NEXT y#
  1185.                 DEFLINE 1,1,0,1
  1186.                 DRAW 20,diffy#*(maximal#/teil#)+10 TO 20,10
  1187.                 DRAW 20,diffy#*(maximal#/teil#)+10 TO diffx#*stucke#+20,diffy#*(maximal#/teil#)+10
  1188.                 TEXT 1,5,einheit$
  1189.                 DEFLINE 1,1,0,0
  1190.                 DRAW 20,diffy#*(maximal#/teil#)+10 TO 20-diffx#/6,diffy#*(maximal#/teil#)+10+diffx#/6 TO diffx#*stucke#+20-diffx#/6,diffy#*(maximal#/teil#)+10+diffx#/6 TO diffx#*stucke#+20,diffy#*(maximal#/teil#)+10
  1191.                 DIM polyx#(4)
  1192.                 DIM polyy#(4)
  1193.                 DIM polyx1#(4)
  1194.                 DIM polyy1#(4)
  1195.                 polyx#(0)=(diffx#+20-diffx#)+diffx#/6-1
  1196.                 polyy#(0)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#
  1197.                 polyx#(1)=(diffx#+20-diffx#)+diffx#/6+diffx#/6-1
  1198.                 polyy#(1)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#-diffx#/6
  1199.                 polyx#(2)=diffx#+20-(diffx#/6)*2+diffx#/6
  1200.                 polyy#(2)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#-diffx#/6
  1201.                 polyx#(3)=diffx#+20-(diffx#/6)*2
  1202.                 polyy#(3)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#
  1203.                 polyx#(4)=polyx#(0)
  1204.                 polyy#(4)=polyy#(0)
  1205.                 polyx1#(0)=polyx#(3)
  1206.                 polyy1#(0)=polyy#(3)
  1207.                 polyx1#(1)=polyx#(2)
  1208.                 polyy1#(1)=polyy#(2)
  1209.                 polyx1#(2)=polyx1#(1)
  1210.                 polyy1#(2)=(diffy#*(maximal#/teil#)+10-diffx#/6)
  1211.                 polyx1#(3)=polyx1#(0)
  1212.                 polyy1#(3)=diffy#*(maximal#/teil#)+10
  1213.                 polyx1#(4)=polyx1#(0)
  1214.                 polyy1#(4)=polyy1#(0)
  1215.                 COLOR 1
  1216.                 GRAPHMODE 1
  1217.                 FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx#
  1218.                   IF x#<>1 THEN
  1219.                     IF INT(x#/diffx#)<16 THEN
  1220.                       DEFFILL INT(x#/diffx#),komp1#,komp2#
  1221.                     ELSE
  1222.                       DEFFILL INT(x#/diffx#)-14,komp1#,komp2#
  1223.                     ENDIF
  1224.                     PBOX (x#+19-diffx#)+diffx#/6-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+diffx#/6,x#+19-(diffx#/6)*2,diffy#*(maximal#/teil#)+10+diffx#/6
  1225.                     COLOR 1
  1226.                     DEFLINE 1
  1227.                     BOX (x#+19-diffx#)+diffx#/6-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+diffx#/6,x#+19-(diffx#/6)*2,diffy#*(maximal#/teil#)+10+diffx#/6
  1228.                     IF werte#(INT(x#/diffx#))>=0 THEN
  1229.                       POLYFILL 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6
  1230.                       POLYLINE 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6
  1231.                     ELSE
  1232.                       POLYFILL 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6
  1233.                       POLYLINE 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6
  1234.                     ENDIF
  1235.                     polyy1#(0)=(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+1
  1236.                     polyy1#(4)=polyy1#(0)
  1237.                     polyy1#(1)=(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-diffx#/6+1
  1238.                     POLYFILL 5,polyx1#(),polyy1#() OFFSET x#-diffx#-1,diffx#/6
  1239.                     POLYLINE 5,polyx1#(),polyy1#() OFFSET x#-diffx#-1,diffx#/6
  1240.                     IF INT(x#/diffx#)=1
  1241.                       GRAPHMODE 1
  1242.                       COLOR 0
  1243.                       DRAW polyx1#(3),polyy1#(3)+diffx#/6 TO polyx1#(3),polyy1#(4)+diffx#/6 TO polyx#(0),polyy1#(4)+diffx#/6
  1244.                       DRAW polyx1#(3),polyy1#(4)+diffx#/6 TO polyx1#(1),polyy1#(1)+diffx#/6
  1245.                       COLOR 1
  1246.                     ENDIF
  1247.                     IF pro#=1 THEN
  1248.                       IF INT(x#/diffx#)<>1 THEN
  1249.                         GRAPHMODE 2
  1250.                       ENDIF
  1251.                       IF geswert#<>0 THEN
  1252.                         prozent#(INT(x#/diffx#))=INT(((werte#(INT(x#/diffx#))/geswert#)*100)*100)/100
  1253.                       ENDIF
  1254.                       neuz1$=STR$(prozent#(INT(x#/diffx#)))+"%"
  1255.                       TEXT (x#+7-diffx#)+2*(diffx#/5),diffx#/6+7+(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#,neuz1$
  1256.                       GRAPHMODE 1
  1257.                     ENDIF
  1258.                   ENDIF
  1259.                 NEXT x#
  1260.                 FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx#
  1261.                   GRAPHMODE 1
  1262.                   IF LEN(partei$(INT(x#/diffx#)))*6<diffx# THEN
  1263.                     DEFTEXT 1,0,0
  1264.                     TEXT (x#+19-(diffx#/2))-((LEN(partei$(INT(x#/diffx#))))/2)*6,diffy#*(maximal#/teil#)+18+diffx#/6,partei$(INT(x#/diffx#))
  1265.                   ELSE
  1266.                     DEFTEXT 1,0,2700
  1267.                     TEXT (x#+19)-diffx#/2-diffx#/6,diffy#*(maximal#/teil#)+18+diffx#/6-3,partei$(INT(x#/diffx#))
  1268.                   ENDIF
  1269.                 NEXT x#
  1270.                 DEFTEXT 1,0,0
  1271.                 ERASE polyx#()
  1272.                 ERASE polyy#()
  1273.                 ERASE polyx1#()
  1274.                 ERASE polyy1#()
  1275.                 GRAPHMODE 1
  1276.                 REPEAT
  1277.                 UNTIL MOUSEK=0
  1278.                 REPEAT
  1279.                 UNTIL MOUSEK<>0
  1280.                 IF MOUSEK=1 THEN
  1281.                   ALERT 2,"ANDERE GRÖßE ZEICHNEN",1,"NEIN|JA",erneut#
  1282.                 ELSE
  1283.                   erneut#=1
  1284.                 ENDIF
  1285.               UNTIL erneut#=1
  1286.             ENDIF
  1287.             GRAPHMODE 1
  1288.             DEFMOUSE 5
  1289.             DEFLINE 1,1,0,0
  1290.             REPEAT
  1291.             UNTIL MOUSEK=0
  1292.             SHOWM
  1293.             REPEAT
  1294.               mx#=MOUSEX
  1295.               my#=MOUSEY
  1296.             UNTIL MOUSEK<>0
  1297.             REPEAT
  1298.             UNTIL MOUSEK=0
  1299.             WHILE MOUSEK=0
  1300.               mx1#=MOUSEX
  1301.               my1#=MOUSEY
  1302.               GRAPHMODE 3
  1303.               BOX mx#,my#,mx1#,my1#
  1304.               REPEAT
  1305.                 testx#=MOUSEX
  1306.                 testy#=MOUSEY
  1307.                 EXIT IF MOUSEK=2
  1308.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1309.               BOX mx#,my#,mx1#,my1#
  1310.             WEND
  1311.             GET mx#,my#,mx1#,my1#,k_bild$
  1312.             SPUT screen2$
  1313.             GRAPHMODE 3
  1314.             REPEAT
  1315.             UNTIL MOUSEK=0
  1316.             REPEAT
  1317.               farbe3$=INKEY$
  1318.               IF LEN(farbe3$)>1 THEN
  1319.                 sondert#=ASC(RIGHT$(farbe3$,1))
  1320.               ENDIF
  1321.               IF sondert#=59 THEN
  1322.                 IF bildin#=2 THEN
  1323.                   SGET bild_2$
  1324.                 ENDIF
  1325.                 IF bildin#=3 THEN
  1326.                   SGET bild_3$
  1327.                 ENDIF
  1328.                 IF bildin#<>1 THEN
  1329.                   SPUT bild_1$
  1330.                 ENDIF
  1331.                 bildin#=1
  1332.               ENDIF
  1333.               IF sondert#=60 THEN
  1334.                 IF bildin#=1 THEN
  1335.                   SGET bild_1$
  1336.                 ENDIF
  1337.                 IF bildin#=3 THEN
  1338.                   SGET bild_3$
  1339.                 ENDIF
  1340.                 IF bildin#<>2 THEN
  1341.                   SPUT bild_2$
  1342.                 ENDIF
  1343.                 bildin#=2
  1344.               ENDIF
  1345.               IF sondert#=61 THEN
  1346.                 IF bildin#=1 THEN
  1347.                   SGET bild_1$
  1348.                 ENDIF
  1349.                 IF bildin#=2 THEN
  1350.                   SGET bild_2$
  1351.                 ENDIF
  1352.                 IF bildin#<>3 THEN
  1353.                   SPUT bild_3$
  1354.                 ENDIF
  1355.                 bildin#=3
  1356.               ENDIF
  1357.               mx2#=MOUSEX
  1358.               my2#=MOUSEY
  1359.               PUT mx2#,my2#,k_bild$,6
  1360.               REPEAT
  1361.                 testx#=MOUSEX
  1362.                 testy#=MOUSEY
  1363.                 EXIT IF MOUSEK=2
  1364.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1365.               PUT mx2#,my2#,k_bild$,6
  1366.             UNTIL MOUSEK=1 OR MOUSEK=2
  1367.             GRAPHMODE g_m#
  1368.             IF MOUSEK=1
  1369.               PUT mx2#,my2#,k_bild$,p_m#
  1370.             ENDIF
  1371.             esta#=1
  1372.           ENDIF
  1373.           IF flus#=2 THEN
  1374.             SGET screen2$
  1375.             CLS
  1376.             PRINT AT(1,1);"WIE LAUTET DER HÖCHSTE Y-WERT";
  1377.             INPUT yhoch#
  1378.             PRINT AT(1,2);"WIE LAUTET DER HÖCHSTE X-WERT";
  1379.             INPUT xhoch#
  1380.             PRINT AT(1,3);"IN WELCHEN ABSTÄNDEN WERDEN "
  1381.             PRINT AT(1,4);"DIE X-WERTE ANGEGEBEN";
  1382.             INPUT xab#
  1383.             PRINT AT(1,5);"EINHEIT Y";
  1384.             INPUT yei$
  1385.             PRINT AT(1,6);"EINHEIT X";
  1386.             INPUT xei$
  1387.             maxi#=(1+VAL(LEFT$(STR$(yhoch#),1)))*10^(LEN(STR$(yhoch#))-1)
  1388.             CLS
  1389.             REPEAT
  1390.               GRAPHMODE 3
  1391.               REPEAT
  1392.                 mx2#=MOUSEX
  1393.                 my2#=MOUSEY
  1394.                 IF my2#<50 THEN
  1395.                   my2#=50
  1396.                 ENDIF
  1397.                 BOX 20,10,mx2#,my2#
  1398.                 REPEAT
  1399.                   testx#=MOUSEX
  1400.                   testy#=MOUSEY
  1401.                   IF testy#<50 THEN
  1402.                     testy#=50
  1403.                   ENDIF
  1404.                 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1405.                 BOX 20,10,mx2#,my2#
  1406.               UNTIL MOUSEK<>0
  1407.               REPEAT
  1408.               UNTIL MOUSEK=0
  1409.               CLS
  1410.               okay#=0
  1411.               tei#=1
  1412.               REPEAT
  1413.                 IF INT((my2#-10)/(maxi#/tei#))<2 THEN
  1414.                   tei#=tei#*10
  1415.                 ELSE
  1416.                   okay#=1
  1417.                 ENDIF
  1418.               UNTIL okay#=1
  1419.               ya#=INT((my2#-10)/(maxi#/tei#))
  1420.               xa#=INT((mx2#-20)/xhoch#)
  1421.               IF xa#<=0 THEN
  1422.                 xa#=1
  1423.               ENDIF
  1424.               IF ya#<=0 THEN
  1425.                 ya#=1
  1426.               ENDIF
  1427.               DEFTEXT 1,,,4
  1428.               GRAPHMODE 1
  1429.               DEFLINE 2
  1430.               FOR x#=0 TO xa#*xhoch# STEP xab#*xa#
  1431.                 DRAW 20+x#,10 TO 20+x#,10+ya#*(maxi#/tei#)
  1432.                 TEXT 17+x#,16+ya#*(maxi#/tei#),INT(x#/xa#)
  1433.               NEXT x#
  1434.               FOR y#=0 TO ya#*(maxi#/tei#) STEP ya#
  1435.                 IF (y# DIV ya#) MOD 10=0 OR ya#>6 THEN
  1436.                   TEXT 0,y#+10,maxi#-INT((y#/ya#))*tei#
  1437.                   DEFLINE 2
  1438.                 ELSE
  1439.                   DEFLINE 3
  1440.                 ENDIF
  1441.                 DRAW 20,y#+10 TO 20+xa#*xhoch#,y#+10
  1442.               NEXT y#
  1443.               DEFLINE 1,1,0,1
  1444.               DRAW 20,ya#*(maxi#/tei#)+10 TO 20,10
  1445.               DRAW 20,ya#*(maxi#/tei#)+10 TO 20+xa#*xhoch#,ya#*(maxi#/tei#)+10
  1446.               DEFLINE 1,1,0,0
  1447.               TEXT 0,4,yei$
  1448.               TEXT 20+xa#*xhoch#,ya#*(maxi#/tei#)+22,xei$
  1449.               REPEAT
  1450.               UNTIL MOUSEK<>0
  1451.               IF MOUSEK=1 THEN
  1452.                 ALERT 2,"NEUE GRÖßE ZEICHNEN",1,"NEIN|JA",gro#
  1453.               ELSE
  1454.                 gro#=1
  1455.               ENDIF
  1456.             UNTIL gro#=1
  1457.             DEFLINE 1,1,0,0
  1458.             linf#=0
  1459.             REPEAT
  1460.               linf#=linf#+1
  1461.               FOR x#=0 TO xa#*xhoch# STEP xa#*xab#
  1462.                 REPEAT
  1463.                 UNTIL MOUSEK=0
  1464.                 REPEAT
  1465.                   GRAPHMODE 3
  1466.                   sty#=MOUSEY
  1467.                   stx#=MOUSEX
  1468.                   IF MOUSEX<>20+x# THEN
  1469.                     SETMOUSE 20+x#,sty#
  1470.                   ENDIF
  1471.                   IF INT(maxi#-((sty#-10)/ya#)*tei#)<0 THEN
  1472.                     SETMOUSE 20+x#,(maxi#/tei#)*ya#+10
  1473.                   ENDIF
  1474.                   TEXT 0,172,"X:"
  1475.                   TEXT 0,178,INT(x#/xa#)
  1476.                   TEXT 0,184,"Y:"
  1477.                   TEXT 0,190,maxi#-((sty#-10)/ya#)*tei#
  1478.                   REPEAT
  1479.                     SHOWM
  1480.                     testy#=MOUSEY
  1481.                     testx#=MOUSEX
  1482.                   UNTIL testy#<>sty# OR testx#<>stx# OR MOUSEK<>0
  1483.                   TEXT 0,172,"X:"
  1484.                   TEXT 0,178,INT(x#/xa#)
  1485.                   TEXT 0,184,"Y:"
  1486.                   TEXT 0,190,maxi#-((sty#-10)/ya#)*tei#
  1487.                 UNTIL MOUSEK<>0
  1488.                 EXIT IF MOUSEK=2
  1489.                 IF x#<>0 THEN
  1490.                   COLOR linf#
  1491.                   GRAPHMODE 1
  1492.                   DRAW x#+20,sty# TO x#+20-xa#*xab#,sty1#
  1493.                   GRAPHMODE 3
  1494.                   COLOR 1
  1495.                 ENDIF
  1496.                 sty1#=sty#
  1497.               NEXT x#
  1498.               REPEAT
  1499.               UNTIL MOUSEK=0
  1500.               REPEAT
  1501.               UNTIL MOUSEK<>0
  1502.               IF MOUSEK=1 THEN
  1503.                 ALERT 2,"NOCH EIN LINIE",1,"JA|NEIN",lin#
  1504.               ELSE
  1505.                 lin#=2
  1506.               ENDIF
  1507.             UNTIL lin#=2
  1508.             GRAPHMODE 1
  1509.             DEFMOUSE 5
  1510.             DEFLINE 1,1,0,0
  1511.             REPEAT
  1512.             UNTIL MOUSEK=0
  1513.             SHOWM
  1514.             REPEAT
  1515.               mx#=MOUSEX
  1516.               my#=MOUSEY
  1517.             UNTIL MOUSEK<>0
  1518.             REPEAT
  1519.             UNTIL MOUSEK=0
  1520.             WHILE MOUSEK=0
  1521.               mx1#=MOUSEX
  1522.               my1#=MOUSEY
  1523.               GRAPHMODE 3
  1524.               BOX mx#,my#,mx1#,my1#
  1525.               REPEAT
  1526.                 testx#=MOUSEX
  1527.                 testy#=MOUSEY
  1528.                 EXIT IF MOUSEK=2
  1529.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1530.               BOX mx#,my#,mx1#,my1#
  1531.             WEND
  1532.             GET mx#,my#,mx1#,my1#,k_bild$
  1533.             SPUT screen2$
  1534.             GRAPHMODE 3
  1535.             REPEAT
  1536.             UNTIL MOUSEK=0
  1537.             REPEAT
  1538.               farbe3$=INKEY$
  1539.               IF LEN(farbe3$)>1 THEN
  1540.                 sondert#=ASC(RIGHT$(farbe3$,1))
  1541.               ENDIF
  1542.               IF sondert#=59 THEN
  1543.                 IF bildin#=2 THEN
  1544.                   SGET bild_2$
  1545.                 ENDIF
  1546.                 IF bildin#=3 THEN
  1547.                   SGET bild_3$
  1548.                 ENDIF
  1549.                 IF bildin#<>1 THEN
  1550.                   SPUT bild_1$
  1551.                 ENDIF
  1552.                 bildin#=1
  1553.               ENDIF
  1554.               IF sondert#=60 THEN
  1555.                 IF bildin#=1 THEN
  1556.                   SGET bild_1$
  1557.                 ENDIF
  1558.                 IF bildin#=3 THEN
  1559.                   SGET bild_3$
  1560.                 ENDIF
  1561.                 IF bildin#<>2 THEN
  1562.                   SPUT bild_2$
  1563.                 ENDIF
  1564.                 bildin#=2
  1565.               ENDIF
  1566.               IF sondert#=61 THEN
  1567.                 IF bildin#=1 THEN
  1568.                   SGET bild_1$
  1569.                 ENDIF
  1570.                 IF bildin#=2 THEN
  1571.                   SGET bild_2$
  1572.                 ENDIF
  1573.                 IF bildin#<>3 THEN
  1574.                   SPUT bild_3$
  1575.                 ENDIF
  1576.                 bildin#=3
  1577.               ENDIF
  1578.               mx2#=MOUSEX
  1579.               my2#=MOUSEY
  1580.               PUT mx2#,my2#,k_bild$,6
  1581.               REPEAT
  1582.                 testx#=MOUSEX
  1583.                 testy#=MOUSEY
  1584.                 EXIT IF MOUSEK=2
  1585.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1586.               PUT mx2#,my2#,k_bild$,6
  1587.             UNTIL MOUSEK=1 OR MOUSEK=2
  1588.             GRAPHMODE g_m#
  1589.             IF MOUSEK=1
  1590.               PUT mx2#,my2#,k_bild$,p_m#
  1591.             ENDIF
  1592.           ENDIF
  1593.         ENDIF
  1594.         IF farbe1$="3" OR (waag#=7 AND senk#=1) THEN
  1595.           DEFFILL 0
  1596.           SGET screen2$
  1597.           PAUSE 5
  1598.           DEFMOUSE 5
  1599.           REPEAT
  1600.           UNTIL MOUSEK=1
  1601.           mx#=MOUSEX
  1602.           my#=MOUSEY
  1603.           REPEAT
  1604.           UNTIL MOUSEK=0
  1605.           WHILE MOUSEK=0
  1606.             mx1#=MOUSEX
  1607.             my1#=MOUSEY
  1608.             IF mx1#-mx#>250 THEN
  1609.               mx1#=mx#+250
  1610.             ENDIF
  1611.             IF my1#-my#>180 THEN
  1612.               my1#=my#+180
  1613.             ENDIF
  1614.             IF mx#>mx1# THEN
  1615.               mx1#=mx#
  1616.             ENDIF
  1617.             IF my#>my1# THEN
  1618.               my1#=my#
  1619.             ENDIF
  1620.             GRAPHMODE 3
  1621.             BOX mx#,my#,mx1#,my1#
  1622.             REPEAT
  1623.               testx#=MOUSEX
  1624.               testy#=MOUSEY
  1625.               IF testx#-mx#>250 THEN
  1626.                 testx#=mx#+250
  1627.               ENDIF
  1628.               IF testy#-my#>180 THEN
  1629.                 testy#=my#+180
  1630.               ENDIF
  1631.               IF mx#>testx# THEN
  1632.                 testx#=mx#
  1633.               ENDIF
  1634.               IF my#>testy# THEN
  1635.                 testy#=my#
  1636.               ENDIF
  1637.               EXIT IF MOUSEK=2
  1638.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1639.             BOX mx#,my#,mx1#,my1#
  1640.           WEND
  1641.           GET mx#,my#,mx1#,my1#,kopierb$
  1642.           PUT 0,0,kopierb$
  1643.           xachse#=mx1#-mx#
  1644.           yachse#=my1#-my#
  1645.           DIM punkte#(xachse#,yachse#)
  1646.           FOR q#=0 TO xachse#
  1647.             FOR w#=0 TO yachse#
  1648.               punkte#(q#,w#)=POINT(q#,w#)
  1649.             NEXT w#
  1650.           NEXT q#
  1651.           CLS
  1652.           PAUSE 5
  1653.           GRAPHMODE 3
  1654.           SETMOUSE 160,0
  1655.           radius#=(SQR((xachse#/2)^2+(yachse#/2)^2))
  1656.           gehw#=(DEG(ASIN((yachse#/2)/radius#)))
  1657.           HIDEM
  1658.           REPEAT
  1659.             mx50#=MOUSEX-30
  1660.             my50#=MOUSEY-30
  1661.             SETDRAW 160,100,0
  1662.             DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0"
  1663.             DRAW "RT ",my50#*3," BK ",xachse#,"RT 90 BK ",yachse#,"RT 90 BK",xachse#,"RT 90 BK",yachse#,""
  1664.             REPEAT
  1665.               testx#=MOUSEX-30
  1666.               testy#=MOUSEY-30
  1667.               EXIT IF MOUSEK=2
  1668.             UNTIL testx#<>mx50# OR testy#<>my50# OR MOUSEK<>0
  1669.             SETDRAW 160,100,0
  1670.             DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0"
  1671.             DRAW "RT ",my50#*3," BK ",xachse#,"RT 90 BK ",yachse#,"RT 90 BK",xachse#,"RT 90 BK",yachse#,""
  1672.           UNTIL MOUSEK=1 OR MOUSEK=2
  1673.           wink#=my50#*3
  1674.           GRAPHMODE 1
  1675.           REPEAT
  1676.           UNTIL MOUSEK=0
  1677.           FOR e#=0 TO xachse#
  1678.             SETDRAW 160,100,0
  1679.             DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0"
  1680.             DRAW "PU RT ",wink#," BK",e#,"RT 90"
  1681.             FOR r#=0 TO yachse#
  1682.               DRAW "BK1 CO ",punkte#(e#,r#)," PD"
  1683.               COLOR punkte#(e#,r#)
  1684.               DRAW DRAW(0),DRAW(1)
  1685.             NEXT r#
  1686.           NEXT e#
  1687.           SHOWM
  1688.           REPEAT
  1689.           UNTIL MOUSEK=1 OR MOUSEK=2
  1690.           mx#=MOUSEX
  1691.           my#=MOUSEY
  1692.           REPEAT
  1693.           UNTIL MOUSEK=0
  1694.           WHILE MOUSEK=0
  1695.             mx1#=MOUSEX
  1696.             my1#=MOUSEY
  1697.             GRAPHMODE 3
  1698.             BOX mx#,my#,mx1#,my1#
  1699.             REPEAT
  1700.               testx#=MOUSEX
  1701.               testy#=MOUSEY
  1702.               EXIT IF MOUSEK=2
  1703.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1704.             BOX mx#,my#,mx1#,my1#
  1705.           WEND
  1706.           GET mx#,my#,mx1#,my1#,k_bild$
  1707.           SPUT screen2$
  1708.           GRAPHMODE 3
  1709.           REPEAT
  1710.           UNTIL MOUSEK=0
  1711.           REPEAT
  1712.             farbe3$=INKEY$
  1713.             IF LEN(farbe3$)>1 THEN
  1714.               sondert#=ASC(RIGHT$(farbe3$,1))
  1715.             ENDIF
  1716.             IF sondert#=59 THEN
  1717.               IF bildin#=2 THEN
  1718.                 SGET bild_2$
  1719.               ENDIF
  1720.               IF bildin#=3 THEN
  1721.                 SGET bild_3$
  1722.               ENDIF
  1723.               IF bildin#<>1 THEN
  1724.                 SPUT bild_1$
  1725.               ENDIF
  1726.               bildin#=1
  1727.             ENDIF
  1728.             IF sondert#=60 THEN
  1729.               IF bildin#=1 THEN
  1730.                 SGET bild_1$
  1731.               ENDIF
  1732.               IF bildin#=3 THEN
  1733.                 SGET bild_3$
  1734.               ENDIF
  1735.               IF bildin#<>2 THEN
  1736.                 SPUT bild_2$
  1737.               ENDIF
  1738.               bildin#=2
  1739.             ENDIF
  1740.             IF sondert#=61 THEN
  1741.               IF bildin#=1 THEN
  1742.                 SGET bild_1$
  1743.               ENDIF
  1744.               IF bildin#=2 THEN
  1745.                 SGET bild_2$
  1746.               ENDIF
  1747.               IF bildin#<>3 THEN
  1748.                 SPUT bild_3$
  1749.               ENDIF
  1750.               bildin#=3
  1751.             ENDIF
  1752.             mx2#=MOUSEX
  1753.             my2#=MOUSEY
  1754.             PUT mx2#,my2#,k_bild$,6
  1755.             REPEAT
  1756.               testx#=MOUSEX
  1757.               testy#=MOUSEY
  1758.               EXIT IF MOUSEK=2
  1759.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1760.             PUT mx2#,my2#,k_bild$,6
  1761.           UNTIL MOUSEK=1 OR MOUSEK=2
  1762.           GRAPHMODE g_m#
  1763.           IF MOUSEK=1
  1764.             PUT mx2#,my2#,k_bild$,p_m#
  1765.           ENDIF
  1766.           GRAPHMODE 1
  1767.           ERASE punkte#()
  1768.           DEFMOUSE 0
  1769.           DEFFILL 1
  1770.           COLOR 1
  1771.         ENDIF
  1772.         IF farbe1$="V" OR (waag#=5 AND senk#=1) THEN
  1773.           DEFFILL 0
  1774.           SGET screen2$
  1775.           PAUSE 5
  1776.           DEFMOUSE 5
  1777.           REPEAT
  1778.           UNTIL MOUSEK=1
  1779.           mx#=MOUSEX
  1780.           my#=MOUSEY
  1781.           REPEAT
  1782.           UNTIL MOUSEK=0
  1783.           WHILE MOUSEK=0
  1784.             mx1#=MOUSEX
  1785.             my1#=MOUSEY
  1786.             IF mx1#-mx#>158 THEN
  1787.               mx1#=mx#+158
  1788.             ENDIF
  1789.             IF my1#-my#>98 THEN
  1790.               my1#=my#+98
  1791.             ENDIF
  1792.             IF mx#>mx1# THEN
  1793.               mx1#=mx#
  1794.             ENDIF
  1795.             IF my#>my1# THEN
  1796.               my1#=my#
  1797.             ENDIF
  1798.             GRAPHMODE 3
  1799.             BOX mx#,my#,mx1#,my1#
  1800.             REPEAT
  1801.               testx#=MOUSEX
  1802.               testy#=MOUSEY
  1803.               EXIT IF MOUSEK=2
  1804.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1805.             BOX mx#,my#,mx1#,my1#
  1806.           WEND
  1807.           GET mx#,my#,mx1#,my1#,kopierb$
  1808.           PUT 0,0,kopierb$
  1809.           xachse#=mx1#-mx#
  1810.           yachse#=my1#-my#
  1811.           DIM punkte#(xachse#,yachse#)
  1812.           FOR q#=0 TO xachse#
  1813.             FOR w#=0 TO yachse#
  1814.               punkte#(q#,w#)=POINT(q#,w#)
  1815.             NEXT w#
  1816.           NEXT q#
  1817.           GRAPHMODE 1
  1818.           PBOX 0,0,xachse#*2,yachse#*2
  1819.           xachse1#=xachse#*2
  1820.           yachse1#=yachse#*2
  1821.           FOR q#=0 TO xachse1#
  1822.             FOR w#=0 TO yachse1#
  1823.               COLOR punkte#(q#/2,w#/2)
  1824.               DEFFILL punkte#(q#/2,w#/2)
  1825.               BOX q#-1,w#-1,q#,w#
  1826.             NEXT w#
  1827.           NEXT q#
  1828.           GET 0,0,xachse1#,yachse1#,k_bild$
  1829.           SPUT screen2$
  1830.           GRAPHMODE 3
  1831.           REPEAT
  1832.             farbe3$=INKEY$
  1833.             IF LEN(farbe3$)>1 THEN
  1834.               sondert#=ASC(RIGHT$(farbe3$,1))
  1835.             ENDIF
  1836.             IF sondert#=59 THEN
  1837.               IF bildin#=2 THEN
  1838.                 SGET bild_2$
  1839.               ENDIF
  1840.               IF bildin#=3 THEN
  1841.                 SGET bild_3$
  1842.               ENDIF
  1843.               IF bildin#<>1 THEN
  1844.                 SPUT bild_1$
  1845.               ENDIF
  1846.               bildin#=1
  1847.             ENDIF
  1848.             IF sondert#=60 THEN
  1849.               IF bildin#=1 THEN
  1850.                 SGET bild_1$
  1851.               ENDIF
  1852.               IF bildin#=3 THEN
  1853.                 SGET bild_3$
  1854.               ENDIF
  1855.               IF bildin#<>2 THEN
  1856.                 SPUT bild_2$
  1857.               ENDIF
  1858.               bildin#=2
  1859.             ENDIF
  1860.             IF sondert#=61 THEN
  1861.               IF bildin#=1 THEN
  1862.                 SGET bild_1$
  1863.               ENDIF
  1864.               IF bildin#=2 THEN
  1865.                 SGET bild_2$
  1866.               ENDIF
  1867.               IF bildin#<>3 THEN
  1868.                 SPUT bild_3$
  1869.               ENDIF
  1870.               bildin#=3
  1871.             ENDIF
  1872.             mx2#=MOUSEX
  1873.             my2#=MOUSEY
  1874.             PUT mx2#,my2#,k_bild$,6
  1875.             REPEAT
  1876.               testx#=MOUSEX
  1877.               testy#=MOUSEY
  1878.               EXIT IF MOUSEK=2
  1879.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  1880.             PUT mx2#,my2#,k_bild$,6
  1881.           UNTIL MOUSEK=1 OR MOUSEK=2
  1882.           GRAPHMODE g_m#
  1883.           IF MOUSEK=1
  1884.             PUT mx2#,my2#,k_bild$,p_m#
  1885.           ENDIF
  1886.           GRAPHMODE 1
  1887.           ERASE punkte#()
  1888.           DEFMOUSE 0
  1889.           DEFFILL 1
  1890.           COLOR 1
  1891.         ENDIF
  1892.         IF farbe1$="2" OR (waag#=6 AND senk#=1) THEN
  1893.           DEFFILL 0
  1894.           SGET screen2$
  1895.           PAUSE 5
  1896.           DEFMOUSE 5
  1897.           REPEAT
  1898.           UNTIL MOUSEK=1
  1899.           mx#=MOUSEX
  1900.           my#=MOUSEY
  1901.           REPEAT
  1902.           UNTIL MOUSEK=0
  1903.           WHILE MOUSEK=0
  1904.             mx1#=MOUSEX
  1905.             my1#=MOUSEY
  1906.             IF mx1#-mx#>290 THEN
  1907.               mx1#=mx#+290
  1908.             ENDIF
  1909.             IF my1#-my#>200 THEN
  1910.               my1#=my#+200
  1911.             ENDIF
  1912.             IF mx#>mx1# THEN
  1913.               mx1#=mx#
  1914.             ENDIF
  1915.             IF my#>my1# THEN
  1916.               my1#=my#
  1917.             ENDIF
  1918.             GRAPHMODE 3
  1919.             BOX mx#,my#,mx1#,my1#
  1920.             REPEAT
  1921.               testx#=MOUSEX
  1922.               testy#=MOUSEY
  1923.               EXIT IF MOUSEK=2
  1924.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  1925.             BOX mx#,my#,mx1#,my1#
  1926.           WEND
  1927.           GET mx#,my#,mx1#,my1#,kopierb$
  1928.           PUT 0,0,kopierb$
  1929.           xachse#=mx1#-mx#
  1930.           yachse#=my1#-my#
  1931.           DIM punkte#(xachse#,yachse#)
  1932.           FOR q#=0 TO xachse#
  1933.             FOR w#=0 TO yachse#
  1934.               punkte#(q#,w#)=POINT(q#,w#)
  1935.             NEXT w#
  1936.           NEXT q#
  1937.           GRAPHMODE 1
  1938.           PBOX 0,0,xachse#,yachse#
  1939.           xachse1#=INT(xachse#/2)
  1940.           yachse1#=INT(yachse#/2)
  1941.           FOR q#=0 TO xachse1#
  1942.             FOR w#=0 TO yachse1#
  1943.               IF punkte#(q#*2,w#*2)<>0 THEN
  1944.                 COLOR punkte#(q#*2,w#*2)
  1945.                 DRAW q#,w#
  1946.               ENDIF
  1947.             NEXT w#
  1948.           NEXT q#
  1949.           GET 0,0,xachse1#,yachse1#,k_bild$
  1950.           SPUT screen2$
  1951.           GRAPHMODE 3
  1952.           REPEAT
  1953.             farbe3$=INKEY$
  1954.             IF LEN(farbe3$)>1 THEN
  1955.               sondert#=ASC(RIGHT$(farbe3$,1))
  1956.             ENDIF
  1957.             IF sondert#=59 THEN
  1958.               IF bildin#=2 THEN
  1959.                 SGET bild_2$
  1960.               ENDIF
  1961.               IF bildin#=3 THEN
  1962.                 SGET bild_3$
  1963.               ENDIF
  1964.               IF bildin#<>1 THEN
  1965.                 SPUT bild_1$
  1966.               ENDIF
  1967.               bildin#=1
  1968.             ENDIF
  1969.             IF sondert#=60 THEN
  1970.               IF bildin#=1 THEN
  1971.                 SGET bild_1$
  1972.               ENDIF
  1973.               IF bildin#=3 THEN
  1974.                 SGET bild_3$
  1975.               ENDIF
  1976.               IF bildin#<>2 THEN
  1977.                 SPUT bild_2$
  1978.               ENDIF
  1979.               bildin#=2
  1980.             ENDIF
  1981.             IF sondert#=61 THEN
  1982.               IF bildin#=1 THEN
  1983.                 SGET bild_1$
  1984.               ENDIF
  1985.               IF bildin#=2 THEN
  1986.                 SGET bild_2$
  1987.               ENDIF
  1988.               IF bildin#<>3 THEN
  1989.                 SPUT bild_3$
  1990.               ENDIF
  1991.               bildin#=3
  1992.             ENDIF
  1993.             mx2#=MOUSEX
  1994.             my2#=MOUSEY
  1995.             PUT mx2#,my2#,k_bild$,6
  1996.             REPEAT
  1997.               testx#=MOUSEX
  1998.               testy#=MOUSEY
  1999.               EXIT IF MOUSEK=2
  2000.             UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  2001.             PUT mx2#,my2#,k_bild$,6
  2002.           UNTIL MOUSEK=1 OR MOUSEK=2
  2003.           GRAPHMODE g_m#
  2004.           IF MOUSEK=1
  2005.             PUT mx2#,my2#,k_bild$,p_m#
  2006.           ENDIF
  2007.           GRAPHMODE 1
  2008.           ERASE punkte#()
  2009.           DEFMOUSE 0
  2010.           PUT 0,0,leiste$
  2011.         ENDIF
  2012.         IF farbe1$="1" OR (waag#=7 AND senk#=3) THEN
  2013.           ALERT 2,"WAS WOLLEN SIE ZEICHNEN",1,"PRISMEN|PYRAMIDEN",prpy#
  2014.           DIM xecken#(30)
  2015.           DIM yecken#(30)
  2016.           DEFMOUSE 5
  2017.           PAUSE 5
  2018.           REPEAT
  2019.             EXIT IF MOUSEK=2
  2020.             GRAPHMODE 1
  2021.             REPEAT
  2022.               farbe$=INKEY$
  2023.               IF farbe$<>"" THEN
  2024.                 GOSUB farbe
  2025.               ENDIF
  2026.               IF farbe$="+" THEN
  2027.                 breite#=breite#+1
  2028.                 DEFLINE 1,breite#,2,2
  2029.               ENDIF
  2030.               IF farbe$="-" AND breite#>1 THEN
  2031.                 breite#=breite#-1
  2032.                 DEFLINE 1,breite#,2,2
  2033.               ENDIF
  2034.               mx#=MOUSEX
  2035.               my#=MOUSEY
  2036.             UNTIL MOUSEK=1 OR MOUSEK=2
  2037.             EXIT IF MOUSEK=2
  2038.             REPEAT
  2039.             UNTIL MOUSEK=0
  2040.             ezahl#=1
  2041.             xecken#(0)=mx#
  2042.             yecken#(0)=my#
  2043.             COLOR farbe#
  2044.             DEFFILL farbe#
  2045.             REPEAT
  2046.               WHILE MOUSEK=0
  2047.                 farbe$=INKEY$
  2048.                 IF farbe$<>"" THEN
  2049.                   GOSUB farbe
  2050.                 ENDIF
  2051.                 IF farbe$="+" THEN
  2052.                   breite#=breite#+1
  2053.                   DEFLINE 1,breite#,2,2
  2054.                 ENDIF
  2055.                 IF farbe$="-" AND breite#>1 THEN
  2056.                   breite#=breite#-1
  2057.                   DEFLINE 1,breite#,2,2
  2058.                 ENDIF
  2059.                 GRAPHMODE 3
  2060.                 mx2#=MOUSEX
  2061.                 my2#=MOUSEY
  2062.                 xecken#(ezahl#)=mx2#
  2063.                 yecken#(ezahl#)=my2#
  2064.                 POLYLINE ezahl#+1,xecken#(),yecken#()
  2065.                 REPEAT
  2066.                   testx#=MOUSEX
  2067.                   testy#=MOUSEY
  2068.                   EXIT IF MOUSEK=2
  2069.                 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  2070.                 POLYLINE ezahl#+1,xecken#(),yecken#()
  2071.               WEND
  2072.               EXIT IF MOUSEK=2
  2073.               ezahl#=ezahl#+1
  2074.               REPEAT
  2075.               UNTIL MOUSEK=0
  2076.             UNTIL MOUSEK=2
  2077.             xecken#(ezahl#)=xecken#(0)
  2078.             yecken#(ezahl#)=yecken#(0)
  2079.             GRAPHMODE 1
  2080.             POLYLINE ezahl#+1,xecken#(),yecken#()
  2081.             PAUSE 5
  2082.             REPEAT
  2083.             UNTIL MOUSEK=0
  2084.             WHILE MOUSEK=0
  2085.               mx3#=MOUSEX-160
  2086.               my3#=MOUSEY-100
  2087.               GRAPHMODE 3
  2088.               FOR verb#=0 TO ezahl#-1
  2089.                 IF prpy#=1 THEN
  2090.                   DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3#
  2091.                 ELSE
  2092.                   DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100
  2093.                 ENDIF
  2094.               NEXT verb#
  2095.               IF prpy#=1 THEN
  2096.                 POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3#
  2097.               ENDIF
  2098.               REPEAT
  2099.                 testx#=MOUSEX-160
  2100.                 testy#=MOUSEY-100
  2101.                 EXIT IF MOUSEK=2
  2102.               UNTIL testx#<>mx3# OR testy#<>my3# OR MOUSEK<>0
  2103.               FOR verb#=0 TO ezahl#-1
  2104.                 IF prpy#=1 THEN
  2105.                   DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3#
  2106.                 ELSE
  2107.                   DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100
  2108.                 ENDIF
  2109.               NEXT verb#
  2110.               IF prpy#=1 THEN
  2111.                 POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3#
  2112.               ENDIF
  2113.             WEND
  2114.             GRAPHMODE 1
  2115.             FOR verb#=0 TO ezahl#-1
  2116.               IF prpy#=1 THEN
  2117.                 DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3#
  2118.               ELSE
  2119.                 DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100
  2120.               ENDIF
  2121.             NEXT verb#
  2122.             IF prpy#=1 THEN
  2123.               POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3#
  2124.             ENDIF
  2125.             REPEAT
  2126.             UNTIL MOUSEK=0
  2127.           UNTIL MOUSEK=2
  2128.           GRAPHMODE 1
  2129.           DEFLINE 1,1
  2130.           DEFMOUSE 0
  2131.           COLOR 1
  2132.           DEFFILL 1
  2133.           ERASE xecken#()
  2134.           ERASE yecken#()
  2135.         ENDIF
  2136.         IF farbe1$="Y" OR (waag#=6 AND senk#=3) THEN
  2137.           DEFMOUSE 5
  2138.           PAUSE 5
  2139.           REPEAT
  2140.             mx#=MOUSEX
  2141.             my#=MOUSEY
  2142.           UNTIL MOUSEK=1 OR MOUSEK=2
  2143.           EXIT IF MOUSEK=2
  2144.           REPEAT
  2145.           UNTIL MOUSEK=0
  2146.           WHILE MOUSEK=0
  2147.             farbe$=INKEY$
  2148.             GOSUB farbe
  2149.             IF farbe$="+" THEN
  2150.               breite#=breite#+1
  2151.               DEFLINE 1,breite#,2,2
  2152.             ENDIF
  2153.             IF farbe$="-" AND breite#>1 THEN
  2154.               breite#=breite#-1
  2155.               DEFLINE 1,breite#,2,2
  2156.             ENDIF
  2157.             GRAPHMODE 3
  2158.             mx1#=MOUSEX
  2159.             my1#=MOUSEY
  2160.             DRAW mx#,my# TO mx1#,my1#
  2161.             REPEAT
  2162.               testx#=MOUSEX
  2163.               testy#=MOUSEY
  2164.               EXIT IF MOUSEK=2
  2165.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  2166.             DRAW mx#,my# TO mx1#,my1#
  2167.           WEND
  2168.           GRAPHMODE 1
  2169.           DRAW mx#,my# TO mx1#,my1#
  2170.           REPEAT
  2171.             REPEAT
  2172.             UNTIL MOUSEK=1 OR MOUSEK=2
  2173.             EXIT IF MOUSEK=2
  2174.             REPEAT
  2175.             UNTIL MOUSEK=0
  2176.             WHILE MOUSEK=0
  2177.               mx2#=MOUSEX
  2178.               my2#=MOUSEY
  2179.               GRAPHMODE 3
  2180.               DRAW mx1#,my1# TO mx2#,my2#
  2181.               REPEAT
  2182.                 testx#=MOUSEX
  2183.                 testy#=MOUSEY
  2184.                 EXIT IF MOUSEK=2
  2185.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  2186.               DRAW mx1#,my1# TO mx2#,my2#
  2187.               farbe$=INKEY$
  2188.               GOSUB farbe
  2189.               IF farbe$="+" THEN
  2190.                 breite#=breite#+1
  2191.                 DEFLINE 1,breite#,2,2
  2192.               ENDIF
  2193.               IF farbe$="-" AND breite#>1 THEN
  2194.                 breite#=breite#-1
  2195.                 DEFLINE 1,breite#,2,2
  2196.               ENDIF
  2197.             WEND
  2198.             GRAPHMODE 1
  2199.             DRAW mx1#,my1# TO mx2#,my2#
  2200.             mx1#=mx2#
  2201.             my1#=my2#
  2202.           UNTIL MOUSEK=2
  2203.           DRAW mx2#,my2# TO mx#,my#
  2204.           GRAPHMODE 1
  2205.           DEFLINE 1,1
  2206.           DEFMOUSE 0
  2207.           COLOR 1
  2208.           DEFFILL 1
  2209.         ENDIF
  2210.         IF farbe1$="Z" OR (waag#=5 AND senk#=3) THEN
  2211.           anz#=1
  2212.           DEFMOUSE 5
  2213.           PAUSE 5
  2214.           REPEAT
  2215.             farbe$=INKEY$
  2216.             IF farbe$="(" THEN
  2217.               anz#=anz#+1
  2218.             ENDIF
  2219.             IF farbe$=")" AND anz#>1 THEN
  2220.               anz#=anz#-1
  2221.             ENDIF
  2222.             IF farbe$="+" THEN
  2223.               breite#=breite#+1
  2224.               DEFLINE 1,breite#,2,2
  2225.             ENDIF
  2226.             IF farbe$="-" AND breite#>1 THEN
  2227.               breite#=breite#-1
  2228.               DEFLINE 1,breite#,2,2
  2229.             ENDIF
  2230.             GOSUB farbe
  2231.             REPEAT
  2232.               farbe$=INKEY$
  2233.               IF farbe$="(" THEN
  2234.                 anz#=anz#+1
  2235.               ENDIF
  2236.               IF farbe$=")" AND anz#>1 THEN
  2237.                 anz#=anz#-1
  2238.               ENDIF
  2239.               IF farbe$="+" THEN
  2240.                 breite#=breite#+1
  2241.                 DEFLINE 1,breite#,2,2
  2242.               ENDIF
  2243.               IF farbe$="-" AND breite#>1 THEN
  2244.                 breite#=breite#-1
  2245.                 DEFLINE 1,breite#,2,2
  2246.               ENDIF
  2247.               GOSUB farbe
  2248.             UNTIL MOUSEK=1 OR MOUSEK=2
  2249.             EXIT IF MOUSEK=2
  2250.             mx#=MOUSEX
  2251.             my#=MOUSEY
  2252.             REPEAT
  2253.             UNTIL MOUSEK=0
  2254.             WHILE MOUSEK=0
  2255.               farbe$=INKEY$
  2256.               GOSUB farbe
  2257.               IF farbe$="+" THEN
  2258.                 breite#=breite#+1
  2259.                 DEFLINE 1,breite#,2,2
  2260.               ENDIF
  2261.               IF farbe$="-" AND breite#>1 THEN
  2262.                 breite#=breite#-1
  2263.                 DEFLINE 1,breite#,2,2
  2264.               ENDIF
  2265.               IF farbe$="(" THEN
  2266.                 anz#=anz#+1
  2267.               ENDIF
  2268.               IF farbe$=")" AND anz#>1 THEN
  2269.                 anz#=anz#-1
  2270.               ENDIF
  2271.               GRAPHMODE 3
  2272.               mx1#=MOUSEX
  2273.               my1#=MOUSEY
  2274.               entf#=mx1#-mx#
  2275.               entf2#=my1#-my#
  2276.               str#=entf#/anz#
  2277.               str2#=entf2#/anz#
  2278.               BOX mx#,my#,mx1#,my1#
  2279.               FOR a#=1 TO anz#-1
  2280.                 DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2#
  2281.                 DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2#
  2282.               NEXT a#
  2283.               REPEAT
  2284.                 testx#=MOUSEX
  2285.                 testy#=MOUSEY
  2286.                 EXIT IF MOUSEK=2
  2287.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  2288.               BOX mx#,my#,mx1#,my1#
  2289.               FOR a#=1 TO anz#-1
  2290.                 DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2#
  2291.                 DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2#
  2292.               NEXT a#
  2293.             WEND
  2294.             EXIT IF MOUSEK=2
  2295.             REPEAT
  2296.             UNTIL MOUSEK=0
  2297.             GRAPHMODE 1
  2298.             BOX mx#,my#,mx1#,my1#
  2299.             FOR a#=1 TO anz#
  2300.               FOR b#=1 TO anz#
  2301.                 DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2#
  2302.                 DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2#
  2303.               NEXT b#
  2304.             NEXT a#
  2305.           UNTIL MOUSEK=2
  2306.           GRAPHMODE 1
  2307.           DEFLINE 1,1
  2308.           DEFMOUSE 0
  2309.           COLOR 1
  2310.           DEFFILL 1
  2311.         ENDIF
  2312.         IF farbe1$="I" OR (waag#=3 AND senk#=3) THEN
  2313.           DEFMOUSE 5
  2314.           PAUSE 5
  2315.           REPEAT
  2316.             farbe$=INKEY$
  2317.             GOSUB farbe
  2318.             IF farbe$="+" THEN
  2319.               breite#=breite#+1
  2320.               DEFLINE 1,breite#,2,2
  2321.             ENDIF
  2322.             IF farbe$="-" AND breite#>1 THEN
  2323.               breite#=breite#-1
  2324.               DEFLINE 1,breite#,2,2
  2325.             ENDIF
  2326.             REPEAT
  2327.               farbe$=INKEY$
  2328.               GOSUB farbe
  2329.               IF farbe$="+" THEN
  2330.                 breite#=breite#+1
  2331.                 DEFLINE 1,breite#,2,2
  2332.               ENDIF
  2333.               IF farbe$="-" AND breite#>1 THEN
  2334.                 breite#=breite#-1
  2335.                 DEFLINE 1,breite#,2,2
  2336.               ENDIF
  2337.             UNTIL MOUSEK=1 OR MOUSEK=2
  2338.             EXIT IF MOUSEK=2
  2339.             mx#=MOUSEX
  2340.             my#=MOUSEY
  2341.             REPEAT
  2342.             UNTIL MOUSEK=0
  2343.             WHILE MOUSEK=0
  2344.               farbe$=INKEY$
  2345.               GOSUB farbe
  2346.               IF farbe$="+" THEN
  2347.                 breite#=breite#+1
  2348.                 DEFLINE 1,breite#,2,2
  2349.               ENDIF
  2350.               IF farbe$="-" AND breite#>1 THEN
  2351.                 breite#=breite#-1
  2352.                 DEFLINE 1,breite#,2,2
  2353.               ENDIF
  2354.               GRAPHMODE 3
  2355.               mx1#=MOUSEX
  2356.               my1#=MOUSEY
  2357.               DRAW mx#,my# TO mx1#,my1#
  2358.               REPEAT
  2359.                 testx#=MOUSEX
  2360.                 testy#=MOUSEY
  2361.                 EXIT IF MOUSEK=2
  2362.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  2363.               DRAW mx#,my# TO mx1#,my1#
  2364.             WEND
  2365.             EXIT IF MOUSEK=2
  2366.             REPEAT
  2367.             UNTIL MOUSEK=0
  2368.             GRAPHMODE 1
  2369.             DRAW mx#,my# TO mx1#,my1#
  2370.             REPEAT
  2371.             UNTIL MOUSEK=0
  2372.             WHILE MOUSEK=0
  2373.               farbe$=INKEY$
  2374.               GOSUB farbe
  2375.               IF farbe$="+" THEN
  2376.                 breite#=breite#+1
  2377.                 DEFLINE 1,breite#,2,2
  2378.               ENDIF
  2379.               IF farbe$="-" AND breite#>1 THEN
  2380.                 breite#=breite#-1
  2381.                 DEFLINE 1,breite#,2,2
  2382.               ENDIF
  2383.               GRAPHMODE 3
  2384.               mx2#=MOUSEX
  2385.               my2#=MOUSEY
  2386.               DRAW mx#,my# TO mx2#,my2# TO mx1#,my1#
  2387.               REPEAT
  2388.                 testx#=MOUSEX
  2389.                 testy#=MOUSEY
  2390.                 EXIT IF MOUSEK=2
  2391.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  2392.               DRAW mx#,my# TO mx2#,my2# TO mx1#,my1#
  2393.             WEND
  2394.             EXIT IF MOUSEK=2
  2395.             REPEAT
  2396.             UNTIL MOUSEK=0
  2397.             PAUSE 5
  2398.             GRAPHMODE 1
  2399.             DRAW mx#,my# TO mx2#,my2# TO mx1#,my1# TO mx#,my#
  2400.           UNTIL MOUSEK=2
  2401.           GRAPHMODE 1
  2402.           DEFLINE 1,1
  2403.           DEFMOUSE 0
  2404.           COLOR 1
  2405.           DEFFILL 1
  2406.         ENDIF
  2407.         IF farbe1$="P" OR (waag#=4 AND senk#=3) THEN
  2408.           DEFMOUSE 5
  2409.           PAUSE 5
  2410.           REPEAT
  2411.             farbe$=INKEY$
  2412.             GOSUB farbe
  2413.             IF farbe$="+" THEN
  2414.               breite#=breite#+1
  2415.               DEFLINE 1,breite#,2,2
  2416.             ENDIF
  2417.             IF farbe$="-" AND breite#>1 THEN
  2418.               breite#=breite#-1
  2419.               DEFLINE 1,breite#,2,2
  2420.             ENDIF
  2421.             REPEAT
  2422.               farbe$=INKEY$
  2423.               GOSUB farbe
  2424.               IF farbe$="+" THEN
  2425.                 breite#=breite#+1
  2426.                 DEFLINE 1,breite#,2,2
  2427.               ENDIF
  2428.               IF farbe$="-" AND breite#>1 THEN
  2429.                 breite#=breite#-1
  2430.                 DEFLINE 1,breite#,2,2
  2431.               ENDIF
  2432.             UNTIL MOUSEK=1 OR MOUSEK=2
  2433.             EXIT IF MOUSEK=2
  2434.             mx#=MOUSEX
  2435.             my#=MOUSEY
  2436.             REPEAT
  2437.             UNTIL MOUSEK=0
  2438.             WHILE MOUSEK=0
  2439.               farbe$=INKEY$
  2440.               GOSUB farbe
  2441.               IF farbe$="+" THEN
  2442.                 breite#=breite#+1
  2443.                 DEFLINE 1,breite#,2,2
  2444.               ENDIF
  2445.               IF farbe$="-" AND breite#>1 THEN
  2446.                 breite#=breite#-1
  2447.                 DEFLINE 1,breite#,2,2
  2448.               ENDIF
  2449.               GRAPHMODE 3
  2450.               mx1#=MOUSEX
  2451.               my1#=MOUSEY
  2452.               DRAW mx#,my# TO mx1#,my1#
  2453.               REPEAT
  2454.                 testx#=MOUSEX
  2455.                 testy#=MOUSEY
  2456.                 EXIT IF MOUSEK=2
  2457.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  2458.               DRAW mx#,my# TO mx1#,my1#
  2459.             WEND
  2460.             EXIT IF MOUSEK=2
  2461.             GRAPHMODE 1
  2462.             DRAW mx#,my# TO mx1#,my1#
  2463.             REPEAT
  2464.             UNTIL MOUSEK=1 OR MOUSEK=2
  2465.             REPEAT
  2466.             UNTIL MOUSEK=0
  2467.             WHILE MOUSEK=0
  2468.               farbe$=INKEY$
  2469.               GOSUB farbe
  2470.               IF farbe$="+" THEN
  2471.                 breite#=breite#+1
  2472.                 DEFLINE 1,breite#,2,2
  2473.               ENDIF
  2474.               IF farbe$="-" AND breite#>1 THEN
  2475.                 breite#=breite#-1
  2476.                 DEFLINE 1,breite#,2,2
  2477.               ENDIF
  2478.               GRAPHMODE 3
  2479.               mx2#=MOUSEX
  2480.               my2#=MOUSEY
  2481.               entfx#=mx1#-mx#
  2482.               entfy#=my1#-my#
  2483.               DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1#
  2484.               REPEAT
  2485.                 testx#=MOUSEX
  2486.                 testy#=MOUSEY
  2487.                 EXIT IF MOUSEK=2
  2488.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  2489.               DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1#
  2490.             WEND
  2491.             EXIT IF MOUSEK=2
  2492.             REPEAT
  2493.             UNTIL MOUSEK=0
  2494.             GRAPHMODE 1
  2495.             DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1# TO mx#,my#
  2496.           UNTIL MOUSEK=2
  2497.           GRAPHMODE 1
  2498.           DEFLINE 1,1
  2499.           DEFMOUSE 0
  2500.           COLOR 1
  2501.           DEFFILL 1
  2502.         ENDIF
  2503.         IF farbe1$="N" OR (waag#=2 AND senk#=3) THEN
  2504.           DEFMOUSE 5
  2505.           PAUSE 5
  2506.           n#=3
  2507.           w#=360/n#
  2508.           REPEAT
  2509.             farbe$=INKEY$
  2510.             GOSUB farbe
  2511.             IF farbe$="(" THEN
  2512.               n#=n#+1
  2513.             ENDIF
  2514.             IF farbe$=")" AND n#>3 THEN
  2515.               n#=n#-1
  2516.             ENDIF
  2517.             IF farbe$="+" THEN
  2518.               breite#=breite#+1
  2519.               DEFLINE 1,breite#,2,2
  2520.             ENDIF
  2521.             IF farbe$="-" AND breite#>1 THEN
  2522.               breite#=breite#-1
  2523.               DEFLINE 1,breite#,2,2
  2524.             ENDIF
  2525.             w#=360/n#
  2526.             REPEAT
  2527.               farbe$=INKEY$
  2528.               GOSUB farbe
  2529.               IF farbe$="(" THEN
  2530.                 n#=n#+1
  2531.               ENDIF
  2532.               IF farbe$=")" AND n#>3 THEN
  2533.                 n#=n#-1
  2534.               ENDIF
  2535.               IF farbe$="+" THEN
  2536.                 breite#=breite#+1
  2537.                 DEFLINE 1,breite#,2,2
  2538.               ENDIF
  2539.               IF farbe$="-" AND breite#>1 THEN
  2540.                 breite#=breite#-1
  2541.                 DEFLINE 1,breite#,2,2
  2542.               ENDIF
  2543.               w#=360/n#
  2544.             UNTIL MOUSEK=1 OR MOUSEK=2
  2545.             EXIT IF MOUSEK=2
  2546.             REPEAT
  2547.             UNTIL MOUSEK=0
  2548.             mx#=MOUSEX
  2549.             my#=MOUSEY
  2550.             WHILE MOUSEK=0
  2551.               farbe$=INKEY$
  2552.               GOSUB farbe
  2553.               IF farbe$="(" THEN
  2554.                 n#=n#+1
  2555.               ENDIF
  2556.               IF farbe$=")" AND n#>3 THEN
  2557.                 n#=n#-1
  2558.               ENDIF
  2559.               IF farbe$="+" THEN
  2560.                 breite#=breite#+1
  2561.                 DEFLINE 1,breite#,2,2
  2562.               ENDIF
  2563.               IF farbe$="-" AND breite#>1 THEN
  2564.                 breite#=breite#-1
  2565.                 DEFLINE 1,breite#,2,2
  2566.               ENDIF
  2567.               w#=360/n#
  2568.               GRAPHMODE 3
  2569.               mx1#=MOUSEX
  2570.               my1#=MOUSEY*3
  2571.               SETDRAW mx#,my#,0
  2572.               DRAW "TT",my1#
  2573.               FOR m#=1 TO n#
  2574.                 DRAW "PD  FD ",mx1#-mx#," RT ";w#;""
  2575.               NEXT m#
  2576.               REPEAT
  2577.                 testx#=MOUSEX
  2578.                 testy#=MOUSEY*3
  2579.                 EXIT IF MOUSEK=2
  2580.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  2581.               SETDRAW mx#,my#,0
  2582.               DRAW "TT",my1#
  2583.               FOR m#=1 TO n#
  2584.                 DRAW "PD  FD ",mx1#-mx#," RT ";w#;""
  2585.               NEXT m#
  2586.             WEND
  2587.             GRAPHMODE 1
  2588.             SETDRAW mx#,my#,0
  2589.             DRAW "TT",my1#
  2590.             FOR m#=1 TO n#
  2591.               DRAW "PD FD ",mx1#-mx#," RT ";w#;""
  2592.             NEXT m#
  2593.             EXIT IF MOUSEK=2
  2594.             REPEAT
  2595.             UNTIL MOUSEK=0
  2596.             GRAPHMODE 1
  2597.           UNTIL MOUSEK=2
  2598.           GRAPHMODE 1
  2599.           DEFLINE 1,1
  2600.           DEFMOUSE 0
  2601.           COLOR 1
  2602.           DEFFILL 1
  2603.         ENDIF
  2604.         IF farbe1$="Ü" OR (waag#=1 AND senk#=4) THEN
  2605.           ALERT 2," WELCHEN RADIUS SOLL | DIE SPRÜHDOSE HABEN ",1,"12|VARIABEL",lupe#
  2606.           IF lupe#=1 THEN
  2607.             durch#=12
  2608.           ELSE
  2609.             HIDEM
  2610.             SETMOUSE 6,6
  2611.             DEFFILL 0
  2612.             SGET screen2$
  2613.             CLS
  2614.             PAUSE 5
  2615.             DEFMOUSE 5
  2616.             REPEAT
  2617.             UNTIL MOUSEK=0
  2618.             WHILE MOUSEK=0
  2619.               mx1#=MOUSEX
  2620.               GRAPHMODE 3
  2621.               CIRCLE mx1#,mx1#,mx1#
  2622.               PRINT AT(15,1);"RADIUS:"
  2623.               PRINT AT(23,1);USING "##",mx1#
  2624.               REPEAT
  2625.                 testx#=MOUSEX
  2626.                 EXIT IF MOUSEK=2
  2627.               UNTIL testx#<>mx1# OR MOUSEK<>0
  2628.               CIRCLE mx1#,mx1#,mx1#
  2629.             WEND
  2630.             durch#=mx1#
  2631.             SPUT screen2$
  2632.             REPEAT
  2633.             UNTIL MOUSEK=0
  2634.             DEFMOUSE 0
  2635.           ENDIF
  2636.           HIDEM
  2637.           REPEAT
  2638.             farbe$=INKEY$
  2639.             GOSUB farbe
  2640.             mx#=MOUSEX
  2641.             my#=MOUSEY
  2642.             GRAPHMODE 3
  2643.             PLOT mx#,my#
  2644.             CIRCLE mx#,my#,durch#
  2645.             REPEAT
  2646.               testx#=MOUSEX
  2647.               testy#=MOUSEY
  2648.             UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0
  2649.             PLOT mx#,my#
  2650.             CIRCLE mx#,my#,durch#
  2651.             DEFFILL farbe#,komp1#,komp2#
  2652.             IF MOUSEK=1 THEN
  2653.               WHILE MOUSEK=1
  2654.                 mx10#=MOUSEX
  2655.                 my10#=MOUSEY
  2656.                 REPEAT
  2657.                   px#=RAND(durch#*2)
  2658.                   py#=RAND(durch#*2)
  2659.                   px#=px#-durch#
  2660.                   py#=py#-durch#
  2661.                   c#=SQR(px#^2+py#^2)
  2662.                 UNTIL c#<=durch#
  2663.                 GRAPHMODE 1
  2664.                 BOUNDARY 0
  2665.                 PBOX px#+mx10#,py#+my10#,px#+mx10#,py#+my10#
  2666.                 BOUNDARY 1
  2667.                 GRAPHMODE 3
  2668.               WEND
  2669.             ENDIF
  2670.           UNTIL MOUSEK=2
  2671.           DEFFILL 1
  2672.           SHOWM
  2673.           GRAPHMODE 1
  2674.         ENDIF
  2675.         IF farbe1$="X" OR (waag#=7 AND senk#=2) THEN
  2676.           DIM buchs$(100)
  2677.           SGET zeile$
  2678.           DEFFILL 0
  2679.           GRAPHMODE 1
  2680.           PBOX 0,0,319,199
  2681.           DEFFILL 1
  2682.           LOCATE 1,1
  2683.           IF colour#=0 AND attr#=0 AND winkel1#=0 AND hohe#=0 AND zab#=0 THEN
  2684.             colour#=1
  2685.             attr#=0
  2686.             winkel1#=0
  2687.             hohe#=6
  2688.             zab#=10
  2689.           ENDIF
  2690.           DEFTEXT 1,0,0,6
  2691.           TEXT 3,15,"FARBE"
  2692.           BOX 10,20,30,40
  2693.           TEXT 17,33,"+"
  2694.           BOX 10,45,30,65
  2695.           TEXT 17,58,"-"
  2696.           TEXT 50,15,"STIL"
  2697.           BOX 55,20,75,40
  2698.           TEXT 62,33,"+"
  2699.           BOX 55,45,75,65
  2700.           TEXT 62,58,"-"
  2701.           TEXT 90,15,"WINKEL"
  2702.           BOX 100,20,120,40
  2703.           TEXT 107,33,"+"
  2704.           BOX 100,45,120,65
  2705.           TEXT 107,58,"-"
  2706.           TEXT 145,15,"GRÖßE"
  2707.           BOX 155,20,175,40
  2708.           TEXT 162,33,"+"
  2709.           BOX 155,45,175,65
  2710.           TEXT 162,58,"-"
  2711.           TEXT 200,15,"ABSTAND"
  2712.           BOX 210,20,230,40
  2713.           TEXT 217,33,"+"
  2714.           BOX 210,45,230,65
  2715.           TEXT 217,58,"-"
  2716.           DEFTEXT colour#,attr#,winkel1#,hohe#
  2717.           TEXT 220,135,"ABC"
  2718.           IF winkel1#=0 THEN
  2719.             TEXT 220,135+zab#,"123"
  2720.           ENDIF
  2721.           REPEAT
  2722.             REPEAT
  2723.             UNTIL MOUSEK=1 OR MOUSEK=2
  2724.             EXIT IF MOUSEK=2
  2725.             IF MOUSEX>10 AND MOUSEX<30 AND MOUSEY>20 AND MOUSEY<40 AND colour#<15 THEN
  2726.               colour#=colour#+1
  2727.             ENDIF
  2728.             IF MOUSEX>10 AND MOUSEX<30 AND MOUSEY>45 AND MOUSEY<65 AND colour#>0 THEN
  2729.               colour#=colour#-1
  2730.             ENDIF
  2731.             IF MOUSEX>55 AND MOUSEX<75 AND MOUSEY>20 AND MOUSEY<40 AND attr#<31 THEN
  2732.               attr#=attr#+1
  2733.             ENDIF
  2734.             IF MOUSEX>55 AND MOUSEX<75 AND MOUSEY>45 AND MOUSEY<65 AND attr#>0 THEN
  2735.               attr#=attr#-1
  2736.             ENDIF
  2737.             IF MOUSEX>100 AND MOUSEX<120 AND MOUSEY>20 AND MOUSEY<40 AND winkel#<3 THEN
  2738.               winkel#=winkel#+1
  2739.               winkel1#=winkel#*900
  2740.             ENDIF
  2741.             IF MOUSEX>100 AND MOUSEX<120 AND MOUSEY>45 AND MOUSEY<65 AND winkel#>0 THEN
  2742.               winkel#=winkel#-1
  2743.               winkel1#=winkel#*900
  2744.             ENDIF
  2745.             IF MOUSEX>155 AND MOUSEX<175 AND MOUSEY>20 AND MOUSEY<40 AND hohe#<26 THEN
  2746.               hohe#=hohe#+1
  2747.             ENDIF
  2748.             IF MOUSEX>155 AND MOUSEX<175 AND MOUSEY>45 AND MOUSEY<65 AND hohe#>1 THEN
  2749.               hohe#=hohe#-1
  2750.             ENDIF
  2751.             IF MOUSEX>210 AND MOUSEX<230 AND MOUSEY>20 AND MOUSEY<40 THEN
  2752.               zab#=zab#+1
  2753.             ENDIF
  2754.             IF MOUSEX>210 AND MOUSEX<230 AND MOUSEY>45 AND MOUSEY<65 AND zab#>1 THEN
  2755.               zab#=zab#-1
  2756.             ENDIF
  2757.             DEFTEXT colour#,attr#,winkel1#,hohe#
  2758.             DEFFILL 0
  2759.             GRAPHMODE 1
  2760.             PBOX 0,66,319,199
  2761.             DEFFILL 1
  2762.             TEXT 220,135,"ABC"
  2763.             IF winkel1#=0 THEN
  2764.               TEXT 220,135+zab#,"123"
  2765.             ENDIF
  2766.             PAUSE 5
  2767.           UNTIL MOUSEK=2
  2768.           SPUT zeile$
  2769.           DEFTEXT colour#,attr#,winkel1#,hohe#
  2770.           REPEAT
  2771.             textx#=MOUSEX
  2772.             texty#=MOUSEY
  2773.           UNTIL MOUSEK=1
  2774.           textyur#=texty#
  2775.           IF MOUSEK=1 THEN
  2776.             GRAPHMODE 3
  2777.             DRAW textx#-1,texty# TO textx#-1,texty#-2
  2778.             REPEAT
  2779.               IF s#=1 THEN
  2780.                 GRAPHMODE 3
  2781.                 DRAW textx#-1,texty# TO textx#-1,texty#-2
  2782.                 GRAPHMODE g_m#
  2783.                 s#=2
  2784.               ENDIF
  2785.               buchs1$=INKEY$
  2786.               IF buchs1$<>"" THEN
  2787.                 IF s#=0 THEN
  2788.                   s#=1
  2789.                 ENDIF
  2790.                 pruf#=ASC(RIGHT$(buchs1$,1))
  2791.                 IF pruf#=13 AND winkel1#=0 THEN
  2792.                   texty#=texty#+zab#
  2793.                   buchin#=buchin#+1
  2794.                   buchs#=0
  2795.                 ENDIF
  2796.                 IF pruf#=8 THEN
  2797.                   IF buchs#>0 THEN
  2798.                     buchs$(buchin#)=LEFT$(buchs$(buchin#),buchs#-1)
  2799.                     buchs$(buchin#)=buchs$(buchin#)+" "
  2800.                     buchs#=buchs#-1
  2801.                     SPUT zeile$
  2802.                     FOR schri#=0 TO buchin#
  2803.                       TEXT textx#,textyur#+schri#*zab#,buchs$(schri#)
  2804.                     NEXT schri#
  2805.                     buchs$(buchin#)=LEFT$(buchs$(buchin#),buchs#)
  2806.                   ENDIF
  2807.                 ELSE IF pruf#<>13
  2808.                   buchs$(buchin#)=buchs$(buchin#)+buchs1$
  2809.                   buchs#=buchs#+1
  2810.                   GRAPHMODE g_m#
  2811.                   TEXT textx#,texty#,buchs$(buchin#)
  2812.                 ENDIF
  2813.               ENDIF
  2814.             UNTIL MOUSEK=2
  2815.             TEXT textx#,texty#,buchs$
  2816.             buchs$=""
  2817.             buchs1$=""
  2818.             buchs#=0
  2819.             buchin#=0
  2820.             s#=0
  2821.           ENDIF
  2822.           GRAPHMODE 3
  2823.           abst#=0
  2824.           DEFTEXT 1,0,0,6
  2825.           ERASE buchs$()
  2826.         ENDIF
  2827.         IF farbe1$="T" OR (waag#=2 AND senk#=5) THEN
  2828.           GRAPHMODE 1
  2829.           GET 0,0,319,199,komp$
  2830.           DEFFILL 0
  2831.           PBOX 0,0,319,199
  2832.           DEFTEXT 2,9,0,6
  2833.           TEXT 90,10,"TASTATURBELEGUNG:"
  2834.           DEFTEXT 1,0,0,4
  2835.           TEXT 20,20,"URSPRUNGSFARBEN:"
  2836.           DEFTEXT 1,16,0,4
  2837.           TEXT 20,30,"0=WEISS"
  2838.           DEFTEXT 1,0
  2839.           TEXT 20,36,"1=SCHWARZ"
  2840.           DEFTEXT 2
  2841.           TEXT 20,42,"2=ROT"
  2842.           DEFTEXT 3
  2843.           TEXT 20,48,"3=HELLGRÜN"
  2844.           DEFTEXT 4
  2845.           TEXT 20,54,"4=BLAU"
  2846.           DEFTEXT 5
  2847.           TEXT 20,60,"5=ORANGE"
  2848.           DEFTEXT 6
  2849.           TEXT 20,66,"6=HELLBLAU"
  2850.           DEFTEXT 7
  2851.           TEXT 20,72,"7=BRAUN"
  2852.           DEFTEXT 8
  2853.           TEXT 20,78,"8=GRAU"
  2854.           DEFTEXT 9
  2855.           TEXT 20,84,"9=DUNKELGRAU"
  2856.           DEFFILL 1
  2857.           GRAPHMODE 2
  2858.           DEFTEXT 10
  2859.           TEXT 20,90,":=TÜRKIS"
  2860.           GRAPHMODE 1
  2861.           DEFTEXT 11
  2862.           TEXT 20,96,";=DUNKELGRÜN"
  2863.           DEFTEXT 12
  2864.           TEXT 20,102,"<=VIOLETT"
  2865.           DEFTEXT 13
  2866.           TEXT 20,108,"==OCKER"
  2867.           DEFTEXT 14
  2868.           TEXT 20,114,">=ROSA"
  2869.           DEFTEXT 15
  2870.           DEFFILL 1
  2871.           GRAPHMODE 2
  2872.           TEXT 20,120,"?=GELB"
  2873.           GRAPHMODE 1
  2874.           DEFTEXT 1
  2875.           TEXT 20,120,"FUNKTIONEN:"
  2876.           TEXT 20,130,"L = BILD >L<ADEN"
  2877.           TEXT 20,136,"S = BILD >S<PEICHERN"
  2878.           TEXT 20,142,"J = STATISTIK"
  2879.           TEXT 20,148,"K = >K<REISE"
  2880.           TEXT 20,154,"R = >R<ECHTECKE"
  2881.           TEXT 20,160,"G = LINIEN (>G<ERADEN)"
  2882.           TEXT 20,166,"E = >E<LLIPSEN"
  2883.           TEXT 20,172,"H = FREI>H<ANDZEICHNEN"
  2884.           TEXT 20,178,"F = >F<LÄCHEN FÜLLEN"
  2885.           TEXT 20,184,"A = R>A<DIERGUMMI"
  2886.           TEXT 20,190,"Ö = BILD L>Ö<SCHEN"
  2887.           TEXT 154,20,"C = KOPIEREN (>C<OPY)"
  2888.           TEXT 154,26,"T = >T<ASTATURBELEGUNG"
  2889.           TEXT 154,32,"D = TASTATURBELEGUNG "
  2890.           TEXT 154,38,"    DRUCKEN"
  2891.           TEXT 154,44,"X = TE>X<T"
  2892.           TEXT 154,50,"Ü = SPR>Ü<HEN"
  2893.           TEXT 154,56,"N = >N<-ECK"
  2894.           TEXT 154,62,"P = >P<ARALLELOGRAMME"
  2895.           TEXT 154,68,"M = FÜLL>M<USTER WÄHLEN"
  2896.           TEXT 154,74,"I = DRE>I<ECKE"
  2897.           TEXT 154,80,"Z = NET>Z<"
  2898.           TEXT 154,86,"Y = POL>Y<GON"
  2899.           TEXT 154,92,"1 = PYRAMIDE"
  2900.           TEXT 154,98,"V = >V<ERGRÖßERN"
  2901.           TEXT 154,104,"2 = VERKLEINERN"
  2902.           TEXT 154,110,"U = GRAPHIKMOD>U<S"
  2903.           TEXT 154,116,"3 = DREHEN"
  2904.           TEXT 154,122,"4 = FARBEN EINSTELLEN"
  2905.           TEXT 154,128,"5 = SPEICHERPLATZ ANSEHEN"
  2906.           TEXT 154,134,"O = >O<UTLINE"
  2907.           TEXT 154,140,"6 = LUPE"
  2908.           TEXT 154,146,"W = SCH>W<ARZ/WEIß"
  2909.           TEXT 154,152,"7 = UMRIß"
  2910.           TEXT 154,158,"8 = MUSTEREDITOR"
  2911.           TEXT 155,164,"9 = X/Y-KOORDINATEN"
  2912.           TEXT 155,170,"Q = BLOCK WELLEN"
  2913.           TEXT 155,176,"HELP = ANLEITUNG"
  2914.           TEXT 155,182,"UNDO = LETZTEN ARBEITS-"
  2915.           TEXT 155,188,"       SCHRITT RÜCKGÄNGIG"
  2916.           TEXT 155,194,"       MACHEN"
  2917.           TEXT 155,199,"F1-F3 = BILD 1-3"
  2918.           WHILE MOUSEK=0
  2919.           WEND
  2920.           PUT 0,0,komp$
  2921.           GRAPHMODE 3
  2922.           DEFFILL 1
  2923.           PAUSE 5
  2924.         ENDIF
  2925.         IF farbe1$="D" OR (waag#=3 AND senk#=5) THEN
  2926.           ALERT 2,"WOLLEN SIE DIE TASTATUR-|BELEGUNG ECHT AUSDRUCKEN",1,"JA|NEIN",er#
  2927.           IF er#=1 THEN
  2928.             LPRINT "                            TASTATURBELEGUNG:"
  2929.             LPRINT ""
  2930.             LPRINT "     FARBEN:                                 FUNKTIONEN:"
  2931.             LPRINT "     0=WEISS                                 L=BILD >L<ADEN"
  2932.             LPRINT "     1=SCHWARZ                               S=BILD >S<PEICHERN"
  2933.             LPRINT "     2=ROT                                   Ö=BILD L>Ö<SCHEN"
  2934.             LPRINT "     3=HELLGRÜN                              F=>F<LÄCHE FÜLLEN"
  2935.             LPRINT "     4=BLAU                                  A=R>A<DIERGUMMI"
  2936.             LPRINT "     5=ORANGE                                C=KOPIEREN (>C<OPY)"
  2937.             LPRINT "     6=HELLBLAU                              K=>K<REISE"
  2938.             LPRINT "     7=BRAUN                                 E=>E<LLIPSEN"
  2939.             LPRINT "     8=GRAU                                  R=>R<ECHTECKE"
  2940.             LPRINT "     9=DUNKELGRAU                            G=LINIEN (>G<ERADEN)"
  2941.             LPRINT "     :=TÜRKIS                                H=FREI>H<ANDZEICHNEN"
  2942.             LPRINT "     ;=DUNKELGRÜN                            T=>T<ASTATURBELEGUNG"
  2943.             LPRINT "     <=VIOLETT                               D=TASTATURBELEGUNG >D<RUCKEN"
  2944.             LPRINT "     ==OCKER                                 X=TE>X<T"
  2945.             LPRINT "     >=ROSA                                  Ü=SPR>Ü<HEN"
  2946.             LPRINT "     ?=GELB                                  N=>N<-ECK"
  2947.             LPRINT "                                             P=>P<ARALLELOGRAMME"
  2948.             LPRINT "                                             M=FÜLL>M<USTER WÄHLEN"
  2949.             LPRINT "                                             I=DRE>I<ECKE"
  2950.             LPRINT "                                             Z=NET>Z<"
  2951.             LPRINT "                                             Y=POL>Y<GON"
  2952.             LPRINT "                                             1=PYRAMIDE"
  2953.             LPRINT "                                             V=>V<ERGRÖßERN"
  2954.             LPRINT "                                             2=VERKLEINERN"
  2955.             LPRINT "                                             U=GRAPHIKMOD>U<S"
  2956.             LPRINT "                                             3=DREHEN"
  2957.             LPRINT "                                             4=FARBEN EINSTELLEN"
  2958.             LPRINT "                                             5=SPEICHERPLATZ ANSEHEN"
  2959.             LPRINT "                                             O=>O<UTLINE"
  2960.             LPRINT "                                             6=LUPE"
  2961.             LPRINT "                                             W=SCH>W<ARZ/WEIß"
  2962.             LPRINT "                                             7=UMRIß"
  2963.             LPRINT "                                             8=MUSTEREDITOR"
  2964.             LPRINT "                                             9=X/Y-KOORDINATEN"
  2965.             LPRINT "                                             Q=BLOCK WELLEN"
  2966.             LPRINT "                                             J=STATISTIK"
  2967.             LPRINT "                                             HELP=ANLEITUNG"
  2968.             LPRINT "                                             UNDO=LETZTEN ARBEITSSCHRITT"
  2969.             LPRINT "                                                  RÜCKGÄNGIG MACHEN"
  2970.             LPRINT "                                             F1=BILD 1"
  2971.             LPRINT "                                             F2=BILD 2"
  2972.             LPRINT "                                             F3=BILD 3"
  2973.           ENDIF
  2974.         ENDIF
  2975.         IF farbe1$="H" OR (waag#=2 AND senk#=2) THEN
  2976.           farbed#=1
  2977.           REPEAT
  2978.             farbe$=INKEY$
  2979.             GOSUB farbe
  2980.             IF farbe$="+" THEN
  2981.               breite#=breite#+1
  2982.               DEFLINE 1,breite#,2,2
  2983.             ENDIF
  2984.             IF farbe$="-" AND breite#>1 THEN
  2985.               breite#=breite#-1
  2986.               DEFLINE 1,breite#,2,2
  2987.             ENDIF
  2988.             WHILE MOUSEK=1
  2989.               farbe$=INKEY$
  2990.               GOSUB farbe
  2991.               IF farbe$="+" THEN
  2992.                 breite#=breite#+1
  2993.                 DEFLINE 1,breite#,2,2
  2994.               ENDIF
  2995.               IF farbe$="-" AND breite#>1 THEN
  2996.                 breite#=breite#-1
  2997.                 DEFLINE 1,breite#,2,2
  2998.               ENDIF
  2999.               mx9#=MOUSEX
  3000.               my9#=MOUSEY
  3001.               GRAPHMODE 1
  3002.               COLOR farbe#
  3003.               IF check#=1 THEN
  3004.                 DRAW  TO mx9#,my9#
  3005.               ELSE
  3006.                 DRAW mx9#,my9#
  3007.               ENDIF
  3008.               check#=1
  3009.             WEND
  3010.             check#=0
  3011.           UNTIL MOUSEK=2
  3012.           DEFFILL 1
  3013.           COLOR 1
  3014.           GRAPHMODE 3
  3015.           DEFLINE 1,1
  3016.         ENDIF
  3017.         IF farbe1$="A" OR (waag#=3 AND senk#=4) THEN
  3018.           DEFFILL 0
  3019.           SGET screen2$
  3020.           CLS
  3021.           PAUSE 5
  3022.           DEFMOUSE 5
  3023.           mx#=0
  3024.           my#=0
  3025.           REPEAT
  3026.           UNTIL MOUSEK=0
  3027.           WHILE MOUSEK=0
  3028.             mx1#=MOUSEX
  3029.             my1#=MOUSEY
  3030.             GRAPHMODE 3
  3031.             BOX mx#,my#,mx1#,my1#
  3032.             PRINT AT(21,2);"X:"
  3033.             PRINT AT(21,3);"Y:"
  3034.             PRINT AT(23,2);USING "###",mx1#
  3035.             PRINT AT(23,3);USING "###",my1#
  3036.             REPEAT
  3037.               testx#=MOUSEX
  3038.               testy#=MOUSEY
  3039.               EXIT IF MOUSEK=2
  3040.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3041.             BOX mx#,my#,mx1#,my1#
  3042.           WEND
  3043.           xratz#=mx1#-mx#
  3044.           yratz#=my1#-my#
  3045.           SPUT screen2$
  3046.           REPEAT
  3047.           UNTIL MOUSEK=0
  3048.           DEFMOUSE 0
  3049.           REPEAT
  3050.             HIDEM
  3051.             REPEAT
  3052.               mx4#=MOUSEX
  3053.               my4#=MOUSEY
  3054.               GRAPHMODE 3
  3055.               BOX mx4#,my4#,mx4#+xratz#,my4#+yratz#
  3056.               REPEAT
  3057.                 testx#=MOUSEX
  3058.                 testy#=MOUSEY
  3059.                 EXIT IF MOUSEK=2
  3060.               UNTIL testx#<>mx4# OR testy#<>my4# OR MOUSEK<>0
  3061.               BOX mx4#,my4#,mx4#+xratz#,my4#+yratz#
  3062.             UNTIL MOUSEK=1 OR MOUSEK=2
  3063.             EXIT IF MOUSEK=2
  3064.             GRAPHMODE 1
  3065.             DEFFILL 0
  3066.             PBOX mx4#,my4#,mx4#+xratz#,my4#+yratz#
  3067.             REPEAT
  3068.               testx#=MOUSEX
  3069.               testy#=MOUSEY
  3070.             UNTIL testx#<>mx4# OR testy#<>my4# OR MOUSEK<>1
  3071.             DEFFILL 1
  3072.           UNTIL MOUSEK=2
  3073.           SHOWM
  3074.         ENDIF
  3075.         IF farbe1$="Ö" OR (waag#=3 AND senk#=1) THEN
  3076.           ALERT 2,"WOLLEN SIE DAS BILD|ECHT LÖSCHEN",1,"JA|NEIN",b#
  3077.           IF b#=1 THEN
  3078.             GRAPHMODE 1
  3079.             DEFFILL 0
  3080.             PBOX 0,0,400,200
  3081.             DEFFILL 1
  3082.             GRAPHMODE 3
  3083.           ENDIF
  3084.         ENDIF
  3085.         IF farbe1$="L" OR (waag#=1 AND senk#=1) THEN
  3086.           ALERT 2,"WAS FÜR EIN|FORMAT WOLLEN SIE LADEN",1,"DEGAS|LUP|CONVERT",b#
  3087.           IF b#=2 THEN
  3088.             ALERT 2,"URSPRUNGSFARBEN?",1,"JA|NEIN",c#
  3089.             FILESELECT "A:\*.LUP","",nlb$
  3090.             IF nlb$<>"" THEN
  3091.               IF c#=1 THEN
  3092.                 SETCOLOR 0,7,7,7
  3093.                 SETCOLOR 1,7,0,0
  3094.                 SETCOLOR 2,0,6,0
  3095.                 SETCOLOR 3,0,0,7
  3096.                 SETCOLOR 4,0,0,5
  3097.                 SETCOLOR 5,5,2,0
  3098.                 SETCOLOR 6,7,4,3
  3099.                 SETCOLOR 7,5,5,5
  3100.                 SETCOLOR 8,3,3,3
  3101.                 SETCOLOR 9,0,7,7
  3102.                 SETCOLOR 10,0,4,0
  3103.                 SETCOLOR 11,7,0,7
  3104.                 SETCOLOR 12,5,0,5
  3105.                 SETCOLOR 13,7,7,0
  3106.                 SETCOLOR 14,5,5,0
  3107.               ENDIF
  3108.               BLOAD nlb$,XBIOS(2)
  3109.             ENDIF
  3110.           ENDIF
  3111.           IF b#=1 THEN
  3112.             FILESELECT "A:\*.pi1","",file$
  3113.             IF file$<>"" THEN
  3114.               BLOAD file$,XBIOS(3)-34
  3115.               VOID XBIOS(6,L:XBIOS(3)-32)
  3116.             ENDIF
  3117.           ENDIF
  3118.           IF b#=3 THEN
  3119.             SGET screen2$
  3120.             zeipunkt#=0
  3121.             GRAPHMODE 1
  3122.             FILESELECT "A:\*.CON","",nlb$
  3123.             IF nlb$<>"" THEN
  3124.               OPEN "I",#1,nlb$
  3125.               INPUT #1,xachse#
  3126.               INPUT #1,yachse#
  3127.               zeeler#=0
  3128.               FOR xload#=0 TO xachse#
  3129.                 FOR yload#=0 TO yachse#
  3130.                   zeeler#=zeeler#+1
  3131.                   IF xload#=0 AND yload#=0 THEN
  3132.                     INPUT #1,zeipunkt#
  3133.                     INPUT #1,oberze#
  3134.                   ENDIF
  3135.                   IF zeeler#=oberze#+1 THEN
  3136.                     INPUT #1,zeipunkt#
  3137.                     INPUT #1,oberze#
  3138.                     zeeler#=1
  3139.                   ENDIF
  3140.                   COLOR zeipunkt#
  3141.                   PLOT xload#,yload#
  3142.                 NEXT yload#
  3143.               NEXT xload#
  3144.               CLOSE #1
  3145.               GET 0,0,xachse#,yachse#,k_bild$
  3146.               SPUT screen2$
  3147.               GRAPHMODE 3
  3148.               REPEAT
  3149.                 farbe3$=INKEY$
  3150.                 IF LEN(farbe3$)>1 THEN
  3151.                   sondert#=ASC(RIGHT$(farbe3$,1))
  3152.                 ENDIF
  3153.                 IF sondert#=59 THEN
  3154.                   IF bildin#=2 THEN
  3155.                     SGET bild_2$
  3156.                   ENDIF
  3157.                   IF bildin#=3 THEN
  3158.                     SGET bild_3$
  3159.                   ENDIF
  3160.                   IF bildin#<>1 THEN
  3161.                     SPUT bild_1$
  3162.                   ENDIF
  3163.                   bildin#=1
  3164.                 ENDIF
  3165.                 IF sondert#=60 THEN
  3166.                   IF bildin#=1 THEN
  3167.                     SGET bild_1$
  3168.                   ENDIF
  3169.                   IF bildin#=3 THEN
  3170.                     SGET bild_3$
  3171.                   ENDIF
  3172.                   IF bildin#<>2 THEN
  3173.                     SPUT bild_2$
  3174.                   ENDIF
  3175.                   bildin#=2
  3176.                 ENDIF
  3177.                 IF sondert#=61 THEN
  3178.                   IF bildin#=1 THEN
  3179.                     SGET bild_1$
  3180.                   ENDIF
  3181.                   IF bildin#=2 THEN
  3182.                     SGET bild_2$
  3183.                   ENDIF
  3184.                   IF bildin#<>3 THEN
  3185.                     SPUT bild_3$
  3186.                   ENDIF
  3187.                   bildin#=3
  3188.                 ENDIF
  3189.                 mx2#=MOUSEX
  3190.                 my2#=MOUSEY
  3191.                 PUT mx2#,my2#,k_bild$,6
  3192.                 REPEAT
  3193.                   testx#=MOUSEX
  3194.                   testy#=MOUSEY
  3195.                   EXIT IF MOUSEK=2
  3196.                 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  3197.                 PUT mx2#,my2#,k_bild$,6
  3198.               UNTIL MOUSEK=1 OR MOUSEK=2
  3199.               GRAPHMODE g_m#
  3200.               IF MOUSEK=1
  3201.                 PUT mx2#,my2#,k_bild$,p_m#
  3202.               ENDIF
  3203.               GRAPHMODE 1
  3204.               DEFMOUSE 0
  3205.               DEFFILL 1
  3206.               COLOR 1
  3207.             ENDIF
  3208.           ENDIF
  3209.         ENDIF
  3210.         IF farbe1$="S" OR (waag#=2 AND senk#=1) THEN
  3211.           ALERT 2,"WAS FÜR EIN|FORMAT WOLLEN SIE SPEICHERN",1,"LUP|CONVERT",b#
  3212.           IF b#=1 THEN
  3213.             FILESELECT "A:\*.LUP","",nlb$
  3214.             IF nlb$<>"" THEN
  3215.               BSAVE nlb$,XBIOS(2),32000
  3216.             ENDIF
  3217.           ENDIF
  3218.           IF b#=2 THEN
  3219.             DEFFILL 0
  3220.             SGET screen2$
  3221.             PAUSE 5
  3222.             DEFMOUSE 5
  3223.             REPEAT
  3224.             UNTIL MOUSEK=1
  3225.             mx#=MOUSEX
  3226.             my#=MOUSEY
  3227.             REPEAT
  3228.             UNTIL MOUSEK=0
  3229.             WHILE MOUSEK=0
  3230.               mx1#=MOUSEX
  3231.               my1#=MOUSEY
  3232.               IF mx#>mx1# THEN
  3233.                 mx1#=mx#
  3234.               ENDIF
  3235.               IF my#>my1# THEN
  3236.                 my1#=my#
  3237.               ENDIF
  3238.               GRAPHMODE 3
  3239.               BOX mx#,my#,mx1#,my1#
  3240.               REPEAT
  3241.                 testx#=MOUSEX
  3242.                 testy#=MOUSEY
  3243.                 EXIT IF MOUSEK=2
  3244.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3245.               BOX mx#,my#,mx1#,my1#
  3246.             WEND
  3247.             GET mx#,my#,mx1#,my1#,kopierb$
  3248.             PUT 0,0,kopierb$
  3249.             xachse#=mx1#-mx#
  3250.             yachse#=my1#-my#
  3251.             FILESELECT "A:\*.CON","",nlb$
  3252.             IF nlb$<>"" THEN
  3253.               OPEN "O",#1,nlb$
  3254.               PRINT #1,xachse#
  3255.               PRINT #1,yachse#
  3256.               zeeler#=0
  3257.               FOR xsave#=0 TO xachse#
  3258.                 FOR ysave#=0 TO yachse#
  3259.                   IF xsave#=0 AND ysave#=0 THEN
  3260.                     PRINT #1,POINT(xsave#,ysave#)
  3261.                     zeeler#=1
  3262.                   ENDIF
  3263.                   IF xsave#<>0 OR ysave#<>0 THEN
  3264.                     IF ysave#=0 THEN
  3265.                       IF POINT(xsave#,ysave#)<>POINT(xsave#-1,yachse#) THEN
  3266.                         PRINT #1,zeeler#
  3267.                         PRINT #1,POINT(xsave#,ysave#)
  3268.                         zeeler#=1
  3269.                       ELSE
  3270.                         zeeler#=zeeler#+1
  3271.                       ENDIF
  3272.                     ENDIF
  3273.                     IF ysave#>0 THEN
  3274.                       IF POINT(xsave#,ysave#)<>POINT(xsave#,ysave#-1) THEN
  3275.                         PRINT #1,zeeler#
  3276.                         PRINT #1,POINT(xsave#,ysave#)
  3277.                         zeeler#=1
  3278.                       ELSE
  3279.                         zeeler#=zeeler#+1
  3280.                       ENDIF
  3281.                     ENDIF
  3282.                     IF xsave#=xachse# AND ysave#=yachse# THEN
  3283.                       PRINT #1,zeeler#
  3284.                     ENDIF
  3285.                   ENDIF
  3286.                 NEXT ysave#
  3287.               NEXT xsave#
  3288.               CLOSE #1
  3289.               SPUT screen2$
  3290.             ENDIF
  3291.           ENDIF
  3292.         ENDIF
  3293.         IF farbe1$="C" OR (waag#=4 AND senk#=1) THEN
  3294.           REPEAT
  3295.             PAUSE 5
  3296.             DEFMOUSE 5
  3297.             REPEAT
  3298.             UNTIL MOUSEK=1 OR MOUSEK=2
  3299.             EXIT IF MOUSEK=2
  3300.             mx#=MOUSEX
  3301.             my#=MOUSEY
  3302.             REPEAT
  3303.             UNTIL MOUSEK=0
  3304.             PAUSE 5
  3305.             WHILE MOUSEK=0
  3306.               mx1#=MOUSEX
  3307.               my1#=MOUSEY
  3308.               GRAPHMODE 3
  3309.               BOX mx#,my#,mx1#,my1#
  3310.               REPEAT
  3311.                 testx#=MOUSEX
  3312.                 testy#=MOUSEY
  3313.                 EXIT IF MOUSEK=2
  3314.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3315.               BOX mx#,my#,mx1#,my1#
  3316.             WEND
  3317.             REPEAT
  3318.             UNTIL MOUSEK=0
  3319.             GET mx#,my#,mx1#,my1#,kopierb$
  3320.             REPEAT
  3321.               REPEAT
  3322.                 farbe3$=INKEY$
  3323.                 IF LEN(farbe3$)>1 THEN
  3324.                   sondert#=ASC(RIGHT$(farbe3$,1))
  3325.                 ENDIF
  3326.                 IF sondert#=59 THEN
  3327.                   IF bildin#=2 THEN
  3328.                     SGET bild_2$
  3329.                   ENDIF
  3330.                   IF bildin#=3 THEN
  3331.                     SGET bild_3$
  3332.                   ENDIF
  3333.                   IF bildin#<>1 THEN
  3334.                     SPUT bild_1$
  3335.                   ENDIF
  3336.                   bildin#=1
  3337.                 ENDIF
  3338.                 IF sondert#=60 THEN
  3339.                   IF bildin#=1 THEN
  3340.                     SGET bild_1$
  3341.                   ENDIF
  3342.                   IF bildin#=3 THEN
  3343.                     SGET bild_3$
  3344.                   ENDIF
  3345.                   IF bildin#<>2 THEN
  3346.                     SPUT bild_2$
  3347.                   ENDIF
  3348.                   bildin#=2
  3349.                 ENDIF
  3350.                 IF sondert#=61 THEN
  3351.                   IF bildin#=1 THEN
  3352.                     SGET bild_1$
  3353.                   ENDIF
  3354.                   IF bildin#=2 THEN
  3355.                     SGET bild_2$
  3356.                   ENDIF
  3357.                   IF bildin#<>3 THEN
  3358.                     SPUT bild_3$
  3359.                   ENDIF
  3360.                   bildin#=3
  3361.                 ENDIF
  3362.                 mx2#=MOUSEX
  3363.                 my2#=MOUSEY
  3364.                 PUT mx2#,my2#,kopierb$,6
  3365.                 REPEAT
  3366.                   testx#=MOUSEX
  3367.                   testy#=MOUSEY
  3368.                   EXIT IF MOUSEK=2
  3369.                 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  3370.                 PUT mx2#,my2#,kopierb$,6
  3371.               UNTIL MOUSEK=1 OR MOUSEK=2
  3372.               IF MOUSEK=1 THEN
  3373.                 GRAPHMODE g_m#
  3374.                 PUT mx2#,my2#,kopierb$,p_m#
  3375.               ENDIF
  3376.               GRAPHMODE 1
  3377.               DEFMOUSE 0
  3378.             UNTIL MOUSEK=2
  3379.             PAUSE 5
  3380.           UNTIL MOUSEK=2
  3381.           PAUSE 5
  3382.           DEFMOUSE 0
  3383.         ENDIF
  3384.         IF farbe1$="M" OR (waag#=5 AND senk#=4) THEN
  3385.           GET 0,0,319,199,bild$
  3386.           CLS
  3387.           GRAPHMODE 1
  3388.           FOR xax#=1 TO 12
  3389.             FOR yax#=0 TO 4
  3390.               DEFFILL 1,yax#,xax#
  3391.               PBOX xax#*16,yax#*16,xax#*16+16,yax#*16+16
  3392.             NEXT yax#
  3393.           NEXT xax#
  3394.           FOR xax1#=13 TO 24
  3395.             DEFFILL 1,2,xax1#
  3396.             PBOX xax1#*16-192,81,xax1#*16-176,97
  3397.           NEXT xax1#
  3398.           REPEAT
  3399.             mx12#=MOUSEX
  3400.             my12#=MOUSEY
  3401.           UNTIL MOUSEK=1 OR MOUSEK=2
  3402.           IF MOUSEK=1 AND mx12#<209 AND my12#<81 THEN
  3403.             komp1#=INT(my12#/16)
  3404.             komp2#=INT(mx12#/16)
  3405.           ENDIF
  3406.           IF MOUSEK=1 AND mx12#<209 AND my12#>80 AND my12#<97 THEN
  3407.             komp1#=2
  3408.             komp2#=INT((mx12#+192)/16)
  3409.           ENDIF
  3410.           DEFFILL 1,1,0
  3411.           GRAPHMODE 3
  3412.           PUT 0,0,bild$
  3413.         ENDIF
  3414.         PAUSE 5
  3415.         IF farbe1$="F" OR (waag#=2 AND senk#=4) THEN
  3416.           DEFMOUSE 5
  3417.           GRAPHMODE 1
  3418.           REPEAT
  3419.             farbe$=INKEY$
  3420.             GOSUB farbe
  3421.             REPEAT
  3422.               farbe$=INKEY$
  3423.               GOSUB farbe
  3424.               mxf#=MOUSEX
  3425.               myf#=MOUSEY
  3426.             UNTIL MOUSEK=2 OR MOUSEK=1
  3427.             EXIT IF MOUSEK=2
  3428.             IF MOUSEK=1 THEN
  3429.               farbe$=INKEY$
  3430.               GOSUB farbe
  3431.               DEFFILL farbe#,komp1#,komp2#
  3432.               FILL mxf#,myf#
  3433.             ENDIF
  3434.           UNTIL MOUSEK=2
  3435.           GRAPHMODE 3
  3436.           DEFMOUSE 0
  3437.           DEFFILL 1,1,0
  3438.         ENDIF
  3439.         IF farbe1$="K" OR (waag#=5 AND senk#=2) THEN
  3440.           ALERT 2," SOLLEN DIE KREISE | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell#
  3441.           DEFMOUSE 5
  3442.           PAUSE 5
  3443.           REPEAT
  3444.             farbe$=INKEY$
  3445.             GOSUB farbe
  3446.             IF farbe$="+" THEN
  3447.               breite#=breite#+1
  3448.               DEFLINE 1,breite#,2,2
  3449.             ENDIF
  3450.             IF farbe$="-" AND breite#>1 THEN
  3451.               breite#=breite#-1
  3452.               DEFLINE 1,breite#,2,2
  3453.             ENDIF
  3454.             REPEAT
  3455.               farbe$=INKEY$
  3456.               GOSUB farbe
  3457.               IF farbe$="+" THEN
  3458.                 breite#=breite#+1
  3459.                 DEFLINE 1,breite#,2,2
  3460.               ENDIF
  3461.               IF farbe$="-" AND breite#>1 THEN
  3462.                 breite#=breite#-1
  3463.                 DEFLINE 1,breite#,2,2
  3464.               ENDIF
  3465.             UNTIL MOUSEK=1 OR MOUSEK=2
  3466.             EXIT IF MOUSEK=2
  3467.             REPEAT
  3468.             UNTIL MOUSEK=0
  3469.             mx#=MOUSEX
  3470.             my#=MOUSEY
  3471.             WHILE MOUSEK=0
  3472.               IF test$<>"" THEN
  3473.                 farbe$=test$
  3474.               ELSE
  3475.                 farbe$=INKEY$
  3476.               ENDIF
  3477.               GOSUB farbe
  3478.               IF farbe$="Q" AND anfwink#<3600 THEN
  3479.                 anfwink#=anfwink#+100
  3480.               ENDIF
  3481.               IF farbe$="W" AND anfwink#>10 THEN
  3482.                 anfwink#=anfwink#-100
  3483.               ENDIF
  3484.               IF farbe$="A" AND endwink#<3600 THEN
  3485.                 endwink#=endwink#+100
  3486.               ENDIF
  3487.               IF farbe$="S" AND endwink#>10 THEN
  3488.                 endwink#=endwink#-100
  3489.               ENDIF
  3490.               IF farbe$="+" THEN
  3491.                 breite#=breite#+1
  3492.                 DEFLINE 1,breite#,2,2
  3493.               ENDIF
  3494.               IF farbe$="-" AND breite#>1 THEN
  3495.                 breite#=breite#-1
  3496.                 DEFLINE 1,breite#,2,2
  3497.               ENDIF
  3498.               GRAPHMODE 3
  3499.               mx1#=MOUSEX
  3500.               CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink#
  3501.               REPEAT
  3502.                 testx#=MOUSEX
  3503.                 testy#=MOUSEY
  3504.                 test$=INKEY$
  3505.                 EXIT IF MOUSEK=2
  3506.               UNTIL testx#<>mx1# OR MOUSEK<>0 OR test$<>""
  3507.               CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink#
  3508.             WEND
  3509.             EXIT IF MOUSEK=2
  3510.             GRAPHMODE g_m#
  3511.             IF fuell#=1 THEN
  3512.               DEFFILL farbe#,komp1#,komp2#
  3513.               PCIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink#
  3514.             ELSE
  3515.               CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink#
  3516.             ENDIF
  3517.             PAUSE 5
  3518.           UNTIL MOUSEK=2
  3519.           GRAPHMODE 1
  3520.           DEFLINE 1,1
  3521.           DEFMOUSE 0
  3522.           COLOR 1
  3523.           DEFFILL 1
  3524.         ENDIF
  3525.         IF farbe1$="R" OR (waag#=4 AND senk#=2) THEN
  3526.           ALERT 2," SOLLEN DIE RECHTECKE | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell#
  3527.           ALERT 2," WIE SOLLEN DIE ECKEN | GEZEICHNET WERDEN ",2," RUND | ECKIG ",eckru#
  3528.           DEFMOUSE 5
  3529.           PAUSE 5
  3530.           REPEAT
  3531.             farbe$=INKEY$
  3532.             GOSUB farbe
  3533.             IF farbe$="+" THEN
  3534.               breite#=breite#+1
  3535.               DEFLINE 1,breite#,2,2
  3536.             ENDIF
  3537.             IF farbe$="-" AND breite#>1 THEN
  3538.               breite#=breite#-1
  3539.               DEFLINE 1,breite#,2,2
  3540.             ENDIF
  3541.             REPEAT
  3542.               farbe$=INKEY$
  3543.               GOSUB farbe
  3544.               IF farbe$="+" THEN
  3545.                 breite#=breite#+1
  3546.                 DEFLINE 1,breite#,2,2
  3547.               ENDIF
  3548.               IF farbe$="-" AND breite#>1 THEN
  3549.                 breite#=breite#-1
  3550.                 DEFLINE 1,breite#,2,2
  3551.               ENDIF
  3552.             UNTIL MOUSEK=1 OR MOUSEK=2
  3553.             EXIT IF MOUSEK=2
  3554.             REPEAT
  3555.             UNTIL MOUSEK=0
  3556.             mx#=MOUSEX
  3557.             my#=MOUSEY
  3558.             WHILE MOUSEK=0
  3559.               farbe$=INKEY$
  3560.               GOSUB farbe
  3561.               IF farbe$="+" THEN
  3562.                 breite#=breite#+1
  3563.                 DEFLINE 1,breite#,2,2
  3564.               ENDIF
  3565.               IF farbe$="-" AND breite#>1 THEN
  3566.                 breite#=breite#-1
  3567.                 DEFLINE 1,breite#,2,2
  3568.               ENDIF
  3569.               GRAPHMODE 3
  3570.               mx1#=MOUSEX
  3571.               my1#=MOUSEY
  3572.               BOX mx#,my#,mx1#,my1#
  3573.               REPEAT
  3574.                 testx#=MOUSEX
  3575.                 testy#=MOUSEY
  3576.                 EXIT IF MOUSEK=2
  3577.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3578.               BOX mx#,my#,mx1#,my1#
  3579.             WEND
  3580.             EXIT IF MOUSEK=2
  3581.             GRAPHMODE g_m#
  3582.             IF fuell#=1 AND eckru#=2 THEN
  3583.               DEFFILL farbe#,komp1#,komp2#
  3584.               PBOX mx#,my#,mx1#,my1#
  3585.             ENDIF
  3586.             IF fuell#=2 AND eckru#=2 THEN
  3587.               BOX mx#,my#,mx1#,my1#
  3588.             ENDIF
  3589.             IF fuell#=1 AND eckru#=1 THEN
  3590.               DEFFILL farbe#,komp1#,komp2#
  3591.               PRBOX mx#,my#,mx1#,my1#
  3592.             ENDIF
  3593.             IF fuell#=2 AND eckru#=1 THEN
  3594.               RBOX mx#,my#,mx1#,my1#
  3595.             ENDIF
  3596.             PAUSE 5
  3597.           UNTIL MOUSEK=2
  3598.           GRAPHMODE 1
  3599.           DEFLINE 1,1
  3600.           DEFMOUSE 0
  3601.           COLOR 1
  3602.           DEFFILL 1
  3603.         ENDIF
  3604.         IF farbe1$="G" OR (waag#=3 AND senk#=2) THEN
  3605.           DEFMOUSE 5
  3606.           PAUSE 5
  3607.           REPEAT
  3608.             farbe$=INKEY$
  3609.             GOSUB farbe
  3610.             IF farbe$="+" THEN
  3611.               breite#=breite#+1
  3612.               DEFLINE 1,breite#,2,2
  3613.             ENDIF
  3614.             IF farbe$="-" AND breite#>1 THEN
  3615.               breite#=breite#-1
  3616.               DEFLINE 1,breite#,2,2
  3617.             ENDIF
  3618.             REPEAT
  3619.               farbe$=INKEY$
  3620.               GOSUB farbe
  3621.               IF farbe$="+" THEN
  3622.                 breite#=breite#+1
  3623.                 DEFLINE 1,breite#,2,2
  3624.               ENDIF
  3625.               IF farbe$="-" AND breite#>1 THEN
  3626.                 breite#=breite#-1
  3627.                 DEFLINE 1,breite#,2,2
  3628.               ENDIF
  3629.             UNTIL MOUSEK=1 OR MOUSEK=2
  3630.             EXIT IF MOUSEK=2
  3631.             REPEAT
  3632.             UNTIL MOUSEK=0
  3633.             mx#=MOUSEX
  3634.             my#=MOUSEY
  3635.             WHILE MOUSEK=0
  3636.               farbe$=INKEY$
  3637.               GOSUB farbe
  3638.               IF farbe$="+" THEN
  3639.                 breite#=breite#+1
  3640.                 DEFLINE 1,breite#,2,2
  3641.               ENDIF
  3642.               IF farbe$="-" AND breite#>1 THEN
  3643.                 breite#=breite#-1
  3644.                 DEFLINE 1,breite#,2,2
  3645.               ENDIF
  3646.               GRAPHMODE 3
  3647.               mx1#=MOUSEX
  3648.               my1#=MOUSEY
  3649.               DRAW mx#,my# TO mx1#,my1#
  3650.               REPEAT
  3651.                 testx#=MOUSEX
  3652.                 testy#=MOUSEY
  3653.                 EXIT IF MOUSEK=2
  3654.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3655.               DRAW mx#,my# TO mx1#,my1#
  3656.             WEND
  3657.             EXIT IF MOUSEK=2
  3658.             GRAPHMODE 1
  3659.             DRAW mx#,my# TO mx1#,my1#
  3660.             PAUSE 5
  3661.           UNTIL MOUSEK=2
  3662.           GRAPHMODE 1
  3663.           DEFLINE 1,1
  3664.           DEFMOUSE 0
  3665.           COLOR 1
  3666.           DEFFILL 1
  3667.         ENDIF
  3668.         IF farbe1$="E" OR (waag#=6 AND senk#=2) THEN
  3669.           ALERT 2," SOLLEN DIE ELLIPSEN | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell#
  3670.           DEFMOUSE 5
  3671.           PAUSE 5
  3672.           REPEAT
  3673.             farbe$=INKEY$
  3674.             GOSUB farbe
  3675.             IF farbe$="+" THEN
  3676.               breite#=breite#+1
  3677.               DEFLINE 1,breite#,2,2
  3678.             ENDIF
  3679.             IF farbe$="-" AND breite#>1 THEN
  3680.               breite#=breite#-1
  3681.               DEFLINE 1,breite#,2,2
  3682.             ENDIF
  3683.             REPEAT
  3684.               farbe$=INKEY$
  3685.               GOSUB farbe
  3686.               IF farbe$="+" THEN
  3687.                 breite#=breite#+1
  3688.                 DEFLINE 1,breite#,2,2
  3689.               ENDIF
  3690.               IF farbe$="-" AND breite#>1 THEN
  3691.                 breite#=breite#-1
  3692.                 DEFLINE 1,breite#,2,2
  3693.               ENDIF
  3694.             UNTIL MOUSEK=1 OR MOUSEK=2
  3695.             EXIT IF MOUSEK=2
  3696.             REPEAT
  3697.             UNTIL MOUSEK=0
  3698.             mx#=MOUSEX
  3699.             my#=MOUSEY
  3700.             WHILE MOUSEK=0
  3701.               IF test$<>"" THEN
  3702.                 farbe$=test$
  3703.               ELSE
  3704.                 farbe$=INKEY$
  3705.               ENDIF
  3706.               GOSUB farbe
  3707.               IF farbe$="+" THEN
  3708.                 breite#=breite#+1
  3709.                 DEFLINE 1,breite#,2,2
  3710.               ENDIF
  3711.               IF farbe$="-" AND breite#>1 THEN
  3712.                 breite#=breite#-1
  3713.                 DEFLINE 1,breite#,2,2
  3714.               ENDIF
  3715.               IF farbe$="Q" AND anfwink#<3600 THEN
  3716.                 anfwink#=anfwink#+100
  3717.               ENDIF
  3718.               IF farbe$="W" AND anfwink#>10 THEN
  3719.                 anfwink#=anfwink#-100
  3720.               ENDIF
  3721.               IF farbe$="A" AND endwink#<3600 THEN
  3722.                 endwink#=endwink#+100
  3723.               ENDIF
  3724.               IF farbe$="S" AND endwink#>10 THEN
  3725.                 endwink#=endwink#-100
  3726.               ENDIF
  3727.               GRAPHMODE 3
  3728.               mx1#=MOUSEX
  3729.               my1#=MOUSEY
  3730.               ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink#
  3731.               REPEAT
  3732.                 testx#=MOUSEX
  3733.                 testy#=MOUSEY
  3734.                 test$=INKEY$
  3735.                 EXIT IF MOUSEK=2
  3736.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 OR test$<>""
  3737.               ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink#
  3738.             WEND
  3739.             EXIT IF MOUSEK=2
  3740.             GRAPHMODE g_m#
  3741.             IF fuell#=1 THEN
  3742.               DEFFILL farbe#,komp1#,komp2#
  3743.               PELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink#
  3744.             ELSE
  3745.               ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink#
  3746.             ENDIF
  3747.             PAUSE 5
  3748.           UNTIL MOUSEK=2
  3749.           GRAPHMODE 1
  3750.           DEFLINE 1,1
  3751.           DEFMOUSE 0
  3752.           COLOR 1
  3753.           DEFFILL 1
  3754.         ENDIF
  3755.         IF farbe1$="6" OR (waag#=1 AND senk#=3) THEN
  3756.           ALERT 2," WIE GROß SOLL |  LUPE SEIN ",1,"16*16|VARIABEL",lupe#
  3757.           IF lupe#=1 THEN
  3758.             xlupe#=16
  3759.             ylupe#=16
  3760.             gros#=INT(140/xlupe#)
  3761.           ELSE
  3762.             DEFFILL 0
  3763.             SGET screen2$
  3764.             CLS
  3765.             PAUSE 5
  3766.             DEFMOUSE 5
  3767.             mx#=0
  3768.             my#=0
  3769.             REPEAT
  3770.             UNTIL MOUSEK=0
  3771.             WHILE MOUSEK=0
  3772.               mx1#=MOUSEX
  3773.               my1#=MOUSEY
  3774.               IF mx1#-mx#>40 THEN
  3775.                 mx1#=mx#+40
  3776.               ENDIF
  3777.               IF my1#-my#>50 THEN
  3778.                 my1#=my#+50
  3779.               ENDIF
  3780.               IF mx1#-mx#<2 THEN
  3781.                 mx1#=mx#+2
  3782.               ENDIF
  3783.               IF my1#-my#<2 THEN
  3784.                 my1#=my#+2
  3785.               ENDIF
  3786.               IF mx#>mx1# THEN
  3787.                 mx1#=mx#
  3788.               ENDIF
  3789.               IF my#>my1# THEN
  3790.                 my1#=my#
  3791.               ENDIF
  3792.               GRAPHMODE 3
  3793.               BOX mx#,my#,mx1#,my1#
  3794.               PRINT AT(21,1);"X:"
  3795.               PRINT AT(21,2);"Y:"
  3796.               PRINT AT(23,1);USING "##",mx1#
  3797.               PRINT AT(23,2);USING "##",my1#
  3798.               REPEAT
  3799.                 testx#=MOUSEX
  3800.                 testy#=MOUSEY
  3801.                 IF testx#>40 THEN
  3802.                   testx#=40
  3803.                 ENDIF
  3804.                 IF testy#>50 THEN
  3805.                   testy#=50
  3806.                 ENDIF
  3807.                 IF testx#<2 THEN
  3808.                   testx#=2
  3809.                 ENDIF
  3810.                 IF testy#<2 THEN
  3811.                   testy#=2
  3812.                 ENDIF
  3813.                 EXIT IF MOUSEK=2
  3814.               UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  3815.               BOX mx#,my#,mx1#,my1#
  3816.             WEND
  3817.             xlupe#=mx1#-mx#
  3818.             ylupe#=my1#-my#
  3819.             IF xlupe#>=ylupe# THEN
  3820.               gros#=INT(130/xlupe#)
  3821.               REPEAT
  3822.                 IF gros#*ylupe#+30>190 THEN
  3823.                   gros#=gros#-1
  3824.                 ELSE
  3825.                   okay#=1
  3826.                 ENDIF
  3827.               UNTIL okay#=1
  3828.               okay#=0
  3829.               REPEAT
  3830.                 IF gros#*xlupe#+xlupe#>INT(159/gros#)*gros# THEN
  3831.                   gros#=gros#-1
  3832.                 ELSE
  3833.                   okay#=1
  3834.                 ENDIF
  3835.               UNTIL okay#=1
  3836.               okay#=0
  3837.             ELSE
  3838.               gros#=INT(180/ylupe#)
  3839.               REPEAT
  3840.                 IF gros#*ylupe#+30>190 THEN
  3841.                   gros#=gros#-1
  3842.                 ELSE
  3843.                   okay#=1
  3844.                 ENDIF
  3845.               UNTIL okay#=1
  3846.               okay#=0
  3847.               REPEAT
  3848.                 IF gros#*xlupe#+xlupe#>INT(159/gros#)*gros# THEN
  3849.                   gros#=gros#-1
  3850.                 ELSE
  3851.                   okay#=1
  3852.                 ENDIF
  3853.               UNTIL okay#=1
  3854.               okay#=0
  3855.             ENDIF
  3856.             SPUT screen2$
  3857.             REPEAT
  3858.             UNTIL MOUSEK=0
  3859.             DEFMOUSE 0
  3860.           ENDIF
  3861.           REPEAT
  3862.             GRAPHMODE 3
  3863.             HIDEM
  3864.             REPEAT
  3865.               mx#=MOUSEX
  3866.               my#=MOUSEY
  3867.               IF mx#+xlupe#>=320 THEN
  3868.                 mx#=320-xlupe#
  3869.               ENDIF
  3870.               IF my#+ylupe#>=200 THEN
  3871.                 my#=200-ylupe#
  3872.               ENDIF
  3873.               BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  3874.               REPEAT
  3875.                 testx#=MOUSEX
  3876.                 testy#=MOUSEY
  3877.                 IF testx#+xlupe#>=320 THEN
  3878.                   testx#=320-xlupe#
  3879.                 ENDIF
  3880.                 IF testy#+ylupe#>=200 THEN
  3881.                   testy#=200-ylupe#
  3882.                 ENDIF
  3883.                 EXIT IF MOUSEK=2
  3884.               UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0
  3885.               BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  3886.             UNTIL MOUSEK<>0
  3887.             IF MOUSEK=1
  3888.               SHOWM
  3889.               GRAPHMODE 3
  3890.               BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  3891.               IF mx#<xlupe#*gros#+6 AND my#<ylupe#*gros#+31 THEN
  3892.                 fak#=INT(160/gros#)*gros#
  3893.               ELSE
  3894.                 fak#=0
  3895.               ENDIF
  3896.               GET fak#,0,fak#+xlupe#*gros#+4,ylupe#*gros#+25,aus$
  3897.               GRAPHMODE 1
  3898.               DEFFILL 1
  3899.               COLOR 1
  3900.               PBOX fak#,0,xlupe#*gros#+fak#,ylupe#*gros#
  3901.               BOX fak#,0,xlupe#*gros#+fak#,ylupe#*gros#
  3902.               IF farbe#=0 THEN
  3903.                 farbe#=1
  3904.               ENDIF
  3905.               DEFFILL farbe#
  3906.               PBOX fak#,ylupe#*gros#+1,xlupe#*gros#+fak#,ylupe#*gros#+24
  3907.               COLOR 1
  3908.               BOX fak#,ylupe#*gros#,xlupe#*gros#+fak#,ylupe#*gros#+24
  3909.               DEFTEXT farbe#-1,,,6
  3910.               GRAPHMODE 2
  3911.               TEXT (xlupe#-1)*gros#+fak#-(((xlupe#-1)*gros#)/2)-6,ylupe#*gros#+18,farbe#
  3912.               GRAPHMODE 1
  3913.               DIM punkte%(xlupe#,ylupe#)
  3914.               FOR q#=0+mx# TO xlupe#+mx#
  3915.                 FOR w#=0+my# TO ylupe#+my#
  3916.                   punkte%(q#-mx#,w#-my#)=POINT(q#,w#)
  3917.                 NEXT w#
  3918.               NEXT q#
  3919.               FOR q#=0 TO xlupe#-1
  3920.                 FOR w#=0 TO ylupe#-1
  3921.                   DEFFILL punkte%(q#,w#)
  3922.                   PBOX q#*gros#+fak#+1,w#*gros#+1,q#*gros#+(gros#-1)+fak#,w#*gros#+(gros#-1)
  3923.                 NEXT w#
  3924.               NEXT q#
  3925.               REPEAT
  3926.                 REPEAT
  3927.                   REPEAT
  3928.                     farbe$=INKEY$
  3929.                     GOSUB farbe
  3930.                   UNTIL farbe#<>testfarbe# OR MOUSEK<>0
  3931.                   testfarbe#=farbe#
  3932.                   DEFFILL farbe#
  3933.                   PBOX fak#,ylupe#*gros#+1,xlupe#*gros#+fak#,ylupe#*gros#+24
  3934.                   COLOR 1
  3935.                   BOX fak#,ylupe#*gros#,xlupe#*gros#+fak#,ylupe#*gros#+24
  3936.                   IF farbe#>0 THEN
  3937.                     DEFTEXT farbe#-1,,,6
  3938.                   ELSE
  3939.                     DEFTEXT 1,,,6
  3940.                   ENDIF
  3941.                   GRAPHMODE 2
  3942.                   TEXT (xlupe#-1)*gros#+fak#-(((xlupe#-1)*gros#)/2)-6,ylupe#*gros#+16,farbe#
  3943.                   GRAPHMODE 1
  3944.                 UNTIL MOUSEK=1 OR MOUSEK=2
  3945.                 mx1#=MOUSEX
  3946.                 my1#=MOUSEY
  3947.                 IF fak#=0 AND mx1#<xlupe#*gros# AND my1#<ylupe#*gros# OR fak#>0 AND mx1#<fak#+xlupe#*gros# AND mx1#>fak# AND my1#<0+ylupe#*gros# AND my1#>0 THEN
  3948.                   DEFFILL farbe#
  3949.                   COLOR farbe#
  3950.                   PBOX (INT(mx1#/gros#)*gros#)+1,(INT(my1#/gros#)*gros#)+1,((INT(mx1#/gros#)*gros#))+(gros#-1),((INT(my1#/gros#)*gros#))+(gros#-1)
  3951.                   DRAW INT((mx1#-fak#)/gros#)+mx#,INT((my1#)/gros#)+my#
  3952.                   PAUSE 5
  3953.                 ENDIF
  3954.                 IF fak#=0 AND mx1#<xlupe#*gros# AND my1#<ylupe#*gros# THEN
  3955.                   DEFFILL farbe#
  3956.                   COLOR farbe#
  3957.                   PBOX (INT(mx1#/gros#)*gros#)+1,(INT(my1#/gros#)*gros#)+1,((INT(mx1#/gros#)*gros#)+gros#)-1,((INT(my1#/gros#)*gros#)+gros#)-1
  3958.                   DRAW INT((mx1#)/gros#)+mx#,INT((my1#)/gros#)+my#
  3959.                   PAUSE 5
  3960.                 ENDIF
  3961.               UNTIL MOUSEK=2
  3962.               PAUSE 5
  3963.               ERASE punkte%()
  3964.               GRAPHMODE 3
  3965.               BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe#
  3966.               PUT fak#,0,aus$
  3967.               GRAPHMODE 1
  3968.               DEFFILL 0
  3969.               COLOR 1
  3970.             ENDIF
  3971.           UNTIL MOUSEK=2
  3972.         ENDIF
  3973.         IF farbe1$="9" OR (waag#=4 AND senk#=6) THEN
  3974.           DEFMOUSE 5
  3975.           GET 0,0,160,40,links$
  3976.           GET 160,0,319,40,rechts$
  3977.           REPEAT
  3978.             REPEAT
  3979.               PAUSE 5
  3980.               mx#=MOUSEX
  3981.               my#=MOUSEY
  3982.               IF mx#>160 THEN
  3983.                 IF enderx#<=160 THEN
  3984.                   GET 0,0,160,40,links$
  3985.                   PUT 160,0,rechts$
  3986.                 ENDIF
  3987.                 PRINT AT(1,1);"X:"
  3988.                 PRINT AT(3,1);USING "###",mx#
  3989.                 PRINT AT(8,1);"Y:"
  3990.                 PRINT AT(10,1);USING "###",my#
  3991.               ELSE
  3992.                 IF enderx#>160 THEN
  3993.                   GET 160,0,319,40,rechts$
  3994.                   PUT 0,0,links$
  3995.                 ENDIF
  3996.                 PRINT AT(26,1);"X:"
  3997.                 PRINT AT(28,1);USING "###",mx#
  3998.                 PRINT AT(33,1);"Y:"
  3999.                 PRINT AT(35,1);USING "###",my#
  4000.               ENDIF
  4001.               enderx#=mx#
  4002.               REPEAT
  4003.                 SHOWM
  4004.                 testx#=MOUSEX
  4005.                 testy#=MOUSEY
  4006.                 EXIT IF MOUSEK=2
  4007.                 schrei$=INKEY$
  4008.                 schrei$=UPPER$(schrei$)
  4009.               UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0 OR schrei$="T" OR schrei$="K"
  4010.             UNTIL MOUSEK=1 OR MOUSEK=2 OR schrei$="T" OR schrei$="K"
  4011.             EXIT IF MOUSEK=2
  4012.             IF schrei$="T" THEN
  4013.               DEFTEXT 1,,,4
  4014.               pu$=STR$(mx#)+"/"+STR$(my#)
  4015.               GRAPHMODE 1
  4016.               TEXT mx#+2,my#,pu$
  4017.             ENDIF
  4018.             COLOR 1
  4019.             DRAW mx#,my#
  4020.             IF schrei$="K" THEN
  4021.               GRAPHMODE 1
  4022.               CIRCLE mx#,my#,3
  4023.             ENDIF
  4024.             PAUSE 5
  4025.           UNTIL MOUSEK=2
  4026.           IF mx#>160 THEN
  4027.             GET 160,0,319,40,rechts$
  4028.           ELSE
  4029.             GET 0,0,160,40,links$
  4030.           ENDIF
  4031.           PUT 0,0,links$
  4032.           PUT 160,0,rechts$
  4033.           DEFMOUSE 0
  4034.         ENDIF
  4035.         IF farbe1$="Ä" OR (waag#=7 AND senk#=6) THEN
  4036.           SGET screen2$
  4037.           REPEAT
  4038.           UNTIL MOUSEK=0
  4039.           DIM ziffer$(9)
  4040.           DIM ezahl#(1)
  4041.           DIM ezahl$(1)
  4042.           ziffer$(0)="⓪"
  4043.           ziffer$(1)="①"
  4044.           ziffer$(2)="②"
  4045.           ziffer$(3)="③"
  4046.           ziffer$(4)="④"
  4047.           ziffer$(5)="⑤"
  4048.           ziffer$(6)="⑥"
  4049.           ziffer$(7)="⑦"
  4050.           ziffer$(8)="⑧"
  4051.           ziffer$(9)="⑨"
  4052.           CLS
  4053.           ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4054.           ezahl$(1)=ezahl$(0)
  4055.           ezahl#(0)=0
  4056.           ergo#=0
  4057.           GRAPHMODE 1
  4058.           DEFFILL 9,1,1
  4059.           PRBOX 20,10,170,190
  4060.           RBOX 20,10,170,190
  4061.           RBOX 22,12,168,188
  4062.           DEFFILL 8,1,1
  4063.           PBOX 30,20,160,50
  4064.           BOX 30,20,160,50
  4065.           BOX 28,18,162,52
  4066.           RESTORE rech
  4067.           DEFTEXT 1,,,13
  4068.           DEFFILL 2,1,1
  4069.           onetwo#=0
  4070.           FOR x#=1 TO 5
  4071.             FOR y#=1 TO 4
  4072.               GRAPHMODE 1
  4073.               BOX x#*25+10,y#*30+40,x#*25+25,y#*30+60
  4074.               BOX x#*25+12,y#*30+42,x#*25+23,y#*30+58
  4075.               PBOX x#*25+12,y#*30+42,x#*25+23,y#*30+58
  4076.               READ tast$
  4077.               GRAPHMODE 2
  4078.               TEXT x#*25+13,y#*30+55,tast$
  4079.             NEXT y#
  4080.           NEXT x#
  4081.         rech:
  4082.           DATA "*","7","4","1","÷","8","5","2","-","9","6","3","+","=","C","0",".","√","^","±"
  4083.           DEFTEXT 1,,,32
  4084.           GRAPHMODE 2
  4085.           TEXT 32,47,ezahl$(0)
  4086.           GRAPHMODE 1
  4087.           komma#=0
  4088.           REPEAT
  4089.             REPEAT
  4090.               mx#=MOUSEX
  4091.               my#=MOUSEY
  4092.             UNTIL MOUSEK=2 OR (MOUSEK=1 AND mx#>35 AND mx#<150 AND my#>70 AND my#<190)
  4093.             EXIT IF MOUSEK=2
  4094.             REPEAT
  4095.             UNTIL MOUSEK=0
  4096.             dx#=INT((mx#-10)/25)
  4097.             dy#=INT((my#-40)/30)
  4098.             IF LEN(ezahl$(onetwo#))<12 THEN
  4099.               IF dx#=5 AND dy#=1 AND komma#<>2 THEN
  4100.                 komma#=1
  4101.               ELSE
  4102.                 IF (dx#>=1 AND dx#<=3 AND dy#>=2 AND dy#<=4) OR (dx#=4 AND dy#=4) THEN
  4103.                   IF dx#=1 AND dy#=4 THEN
  4104.                     zi#=1
  4105.                   ENDIF
  4106.                   IF dx#=2 AND dy#=4 THEN
  4107.                     zi#=2
  4108.                   ENDIF
  4109.                   IF dx#=3 AND dy#=4 THEN
  4110.                     zi#=3
  4111.                   ENDIF
  4112.                   IF dx#=1 AND dy#=3 THEN
  4113.                     zi#=4
  4114.                   ENDIF
  4115.                   IF dx#=2 AND dy#=3 THEN
  4116.                     zi#=5
  4117.                   ENDIF
  4118.                   IF dx#=3 AND dy#=3 THEN
  4119.                     zi#=6
  4120.                   ENDIF
  4121.                   IF dx#=1 AND dy#=2 THEN
  4122.                     zi#=7
  4123.                   ENDIF
  4124.                   IF dx#=2 AND dy#=2 THEN
  4125.                     zi#=8
  4126.                   ENDIF
  4127.                   IF dx#=3 AND dy#=2 THEN
  4128.                     zi#=9
  4129.                   ENDIF
  4130.                   IF dx#=4 AND dy#=4 THEN
  4131.                     zi#=0
  4132.                   ENDIF
  4133.                   IF komma#<>1 THEN
  4134.                     IF LEFT$(ezahl$(onetwo#),1)="⓪" THEN
  4135.                       ezahl$(onetwo#)=RIGHT$(ezahl$(onetwo#),7)+ziffer$(zi#)
  4136.                     ELSE
  4137.                       ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(zi#)
  4138.                     ENDIF
  4139.                     ezahl#(onetwo#)=VAL(STR$(ezahl#(onetwo#))+STR$(zi#))
  4140.                   ELSE
  4141.                     ezahl#(onetwo#)=VAL(STR$(ezahl#(onetwo#))+"."+STR$(zi#))
  4142.                     IF LEN(ezahl$(onetwo#))<8 THEN
  4143.                       ezahl$(onetwo#)=RIGHT$(ezahl$(onetwo#),6)+"."+ziffer$(zi#)
  4144.                     ELSE
  4145.                       ezahl$(onetwo#)=ezahl$(onetwo#)+"."+ziffer$(zi#)
  4146.                     ENDIF
  4147.                     komma#=2
  4148.                   ENDIF
  4149.                 ENDIF
  4150.               ENDIF
  4151.             ENDIF
  4152.             IF dx#=5 AND dy#=4 THEN
  4153.               ezahl#(onetwo#)=-ezahl#(onetwo#)
  4154.             ENDIF
  4155.             IF dx#=1 AND dy#=1 THEN
  4156.               alg$="*"
  4157.               IF onetwo#=0 THEN
  4158.                 onetwo#=1
  4159.                 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4160.                 ezahl#(1)=0
  4161.               ELSE
  4162.                 onetwo#=0
  4163.                 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4164.                 ezahl#(0)=0
  4165.               ENDIF
  4166.               komma#=0
  4167.             ENDIF
  4168.             IF dx#=2 AND dy#=1 THEN
  4169.               alg$="/"
  4170.               IF onetwo#=0 THEN
  4171.                 onetwo#=1
  4172.                 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4173.                 ezahl#(1)=0
  4174.               ELSE
  4175.                 onetwo#=0
  4176.                 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4177.                 ezahl#(0)=0
  4178.               ENDIF
  4179.               komma#=0
  4180.             ENDIF
  4181.             IF dx#=3 AND dy#=1 THEN
  4182.               alg$="-"
  4183.               IF onetwo#=0 THEN
  4184.                 onetwo#=1
  4185.                 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4186.                 ezahl#(1)=0
  4187.               ELSE
  4188.                 onetwo#=0
  4189.                 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4190.                 ezahl#(0)=0
  4191.               ENDIF
  4192.               komma#=0
  4193.             ENDIF
  4194.             IF dx#=4 AND dy#=1 THEN
  4195.               alg$="+"
  4196.               IF onetwo#=0 THEN
  4197.                 onetwo#=1
  4198.                 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4199.                 ezahl#(1)=0
  4200.               ELSE
  4201.                 onetwo#=0
  4202.                 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4203.                 ezahl#(0)=0
  4204.               ENDIF
  4205.               komma#=0
  4206.             ENDIF
  4207.             IF dx#=5 AND dy#=3 THEN
  4208.               alg$="^"
  4209.               IF onetwo#=0 THEN
  4210.                 onetwo#=1
  4211.                 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4212.                 ezahl#(1)=0
  4213.               ELSE
  4214.                 onetwo#=0
  4215.                 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4216.                 ezahl#(0)=0
  4217.               ENDIF
  4218.               komma#=0
  4219.             ENDIF
  4220.             IF dx#=4 AND dy#=3 THEN
  4221.               ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4222.               ezahl#(0)=0
  4223.               ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪"
  4224.               ezahl#(1)=0
  4225.               komma#=0
  4226.             ENDIF
  4227.             IF (dx#=4 AND dy#=2) OR (dx#=5 AND dy#=2) THEN
  4228.               IF alg$="*" THEN
  4229.                 ezahl#(onetwo#)=ezahl#(0)*ezahl#(1)
  4230.               ENDIF
  4231.               IF alg$="/" THEN
  4232.                 IF onetwo#=0 THEN
  4233.                   IF ezahl#(0)<>0 THEN
  4234.                     ezahl#(onetwo#)=ezahl#(1)/ezahl#(0)
  4235.                   ENDIF
  4236.                 ELSE
  4237.                   IF ezahl#(1)<>0 THEN
  4238.                     ezahl#(onetwo#)=ezahl#(0)/ezahl#(1)
  4239.                   ENDIF
  4240.                 ENDIF
  4241.               ENDIF
  4242.               IF alg$="+" THEN
  4243.                 ezahl#(onetwo#)=ezahl#(1)+ezahl#(0)
  4244.               ENDIF
  4245.               IF alg$="-" THEN
  4246.                 IF onetwo#=0 THEN
  4247.                   ezahl#(onetwo#)=ezahl#(1)-ezahl#(0)
  4248.                 ELSE
  4249.                   ezahl#(onetwo#)=ezahl#(0)-ezahl#(1)
  4250.                 ENDIF
  4251.               ENDIF
  4252.               IF alg$="^" THEN
  4253.                 IF onetwo#=0 THEN
  4254.                   ezahl#(onetwo#)=ezahl#(1)^ezahl#(0)
  4255.                 ELSE
  4256.                   ezahl#(onetwo#)=ezahl#(0)^ezahl#(1)
  4257.                 ENDIF
  4258.               ENDIF
  4259.               IF dx#=5 AND dy#=2 THEN
  4260.                 IF onetwo#=0 THEN
  4261.                   ezahl#(onetwo#)=SQR(ezahl#(0))
  4262.                 ELSE
  4263.                   ezahl#(onetwo#)=SQR(ezahl#(1))
  4264.                 ENDIF
  4265.               ENDIF
  4266.               alg$=""
  4267.               ezahl$(onetwo#)=""
  4268.               ergeb$=""
  4269.               FOR x#=1 TO 8-LEN(STR$(ezahl#(onetwo#)))
  4270.                 ergeb$=ergeb$+"0"
  4271.               NEXT x#
  4272.               ergeb$=ergeb$+STR$(ezahl#(onetwo#))
  4273.               IF LEN(ergeb$)<=8 THEN
  4274.                 FOR x#=1 TO 8
  4275.                   IF MID$(ergeb$,x#,1)="." THEN
  4276.                     ezahl$(onetwo#)=ezahl$(onetwo#)+"."
  4277.                     komma#=2
  4278.                   ELSE
  4279.                     ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(VAL(MID$(ergeb$,x#,1)))
  4280.                   ENDIF
  4281.                 NEXT x#
  4282.               ELSE
  4283.                 FOR x#=1 TO LEN(ergeb$)
  4284.                   IF MID$(ergeb$,x#,1)="." THEN
  4285.                     ezahl$(onetwo#)=ezahl$(onetwo#)+"."
  4286.                     komma#=2
  4287.                   ELSE
  4288.                     ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(VAL(MID$(ergeb$,x#,1)))
  4289.                   ENDIF
  4290.                 NEXT x#
  4291.               ENDIF
  4292.             ENDIF
  4293.             GRAPHMODE 1
  4294.             DEFFILL 8,1,1
  4295.             PBOX 31,21,159,49
  4296.             GRAPHMODE 2
  4297.             IF LEN(ezahl$(onetwo#))<=8 THEN
  4298.               DEFTEXT 1,,,32
  4299.               GRAPHMODE 2
  4300.               TEXT 32,47,ezahl$(onetwo#)
  4301.             ENDIF
  4302.             IF LEN(ezahl$(onetwo#))<=16 AND LEN(ezahl$(onetwo#))>8 THEN
  4303.               DEFTEXT 1,,,13
  4304.               GRAPHMODE 2
  4305.               TEXT 32,42,ezahl$(onetwo#)
  4306.             ENDIF
  4307.             IF LEN(ezahl$(onetwo#))>16 THEN
  4308.               DEFTEXT 1,,,4
  4309.               GRAPHMODE 2
  4310.               TEXT 32,38,ezahl$(onetwo#)
  4311.             ENDIF
  4312.             GRAPHMODE 1
  4313.             IF ezahl#(onetwo#)<0 THEN
  4314.               DEFFILL 1,1,1
  4315.             ELSE
  4316.               DEFFILL 9,1,1
  4317.             ENDIF
  4318.             PBOX 80,55,110,60
  4319.           UNTIL MOUSEK=2
  4320.           ERASE ziffer$()
  4321.           ERASE ezahl#()
  4322.           ERASE ezahl$()
  4323.           SPUT screen2$
  4324.         ENDIF
  4325.         IF farbe1$="Q" OR (waag#=5 AND senk#=6) THEN
  4326.           DEFFILL 0
  4327.           SGET screen2$
  4328.           PAUSE 5
  4329.           DEFMOUSE 5
  4330.           REPEAT
  4331.           UNTIL MOUSEK=1
  4332.           mx#=MOUSEX
  4333.           my#=MOUSEY
  4334.           REPEAT
  4335.           UNTIL MOUSEK=0
  4336.           WHILE MOUSEK=0
  4337.             mx1#=MOUSEX
  4338.             my1#=MOUSEY
  4339.             IF mx1#-mx#>300 THEN
  4340.               mx1#=mx#+300
  4341.             ENDIF
  4342.             IF mx#>mx1# THEN
  4343.               mx1#=mx#
  4344.             ENDIF
  4345.             IF my#>my1# THEN
  4346.               my1#=my#
  4347.             ENDIF
  4348.             GRAPHMODE 3
  4349.             BOX mx#,my#,mx1#,my1#
  4350.             REPEAT
  4351.               testx#=MOUSEX
  4352.               testy#=MOUSEY
  4353.               EXIT IF MOUSEK=2
  4354.             UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0
  4355.             BOX mx#,my#,mx1#,my1#
  4356.           WEND
  4357.           GET mx#,my#,mx1#,my1#,kopierb$
  4358.           PUT 0,0,kopierb$
  4359.           xachse#=mx1#-mx#
  4360.           yachse#=my1#-my#
  4361.           DIM punkte#(xachse#,yachse#)
  4362.           FOR q#=0 TO xachse#
  4363.             FOR w#=0 TO yachse#
  4364.               punkte#(q#,w#)=POINT(q#,w#)
  4365.             NEXT w#
  4366.           NEXT q#
  4367.           CLS
  4368.           REPEAT
  4369.           UNTIL MOUSEK=0
  4370.           ALERT 2,"WIE WOLLEN SIE |DEN BLOCK WELLEN",1,"LÄNGS|QUER",lq#
  4371.           IF lq#=1 THEN
  4372.             WHILE MOUSEK=0
  4373.               REPEAT
  4374.                 mx2#=MOUSEX
  4375.                 my2#=MOUSEY
  4376.               UNTIL INT(mx2#/20)>0 AND my2#>0
  4377.               GRAPHMODE 3
  4378.               FOR q#=0 TO xachse#
  4379.                 DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)
  4380.               NEXT q#
  4381.               FOR q#=0 TO xachse#
  4382.                 DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)+yachse#
  4383.               NEXT q#
  4384.               DRAW 0,INT(my2#/20)*SIN(0)+INT(my2#/20) TO 0,INT(my2#/20)*SIN(0/INT(mx2#/20))+INT(my2#/20)+yachse#
  4385.               DRAW xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20) TO xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20)+yachse#
  4386.               REPEAT
  4387.                 testx#=MOUSEX
  4388.                 testy#=MOUSEY
  4389.                 EXIT IF MOUSEK=2
  4390.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  4391.               EXIT IF MOUSEK<>0
  4392.               FOR q#=0 TO xachse#
  4393.                 DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)
  4394.               NEXT q#
  4395.               FOR q#=0 TO xachse#
  4396.                 DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)+yachse#
  4397.               NEXT q#
  4398.               DRAW 0,INT(my2#/20)*SIN(0)+INT(my2#/20) TO 0,INT(my2#/20)*SIN(0/INT(mx2#/20))+INT(my2#/20)+yachse#
  4399.               DRAW xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20) TO xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20)+yachse#
  4400.             WEND
  4401.             GRAPHMODE 1
  4402.             y1achse#=yachse#+2*INT(my2#/20)
  4403.             PBOX 0,0,xachse#,y1achse#
  4404.             FOR q#=0 TO xachse#
  4405.               FOR w#=0 TO yachse#
  4406.                 COLOR punkte#(q#,w#)
  4407.                 DEFFILL punkte#(q#,w#)
  4408.                 DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+w#+INT(my2#/20)
  4409.               NEXT w#
  4410.             NEXT q#
  4411.             GET 0,0,xachse#,y1achse#,k_bild$
  4412.             SPUT screen2$
  4413.             GRAPHMODE 3
  4414.             REPEAT
  4415.               farbe3$=INKEY$
  4416.               IF LEN(farbe3$)>1 THEN
  4417.                 sondert#=ASC(RIGHT$(farbe3$,1))
  4418.               ENDIF
  4419.               IF sondert#=59 THEN
  4420.                 IF bildin#=2 THEN
  4421.                   SGET bild_2$
  4422.                 ENDIF
  4423.                 IF bildin#=3 THEN
  4424.                   SGET bild_3$
  4425.                 ENDIF
  4426.                 IF bildin#<>1 THEN
  4427.                   SPUT bild_1$
  4428.                 ENDIF
  4429.                 bildin#=1
  4430.               ENDIF
  4431.               IF sondert#=60 THEN
  4432.                 IF bildin#=1 THEN
  4433.                   SGET bild_1$
  4434.                 ENDIF
  4435.                 IF bildin#=3 THEN
  4436.                   SGET bild_3$
  4437.                 ENDIF
  4438.                 IF bildin#<>2 THEN
  4439.                   SPUT bild_2$
  4440.                 ENDIF
  4441.                 bildin#=2
  4442.               ENDIF
  4443.               IF sondert#=61 THEN
  4444.                 IF bildin#=1 THEN
  4445.                   SGET bild_1$
  4446.                 ENDIF
  4447.                 IF bildin#=2 THEN
  4448.                   SGET bild_2$
  4449.                 ENDIF
  4450.                 IF bildin#<>3 THEN
  4451.                   SPUT bild_3$
  4452.                 ENDIF
  4453.                 bildin#=3
  4454.               ENDIF
  4455.               mx2#=MOUSEX
  4456.               my2#=MOUSEY
  4457.               PUT mx2#,my2#,k_bild$,6
  4458.               REPEAT
  4459.                 testx#=MOUSEX
  4460.                 testy#=MOUSEY
  4461.                 EXIT IF MOUSEK=2
  4462.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  4463.               PUT mx2#,my2#,k_bild$,6
  4464.             UNTIL MOUSEK=1 OR MOUSEK=2
  4465.           ELSE
  4466.             WHILE MOUSEK=0
  4467.               REPEAT
  4468.                 mx2#=MOUSEX
  4469.                 my2#=MOUSEY
  4470.               UNTIL INT(my2#/20)>0 AND mx2#>0
  4471.               GRAPHMODE 3
  4472.               FOR q#=0 TO yachse#
  4473.                 DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20),q#
  4474.               NEXT q#
  4475.               FOR q#=0 TO yachse#
  4476.                 DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20)+xachse#,q#
  4477.               NEXT q#
  4478.               DRAW INT(mx2#/20)*SIN(0)+INT(mx2#/20),0 TO INT(mx2#/20)*SIN(0/INT(my2#/20))+INT(mx2#/20)+xachse#,0
  4479.               DRAW INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20),yachse# TO INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20)+xachse#,yachse#
  4480.               REPEAT
  4481.                 testx#=MOUSEX
  4482.                 testy#=MOUSEY
  4483.                 EXIT IF MOUSEK=2
  4484.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  4485.               EXIT IF MOUSEK<>0
  4486.               FOR q#=0 TO yachse#
  4487.                 DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20),q#
  4488.               NEXT q#
  4489.               FOR q#=0 TO yachse#
  4490.                 DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20)+xachse#,q#
  4491.               NEXT q#
  4492.               DRAW INT(mx2#/20)*SIN(0)+INT(mx2#/20),0 TO INT(mx2#/20)*SIN(0/INT(my2#/20))+INT(mx2#/20)+xachse#,0
  4493.               DRAW INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20),yachse# TO INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20)+xachse#,yachse#
  4494.             WEND
  4495.             GRAPHMODE 1
  4496.             x1achse#=xachse#+2*INT(mx2#/20)
  4497.             PBOX 0,0,x1achse#,yachse#
  4498.             FOR q#=0 TO yachse#
  4499.               FOR w#=0 TO xachse#
  4500.                 COLOR punkte#(w#,q#)
  4501.                 DEFFILL punkte#(w#,q#)
  4502.                 DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+w#+INT(mx2#/20),q#
  4503.               NEXT w#
  4504.             NEXT q#
  4505.             GET 0,0,x1achse#,yachse#,k_bild$
  4506.             SPUT screen2$
  4507.             GRAPHMODE 3
  4508.             REPEAT
  4509.               farbe3$=INKEY$
  4510.               IF LEN(farbe3$)>1 THEN
  4511.                 sondert#=ASC(RIGHT$(farbe3$,1))
  4512.               ENDIF
  4513.               IF sondert#=59 THEN
  4514.                 IF bildin#=2 THEN
  4515.                   SGET bild_2$
  4516.                 ENDIF
  4517.                 IF bildin#=3 THEN
  4518.                   SGET bild_3$
  4519.                 ENDIF
  4520.                 IF bildin#<>1 THEN
  4521.                   SPUT bild_1$
  4522.                 ENDIF
  4523.                 bildin#=1
  4524.               ENDIF
  4525.               IF sondert#=60 THEN
  4526.                 IF bildin#=1 THEN
  4527.                   SGET bild_1$
  4528.                 ENDIF
  4529.                 IF bildin#=3 THEN
  4530.                   SGET bild_3$
  4531.                 ENDIF
  4532.                 IF bildin#<>2 THEN
  4533.                   SPUT bild_2$
  4534.                 ENDIF
  4535.                 bildin#=2
  4536.               ENDIF
  4537.               IF sondert#=61 THEN
  4538.                 IF bildin#=1 THEN
  4539.                   SGET bild_1$
  4540.                 ENDIF
  4541.                 IF bildin#=2 THEN
  4542.                   SGET bild_2$
  4543.                 ENDIF
  4544.                 IF bildin#<>3 THEN
  4545.                   SPUT bild_3$
  4546.                 ENDIF
  4547.                 bildin#=3
  4548.               ENDIF
  4549.               mx2#=MOUSEX
  4550.               my2#=MOUSEY
  4551.               PUT mx2#,my2#,k_bild$,6
  4552.               REPEAT
  4553.                 testx#=MOUSEX
  4554.                 testy#=MOUSEY
  4555.                 EXIT IF MOUSEK=2
  4556.               UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0
  4557.               PUT mx2#,my2#,k_bild$,6
  4558.             UNTIL MOUSEK=1 OR MOUSEK=2
  4559.           ENDIF
  4560.           GRAPHMODE g_m#
  4561.           IF MOUSEK=1
  4562.             PUT mx2#,my2#,k_bild$,p_m#
  4563.           ENDIF
  4564.           GRAPHMODE 1
  4565.           ERASE punkte#()
  4566.           DEFMOUSE 0
  4567.           DEFFILL 1
  4568.           COLOR 1
  4569.         ENDIF
  4570.         IF bildin#=1 THEN
  4571.           SGET bild_1$
  4572.         ENDIF
  4573.         IF bildin#=2 THEN
  4574.           SGET bild_2$
  4575.         ENDIF
  4576.         IF bildin#=3 THEN
  4577.           SGET bild_3$
  4578.         ENDIF
  4579.         PAUSE 5
  4580.       UNTIL MOUSEK=1 OR MOUSEK=2
  4581.     UNTIL MOUSEK=2
  4582.     PAUSE 5
  4583.   UNTIL MOUSEK=2
  4584.   ALERT 2,"WOLLEN SIE |DAS PROGRAMM ECHT BEENDEN",1,"JA,BITTE|NIEMALS",b#
  4585.   EXIT IF b#=1
  4586. UNTIL MOUSEK=2
  4587. PROCEDURE farbe
  4588.   IF ASC(farbe$)>47 AND ASC(farbe$)<116 THEN
  4589.     farbe#=(ASC(farbe$))-48
  4590.     GET 0,170,30,199,deck$
  4591.     PRINT AT(1,23);farbe$
  4592.     PAUSE 15
  4593.     PUT 0,170,deck$
  4594.     farbe#=(ASC(farbe$))-48
  4595.     COLOR farbe#
  4596.     DEFFILL farbe#
  4597.   ENDIF
  4598. RETURN
  4599.