コード例 #1
0
ファイル: TcpServer.cs プロジェクト: paozs98/TexasHoldEm
        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();
            }
        }
コード例 #2
0
ファイル: TcpServer.cs プロジェクト: paozs98/TexasHoldEm
        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);
            //}
            //}
        }