private Jugada HacerJugada(string datos) { String[] subdatos = datos.Split('#'); Carta cartPlayer = new Carta(subdatos[2]); int numCardsMesa = Convert.ToInt16(subdatos[3]); string[] str = new string[numCardsMesa]; str = subdatos[4].Split('/'); List <Carta> bazaMesa = new List <Carta>(); for (int i = 0; i < numCardsMesa; i++) { Carta carta = new Carta(str[i]); bazaMesa.Add(carta); } Jugada jugada = new Jugada(cartPlayer, bazaMesa); return(jugada); }
private void ManejarCliente(TcpClient cli) { string data; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); //sw.WriteLine("#INSCRIBIR#nombre#"); //sw.WriteLine("#REPARTECARTAS#{cartasJugador1/cartasJugador2}#cartasMesa#"); //sw.WriteLine("#TURNO#turnoJugador#idturnoJugador#"); //sw.WriteLine("#JUGADA#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#ACTUALIZAMESA#cartasMesa#"); //sw.WriteLine("#PUNTUACION#"); sw.Flush(); while (true) { try { data = sr.ReadLine(); Console.WriteLine(data); //para depuración es server String[] subdatos = data.Split('#'); #region comINSCRIBIR if (subdatos[1] == "INSCRIBIR") { if (jugador1 == "") { jugador1 = subdatos[2]; idJug1 = cli.Client.RemoteEndPoint.ToString(); turno = idJug1; IpJug1 = idJug1.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador1); sw.Flush(); } else if (jugador2 == "") { jugador2 = subdatos[2]; idJug2 = cli.Client.RemoteEndPoint.ToString(); IpJug2 = idJug2.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador2); sw.Flush(); } else { sw.WriteLine("Ya hay dos jugadores"); sw.Flush(); } } #endregion #region comREPARTIRCARTAS if (subdatos[1] == "REPARTECARTAS") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador2()); sw.Flush(); } sw.WriteLine(ListarCartasMesa()); sw.Flush(); } #endregion #region comESTABLECETURNO if (subdatos[1] == "TURNO") { if (turno.Equals(idJug1)) { sw.WriteLine("El turno es de " + jugador1 + "#" + idJug1); sw.Flush(); } else if (turno.Equals(idJug2)) { sw.WriteLine("El turno es de " + jugador2 + "#" + idJug2); sw.Flush(); } } #endregion #region comJugada if (subdatos[1] == "JUGADA") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { if (subdatos[2] == "0") { mesaActualizada = subdatos[3].Split('/'); turno = idJug2; } else { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador1 + " ha hecho baza"); sw.Flush(); PuntosJugador1 = new Puntos(jugada); sw.WriteLine( PuntosJugador1.GetNumCartas() + "#" + PuntosJugador1.GetNumOros() + "#" + PuntosJugador1.GetNumSietes() + "#" + PuntosJugador1.GetSieteOros()); sw.Flush(); turno = idJug2; } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } else if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { if (subdatos[2] == "0") { mesaActualizada = subdatos[3].Split('/'); turno = idJug1; } else { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador2 + " ha hecho baza"); sw.Flush(); PuntosJugador2 = new Puntos(jugada); sw.WriteLine( PuntosJugador2.GetNumCartas() + "#" + PuntosJugador2.GetNumOros() + "#" + PuntosJugador2.GetNumSietes() + "#" + PuntosJugador2.GetSieteOros()); turno = idJug1; sw.Flush(); } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } } #endregion #region comUpdateTable if (subdatos[1] == "UPDATETABLE") { mesaActualizada = subdatos[2].Split('/'); } #endregion #region comACTUALIZARMESA if (subdatos[1] == "ACTUALIZAMESA") { string mesa = ""; for (int i = 0; i < mesaActualizada.Length; i++) { if (!String.IsNullOrWhiteSpace(mesaActualizada[i])) { mesa += mesaActualizada[i] + "/"; } } sw.WriteLine(mesa); sw.Flush(); } #endregion #region comCheckCards if (subdatos[1] == "CHECKCARDS") { string numCartas = subdatos[2]; if (!endGame) { sw.WriteLine("OK"); sw.Flush(); if (numCartas == "0") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { ListaManoJugador1 = new List <Carta>(); repartecartasJug1(); Thread.Sleep(100); sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } else if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { Thread.Sleep(100); ListaManoJugador2 = new List <Carta>(); repartecartasJug2(); sw.WriteLine(ListarCartasJugador2()); sw.Flush(); } if (cont == 16) { endGame = true; PuntosJugador2 = null; } } } else if (numCartas == "0") { sw.WriteLine("GetPoints"); sw.Flush(); string[] puntos = sr.ReadLine().Split('/'); Console.WriteLine(puntos.ToString()); if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { while (PuntosJugador2 == null) { Thread.Sleep(2000); Console.WriteLine("thread"); } PuntosJugador1 = new Puntos(); PuntosJugador1.escobas = Convert.ToInt16(puntos[0]); PuntosJugador1.cartas = Convert.ToInt16(puntos[1]); PuntosJugador1.oros = Convert.ToInt16(puntos[2]); PuntosJugador1.sietes = Convert.ToInt16(puntos[3]); PuntosJugador1.sieteOros = Convert.ToInt16(puntos[4]); ComparePoints(); Console.WriteLine(Winner()); sw.WriteLine(Winner()); sw.Flush(); } if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { PuntosJugador2 = new Puntos(); PuntosJugador2.escobas = Convert.ToInt16(puntos[0]); PuntosJugador2.cartas = Convert.ToInt16(puntos[1]); PuntosJugador2.oros = Convert.ToInt16(puntos[2]); PuntosJugador2.sietes = Convert.ToInt16(puntos[3]); PuntosJugador2.sieteOros = Convert.ToInt16(puntos[4]); ComparePoints(); sw.WriteLine(Winner()); sw.Flush(); } } else { sw.WriteLine("NOK"); sw.Flush(); } } #endregion #region comWINNER if (subdatos[1] == "WINNER") { if (endGame) { sw.WriteLine("OK"); sw.Flush(); ComparePoints(); sw.WriteLine(Winner()); sw.Flush(); } else { sw.WriteLine("NOK"); sw.Flush(); } } #endregion } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); break; } } ns.Close(); cli.Close(); }
public Puntos(Jugada jugada) { listaCartas = jugada.listaBaza; cartas += listaCartas.Count; }
private void ManejarCliente(TcpClient cli) { string data; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); //sw.WriteLine("#INSCRIBIR#nombre#"); //sw.WriteLine("#REPARTECARTAS#{cartasJugador1/cartasJugador2}#cartasMesa#"); //sw.WriteLine("#TURNO#turnoJugador#idturnoJugador#"); //sw.WriteLine("#JUGADA#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#ACTUALIZAMESA#cartasMesa#"); //sw.WriteLine("#PUNTUACION#"); sw.Flush(); while (true) { try { data = sr.ReadLine(); Console.WriteLine(data); //para depuración es server String[] subdatos = data.Split('#'); #region comINSCRIBIR if (subdatos[1] == "INSCRIBIR") { if (jugador1 == "") { jugador1 = subdatos[2]; idJug1 = cli.Client.RemoteEndPoint.ToString(); IpJug1 = idJug1.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador1); sw.Flush(); } else if (jugador2 == "") { jugador2 = subdatos[2]; idJug2 = cli.Client.RemoteEndPoint.ToString(); IpJug2 = idJug2.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador2); sw.Flush(); } else { sw.WriteLine("Ya hay dos jugadores"); sw.Flush(); } } #endregion #region comREPARTIRCARTAS if (subdatos[1] == "REPARTECARTAS") { repartecartasJug(); repartecartasMesa(); if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador2()); sw.Flush(); } sw.WriteLine(ListarCartasMesa()); sw.Flush(); } #endregion #region comESTABLECETURNO if (subdatos[1] == "TURNO") { if (turno % 2 != 0) { sw.WriteLine("El turno es de " + jugador1 + "#" + idJug1); sw.Flush(); turno++; } else { sw.WriteLine("El turno es de " + jugador2 + "#" + idJug2); sw.Flush(); turno++; } } #endregion #region comJugada if (subdatos[1] == "JUGADA") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador1 + " ha hecho baza"); // sw.Flush(); Puntos puntos = new Puntos(jugada); sw.WriteLine( puntos.GetNumCartas() + "#" + puntos.GetNumOros() + "#" + puntos.GetNumSietes() + "#" + puntos.GetSieteOros()); sw.Flush(); } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } else if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador2 + " ha hecho baza"); sw.Flush(); } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } #endregion } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); break; } } ns.Close(); cli.Close(); }
private void ManejarClienteAuto(TcpClient cli) { try { string data; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); //sw.WriteLine("#INSCRIBIR#nombre#"); //sw.WriteLine("#REPARTECARTAS#{cartasJugador1/cartasJugador2}#cartasMesa#"); //sw.WriteLine("#TURNO#turnoJugador#idturnoJugador#"); //sw.WriteLine("#JUGADA#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#ACTUALIZAMESA#cartasMesa#"); //sw.WriteLine("#CHECKCARDS#"); //sw.Flush(); while (true) { try { data = sr.ReadLine(); Console.WriteLine(data); //para depuración es server String[] subdatos = data.Split('#'); #region comINSCRIBIR if (subdatos[1] == "INSCRIBIR") { if (jugador1 == "") { jugador1 = subdatos[2]; idJug1 = cli.Client.RemoteEndPoint.ToString(); turno = idJug1; IpJug1 = idJug1.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador1); sw.Flush(); } else { sw.WriteLine("Ya hay dos jugadores"); sw.Flush(); } } #endregion #region comREPARTIRCARTAS if (subdatos[1] == "REPARTECARTAS") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } sw.WriteLine(ListarCartasMesa()); sw.Flush(); } #endregion #region comESTABLECETURNO if (subdatos[1] == "TURNO") { string result = ""; if (turno.Equals(idJug1)) { result = "El turno es de " + jugador1 + "#" + idJug1; } if (turno.Equals("maquina")) { if (ListaManoautoPlay.Count == 0) { repartecartasAuto(); } result = "El turno es de la maquina"; List <List <Carta> > combinaciones = calculaCombinaciones(); if (combinaciones.Count == 0) { Carta c = chooseAutoCard(); if (c == null) { listaCartasMesa.Add(ListaManoautoPlay[0]); //mesaActualizada[mesaActualizada.Length - 1] = ListaManoautoPlay[0].nombre; ListaManoautoPlay.Remove(ListaManoautoPlay[0]); } else { listaCartasMesa.Add(c); //mesaActualizada[mesaActualizada.Length - 1] = c.nombre; Carta toRemove = ListaManoautoPlay.Find(f => f.nombre.Equals(c.nombre)); ListaManoautoPlay.Remove(toRemove); } } else { List <Carta> trick = chooseTrick(combinaciones); if (listaCartasMesa.Count == 0) { PuntosautoPlay.escobas++; } PuntosautoPlay.addBaza(trick); } turno = idJug1; } sw.WriteLine(result); sw.Flush(); } #endregion #region comJugada if (subdatos[1] == "JUGADA") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { if (subdatos[2] == "0") { //mesaActualizada = subdatos[3].Split('/'); //string[] list_updated = subdatos[3].Split('/'); //int index = list_updated.Length - 2; //Carta carta = new Carta(list_updated[index]); //listaCartasMesa.Add(carta); getCartasMesa(subdatos[3].Split('/')); turno = "maquina"; } else { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador1 + " ha hecho baza"); sw.Flush(); PuntosJugador1 = new Puntos(jugada); sw.WriteLine( PuntosJugador1.GetNumCartas() + "#" + PuntosJugador1.GetNumOros() + "#" + PuntosJugador1.GetNumSietes() + "#" + PuntosJugador1.GetSieteOros()); sw.Flush(); foreach (Carta card in bazaMesa) { Carta carta = listaCartasMesa.Find(f => f.nombre.Equals(card.nombre)); if (carta != null) { listaCartasMesa.Remove(carta); } } turno = "maquina"; } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } } #endregion #region comSENDTABLEUPDATED if (subdatos[1] == "SENDTABLEUPDATED") { mesaActualizada = subdatos[2].Split('/'); } #endregion #region comGETTABLEUPDATED if (subdatos[1] == "GETTABLEUPDATED") { //string mesa = ""; //for (int i = 0; i < mesaActualizada.Length; i++) //{ // if (!String.IsNullOrWhiteSpace(mesaActualizada[i])) // { // mesa += mesaActualizada[i] + "/"; // } //} //sw.WriteLine(mesa); string update = ListarCartasMesa(); sw.WriteLine(update); sw.Flush(); } #endregion #region comCheckCards if (subdatos[1] == "CHECKCARDS") { string numCartas = subdatos[2]; if (cont == 40) { endGame = true; } if (!endGame) { sw.WriteLine("OK"); sw.Flush(); if (numCartas == "0") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { ListaManoJugador1 = new List <Carta>(); repartecartasJug1(); sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } else { ListaManoautoPlay = new List <Carta>(); repartecartasAuto(); } } } else if (ListaManoautoPlay.Count == 0 && numCartas == "0") { sw.WriteLine("GetPoints"); sw.Flush(); string[] puntos = sr.ReadLine().Split('/'); Console.WriteLine(puntos.ToString()); if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { Thread.Sleep(4000); PuntosJugador1 = new Puntos(); PuntosJugador1.escobas = Convert.ToInt16(puntos[0]); PuntosJugador1.cartas = Convert.ToInt16(puntos[1]); PuntosJugador1.oros = Convert.ToInt16(puntos[2]); PuntosJugador1.sietes = Convert.ToInt16(puntos[3]); PuntosJugador1.sieteOros = Convert.ToInt16(puntos[4]); //PuntosautoPlay.escobas =; PuntosautoPlay.cartas = PuntosautoPlay.GetNumCartas(); PuntosautoPlay.oros = PuntosautoPlay.GetNumOros(); PuntosautoPlay.sietes = PuntosautoPlay.GetNumSietes(); PuntosautoPlay.sieteOros = PuntosautoPlay.GetSieteOros(); ComparePoints(); string winner = Winner(); sw.WriteLine(winner); sw.Flush(); break; } } else { sw.WriteLine("NOK"); sw.Flush(); } } #endregion } catch (IOException error) { Console.WriteLine("Error: {0}", error.ToString()); break; } } ns.Close(); cli.Close(); } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); throw; } }
private void ManejarCliente(TcpClient cli) { string data; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); //sw.WriteLine("#INSCRIBIR#nombre#"); //sw.WriteLine("#REPARTECARTAS#{cartasJugador1/cartasJugador2}#cartasMesa#"); //sw.WriteLine("#JUGADA1#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#JUGADA2#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#PUNTUACION#"); sw.Flush(); while (true) { try { data = sr.ReadLine(); Console.WriteLine(data); //para depuración es server String[] subdatos = data.Split('#'); #region comINSCRIBIR if (subdatos[1] == "INSCRIBIR") { if (jugador1 == "") { jugador1 = subdatos[2]; idJug1 = cli.Client.RemoteEndPoint.ToString(); IpJug1 = idJug1.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador1); sw.Flush(); } else if (jugador2 == "") { jugador2 = subdatos[2]; idJug2 = cli.Client.RemoteEndPoint.ToString(); IpJug2 = idJug2.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador2); sw.Flush(); } else { sw.WriteLine("Ya hay dos jugadores"); sw.Flush(); } } #endregion #region comREPARTIRCARTAS if (subdatos[1] == "REPARTECARTAS") { repartecartasJug(); repartecartasMesa(); //foreach (Carta cartas in ListaManoJugador1) //{ // sw.WriteLine( cartas.nombre); //} sw.WriteLine(ListarCartasJugador1()); sw.Flush(); //} //else if (subdatos[2] == idJug2) // sw.WriteLine(ListarCartasJugador2()); sw.WriteLine(ListarCartasMesa()); sw.Flush(); } #endregion #region comJugada1 if (subdatos[1] == "JUGADA1") { Carta cartPlayer = new Carta(subdatos[2]); int numCardsMesa = Convert.ToInt16(subdatos[3]); string[] str = new string[numCardsMesa]; str = subdatos[4].Split('/'); List <Carta> bazaMesa = new List <Carta>(); for (int i = 0; i < numCardsMesa; i++) { Carta carta = new Carta(str[i]); bazaMesa.Add(carta); } Jugada jugada = new Jugada(cartPlayer, bazaMesa); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador1 + " Ha hecho baza"); } else { sw.WriteLine("No se puede hacer baza"); } } #endregion #region comJugada2 if (subdatos[1] == "JUGADA2") { Carta cartPlayer = new Carta(subdatos[2]); int numCardsMesa = Convert.ToInt16(subdatos[3]); string[] str = new string[numCardsMesa]; str = subdatos[4].Split('/'); List <Carta> bazaMesa = new List <Carta>(); for (int i = 0; i < numCardsMesa; i++) { Carta carta = new Carta(str[i]); bazaMesa.Add(carta); } Jugada jugada = new Jugada(cartPlayer, bazaMesa); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador2 + " Ha hecho baza"); } else { sw.WriteLine("No se puede hacer baza"); } } #endregion } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); break; } } ns.Close(); cli.Close(); }
private void ManejarCliente(TcpClient cli) { string data; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); //sw.WriteLine("#INSCRIBIR#nombre#"); //sw.WriteLine("#REPARTECARTAS#{cartasJugador1/cartasJugador2}#cartasMesa#"); //sw.WriteLine("#TURNO#turnoJugador#idturnoJugador#"); //sw.WriteLine("#JUGADA#cartamanoJug2#numCartasMesa#cartasMesa(cartaMesa1/cartamesa2...)#"); //sw.WriteLine("#ACTUALIZAMESA#cartasMesa#"); //sw.WriteLine("#PUNTUACION#"); sw.Flush(); while (true) { try { data = sr.ReadLine(); Console.WriteLine(data); //para depuración es server String[] subdatos = data.Split('#'); #region comINSCRIBIR if (subdatos[1] == "INSCRIBIR") { repartecartasMesa(); if (jugador1 == "") { jugador1 = subdatos[2]; idJug1 = cli.Client.RemoteEndPoint.ToString(); turno = idJug1; IpJug1 = idJug1.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador1); sw.WriteLine(ListarCartasMesa()); sw.Flush(); } else if (jugador2 == "") { jugador2 = subdatos[2]; idJug2 = cli.Client.RemoteEndPoint.ToString(); IpJug2 = idJug2.Split(':')[0]; sw.WriteLine("Bienvenido jugador: " + jugador2); sw.WriteLine(ListarCartasMesa()); sw.Flush(); } else { sw.WriteLine("Ya hay dos jugadores"); sw.Flush(); } } #endregion #region comREPARTIRCARTAS if (subdatos[1] == "REPARTECARTAS") { repartecartasJug(); if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador1()); sw.Flush(); } if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { sw.WriteLine(ListarCartasJugador2()); sw.Flush(); } } #endregion #region comESTABLECETURNO if (subdatos[1] == "TURNO") { if (turno.Equals(idJug1)) { sw.WriteLine("El turno es de " + jugador1 + "#" + idJug1); sw.Flush(); } else if (turno.Equals(idJug2)) { sw.WriteLine("El turno es de " + jugador2 + "#" + idJug2); sw.Flush(); } } #endregion #region comJugada if (subdatos[1] == "JUGADA") { if (idJug1 == cli.Client.RemoteEndPoint.ToString()) { if (subdatos[2] == "0") { mesaActualizada = subdatos[3].Split('/'); turno = idJug2; } else { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador1 + " ha hecho baza"); // sw.Flush(); Puntos puntos = new Puntos(jugada); sw.WriteLine( puntos.GetNumCartas() + "#" + puntos.GetNumOros() + "#" + puntos.GetNumSietes() + "#" + puntos.GetSieteOros()); sw.Flush(); turno = idJug2; } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } else if (idJug2 == cli.Client.RemoteEndPoint.ToString()) { if (subdatos[2] == "0") { mesaActualizada = subdatos[3].Split('/'); turno = idJug1; } else { Jugada jugada = HacerJugada(data); if (jugada.checkBaza()) { sw.WriteLine("El jugador " + jugador2 + " ha hecho baza"); Puntos puntos = new Puntos(jugada); sw.WriteLine( puntos.GetNumCartas() + "#" + puntos.GetNumOros() + "#" + puntos.GetNumSietes() + "#" + puntos.GetSieteOros()); turno = idJug1; } else { sw.WriteLine("No se puede hacer baza. Intentalo de nuevo"); sw.Flush(); } } } } #endregion #region comUpdateTable if (subdatos[1] == "UPDATETABLE") { mesaActualizada = subdatos[2].Split('/'); } #endregion #region comACTUALIZARMESA if (subdatos[1] == "ACTUALIZAMESA") { string mesa = ""; for (int i = 0; i < mesaActualizada.Length; i++) { if (!String.IsNullOrWhiteSpace(mesaActualizada[i])) { mesa += mesaActualizada[i] + "/"; } } sw.WriteLine(mesa); sw.Flush(); } #endregion //#region comCheckCardsPlayer2 //if (subdatos[1] == "CHECKCARDS") //{ // if (idJug2 == cli.Client.RemoteEndPoint.ToString()) // { // Console.WriteLine(cli.Client.RemoteEndPoint.ToString()+jugador2); // if (subdatos[2] == "0") // { // repartecartasJug(); // if (idJug1 == cli.Client.RemoteEndPoint.ToString()) // { // sw.WriteLine(ListarCartasJugador1()); // sw.Flush(); // } // if (idJug2 == cli.Client.RemoteEndPoint.ToString()) // { // sw.WriteLine(ListarCartasJugador2()); // sw.Flush(); // } // } // } // else // { // Console.WriteLine(cli.Client.RemoteEndPoint.ToString() + jugador1); // } //} //#endregion } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); break; } } ns.Close(); cli.Close(); }