예제 #1
0
        public List <Cuadro> Rotar(Tablero tab, ref OrientacionPieza op, List <Cuadro> Pieza)
        {
            switch (op)
            {
            case OrientacionPieza.Arriba:
                op = OrientacionPieza.Izquierda;
                break;

            case OrientacionPieza.Izquierda:
                op = OrientacionPieza.Abajo;
                break;

            case OrientacionPieza.Abajo:
                op = OrientacionPieza.Derecha;
                break;

            case OrientacionPieza.Derecha:
                op = OrientacionPieza.Arriba;
                break;
            }
            return(Formar(Pieza[1].coordenadas, op));
        }
예제 #2
0
        public bool MoverAbajo(ref List <Cuadro> PiezaT, Tablero tab, OrientacionPieza op)
        {
            bool verificar = false;

            if (op == OrientacionPieza.Arriba)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro ta in tab.cuadritos)
                        {
                            if (ta.Estado == true)
                            {
                                if ((ta.coordenadas.X == PiezaT[3].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[0].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[0].coordenadas.Y && ta.coordenadas.Y == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[2].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[2].coordenadas.Y && ta.coordenadas.Y - 20 == PiezaT[0].coordenadas.Y && ta.coordenadas.Y == PiezaT[3].coordenadas.Y))
                                {
                                    foreach (Cuadro c2 in PiezaT)
                                    {
                                        foreach (Cuadro t in tab.cuadritos)
                                        {
                                            if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                            {
                                                t.Estado  = true;
                                                t.Brocha4 = c2.Brocha6;
                                            }
                                        }
                                        c2.Estado = true;
                                    }
                                    verificar = true;
                                    break;
                                }
                            }
                        }
                        c.coordenadas.Y += 20;
                        if (PiezaT[PiezaT.Count - 1].coordenadas.Y == 380)
                        {
                            foreach (Cuadro c2 in PiezaT)
                            {
                                foreach (Cuadro t in tab.cuadritos)
                                {
                                    if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                    {
                                        t.Estado  = true;
                                        t.Brocha4 = c2.Brocha6;
                                    }
                                }
                                c2.Estado = true;
                            }
                            verificar = true;
                            break;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Izquierda)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro ta in tab.cuadritos)
                        {
                            if (ta.Estado == true)
                            {
                                if ((ta.coordenadas.X == PiezaT[3].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[0].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[0].coordenadas.Y && PiezaT[3].coordenadas.Y == ta.coordenadas.Y - 40))
                                {
                                    foreach (Cuadro c2 in PiezaT)
                                    {
                                        foreach (Cuadro t in tab.cuadritos)
                                        {
                                            if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                            {
                                                t.Estado  = true;
                                                t.Brocha4 = c2.Brocha6;
                                            }
                                        }
                                        c2.Estado = true;
                                    }
                                    verificar = true;
                                    break;
                                }
                            }
                        }
                        c.coordenadas.Y += 20;
                        if (PiezaT[0].coordenadas.Y == 380 && PiezaT[3].coordenadas.Y == 360)
                        {
                            foreach (Cuadro c2 in PiezaT)
                            {
                                foreach (Cuadro t in tab.cuadritos)
                                {
                                    if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                    {
                                        t.Estado  = true;
                                        t.Brocha4 = c2.Brocha6;
                                    }
                                }
                                c2.Estado = true;
                            }
                            verificar = true;
                            break;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Abajo)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro ta in tab.cuadritos)
                        {
                            if (ta.Estado == true)
                            {
                                if ((ta.coordenadas.X == PiezaT[1].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[1].coordenadas.Y && ta.coordenadas.Y - 40 == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[0].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[0].coordenadas.Y && ta.coordenadas.Y - 40 == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[2].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[2].coordenadas.Y && ta.coordenadas.Y - 40 == PiezaT[3].coordenadas.Y))
                                {
                                    foreach (Cuadro c2 in PiezaT)
                                    {
                                        foreach (Cuadro t in tab.cuadritos)
                                        {
                                            if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                            {
                                                t.Estado  = true;
                                                t.Brocha4 = c2.Brocha6;
                                            }
                                        }
                                        c2.Estado = true;
                                    }
                                    verificar = true;
                                    break;
                                }
                            }
                        }
                        c.coordenadas.Y += 20;
                        if (PiezaT[1].coordenadas.Y == 380 && PiezaT[3].coordenadas.Y == 360)
                        {
                            foreach (Cuadro c2 in PiezaT)
                            {
                                foreach (Cuadro t in tab.cuadritos)
                                {
                                    if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                    {
                                        t.Estado  = true;
                                        t.Brocha4 = c2.Brocha6;
                                    }
                                }
                                c2.Estado = true;
                            }
                            verificar = true;
                            break;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Derecha)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro ta in tab.cuadritos)
                        {
                            if (ta.Estado == true)
                            {
                                if ((ta.coordenadas.X == PiezaT[3].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[3].coordenadas.Y) ||
                                    (ta.coordenadas.X == PiezaT[2].coordenadas.X && ta.coordenadas.Y - 20 == PiezaT[2].coordenadas.Y && ta.coordenadas.Y - 40 == PiezaT[3].coordenadas.Y))
                                {
                                    foreach (Cuadro c2 in PiezaT)
                                    {
                                        foreach (Cuadro t in tab.cuadritos)
                                        {
                                            if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                            {
                                                t.Estado  = true;
                                                t.Brocha4 = c2.Brocha6;
                                            }
                                        }
                                        c2.Estado = true;
                                    }
                                    verificar = true;
                                    break;
                                }
                            }
                        }
                        c.coordenadas.Y += 20;
                        if (PiezaT[2].coordenadas.Y == 380 && PiezaT[3].coordenadas.Y == 360)
                        {
                            foreach (Cuadro c2 in PiezaT)
                            {
                                foreach (Cuadro t in tab.cuadritos)
                                {
                                    if (c2.coordenadas.X == t.coordenadas.X && c2.coordenadas.Y == t.coordenadas.Y)
                                    {
                                        t.Estado  = true;
                                        t.Brocha4 = c2.Brocha6;
                                    }
                                }
                                c2.Estado = true;
                            }
                            verificar = true;
                            break;
                        }
                    }
                }
            }
            return(verificar);
        }
예제 #3
0
        public void MoverIzquierda(ref List <Cuadro> PiezaT, Tablero tab, OrientacionPieza op)
        {
            bool mover = true;

            if (op == OrientacionPieza.Arriba)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro t in tab.cuadritos)
                        {
                            if (t.Estado == true)
                            {
                                if ((t.coordenadas.X == PiezaT[3].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[3].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[0].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[0].coordenadas.Y))
                                {
                                    //c.coordenadas.X -= 20;
                                    mover = false;
                                    break;
                                }
                            }
                        }
                        if ((PiezaT[0].coordenadas.X == 0))
                        {
                            mover = false;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Izquierda)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro t in tab.cuadritos)
                        {
                            if (t.Estado == true)
                            {
                                if ((t.coordenadas.X == PiezaT[2].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[2].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[1].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[1].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[0].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[0].coordenadas.Y))
                                {
                                    //c.coordenadas.X -= 20;
                                    mover = false;
                                    break;
                                }
                            }
                        }
                        if ((PiezaT[1].coordenadas.X == 0))
                        {
                            mover = false;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Abajo)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro t in tab.cuadritos)
                        {
                            if (t.Estado == true)
                            {
                                if ((t.coordenadas.X == PiezaT[3].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[3].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[2].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[2].coordenadas.Y))
                                {
                                    //c.coordenadas.X -= 20;
                                    mover = false;
                                    break;
                                }
                            }
                        }
                        if ((PiezaT[0].coordenadas.X == 0))
                        {
                            mover = false;
                        }
                    }
                }
            }
            if (op == OrientacionPieza.Derecha)
            {
                foreach (Cuadro c in PiezaT)
                {
                    if (c.Estado == false)
                    {
                        foreach (Cuadro t in tab.cuadritos)
                        {
                            if (t.Estado == true)
                            {
                                if ((t.coordenadas.X == PiezaT[2].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[2].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[1].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[1].coordenadas.Y) ||
                                    (t.coordenadas.X == PiezaT[0].coordenadas.X - 20 && t.coordenadas.Y == PiezaT[0].coordenadas.Y))
                                {
                                    //c.coordenadas.X -= 20;
                                    mover = false;
                                    break;
                                }
                            }
                        }
                        if ((PiezaT[1].coordenadas.X == 0))
                        {
                            mover = false;
                        }
                    }
                }
            }
            foreach (Cuadro c in PiezaT)
            {
                if (mover)
                {
                    c.coordenadas.X -= 20;
                }
            }
        }
예제 #4
0
        public void EnviarRecibir()
        {
            if (Servidor)
            {
                try
                {
                    IPAddress   ipAd   = IPAddress.Any;
                    TcpListener myList = new TcpListener(ipAd, 8001);
                    myList.Start();

                    TcpClient client = myList.AcceptTcpClient();


                    NetworkStream strm = client.GetStream();

                    IFormatter formatter = new BinaryFormatter();

                    Pieza   p = (Pieza)formatter.Deserialize(strm);
                    Tablero t = (Tablero)formatter.Deserialize(strm);

                    IFormatter formatter1 = new BinaryFormatter();


                    NetworkStream cosa = client.GetStream();
                    formatter.Serialize(cosa, pi);

                    NetworkStream cosa1 = client.GetStream();
                    formatter.Serialize(cosa1, tab);



                    foreach (Cuadro x in t.cuadritos)
                    {
                        x.Brocha  = Brocha;
                        x.Brocha1 = Brocha;
                        x.Brocha2 = Brocha;
                        x.Brocha3 = Brocha;
                        x.Brocha4 = Brocha;
                        x.Brocha5 = Brocha;
                        x.Brocha6 = Brocha;
                    }

                    if (p.pieza.ToString() == "Cubo")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha;
                            c.Brocha1 = Brocha;
                            c.Brocha2 = Brocha;
                            c.Brocha3 = Brocha;
                            c.Brocha4 = Brocha;
                            c.Brocha5 = Brocha;
                            c.Brocha6 = Brocha;
                        }
                    }
                    if (p.pieza.ToString() == "I")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha3;
                            c.Brocha1 = Brocha3;
                            c.Brocha2 = Brocha3;
                            c.Brocha3 = Brocha3;
                            c.Brocha4 = Brocha3;
                            c.Brocha5 = Brocha3;
                            c.Brocha6 = Brocha3;
                        }
                    }
                    if (p.pieza.ToString() == "Jota")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha2;
                            c.Brocha1 = Brocha2;
                            c.Brocha2 = Brocha2;
                            c.Brocha3 = Brocha2;
                            c.Brocha4 = Brocha2;
                            c.Brocha5 = Brocha2;
                            c.Brocha6 = Brocha2;
                        }
                    }
                    if (p.pieza.ToString() == "Te")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha6;
                            c.Brocha1 = Brocha6;
                            c.Brocha2 = Brocha6;
                            c.Brocha3 = Brocha6;
                            c.Brocha4 = Brocha6;
                            c.Brocha5 = Brocha6;
                            c.Brocha6 = Brocha6;
                        }
                    }
                    if (p.pieza.ToString() == "ESE")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha4;
                            c.Brocha1 = Brocha4;
                            c.Brocha2 = Brocha4;
                            c.Brocha3 = Brocha4;
                            c.Brocha4 = Brocha4;
                            c.Brocha5 = Brocha4;
                            c.Brocha6 = Brocha4;
                        }
                    }
                    if (p.pieza.ToString() == "ELE")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha1;
                            c.Brocha1 = Brocha1;
                            c.Brocha2 = Brocha1;
                            c.Brocha3 = Brocha1;
                            c.Brocha4 = Brocha1;
                            c.Brocha5 = Brocha1;
                            c.Brocha6 = Brocha1;
                        }
                    }
                    if (p.pieza.ToString() == "Zeta")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha5;
                            c.Brocha1 = Brocha5;
                            c.Brocha2 = Brocha5;
                            c.Brocha3 = Brocha5;
                            c.Brocha4 = Brocha5;
                            c.Brocha5 = Brocha5;
                            c.Brocha6 = Brocha5;
                        }
                    }
                    tab2        = t;
                    label4.Text = tab2.ObtenerPuntos().ToString();
                    RefrescarS(p);


                    if (tab2.Perder())
                    {
                        MessageBox.Show("Has Ganado!!!\nPuntosJ1: " + tab.ObtenerPuntos() + "\nPuntosJ2: " + tab2.ObtenerPuntos());
                        Application.Exit();
                    }



                    //cosa.Close();
                    //cosa1.Close();
                    myList.Stop();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
            else
            {
                try
                {
                    TcpClient tcpclnt = new TcpClient();
                    tcpclnt.Connect(IP, 8001);

                    IFormatter formatter = new BinaryFormatter();


                    NetworkStream cosa = tcpclnt.GetStream();
                    formatter.Serialize(cosa, pi);

                    NetworkStream cosa1 = tcpclnt.GetStream();
                    formatter.Serialize(cosa1, tab);


                    NetworkStream strm = tcpclnt.GetStream();

                    IFormatter formatter1 = new BinaryFormatter();

                    Pieza   p = (Pieza)formatter1.Deserialize(strm);
                    Tablero t = (Tablero)formatter1.Deserialize(strm);

                    foreach (Cuadro x in t.cuadritos)
                    {
                        x.Brocha  = Brocha;
                        x.Brocha1 = Brocha;
                        x.Brocha2 = Brocha;
                        x.Brocha3 = Brocha;
                        x.Brocha4 = Brocha;
                        x.Brocha5 = Brocha;
                        x.Brocha6 = Brocha;
                    }

                    if (p.pieza.ToString() == "Cubo")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha;
                            c.Brocha1 = Brocha;
                            c.Brocha2 = Brocha;
                            c.Brocha3 = Brocha;
                            c.Brocha4 = Brocha;
                            c.Brocha5 = Brocha;
                            c.Brocha6 = Brocha;
                        }
                    }
                    if (p.pieza.ToString() == "I")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha3;
                            c.Brocha1 = Brocha3;
                            c.Brocha2 = Brocha3;
                            c.Brocha3 = Brocha3;
                            c.Brocha4 = Brocha3;
                            c.Brocha5 = Brocha3;
                            c.Brocha6 = Brocha3;
                        }
                    }
                    if (p.pieza.ToString() == "Jota")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha2;
                            c.Brocha1 = Brocha2;
                            c.Brocha2 = Brocha2;
                            c.Brocha3 = Brocha2;
                            c.Brocha4 = Brocha2;
                            c.Brocha5 = Brocha2;
                            c.Brocha6 = Brocha2;
                        }
                    }
                    if (p.pieza.ToString() == "Te")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha6;
                            c.Brocha1 = Brocha6;
                            c.Brocha2 = Brocha6;
                            c.Brocha3 = Brocha6;
                            c.Brocha4 = Brocha6;
                            c.Brocha5 = Brocha6;
                            c.Brocha6 = Brocha6;
                        }
                    }
                    if (p.pieza.ToString() == "ESE")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha4;
                            c.Brocha1 = Brocha4;
                            c.Brocha2 = Brocha4;
                            c.Brocha3 = Brocha4;
                            c.Brocha4 = Brocha4;
                            c.Brocha5 = Brocha4;
                            c.Brocha6 = Brocha4;
                        }
                    }
                    if (p.pieza.ToString() == "ELE")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha1;
                            c.Brocha1 = Brocha1;
                            c.Brocha2 = Brocha1;
                            c.Brocha3 = Brocha1;
                            c.Brocha4 = Brocha1;
                            c.Brocha5 = Brocha1;
                            c.Brocha6 = Brocha1;
                        }
                    }
                    if (p.pieza.ToString() == "Zeta")
                    {
                        foreach (Cuadro c in p.PiezaO)
                        {
                            c.Brocha  = Brocha5;
                            c.Brocha1 = Brocha5;
                            c.Brocha2 = Brocha5;
                            c.Brocha3 = Brocha5;
                            c.Brocha4 = Brocha5;
                            c.Brocha5 = Brocha5;
                            c.Brocha6 = Brocha5;
                        }
                    }

                    tab2        = t;
                    label4.Text = tab2.ObtenerPuntos().ToString();
                    RefrescarS(p);


                    if (tab2.Perder())
                    {
                        MessageBox.Show("Has Ganado!!!\nPuntosJ1: " + tab.ObtenerPuntos() + "\nPuntosJ2: " + tab2.ObtenerPuntos());
                        Application.Exit();
                    }
                    //cosa.Close();
                    // cosa1.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
        }
예제 #5
0
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = panel1.CreateGraphics();

            t = new Tablero(g);
        }
예제 #6
0
 public List <Cuadro> Rotar(Tablero tab, ref OrientacionPieza op, List <Cuadro> Pieza)
 {
     return(Pieza);
 }