Пример #1
0
 private void czyNowyKlocek()
 {
     if (ZaczepTablicyKlocka == null)
     {
         this.ZaczepTablicyKlocka = new Klocek();
     }
 }
Пример #2
0
        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;
            }
        }
Пример #3
0
 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);
         }
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
        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);

            }
        }
Пример #6
0
        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";

            }
        }
Пример #7
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;
        }