private void czyNowyKlocek() { if (ZaczepTablicyKlocka == null) { this.ZaczepTablicyKlocka = new Klocek(); } }
private void ZamieńKlocki(Klocek klocekŹrodłowy, Klocek klocekDocelowy) { int indexKlockaWLiscie = this.ListaKlocków.IndexOf(klocekŹrodłowy); if (indexKlockaWLiscie >= 0) { this.ListaKlocków[indexKlockaWLiscie].X = klocekDocelowy.X; this.ListaKlocków[indexKlockaWLiscie].Y = klocekDocelowy.Y; } }
private void RysujTablice(Klocek K = null) { g.Clear(Color.White); for (float i = 12.5f; i >= 250; i += 25) { for (float j = 12.5f; j >= 500; j += 25) { RysujKwadrat(i, j); } } }
private void RysujKwadrat(Klocek K, int X = 0, int Y = 0) { PointF[] currentPoints = { this.P1, this.P2, this.P3, this.P4 }; this.P1 = new PointF(X + 12.5f, Y + 12.5f); this.P2 = new PointF(X + 12.5f, Y - 12.5f); this.P3 = new PointF(X - 12.5f, Y - 12.5f); this.P4 = new PointF(X - 12.5f, Y + 12.5f); switch (K.Ksztalt) { case 1: pen1.Color = Color.FromArgb(26, 236, 15); break; case 2: pen1.Color = Color.FromArgb(255, 80, 80); break; case 3: pen1.Color = Color.FromArgb(255, 171, 56); break; case 4: pen1.Color = Color.FromArgb(111, 111, 111); break; case 5: pen1.Color = Color.FromArgb(241, 255, 73); break; case 6: pen1.Color = Color.FromArgb(81, 175, 255); break; case 7: pen1.Color = Color.FromArgb(156, 65, 164); break; } g.DrawPolygon(pen1, currentPoints); }
private void Łączenie() { bool pasujesz = DziejeSię(klocek.klocek, podstawa.wszystko); if (pasujesz && podstawa.wszystko.Length == 0) { klocek.KlocekWGórę(klocek.klocek); podstawa.wszystko = new Rectangle[4]; foreach (var i in Enumerable.Range(0, 4)) { podstawa.wszystko[i] = klocek.klocek[i]; } } else if (pasujesz) { klocek.KlocekWGórę(klocek.klocek); Rectangle[] po = new Rectangle[podstawa.wszystko.Length + 4]; var poor = podstawa.wszystko.ToList(); var poor_count = poor.Count; foreach (var i in Enumerable.Range(0, podstawa.wszystko.Length)) { po[i] = podstawa.wszystko[i]; } foreach (var i in klocek.klocek) { poor.Add(i); } foreach (var k in poor) { Console.WriteLine(k); } podstawa.wszystko = poor.ToArray(); Klocek klocek1 = new Klocek(); klocek = klocek1; Czyszczenie(podstawa.wszystko); } }
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Right) { klocek.KlocekWPrawo(klocek.klocek); if (DziejeSię(klocek.klocek, podstawa.wszystko)) { klocek.KlocekWLewo(klocek.klocek); } } if (e.KeyData == Keys.Left) { klocek.KlocekWLewo(klocek.klocek); if (DziejeSię(klocek.klocek, podstawa.wszystko)) { klocek.KlocekWPrawo(klocek.klocek); } } if (e.KeyData == Keys.Down) { timer1.Interval = 25; } if (e.KeyData == Keys.Up) { Obracanie(klocek.klocek); if (DziejeSię(klocek.klocek, podstawa.wszystko)) { AntyObracanie(klocek.klocek); AntyObracanie(klocek.klocek); if (DziejeSię(klocek.klocek, podstawa.wszystko)) { Obracanie(klocek.klocek); } } } if (e.KeyData == Keys.Space && timer1.Enabled == false) { klocek = new Klocek(); podstawa.wszystko = new Rectangle[1]; score = 0; timer1.Enabled = true; label2.Text = "0"; } }
public Figura(KszałtFigury kszałtFigury, Klocek klocekStartowy) { List <Klocek> kształt = null; switch (kszałtFigury) { case KszałtFigury.TetriminoI: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.DarkGray), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.DarkGray), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 2, Brushes.DarkGray), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 3, Brushes.DarkGray) }); break; case KszałtFigury.TetriminoT: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X, klocekStartowy.Y, Brushes.Tomato), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.Tomato), new Klocek(klocekStartowy.X + 2, klocekStartowy.Y, Brushes.Tomato), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.Tomato) }); break; case KszałtFigury.TetriminoO: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X, klocekStartowy.Y, Brushes.Chocolate), new Klocek(klocekStartowy.X, klocekStartowy.Y + 1, Brushes.Chocolate), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.Chocolate), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.Chocolate) }); break; case KszałtFigury.TetriminoL: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X, klocekStartowy.Y, Brushes.DarkOrange), new Klocek(klocekStartowy.X, klocekStartowy.Y + 1, Brushes.DarkOrange), new Klocek(klocekStartowy.X, klocekStartowy.Y + 2, Brushes.DarkOrange), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 2, Brushes.DarkOrange) }); break; case KszałtFigury.TetriminoJ: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.Gold), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.Gold), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 2, Brushes.Gold), new Klocek(klocekStartowy.X, klocekStartowy.Y + 2, Brushes.Gold) }); break; case KszałtFigury.TetriminoS: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.Olive), new Klocek(klocekStartowy.X + 2, klocekStartowy.Y, Brushes.Olive), new Klocek(klocekStartowy.X, klocekStartowy.Y + 1, Brushes.Olive), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.Olive) }); break; case KszałtFigury.TetriminoZ: kształt = new List <Klocek>(new Klocek[] { new Klocek(klocekStartowy.X, klocekStartowy.Y, Brushes.Magenta), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y, Brushes.Magenta), new Klocek(klocekStartowy.X + 1, klocekStartowy.Y + 1, Brushes.Magenta), new Klocek(klocekStartowy.X + 2, klocekStartowy.Y + 1, Brushes.Magenta) }); break; } this.ListaKlocków = kształt; }