public void letsPlayTexas(Object socket) { while (mesa.jugadores.cantidad != 4) { ; } while (true) { ///implementacion del mutex _mutex.WaitOne(); if (begin == false) { this.mesa.repartirCartasIniciales(mazoGlobal); this.mesa.pot.apuestaMinima = 50; this.mesa.pot.apuestaMaxima = 100; this.mesa.jugadores.GetJugadorEnLaPos(0).dineroInicial -= 100; this.mesa.jugadores.GetJugadorEnLaPos(1).dineroInicial -= 50; begin = true; } _mutex.ReleaseMutex(); // sale el primer jugador que entro (hilo) solo este realiza las cosas while (begin == false) { ; } //Mandamos la mesa con todas las cosas a todos los jugadores String mesaJSON = ConvertidorJson.convertirMesaAJson(this.mesa); this.sendData(mesaJSON, (TcpClient)socket); //Primera jugada //primeraJugada(); } }
public void IniciarServer() { try { ServerSocket.Start(); Console.WriteLine("Iniciando el server en la direccion {0}", Convert.ToString(localAddr)); Console.WriteLine("En el puerto {0}", Convert.ToString(puerto)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); Console.Read(); } Console.WriteLine("Cartas que deben aparecer a todos los jugadores"); for (int w = 0; w < 5; w++) { // for para obtener las 5 cartas comunes del juego //se muestra solo una por cada ronda Carta carta = mazoGlobal.darUnaCarta(); mesa.cartasComunes.agregarCarta(carta); Console.WriteLine("carta: " + carta.imprimir()); } for (int i = 0; i < 4; ++i) { clientSocket = ServerSocket.AcceptTcpClient(); jugador = ConvertidorJson.convertirJSONaJugador(this.readData(clientSocket)); Console.WriteLine("Ha entrado un usuario al server! " + jugador.nombre + "\nJugador numero # " + Convert.ToString(contadorUsuarios)); this.mesa.jugadores.agregarJugador(new Jugador(jugador.nombre, Convert.ToString(contadorUsuarios), jugador.contrasena)); contadorUsuarios += 1; this.manejadorCliente(clientSocket, Convert.ToString(contadorUsuarios)); } //if (mesa.jugadores.cantidad == 4) //{ // this.manejadorCliente(clientSocket, Convert.ToString(contadorUsuarios)); //} // con la parte de Rob //for (int i = 0; i < 4; i++){ //clientSocket = ServerSocket.AcceptTcpClient(); //jugador = ConvertidorJson.convertirJSONaJugador(this.readData(clientSocket)); //usuarioPermitido = TexasHoldemDLL.Autenticación.autentificar(jugador.nombre, jugador.contrasena); //if (usuarioPermitido) //{ // Console.WriteLine("Ha entrado un usuario al server! " + jugador.nombre // + "\nJugador numero # " + // Convert.ToString(contadorUsuarios)); // this.mesa.jugadores.agregarJugador(new Jugador(jugador.nombre, // Convert.ToString(contadorUsuarios), jugador.contrasena)); // contadorUsuarios += 1; // this.manejadorCliente(clientSocket, Convert.ToString(contadorUsuarios)); //} //else { // Console.WriteLine("Usuario no registrado"); // this.sendData("Por favor registrese!"); //jugador = ConvertidorJson.convertirJSONaJugador(this.readData(clientSocket)); //TexasHoldemDLL.Autenticación.crearUsuario(jugador.nombre,jugador.contrasena); //} //} }