1242

Capítulo 28 Servicios Web JAX-WS, Web 2.0 y Mash-ups

95    

for

 ( 

int

 i = 

0

; i < cartas.length; i++ )

 96 

 

 

 

      

mostrarCarta( i, cartas[ i ] );

 

97    

 

98    

while

 ( proxyBlackjack.obtenerValorMano( cartasRepartidor ) < 

17

 )

 

99    

{

 100 

 

 

 

      

String nuevaCarta = proxyBlackjack.repartirCarta();

 // reparte una nueva

      

 

 

carta

101 

 

 

 

      

cartasRepartidor += 

"\t"

 + nuevaCarta; 

// reparte una nueva carta 

102 

 

 

 

      

mostrarCarta( cartaActualRepartidor, nuevaCarta );

 103 

 

 

 

      

++cartaActualRepartidor;

 104 

 

 

 

      

JOptionPane.showMessageDialog(

this

,

"El repartidor toma una carta"

,

 105 

 

 

 

            

"Turno del repartidor"

,

JOptionPane.PLAIN_MESSAGE

 );

 106 

 

 

 

}

// end while

107

 108 

 

 

 

int

 totalRepartidor = proxyBlackjack.obtenerValorMano( cartasRepartidor );

 109 

 

 

 

int

 totalJugador = proxyBlackjack.obtenerValorMano( cartasJugador );

 110 

 

 

 

111    

// si el repartidor se pasó, el jugador gana

112    

if

 ( totalRepartidor > 

21

 )

 

113    

{

 114 

 

 

 

      

finDelJuego(

EstadoJuego.GANA

 );

 115 

 

 

 

      

return

;

 

116    

}

// fin de if

117   

 

118    

// si el repartidor y el jugador tienen menos de 21

119    

// la mayor puntuación gana, si tienen igual puntuación es un empate

120    

if

 ( totalRepartidor > totalJugador )

 121 

 

 

 

      

finDelJuego(

EstadoJuego.PIERDE

 );

 122 

 

 

 

else if

 (totalRepartidor < totalJugador )

 123 

 

 

 

      

finDelJuego(

 EstadoJuego.GANA

 );

 124 

 

 

 

else

 125 

 

 

 

      

finDelJuego(

EstadoJuego.EMPATE

 );

 126 

 

 

}

// fin de try

127   

catch

 ( Exception e )

 128 

 

 

{

 129 

 

 

 

e.printStackTrace();

 130 

 

 

}

// fin de catch

131

}

// fin del método juegoRepartidor

132

 133 

 

// muestra la carta representada por valorCarta en el objeto JLabel especificado

134

public void

 mostrarCarta( 

int

 carta, String valorCarta )

 135 

 

{

 136 

 

 

try

 137 

 

 

{

 138 

 

 

 

// obtiene el objeto JLabel correcto de naipes

139    

JLabel mostrarEtiqueta = naipes.get( carta );

 140 

 

 

 

 141 

 

 

 

// si la cadena que representa la carta está vacía, muestra la parte posterior

     de 

la 

carta

142    

if

 ( valorCarta.equals( 

""

 ) )

 143 

 

 

 

{

 144 

 

 

 

      

mostrarEtiqueta.setIcon( new ImageIcon( getClass().getResource(

 145 

 

 

 

            

"/com/deitel/jhtp7/cap28/clienteblackjack/"

 + 

 146 

 

 

 

            

"blackjack_imagenes/cartpost.png"

 ) ) ) ;

 147 

 

 

 

      

return

;

 148 

 

 

 

}

// fin de if

149

 150 

 

 

 

// obtiene el valor de la cara de la carta

151    

String cara = valorCarta.substring( 

0

, valorCarta.indexOf( 

" "

 ) );

Figura 28.14

  |  Juego de Blackjack que utiliza el servicio Web 

Blackjack

. (Parte 3 de 9).

28_MAQ_CAP_28_DEITEL.indd1242

5/8/084:19:36PM