C#: Náhodné čáry
Zadání
Připravte program, který do okna programu vykreslí 100 náhodně umístěných čar, náhodně barevných.
Postup
Do události Paint okna vložíme cyklus, který se má provést 100×.
for (int i = 100; i >0;--i ){}
Do jeho těla dáme nakreslení čáry, přičemž si zavedeme proměnné pocX, pocY, konX a konY, které budou počátečními a koncovými souřadnicemi čáry, proměnná pero bude obsahovat pero dané barvy.
e.Graphics.DrawLine(pero,pocX,pocY,konX,konY);
Souřadnice čáry
Nyní využijeme manuál pana učitele, který říká:
1. Vytvoříme instanci třídy Random
Random náhoda = new Random();
2. Vždy, když budeme chtít vytvořit nové náhodné číslo, pak použijeme příkaz:
int číslo = náhoda.Next(min, max+1);
Takže tímto stylem si nastavíme proměnné pocX, pocY, konX a konY v těle cyklu. Mimo cyklus si je nejprve musíme zavést:
Random náhoda = new Random();
int pocX,pocY, konY, konX;
V těle cyklu jim nastavíme hodnoty (mají se totiž měnit při každém průběhu cyklu):
pocX = náhoda.Next(0, 500);
pocY = náhoda.Next(0, 500);
konX = náhoda.Next(0, 500);
konY = náhoda.Next(0, 500);
Pero
Zavedeme si proměnnou pero (které bude mít barvu v proměnné „barva“ a šířka se bude rovnat 1):
Pen pero = new Pen(barva, 1);
Barvu pera nastavíme pomocí spektra RGB, zavedeme si tedy další proměnné red, blue a green. Těm pak nastavíme náhodné hodnoty v intervalu od 1 do 255. Tyto tři proměnné vložíme do proměnné barva, která tak bude obsahovat zápis barvy v režimu RGB.
Výsledek
private void Form1_Paint(object sender, PaintEventArgs e)
{
Random náhoda = new Random();
int pocX,pocY, konY, konX, red, blue, green;
for (int i = 100; i >0;--i )
{
pocX = náhoda.Next(0, 500);
pocY = náhoda.Next(0, 500);
konX = náhoda.Next(0, 500);
konY = náhoda.Next(0, 500);
red = náhoda.Next(0, 256);
green = náhoda.Next(0, 256);
blue = náhoda.Next(0, 256);
Color barva = Color.FromArgb(red, green, blue);
Pen pero = new Pen(barva, 1);
e.Graphics.DrawLine(pero,pocX,pocY,konX,konY);
}
}
