Juego de cartas idiota (también conocido como Shithead)
Publicado: 2008-09-13 Última actualización: 2012-04-18
UPDATE 20.10.2010: Hace unos días lancé una versión completamente renovada de este juego, con mejores cartas, movimientos animados y simplemente mucho mejor en todos los sentidos. ¡Eso significa que esta entrada del blog está completamente desactualizada! Juega a la nueva versión en https://cardgames.io/idiot/ o en https://cardgames.io/shithead/. O bien, puedes jugar a la versión original, de la que habla esta entrada del blog en http://einaregilsson.com/idiot/.
La entrada original del blog sigue:
Las últimas semanas mi proyecto de hobby ha sido crear un juego de cartas en Javascript. Siempre he querido crear un cardgame y decidí usar Javascript simple para poder hacerlo disponible online ya que nadie quiere molestarse en descargar juegos pequeños. Me imaginé que había miles de blackjacks y solitarios por ahí así que decidí crear mi juego de cartas favorito, Idiot. Después de buscar en Google encontré que había una página de Wikipedia sobre el mismo bajo el nombre de Shithead que enumeraba todo tipo de variaciones diferentes. Mi variación utiliza las reglas que he usado habitualmente en la vida real:
- La cuestión es perder todas tus cartas poniéndolas en el montón, una carta que se ponga en el montón debe ser igual o mayor que la carta superior del montón. Si no tienes ninguna carta para poner en el montón debes coger todo el montón.
- Siempre hay tres cartas en la mano, si tienes menos de tres debes robar suficientes cartas del mazo para volver a tener tres. Una vez terminado el mazo no se roban más cartas.
- Hay tres cartas orientadas hacia abajo y tres hacia arriba en la mesa. No puedes jugarlas hasta que se acabe tu mano. No puedes mirar una carta orientada hacia abajo antes de jugarla.
- Antes de empezar puedes intercambiar cartas de tu mano con las cartas orientadas hacia arriba que hay en la mesa.
- Puedes poner un dos encima de todo, es la carta de reinicio.
- Puedes poner un cinco encima de todo, es la carta de reinicio, lo que significa que en el siguiente turno el oponente debe poner una carta igual o inferior al cinco.
- Puedes poner un diez encima de todo y se quema el montón, y te toca sacar la primera carta del nuevo montón.
- Puedes sacar más de una carta a la vez siempre que tengan el mismo rango.
- Si hay cuatro cartas con el mismo rango en la parte superior del montón entonces se elimina el montón.
- Si no tienes ninguna carta que puedas poner encima del montón entonces puedes robar la carta superior del mazo y ponerla en el montón, si es un movimiento legal entonces no tienes que coger el montón.
El juego se puede jugar en la url http://einaregilsson.com/idiot/. En cuanto a la implementación, no esperes ninguna animación ni cosas rebuscadas. Simplemente eliges las cartas que quieres poner y pulsas el botón de jugar las cartas seleccionadas. Cuando el ordenador está jugando las cartas simplemente desaparecen de su mano y aparecen en el montón. Sin embargo, hay un pequeño retraso entre cada movimiento del ordenador para que puedas ver cuando pone dos o más cartas y cuando está robando cartas. En cuanto a la regla de robar una carta de la parte superior del mazo cuando tienes que tomar el montón, eso se hace automáticamente. Sólo tienes que pulsar el botón de tomar el montón y verás que aparece una nueva carta en la parte superior del montón (siempre que el mazo no esté vacío). Si la jugada es legal entonces el montón se quedará, si no es legal te llevarás todo el montón a la mano.
El juego está implementado en dos archivos, cards.js e idiot.js. Cards.js es una librería genérica que tiene una clase base para un contenedor de cartas y clases concretas para una mano, una baraja y una carta, podría ser fácilmente reutilizada para cualquier juego de cartas. Idiot.js es el juego en sí, funciona bien, aunque hay un montón de casos de borde que se podría añadir al jugador de la computadora para que sea más inteligente. El código está bastante comentado por lo que debería ser fácil de seguir si alguien quiere extender el juego o utilizar la biblioteca para algo. Los archivos del juego están licenciados bajo una licencia Creative Commons Attribution y por lo tanto pueden ser utilizados para casi cualquier cosa, han sido probados en las últimas versiones de todos los principales navegadores. Por favor, deje cualquier informe de errores o sugerencias como comentarios en esta página.