Example #1
0
 private void licznik_Tick(object sender, EventArgs e)
 {
     if (!Plansza_do_gry.wdol())
     {
         if (szybka)
         {
             szybka = false;
             if (level < 11)
             {
                 Licznik.Interval = 1000 - 100 * (level - 1);
             }
             else if (level < 21)
             {
                 Licznik.Interval = 100 - 10 * (level - 1);
             }
             else
             {
                 Licznik.Interval = 10;
             }
         }
         int pkt = Plansza_do_gry.linie();
         punkty  += (pkt * pkt);
         Pkt.Text = punkty.ToString();
         if (punkty >= level * 10)
         {
             level++;
             Poziom.Text = level.ToString();
             if (level < 11)
             {
                 Licznik.Interval -= 100;
             }
             else if (level < 21)
             {
                 Licznik.Interval -= 10;
             }
             else
             {
                 Licznik.Interval = 10;
             }
         }
         figura f = nastepny.getfigura();
         if (!Plansza_do_gry.rysujfigure(5, 0, f))
         {
             Licznik.Stop();
             Licznik.Interval = 1000;
             MessageBox.Show("koniec");
             gra = false;
             f   = null;
             Plansza_do_gry.reset();
             nastepny.reset();
             level       = 1;
             punkty      = 0;
             Pkt.Text    = "0";
             Poziom.Text = "1";
             return;
         }
         nastepny.reset();
         nastepny.rysujfigure(0, 0, new figura());
     }
 }
Example #2
0
        public bool rysujfigure(int x, int y, figura f)
        {
            if (!sprawdzwymiary(x, y))
            {
                return(false);
            }
            int i, j;

            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    if (f.siatka[i, j])
                    {
                        if (!sprawdzwymiary(x + i, y + j))
                        {
                            return(false);
                        }
                        if (siatka[x + i, y + j].SprawdzCzyPelna())
                        {
                            return(false);
                        }
                    }
                }
            }
            x_figury = x;
            y_figury = y;
            if (klocek != f)
            {
                klocek = f;
            }
            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    if (f.siatka[i, j])
                    {
                        siatka[x + i, y + j].setkolor(f.kolor);
                        rysujkratke(x + i, y + j);
                    }
                }
            }
            return(true);
        }
Example #3
0
        public void obroc_w_prawo()
        {
            if (klocek.kat == 270)
            {
                klocek.kat = 0;
            }
            else
            {
                klocek.kat += 90;
            }
            figura nowa = klocek.odwrocona(klocek.kat);
            int    i, j;

            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    if (nowa.siatka[i, j] && !sprawdzwymiary(x_figury + i, y_figury + j))
                    {
                        return;
                    }
                    if (nowa.siatka[i, j] &&
                        !klocek.siatka[i, j] &&
                        siatka[x_figury + i, y_figury + j].SprawdzCzyPelna())
                    {
                        return;
                    }
                }
            }

            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    if (klocek.siatka[i, j])
                    {
                        siatka[x_figury + i, y_figury + j].kasuj(g, BackColor);
                    }
                }
            }

            rysujfigure(x_figury, y_figury, nowa);
        }
Example #4
0
        public figura odwrocona(int fi)
        {
            if (fi != 0 && fi != 90 && fi != 180 && fi != 270)
            {
                return(this);
            }
            figura nowa = new figura();

            nowa.kat   = fi;
            nowa.kolor = kolor;
            nowa.jaka  = jaka;
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    nowa.siatka[i, j] = false;
                }
            }
            switch (jaka)
            {
            case figury.L:
                switch (fi)
                {
                case 0: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[1, 2] = true; break;

                case 90: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[0, 1] = true; break;

                case 180: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = true; break;

                case 270: nowa.siatka[2, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[2, 1] = true; break;
                }
                break;



            case figury.prosta:
                switch (fi)
                {
                case 0:
                case 180:
                    nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[0, 3] = true; break;

                case 90:
                case 270:
                    nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[3, 0] = true; break;
                }
                break;

            case figury.kwadrat:
                nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = true; break;

            case figury.schodki:
                switch (fi)
                {
                case 0: nowa.siatka[1, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[2, 1] = true; break;

                case 90: nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[0, 2] = nowa.siatka[1, 1] = true; break;

                case 180: nowa.siatka[0, 0] = nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[1, 1] = true; break;

                case 270: nowa.siatka[1, 0] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = nowa.siatka[0, 1] = true; break;
                }
                break;

            case figury.piorun:
                switch (fi)
                {
                case 0:
                case 180:
                    nowa.siatka[0, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = nowa.siatka[1, 2] = true; break;

                case 90:
                case 270:
                    nowa.siatka[1, 0] = nowa.siatka[2, 0] = nowa.siatka[0, 1] = nowa.siatka[1, 1] = true; break;
                }
                break;
            }
            return(nowa);
        }