private void mostrarEstadoPartida(Partida tmp) { sw.WriteLine("Suma: \t\t\t Cartas:"); sw.Write(tmp.suma + "\t\t\t"); foreach (var item in tmp.cartas) { sw.Write(item + " "); } sw.WriteLine(); }
private void ManejarCliente(TcpClient cli) { resetCartas(); string data; string respuesta = ""; bool salir = false; NetworkStream ns = cli.GetStream(); StreamReader sr = new StreamReader(ns); sw = new StreamWriter(ns); jugador = new Partida(); banca = new Partida(); try { // data = sr.ReadLine(); // Console.WriteLine(data); sw.WriteLine("Bienvenido, jugamos al BlackJack?"); sw.Flush(); //juega jugador do { int carta = baraja.Dequeue(); sw.WriteLine("Carta: " + carta); jugador.addCarta(carta); if (jugador.suma < 21) { mostrarEstadoPartida(jugador); sw.WriteLine("Escribe 'Fin' para plantarte"); sw.Flush(); respuesta = sr.ReadLine().ToUpper().Trim(); } if (jugador.suma > 21) { sw.WriteLine("Te has pasado"); mostrarEstadoPartida(jugador); salir = true; } if (jugador.suma == 21) { sw.WriteLine("BLACKJACK 21, has ganado!"); mostrarEstadoPartida(jugador); salir = true; } } while (!respuesta.Equals("FIN") && !salir); //juega banca // si el jugador se pasa o hace 21 la banca no jugara, pues ya ha ganado o perdido respectivamente if (!salir) { sw.WriteLine("Juega la banca:"); do { int carta = baraja.Dequeue(); sw.WriteLine("Carta: " + carta); banca.addCarta(carta); mostrarEstadoPartida(banca); } while (banca.suma < 16 || banca.suma < jugador.suma); if (banca.suma > 21 || banca.suma < jugador.suma) { sw.WriteLine("--------------"); sw.WriteLine("Has ganado"); sw.WriteLine("--------------"); } else { sw.WriteLine("--------------"); sw.WriteLine("Has perdido"); sw.WriteLine("--------------"); } } } catch (Exception error) { Console.WriteLine("Error: {0}", error.ToString()); } sw.Flush(); ns.Close(); cli.Close(); }