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)); }
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); }
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; } } }
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); } } }
private void panel1_Paint(object sender, PaintEventArgs e) { Graphics g = panel1.CreateGraphics(); t = new Tablero(g); }
public List <Cuadro> Rotar(Tablero tab, ref OrientacionPieza op, List <Cuadro> Pieza) { return(Pieza); }