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; } } }
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(); } }