private void btnLosowaFigura_Click(object sender, EventArgs e) { btnNew_place.Enabled = false; btnRandom_los.Enabled = false; chlbFigury.Enabled = false; int pj_Xp, pj_Yp; Color pj_Kolor; int pj_GruboscLinii; DashStyle pj_Dashstyle; int pj_R; Random pj_LiczbaLosowa = new Random(); int pj_Xmax = this.imgPlansza.Width; int pj_Ymax = this.imgPlansza.Height; pj_Xp = pj_LiczbaLosowa.Next(pj_Margines, pj_Xmax - pj_Margines); pj_Yp = pj_LiczbaLosowa.Next(pj_Margines, pj_Ymax - pj_Margines); pj_Kolor = Color.FromArgb(pj_LiczbaLosowa.Next(0, 256), pj_LiczbaLosowa.Next(0, 256), pj_LiczbaLosowa.Next(0, 256)); pj_GruboscLinii = pj_LiczbaLosowa.Next(1, 10); pj_R = pj_LiczbaLosowa.Next(5, pj_Ymax / 4); switch (pj_LiczbaLosowa.Next(1, 5)) { case 1: pj_Dashstyle = DashStyle.Solid; break; case 2: pj_Dashstyle = DashStyle.Dot; break; case 3: pj_Dashstyle = DashStyle.Dash; break; case 4: pj_Dashstyle = DashStyle.DashDot; break; case 5: pj_Dashstyle = DashStyle.DashDotDot; break; default: pj_Dashstyle = System.Drawing.Drawing2D.DashStyle.Solid; break; } CheckedListBox.CheckedIndexCollection pj_WybranaFigura = chlbFigury.CheckedIndices; Random los = new Random(); switch (los.Next(0, 6)) { case 0: TPunkt p1 = new TPunkt(pj_Xp, pj_Yp); p1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); p1.Wykresl(); break; case 1: TLinia l1 = new TLinia(pj_Xp, pj_Yp); l1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); l1.Wykresl(); break; case 2: TOkrag o1 = new TOkrag(pj_Xp, pj_Yp, pj_R); o1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); o1.Wykresl(); break; case 3: TFillOkrag fo1 = new TFillOkrag(pj_Xp, pj_Yp, pj_R); fo1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); fo1.Wykresl(); break; case 4: TProstokat pr1 = new TProstokat(pj_Xp, pj_Yp); pr1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); pr1.Wykresl(); break; case 5: TKwadrat k1 = new TKwadrat(pj_Xp, pj_Yp); k1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); k1.Wykresl(); break; case 6: Ttrojkat t1 = new Ttrojkat(pj_Xp, pj_Yp); t1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); t1.Wykresl(); break; case 7: TtrojkatProstokatny tp1 = new TtrojkatProstokatny(pj_Xp, pj_Yp); tp1.UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); tp1.Wykresl(); break; default: ERROR.SetError(btnStart, "ERROR: nierozpoznana figura geometryczna"); return; } }
private void btnStart_Click(object sender, EventArgs e) { //TPunkt A = new TPunkt(200, 100, Color.Red); //A.Wykresl(); //TOkrag O1 = new TOkrag(100, 50, 30); //O1.Wykresl(); //O1.UstawXY(150, 100); //TPunkt Figura = O1; //Figura.Wykresl(); int pj_N; if (!int.TryParse(txtLiczbaFigur.Text, out pj_N)) { ERROR.SetError(txtLiczbaFigur, "ERROR: Błąd w zapisie liczności figur"); return; } else { txtLiczbaFigur.Enabled = false; ERROR.Dispose(); } if (pj_N <= 0) { ERROR.SetError(txtLiczbaFigur, "ERROR: Liczba figur musi być > 0"); return; } else { ERROR.Dispose(); } if (chlbFigury.CheckedItems.Count <= 0) { ERROR.SetError(btnStart, "ERROR: Nie wybrano figury!"); return; } else { ERROR.Dispose(); } btnRandom_los.Enabled = true; btnNew_place.Enabled = true; btnStart.Enabled = false; pj_TablicaFigur = new TPunkt[pj_N]; pj_IndexTablicyFigur = 0; int[] pj_TablicaWybranychFigur = new int[chlbFigury.CheckedItems.Count]; int pj_IndexTablicyWybranychFigur = 0; foreach (object WybranaFigura in chlbFigury.CheckedItems) { pj_TablicaWybranychFigur[pj_IndexTablicyWybranychFigur++] = chlbFigury.Items.IndexOf(WybranaFigura); } int pj_Xp, pj_Yp; Color pj_Kolor; int pj_GruboscLinii; DashStyle pj_Dashstyle; int pj_R; Random pj_LiczbaLosowa = new Random(); int pj_Xmax = this.imgPlansza.Width; int pj_Ymax = this.imgPlansza.Height; for (int i = 0; i < pj_TablicaFigur.Length; i++) { pj_Xp = pj_LiczbaLosowa.Next(pj_Margines, pj_Xmax - pj_Margines); pj_Yp = pj_LiczbaLosowa.Next(pj_Margines, pj_Ymax - pj_Margines); pj_Kolor = Color.FromArgb(pj_LiczbaLosowa.Next(0, 256), pj_LiczbaLosowa.Next(0, 256), pj_LiczbaLosowa.Next(0, 256)); pj_GruboscLinii = pj_LiczbaLosowa.Next(1, 10); pj_R = pj_LiczbaLosowa.Next(5, pj_Ymax / 4); switch (pj_LiczbaLosowa.Next(1, 5)) { case 1: pj_Dashstyle = DashStyle.Solid; break; case 2: pj_Dashstyle = DashStyle.Dot; break; case 3: pj_Dashstyle = DashStyle.Dash; break; case 4: pj_Dashstyle = DashStyle.DashDot; break; case 5: pj_Dashstyle = DashStyle.DashDotDot; break; default: pj_Dashstyle = System.Drawing.Drawing2D.DashStyle.Solid; break; } CheckedListBox.CheckedIndexCollection pj_WybranaFigura = chlbFigury.CheckedIndices; switch (pj_WybranaFigura[i % pj_WybranaFigura.Count]) { case 0: pj_TablicaFigur[i] = new TPunkt(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt p1 = pj_TablicaFigur[i] as TPunkt; p1.Wykresl(); break; case 1: pj_TablicaFigur[i] = new TLinia(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt l1 = pj_TablicaFigur[i] as TLinia; l1.Wykresl(); break; case 2: pj_TablicaFigur[i] = new TOkrag(pj_Xp, pj_Yp, pj_R); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt o1 = pj_TablicaFigur[i] as TOkrag; o1.Wykresl(); break; case 3: pj_TablicaFigur[i] = new TFillOkrag(pj_Xp, pj_Yp, pj_R); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt fo1 = pj_TablicaFigur[i] as TFillOkrag; fo1.Wykresl(); break; case 4: pj_TablicaFigur[i] = new TProstokat(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt pr1 = pj_TablicaFigur[i] as TProstokat; pr1.Wykresl(); break; case 5: pj_TablicaFigur[i] = new TKwadrat(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt k1 = pj_TablicaFigur[i] as TKwadrat; k1.Wykresl(); break; case 6: pj_TablicaFigur[i] = new Ttrojkat(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt t1 = pj_TablicaFigur[i] as Ttrojkat; t1.Wykresl(); break; case 7: pj_TablicaFigur[i] = new TtrojkatProstokatny(pj_Xp, pj_Yp); pj_TablicaFigur[i].UstawieniaAtrybutowGraficznych(pj_Kolor, pj_GruboscLinii, pj_Dashstyle); TPunkt tp1 = pj_TablicaFigur[i] as TtrojkatProstokatny; tp1.Wykresl(); break; default: ERROR.SetError(btnStart, "ERROR: nierozpoznana figura geometryczna"); return; } } }