Guest

Untitled

By: a guest on Jan 28th, 2012  |  syntax: None  |  size: 9.97 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. import sum.kern.*;
  2. /**
  3.  * Malprogramm
  4.  *
  5.  * @author (Marcel)
  6.  * @version (1.7 oder 1.9?? keine Ahnung ich bin auf jedednfall fertig...:D)                Textfeld, speichern, laden
  7.  */
  8. public class Freies_malen
  9. {
  10.     Bildschirm derBildschirm;
  11.     Buntstift meinStift;
  12.     Maus flinkeMaus;
  13.     Tastatur meineTastatur;
  14.    
  15.     // Konstruktor
  16.     public Freies_malen()
  17.     {
  18.         derBildschirm = new Bildschirm();
  19.         meinStift = new Buntstift();
  20.         flinkeMaus = new Maus();
  21.         meineTastatur = new Tastatur();
  22.         male();
  23.     }
  24.     //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  25.     // Diense
  26.  
  27.     // Der Stift wird abgesenkt, wenn eine Maustaste gedrückt ist, sonst wird der Stift angehoben.
  28.     // Ist die Bedingung erfüllt(Maus ist gedrückt), folgt der Stift der Maus und zeichnet dabei logischerweise eine Linie
  29.     // Außerdem wurden Hotkeys hinzugefügt, um leichtere Handhabung und größeren Funktionsumfang bereitzustellen
  30.     public void male()
  31.     {
  32.         meinStift.bewegeBis(flinkeMaus.hPosition(), flinkeMaus.vPosition());
  33.         do
  34.         {
  35.             if (flinkeMaus.istGedrueckt())
  36.             {
  37.                 meinStift.bewegeBis(flinkeMaus.hPosition(), flinkeMaus.vPosition());
  38.                 meinStift.runter();
  39.             }
  40.             else
  41.                 meinStift.hoch();
  42.             if (meineTastatur.wurdeGedrueckt())
  43.                 {
  44.                      switch (meineTastatur.zeichen())
  45.                     {
  46.                         case 'r':
  47.                         case 'R': meinStift.setzeFarbe(Farbe.ROT); break;           // Wenn R/r/B/b/Y/y/G/g, wird die Farbe gewechselt
  48.                         case 'b':
  49.                         case 'B': meinStift.setzeFarbe(Farbe.BLAU); break;
  50.                         case 'y':
  51.                         case 'Y': meinStift.setzeFarbe(Farbe.GELB); break;
  52.                         case 'g':
  53.                         case 'G': meinStift.setzeFarbe(Farbe.GRUEN); break;
  54.                        
  55.                         case '1': meinStift.setzeLinienbreite(1); break;            // Wenn 1 - 10 gedrückt, wechselt der Stift die Linienbreite
  56.                         case '2': meinStift.setzeLinienbreite(2); break;
  57.                         case '3': meinStift.setzeLinienbreite(3); break;
  58.                         case '4': meinStift.setzeLinienbreite(4); break;
  59.                         case '5': meinStift.setzeLinienbreite(5); break;
  60.                         case '6': meinStift.setzeLinienbreite(6); break;
  61.                         case '7': meinStift.setzeLinienbreite(7); break;
  62.                         case '8': meinStift.setzeLinienbreite(8); break;
  63.                         case '9': meinStift.setzeLinienbreite(9); break;
  64.                         case '0': meinStift.setzeLinienbreite(1000); break;
  65.                        
  66.                         case 'l':
  67.                         case 'L': meinStift.radiere(); break;       // wenn L/l gedrückt, wechselt der Stift in den "Radiermodus"
  68.                         case 'n':
  69.                         case 'N': meinStift.normal(); break;        // wenn N/n gedrückt, wechselt der Stift in den "Normalmodus"
  70.                        
  71.                         case 't': meinStift.schreibeText(""); break;
  72.                        
  73.                         case 'k':
  74.                         case 'K': meinStift.runter();               // Wenn K/k gedrückt dann zeichnet er einen Kreis mit dem Radius 100
  75.                                   meinStift.zeichneKreis(100);
  76.                                   meinStift.hoch(); break;
  77.                         case 'p':
  78.                         case 'P': meinStift.runter();                   // Wenn P/p gedrückt dann zeichnet er ein Rechteck mit den Maßen 20, 30
  79.                                   meinStift.zeichneRechteck(40, 50);
  80.                                   meinStift.hoch(); break;
  81.                                  
  82.                         case 'f': meinStift.setzeFuellmuster(1); break; // Fuellmuster wird zu "gefüllt"
  83.                         case 'F': meinStift.setzeFuellmuster(0); break; // Fuellmuster wird zu "durchsichtig"
  84.                        
  85.                         case 'd':
  86.                         case 'D': meinStift.runter();                   // wenn D/d gedrückt, dann zeichnet er ein Dreieck
  87.                                   meinStift.bewegeUm(30);
  88.                                   meinStift.dreheUm(135);
  89.                                   meinStift.bewegeUm(60);
  90.                                   meinStift.dreheUm(90);
  91.                                   meinStift.bewegeUm(60);
  92.                                   meinStift.dreheUm(135);
  93.                                   meinStift.bewegeUm(60);
  94.                                   meinStift.hoch(); break;
  95.                                  
  96.                         case 'V':
  97.                         case 'v': meinStift.runter();                                                               // Wenn V/v gedrückt, kann man ein Vieleck zeichnen
  98.                                   meinStift.bewegeBis(flinkeMaus.hPosition(), flinkeMaus.vPosition()); break;
  99.                                  
  100.                         case '#': derBildschirm.loescheAlles(); break;                                              // Wenn # gedrückt, dann wird der ganze Bildschirm gelöscht  
  101.                        
  102.                         case 'h':
  103.                         case 'H': meinStift.schreibeText("Hilfe:");                                                 // wenn H/h gedrückt, wird Hilfedatei für Hotkeys geöffnet
  104.                                   meinStift.dreheBis(270);
  105.                                   meinStift.bewegeUm(35);
  106.                                   meinStift.dreheBis(180);
  107.                                   meinStift.bewegeUm(40);
  108.                                   meinStift.schreibeText("R/r = Rot");
  109.                                   meinStift.dreheBis(270);
  110.                                   meinStift.bewegeUm(17);
  111.                                   meinStift.dreheBis(180);
  112.                                   meinStift.bewegeUm(50);
  113.                                   meinStift.schreibeText("G/g = Grün");
  114.                                   meinStift.dreheBis(270);
  115.                                   meinStift.bewegeUm(17);
  116.                                   meinStift.dreheBis(180);
  117.                                   meinStift.bewegeUm(60);
  118.                                   meinStift.schreibeText("B/b = Blau");
  119.                                   meinStift.dreheBis(270);
  120.                                   meinStift.bewegeUm(17);
  121.                                   meinStift.dreheBis(180);
  122.                                   meinStift.bewegeUm(55);
  123.                                   meinStift.schreibeText("Y/y = Gelb");
  124.                                   meinStift.dreheBis(270);
  125.                                   meinStift.bewegeUm(17);
  126.                                   meinStift.dreheBis(180);
  127.                                   meinStift.bewegeUm(55);
  128.                                   meinStift.schreibeText("K/k = Kreis");
  129.                                   meinStift.dreheBis(270);
  130.                                   meinStift.bewegeUm(17);
  131.                                   meinStift.dreheBis(180);
  132.                                   meinStift.bewegeUm(60);
  133.                                   meinStift.schreibeText("D/d = Dreieck");
  134.                                   meinStift.dreheBis(270);
  135.                                   meinStift.bewegeUm(17);
  136.                                   meinStift.dreheBis(180);
  137.                                   meinStift.bewegeUm(75);
  138.                                   meinStift.schreibeText("V/v = Vieleck");
  139.                                   meinStift.dreheBis(270);
  140.                                   meinStift.bewegeUm(17);
  141.                                   meinStift.dreheBis(180);
  142.                                   meinStift.bewegeUm(67);
  143.                                   meinStift.schreibeText("L/l = Radiermodus");
  144.                                   meinStift.dreheBis(270);
  145.                                   meinStift.bewegeUm(17);
  146.                                   meinStift.dreheBis(180);
  147.                                   meinStift.bewegeUm(101);
  148.                                   meinStift.schreibeText("N/n = Normalmodus");
  149.                                   meinStift.dreheBis(270);
  150.                                   meinStift.bewegeUm(17);
  151.                                   meinStift.dreheBis(180);
  152.                                   meinStift.bewegeUm(112);
  153.                                   meinStift.schreibeText("F = Füllmuster = Gefüllt");
  154.                                   meinStift.dreheBis(270);
  155.                                   meinStift.bewegeUm(17);
  156.                                   meinStift.dreheBis(180);
  157.                                   meinStift.bewegeUm(127);
  158.                                   meinStift.schreibeText("f = Füllmuster = Durchsichtig");
  159.                                   meinStift.dreheBis(270);
  160.                                   meinStift.bewegeUm(17);
  161.                                   meinStift.dreheBis(180);
  162.                                   meinStift.bewegeUm(157);
  163.                                   meinStift.schreibeText("1-10 = Linienbreite");
  164.                                   meinStift.dreheBis(270);
  165.                                   meinStift.bewegeUm(17);
  166.                                   meinStift.dreheBis(180);
  167.                                   meinStift.bewegeUm(100);
  168.                                   meinStift.schreibeText("# = alles löschen");break;
  169.                                  
  170.                         default : meinStift.setzeFarbe(Farbe.SCHWARZ); break;
  171.                     }
  172.                     meineTastatur.weiter();
  173.                 }
  174.             } while (!flinkeMaus.doppelKlick());
  175.         }
  176. }