public Rectangle[] nizaPravoagolnici(Blok tvor)
 {
     Rectangle[] niz = new Rectangle[5];
     Size koco = new Size(50,50);
     for (int i = 0; i < 5; i++)
     {
         niz[i] = new Rectangle(tvor.parce[i], koco);
     }
     return niz;
 }
Beispiel #2
0
        private void button10_Click(object sender, EventArgs e)
        {
            if (crtaj_S)
            {
                crtaj_S = false;
                grid.tocno[S_br[0]] = false;
                grid.tocno[S_br[1]] = false;
                grid.tocno[S_br[2]] = false;
                grid.tocno[S_br[3]] = false;
                grid.tocno[S_br[4]] = false;
            }

            S_br[0] = 1; S_br[1] = 10; S_br[2] = 11; S_br[3] = 20; S_br[4] = 30;
            S_blok = new Blok(S_br, mrda);
            kodx = 0; kody = 0; gran = 0; rot = 0;
            f = false; ZNAK = 'S';
            prav.Clear(Color.White);
            if (crtaj_X)
            {
                prav.FillRectangles(drap, X_blok.nizaPravoagolnici(X_blok));
                button5.Enabled = false;
            }
            if (crtaj_B)
            {
                prav.FillRectangles(crven, B_blok.nizaPravoagolnici(B_blok));
                button3.Enabled = false;
            }
            if (crtaj_C)
            {
                prav.FillRectangles(safari, C_blok.nizaPravoagolnici(C_blok));
                button4.Enabled = false;
            }
            if (crtaj_I)
            {
                prav.FillRectangles(zelen, I_blok.nizaPravoagolnici(I_blok));
                button2.Enabled = false;
            }
            if (crtaj_T)
            {
                prav.FillRectangles(zolt, T_blok.nizaPravoagolnici(T_blok));
                button6.Enabled = false;
            }
            if (crtaj_L)
            {
                prav.FillRectangles(plav, L_blok.nizaPravoagolnici(L_blok));
                button7.Enabled = false;
            }
            if (crtaj_W)
            {
                prav.FillRectangles(tirkiz, W_blok.nizaPravoagolnici(W_blok));
                button13.Enabled = false;
            }
            if (crtaj_Z)
            {
                prav.FillRectangles(lila, Z_blok.nizaPravoagolnici(Z_blok));
                button12.Enabled = false;
            }
            if (crtaj_F)
            {
                prav.FillRectangles(trava, F_blok.nizaPravoagolnici(F_blok));
                button11.Enabled = false;
            }
            if (crtaj_G)
            {
                prav.FillRectangles(cigla, G_blok.nizaPravoagolnici(G_blok));
                button9.Enabled = false;
            }
            if (crtaj_P)
            {
                prav.FillRectangles(roze, P_blok.nizaPravoagolnici(P_blok));
                button8.Enabled = false;
            }
            prav.FillRectangles(zlato, S_blok.nizaPravoagolnici(S_blok));
        }
Beispiel #3
0
        private void button13_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.R))
            {
                rot++;
                if (rot == 0)
                {
                    W_br[0] = 0; W_br[1] = 10; W_br[2] = 11; W_br[3] = 21; W_br[4] = 22;
                }
                else if (rot == 1)
                {
                    W_br[0] = 2; W_br[1] = 11; W_br[2] = 12; W_br[3] = 20; W_br[4] = 21;
                }
                else if (rot == 2)
                {
                    W_br[0] = 0; W_br[1] = 1; W_br[2] = 11; W_br[3] = 12; W_br[4] = 22;
                }
                else if (rot == 3)
                {
                    W_br[0] = 1; W_br[1] = 2; W_br[2] = 10; W_br[3] = 11; W_br[4] = 20;
                    rot = -1;
                }
                kodx = 0;
                kody = 0;
            }

            if (kodx > 0)
            {
                if (e.KeyCode.Equals(Keys.A))
                {
                    for (int i = 0; i < 5; i++)
                        W_br[i]--;
                    kodx--;
                }
            }

            if (kodx < 7)
            {
                if (e.KeyCode.Equals(Keys.D))
                {
                    for (int i = 0; i < 5; i++)
                        W_br[i]++;
                    kodx++;
                }
            }

            if (kody > 0)
            {
                if (e.KeyCode.Equals(Keys.W))
                {
                    for (int i = 0; i < 5; i++)
                        W_br[i] -= 10;
                    kody--;
                }
            }

            if (kody < 3)
            {
                if (e.KeyCode.Equals(Keys.S))
                {
                    for (int i = 0; i < 5; i++)
                        W_br[i] += 10;
                    kody++;
                }
            }
            W_blok = new Blok(W_br, mrda);
            prav.Clear(Color.White);
            if (crtaj_X)
                prav.FillRectangles(drap, X_blok.nizaPravoagolnici(X_blok));
            if (crtaj_B)
                prav.FillRectangles(crven, B_blok.nizaPravoagolnici(B_blok));
            if (crtaj_C)
                prav.FillRectangles(safari, C_blok.nizaPravoagolnici(C_blok));
            if (crtaj_I)
                prav.FillRectangles(zelen, I_blok.nizaPravoagolnici(I_blok));
            if (crtaj_T)
                prav.FillRectangles(zolt, T_blok.nizaPravoagolnici(T_blok));
            if (crtaj_L)
                prav.FillRectangles(plav, L_blok.nizaPravoagolnici(L_blok));
            if (crtaj_Z)
                prav.FillRectangles(lila, Z_blok.nizaPravoagolnici(Z_blok));
            if (crtaj_F)
                prav.FillRectangles(trava, F_blok.nizaPravoagolnici(F_blok));
            if (crtaj_S)
                prav.FillRectangles(zlato, S_blok.nizaPravoagolnici(S_blok));
            if (crtaj_G)
                prav.FillRectangles(cigla, G_blok.nizaPravoagolnici(G_blok));
            if (crtaj_P)
                prav.FillRectangles(roze, P_blok.nizaPravoagolnici(P_blok));
            prav.FillRectangles(tirkiz, W_blok.nizaPravoagolnici(W_blok));
        }
Beispiel #4
0
        private void button5_KeyDown(object sender, KeyEventArgs e)
        {
            if (kodx > 0)
            {
                if (e.KeyCode.Equals(Keys.A))
                {
                    for (int i = 0; i < 5; i++)
                        X_br[i]--;
                    kodx--;
                }
            }

            if (kodx < 7)
            {
                if (e.KeyCode.Equals(Keys.D))
                {
                    for (int i = 0; i < 5; i++)
                        X_br[i]++;
                    kodx++;
                }
            }

            if (kody > 0)
            {
                if (e.KeyCode.Equals(Keys.W))
                {
                    for (int i = 0; i < 5; i++)
                        X_br[i] -= 10;
                    kody--;
                }
            }

            if (kody < 3)
            {
                if (e.KeyCode.Equals(Keys.S))
                {
                    for (int i = 0; i < 5; i++)
                        X_br[i] += 10;
                    kody++;
                }
            }
            prav.Clear(Color.White);
            X_blok = new Blok(X_br, mrda);
            if (crtaj_B)
                prav.FillRectangles(crven, B_blok.nizaPravoagolnici(B_blok));
            if (crtaj_C)
                prav.FillRectangles(safari, C_blok.nizaPravoagolnici(C_blok));
            if (crtaj_I)
                prav.FillRectangles(zelen, I_blok.nizaPravoagolnici(I_blok));
            if (crtaj_T)
                prav.FillRectangles(zolt, T_blok.nizaPravoagolnici(T_blok));
            if (crtaj_L)
                prav.FillRectangles(plav, L_blok.nizaPravoagolnici(L_blok));
            if (crtaj_W)
                prav.FillRectangles(tirkiz, W_blok.nizaPravoagolnici(W_blok));
            if (crtaj_Z)
                prav.FillRectangles(lila, Z_blok.nizaPravoagolnici(Z_blok));
            if (crtaj_F)
                prav.FillRectangles(trava, F_blok.nizaPravoagolnici(F_blok));
            if (crtaj_S)
                prav.FillRectangles(zlato, S_blok.nizaPravoagolnici(S_blok));
            if (crtaj_G)
                prav.FillRectangles(cigla, G_blok.nizaPravoagolnici(G_blok));
            if (crtaj_P)
                prav.FillRectangles(roze, P_blok.nizaPravoagolnici(P_blok));
            prav.FillRectangles(drap, X_blok.nizaPravoagolnici(X_blok));
        }
Beispiel #5
0
        private void button4_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.F))
            {
                gran = 1;
                if (f == false)
                {
                    f = true;
                    if (r == false)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 11; C_br[3] = 20; C_br[4] = 21;
                    }
                    else if (r == true)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 2; C_br[3] = 10; C_br[4] = 12;
                        gran = 0;
                    }
                }
                else if (f == true)
                {
                    f = false;
                    if (r == false)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 10; C_br[3] = 20; C_br[4] = 21;
                    }
                    else if (r == true)
                    {
                        C_br[0] = 0; C_br[1] = 2; C_br[2] = 10; C_br[3] = 11; C_br[4] = 12;
                        gran = 0;
                    }
                }
                kodx = 0; kody = 0;
            }

            if (e.KeyCode.Equals(Keys.R))
            {
                gran = 1;
                if (r == false)
                {
                    r = true;
                    gran = 0;
                    if (f == false)
                    {
                        C_br[0] = 0; C_br[1] = 2; C_br[2] = 10; C_br[3] = 11; C_br[4] = 12;
                    }
                    else if (f == true)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 2; C_br[3] = 10; C_br[4] = 12;
                    }
                }
                else if (r == true)
                {
                    r = false;
                    if (f == false)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 10; C_br[3] = 20; C_br[4] = 21;
                    }
                    else if (f == true)
                    {
                        C_br[0] = 0; C_br[1] = 1; C_br[2] = 11; C_br[3] = 20; C_br[4] = 21;
                    }
                }
                kodx = 0; kody = 0;
            }

            if (kodx > 0)
            {
                if (e.KeyCode.Equals(Keys.A))
                {
                    for (int i = 0; i < 5; i++)
                        C_br[i]--;
                    kodx--;
                }
            }

            if (kodx < 7 + gran)
            {
                if (e.KeyCode.Equals(Keys.D))
                {
                    for (int i = 0; i < 5; i++)
                        C_br[i]++;
                    kodx++;
                }
            }

            if (kody > 0)
            {
                if (e.KeyCode.Equals(Keys.W))
                {
                    for (int i = 0; i < 5; i++)
                        C_br[i] -= 10;
                    kody--;
                }
            }

            if (kody < 4 - gran)
            {
                if (e.KeyCode.Equals(Keys.S))
                {
                    for (int i = 0; i < 5; i++)
                        C_br[i] += 10;
                    kody++;
                }
            }
            C_blok = new Blok(C_br, mrda);
            prav.Clear(Color.White);
            if (crtaj_X)
                prav.FillRectangles(drap, X_blok.nizaPravoagolnici(X_blok));
            if (crtaj_B)
                prav.FillRectangles(crven, B_blok.nizaPravoagolnici(B_blok));
            if (crtaj_I)
                prav.FillRectangles(zelen, I_blok.nizaPravoagolnici(I_blok));
            if (crtaj_T)
                prav.FillRectangles(zolt, T_blok.nizaPravoagolnici(T_blok));
            if (crtaj_L)
                prav.FillRectangles(plav, L_blok.nizaPravoagolnici(L_blok));
            if (crtaj_W)
                prav.FillRectangles(tirkiz, W_blok.nizaPravoagolnici(W_blok));
            if (crtaj_Z)
                prav.FillRectangles(lila, Z_blok.nizaPravoagolnici(Z_blok));
            if (crtaj_F)
                prav.FillRectangles(trava, F_blok.nizaPravoagolnici(F_blok));
            if (crtaj_S)
                prav.FillRectangles(zlato, S_blok.nizaPravoagolnici(S_blok));
            if (crtaj_G)
                prav.FillRectangles(cigla, G_blok.nizaPravoagolnici(G_blok));
            if (crtaj_P)
                prav.FillRectangles(roze, P_blok.nizaPravoagolnici(P_blok));
            prav.FillRectangles(safari, C_blok.nizaPravoagolnici(C_blok));
        }