Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Dreieck
- {
- public partial class Form1 : Form
- {
- //Private Attribute
- private int x1 ;
- private int x2 ;
- private int x3 ;
- private int y1 ;
- private int y2 ;
- private int y3 ;
- public Form1()
- {
- InitializeComponent();
- x1 = panel1.ClientRectangle.Width / 2;
- x2 = panel1.ClientRectangle.Width - 10;
- x3 = 10;
- y1 = 10;
- y2 = panel1.ClientRectangle.Height - 10;
- y3 = panel1.ClientRectangle.Height - 10;
- }
- private void btnZeichnen_Click(object sender, EventArgs e)
- {
- //Auswahl ob in der TextBox etwas drin steht
- if (tbAuswahl.Text != "")
- {
- //Variablendeklaration
- lblLaeuft.Text = "";
- Graphics g = panel1.CreateGraphics();
- Pen penRed = new Pen(Color.Red, 2);
- Pen penBlue = new Pen(Color.Blue, 1);
- Random zufall = new Random();
- int punktX = 0;
- int punktY = 0;
- int punkt = 0;
- //Verarbeitung
- //Punkte definieren und Array für die Punkte erstellen
- Point point1 = new Point(x1, y1);
- Point point2 = new Point(x2, y2);
- Point point3 = new Point(x3, y3);
- Point[] curvePoints =
- {
- point1,
- point2,
- point3
- };
- // Draw polygon to screen.
- g.DrawPolygon(penRed, curvePoints);
- //Mittelpunkt bestimmen
- punktX = (x1 + x2 + x3) / 3;
- punktY = (y1 + y2 + y3) / 3;
- //Punkt zeichnen
- g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
- //So viele Punkte zeichnen, wie vom Benutzer eingegeben werden
- for (int i = 0; i < Convert.ToInt32(tbAuswahl.Text); i++)
- {
- //Zufallszahl bestimmen und entsprechende auswählen
- punkt = zufall.Next(1, 4); //1-3
- switch (punkt)
- {
- case 1:
- punktX = (punktX + x1) / 2;
- punktY = (punktY + y1) / 2;
- g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
- break;
- case 2:
- punktX = (punktX + x2) / 2;
- punktY = (punktY + y2) / 2;
- g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
- break;
- case 3:
- punktX = (punktX + x3) / 2;
- punktY = (punktY + y3) / 2;
- g.DrawRectangle(penBlue, punktX, punktY, 1, 1);
- break;
- default:
- break;
- }
- }
- lblLaeuft.Text = "Fertig!";
- g.Dispose();
- }
- else
- {
- MessageBox.Show("Eingabe Fehlt!");
- tbAuswahl.Select();
- }
- }
- //Löschen des Panels, also Hintergrundfarbe auf weiß setzen
- private void btnLoeschen_Click(object sender, EventArgs e)
- {
- Graphics g = panel1.CreateGraphics();
- g.Clear(panel1.BackColor);
- lblLaeuft.Text = "...";
- g.Dispose();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement