Advertisement
Guest User

Dreieck

a guest
Mar 4th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Drawing.Drawing2D;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10.  
  11. namespace Dreieck
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         //Private Attribute
  16.         private int x1 ;
  17.         private int x2 ;
  18.         private int x3 ;
  19.         private int y1 ;
  20.         private int y2 ;
  21.         private int y3 ;
  22.  
  23.         public Form1()
  24.         {
  25.             InitializeComponent();
  26.  
  27.             x1 = panel1.ClientRectangle.Width / 2;
  28.             x2 = panel1.ClientRectangle.Width - 10;
  29.             x3 = 10;
  30.             y1 = 10;
  31.             y2 = panel1.ClientRectangle.Height - 10;
  32.             y3 = panel1.ClientRectangle.Height - 10;
  33.         }
  34.  
  35.         private void btnZeichnen_Click(object sender, EventArgs e)
  36.         {
  37.             //Auswahl ob in der TextBox etwas drin steht
  38.             if (tbAuswahl.Text != "")
  39.             {
  40.                 //Variablendeklaration
  41.                 lblLaeuft.Text = "";
  42.                 Graphics g = panel1.CreateGraphics();
  43.                 Pen penRed = new Pen(Color.Red, 2);
  44.                 Pen penBlue = new Pen(Color.Blue, 1);
  45.                 Random zufall = new Random();
  46.  
  47.                 int punktX = 0;
  48.                 int punktY = 0;
  49.  
  50.                 int punkt = 0;
  51.  
  52.                 //Verarbeitung
  53.                 //Punkte definieren und Array für die Punkte erstellen
  54.                 Point point1 = new Point(x1, y1);
  55.                 Point point2 = new Point(x2, y2);
  56.                 Point point3 = new Point(x3, y3);
  57.                 Point[] curvePoints =
  58.                  {
  59.                      point1,
  60.                      point2,
  61.                      point3
  62.                  };
  63.  
  64.                 // Draw polygon to screen.
  65.                 g.DrawPolygon(penRed, curvePoints);
  66.  
  67.                 //Mittelpunkt bestimmen
  68.                 punktX = (x1 + x2 + x3) / 3;
  69.                 punktY = (y1 + y2 + y3) / 3;
  70.  
  71.                 //Punkt zeichnen
  72.                 g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
  73.                
  74.                 //So viele Punkte zeichnen, wie vom Benutzer eingegeben werden
  75.                 for (int i = 0; i < Convert.ToInt32(tbAuswahl.Text); i++)
  76.                 {
  77.                     //Zufallszahl bestimmen und entsprechende auswählen
  78.                     punkt = zufall.Next(1, 4);  //1-3
  79.                     switch (punkt)
  80.                     {
  81.                         case 1:
  82.                             punktX = (punktX + x1) / 2;
  83.                             punktY = (punktY + y1) / 2;
  84.                             g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
  85.                             break;
  86.                         case 2:
  87.                             punktX = (punktX + x2) / 2;
  88.                             punktY = (punktY + y2) / 2;
  89.                             g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
  90.                             break;
  91.                         case 3:
  92.                             punktX = (punktX + x3) / 2;
  93.                             punktY = (punktY + y3) / 2;
  94.                             g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
  95.                             break;
  96.                         default:
  97.                             break;
  98.                     }
  99.                 }
  100.                 lblLaeuft.Text = "Fertig!";
  101.                 g.Dispose();
  102.             }
  103.             else
  104.             {
  105.                 MessageBox.Show("Eingabe Fehlt!");
  106.                 tbAuswahl.Select();
  107.             }
  108.  
  109.         }
  110.  
  111.         //Löschen des Panels, also Hintergrundfarbe auf weiß setzen
  112.         private void btnLoeschen_Click(object sender, EventArgs e)
  113.         {
  114.             Graphics g = panel1.CreateGraphics();
  115.             g.Clear(panel1.BackColor);
  116.             lblLaeuft.Text = "...";
  117.             g.Dispose();
  118.         }
  119.  
  120.  
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement