Mi hijo tenía una tarea para escribir Blackjack en Java. Lo ayudé un poco, pero en su mayor parte él mismo lo hizo y en realidad juega bastante bien. Incluso captó un error que no vi en cómo estaba calculando los valores de la mano. Sin embargo, hay un inconveniente con el que no ha tratado y cada solución que puedo pensar es realmente complicada y mucho más allá de lo que va a poder codificar fácilmente con sus habilidades Java aún rudimentarias.¿Hay alguna manera elegante de lidiar con el As en Blackjack?
The Ace. De hecho, no es solo un As, hay cuatro de ellos y posiblemente puedas obtener los cuatro en una sola mano. ¿Cómo lidiar elegantemente con el cálculo del valor de una mano de cartas cuando hay uno o más Ases, cada uno de los cuales puede estar valorado en uno u once? Siento que debería haber un algoritmo elegante para eso, pero no lo estoy viendo. Por supuesto, parte de eso podría ser simplemente que estoy cansado, pero quizás puedas ayudar.
Agradable y elegante, además de tener que mirar más de una vez a las cartas. +1 –
No tiene que mirar necesariamente más de una vez. Solo mantén un recuento de ases la primera vez que mires. –
Es sorprendente cómo la respuesta incorrecta se vota hasta la cima. Como se han notado las siguientes respuestas correctas, solo un as se cuenta como 11, por lo que es mucho más eficiente contar cada as como 1, luego, si encuentras un as, y el total <12, suma 10. No es necesario realizar un seguimiento de cuántos Ases, y solo se necesita un complemento adicional. Si agregó 10, puede establecer un indicador "suave" si necesita rastrear si un total es difícil o blando. –