コード例 #1
0
        public void ejecutar()
        {
            while (!suspendido)
            {
                string mensaje = lector.ReadString();
                switch (mensaje)
                {
                case "cerradoCliente":
                {
                    escritor.Write("cerrar");
                    serverRef.setNumJugadores(-1);
                    serverRef.jugadoresConectados();
                    suspendido = true;
                    break;
                }

                case "carta":
                {
                    nuevaCarta = serverRef.obtenerCarta();
                    escritor.Write(enviarCarta(nuevaCarta));
                    agregarCarta(this, nuevaCarta);
                    jugador.calcularPuntaje();
                    serverRef.cartasRestantes();
                    serverRef.puntajeJugador(jugador);
                    estadoPartida();
                    break;
                }

                case "terminado":
                {
                    this.jugador.setTerminado(true);
                    escritor.Write("terminado");
                    serverRef.setTerminado();
                    serverRef.declararGanador();
                    serverRef.setTurno(serverRef.getTurno() + 1);
                    serverRef.verificarTurno();
                    break;
                }

                case "desconectar":
                {
                    MessageBox.Show("Se ha desconectado del servidor.");
                    serverRef.cerrar();
                    break;
                }

                default: break;
                }
            }
        }
コード例 #2
0
 public Conexion(Socket direccion, int numero, Servidor ser)
 {
     jugador      = new Jugador(numero);
     conexion     = direccion;
     socketStream = new NetworkStream(conexion);
     lector       = new BinaryReader(socketStream);
     escritor     = new BinaryWriter(socketStream);
     serverRef    = ser;
     escritor.Write(jugador.getValue(0).ToString());
     escritor.Write("conectado");
     escritor.Write("espera");
     if (numero == 2)
     {
         serverRef.verificarTurno();
     }
 }