INTELIGENCIA EN REDES DE COMUNICACIONES: IMPLEMENTACIÓN DEL JUEGO DEL CHINCHÓN Janine García Morera 100061442
Alexandra López de la Oliva Portugués
[email protected]
100061571
[email protected]
También existe la posibilidad de emparejar cartas iguales, es decir, cartas del mismo número pero de distinto palo. Un ejemplo de esta forma de emparejar cartas sería tener el dos de oros, el dos de copas y el dos de espadas, también pudiendo tener el dos de bastos.
OBJETIVO En este documento se describe como se ha realizado la implementación del juego del chinchón, en una versión un poco más simplificada del original. Se explica cual ha sido la estrategia y las decisiones principales tomadas para su correcto funcionamiento.
Y por último está la opción de realizar chinchón que es de la manera en que se gana el juego. Hacer chinchón consiste en juntar siete cartas del mismo palo formando una escalera, es decir, que sus números sean sucesivos. Un ejemplo de chinchón sería poseer del uno de copas hasta el siete de copas.
1. INTRODUCCIÓN El Chinchón tuvo su origen en España. La duración de la partida es de aproximadamente de una a dos horas, según el número de jugadores. Se utiliza la baraja española. El número de jugadores puede variar de dos hasta ocho (en este último caso quizá sea necesario emplear dos barajas).
1.3 ¿Cómo se juega cada mano?
El Chinchón es un juego de naipes de la amplia familia de juegos que se basan en combinar o ligar las cartas de la mano antes que los contrarios. A esta familia también pertenecen otros juegos tan populares como el rummy, el cinquillo, el remigio o la canasta.
En el inicio de cada mano hay un repartidor que es el encargado de barajar las cartas. Una vez las cartas estén bien mezcladas es jugador que esté a su izquierda será el encargado de cortar la baraja. Después de esto el repartidos da las siete cartas a cada jugador de una en una y empezando por el de la derecha (mano). En las sucesivas manos el repartidor es quién en la ronda anterior era mano, es decir la baraja se desplaza hacia la derecha.
1.1 El Chinchón El Chinchón es un juego de naipes de 2 a 8 jugadores. El objetivo final del juego es formar chinchón que consiste en formar una escalera con siete cartas del mismo palo. El juego termina cuando un jugador se quede con una cantidad de puntos igual o inferior a -100, o cuando el resto de jugadores hayan sobrepasado 100 puntos o se hayan retirado.
Una vez el repartidor ha dado las siete cartas a todos los jugadores pone una carta boca arriba sobre la mesa. En algunas variantes se le entrega la carta a la mano del jugador o se le consulta si la desea en la mesa o en la mano. En este punto la mesa con dos jugadores quedaría de la siguiente manera:
1.2 Formas de emparejar las cartas Para ganar una mano del chinchón se deben emparejar las cartas, y para esto hay varias formas de hacerlo: Se pueden formar escaleras, es decir, tres o más cartas del mismo palo con sus números consecutivos. Un ejemplo de escalera sería tener el uno de bastos, el dos y el tres de ese mismo palo.
1
Si este jugador cerrara equivocadamente con una carta mayor a 3, la cual queda descubierta en la mesa, será penalizado con 50 puntos y se procederá a repartir nuevamente las cartas, iniciando así una nueva partida. Y la otra forma de cortar es de manera negativa, es decir, cerrar con menos diez. Ésta es la forma más tradicional de cerrar. Cuando las siete cartas del jugador forman juegos, pude cerrar poniendo una carta de su mano (que ha robado y vendría a ser la octava, por lo tanto no forma parte de los juegos) y muestra sus juegos. Al jugador que cierra de esta manera se le descuentan 10 puntos. Hay una regla adicional y muy importante que tiene varias versiones, que es la de “meter cartas”. La regla consiste en que si en el momento que cierra un jugador (en positivo, con menos diez no es válida) otro de los jugadores tiene una carta que sirva para continuar el juego de quien ha cortado, puede meterla juntándola al juego. De esta manera esta carta queda invalidad y por tanto no se tendrá en cuenta a la hora de sumar los puntos. En algunos sitios también se dice que la carta se la puedes meter a cualquier jugador, sin ser obligatorio que sea al que ha cortado. Esta regla es de común acuerdo, puede ser válida o no. Aquí podemos observar que tenemos siete cartas y un hueco para coger una octava carta cuando robemos bien del taco o bien de la muestra. Además vemos el taco, la muestra y las siete cartas boca abajo de nuestro oponente.
Una vez que un jugador haya cerrado la mano y el resto hayan metido sus cartas, se procede al recuento de puntos. Todas las cartas suman su valor numérico. Hay versiones en las que se juega con comodines, en esos casos se penalizan con 50 puntos.
Una vez iniciado el juego cada jugador tiene la opción en su turno de:
Una partida de chinchón se juega hasta un cierto número de puntos 70 o 100, por ejemplo preestablecido por los jugadores, que se alcanzan tras diversos juegos o repartos de cartas.
Levantar la carta del taco, esta carta no puede ser vista por nadie más que el jugador que la coge, además el propio jugador no sabe qué carta es hasta que ya la haya levantado.
Gana la partida el jugador que aún no ha alcanzado la puntuación establecida y cuando el resto de jugadores ya han sido eliminados por superarla.
O bien tiene la posibilidad de coger la última carta que está en la muestra, dándole la posibilidad a sus oponentes de que sepan que carta está cogiendo pero sin saber si realmente le sirve.
1.4 Variantes del Chinchón
En este punto debe de descartar una carta y tirarla a la muestra. Se descartará la carta más conveniente, siendo ésta una que no tenga emparejada y a ser posible de valor más bajo para que puntúe lo menos posible. Esto último no se dará si corta con -20 ya que tendrá las ocho cartas emparejadas.
Generalmente se juega con la baraja española de 40 cartas, sin tener en cuanta los ochos y nueves, aunque también se pueden utilizar.
Una vez ha cogido una carta tiene la posibilidad de cerrar o cortar la mano, esto lo puede hacer de las siguientes formas: El jugador puede cortar de manera positiva, es decir, tener seis cartas emparejadas y una séptima con el número menor de cuatro. En este caso al resto de los jugadores se les sumará la cantidad de puntos equivalente a la suma del número de las cartas que no formen parte de algún juego suyo.
2
Reenganche: acción de volver a incorporarse al juego después de haber sido eliminado por haber alcanzado la puntuación máxima.
1.6 Recomendaciones Hay que fijarse en los descartes de cada jugador y recordarlos, así como en las cartas que toma de la muestra. Esto permitirá varias cosas: En primer lugar saber qué combinaciones son posibles y cuáles no, al conocer qué cartas han quedado perdidas en la muestra o han sido cogidas por algún jugador. En segundo lugar saber cuáles de nuestras cartas emparejadas se podrán colocar en jugadas ajenas al terminar el juego. Esto puede impedir que consigamos chinchón, pero también evitará que otros lo tengan al retener en nuestra mano las cartas que necesitan.
También puede encontrarse, aunque es poco habitual, el juego del Chinchón con naipes franceses, o con más de una baraja en el caso de que sean un gran número de jugadores.
Y por último saber qué cartas no conviene tirar a la muestra por se las que necesitan otros contrincantes. Otro punto que conviene tener en cuenta es procurar desprenderse, en cada descarte, de las cartas de mayor valor que se tengan en la mano y que cuenten con menos posibilidades de ligarse en la mano o en jugadas ajenas.
Es normal también el uso de comodines en el juego, aunque sólo se podrá disponer de uno por juego. Normalmente no se permite formar un juego con más de un comodín. Si al cortar alguno de los jugadores tiene un comodín en la mano que no forme parte de ningún juego, éste se contará con 50 puntos.
1.7 Ejemplos de jugadas
Existe además otra regla denominada “reenganche”, se usa con muchos jugadores y sirve para hacer más largo el juego. Si un jugador se pasa de los 100 puntos, se reengancha a la partida empezando con los puntos del jugador que más tenga. Esta regla es de común acuerdo y puede elegirse como válida o no.
Cartas iguales:
1.5 Vocabulario específico Abatir: mostrar las cartas emparejadas al final del juego. Baceta: montón de cartas boca abajo que queda después del reparto y del que toman carta los jugadores, también popularmente conocido como taco. Cartas iguales: cartas con el mismo valor o el mismo índice. Chinchón: tener chinchón es tener emparejadas (en una o dos combinaciones) un jugador sus siete cartas. Escalera de color: serie de cartas consecutivas del mismo palo. Emparejar o ligar: agrupar las cartas en series de cartas iguales o en escaleras de color. Pozo: montón de cartas boca arriba formado por las cartas descartadas de todos los jugadores, también popularmente conocida como muestra. 3
Vemos en esta mano que el jugador tiene tres caballos y tres 7, como la carta restante es menor de cuatro (el as de bastos) se puede cerrar y ganar esta partida.
posible cortar con ocho aunque esas ocho estén emparejadas (no se puede hacer menos veinte). Además si el ordenador tiene tres cartas iguales (por ejemplo tres cincos) y el jugador le tira la cuarta carta con el mismo número, éste no la cogerá porque está así programado.
Escalera de color:
Hemos limitado el juego para que sólo puedan jugar 2 jugadores, ya que se refleja mejor el comportamiento del oponente y añade simplicidad, aunque en la realidad se puede jugar hasta 4, con una baraja o incluso 8 con dos. Hay una deficiencia en el jugador, pues para cerrar al tener 8 cartas, debe tirar una y por consecuencia le cede un turno más al ordenador. Para intentar subsanar este problema, hemos decidido, cederle el primer turno siempre al jugador, así que al comenzar el juego, el jugador, siempre será el primero en coger o tirar la muestra.
3. EL CHINCHON Y LA INTELIGENCIA ARTIFICIAL El chinchón es un juego no determinista (interviene el azar), por eso va a ser necesario analizar las cartas que tira y coge el contrario. Su objetivo es ganar al contrario, emparejando sus cartas antes que él, para ello, va a definir un conjunto de estados (las cartas pueden estar emparejadas o no emparejas). El estado inicial de una carta es ‘no emparejada’, mediante reglas combinadas con una estrategia de control, intentara llegar al estado final de cada una de sus cartas ‘emparejada’ o al menos de 6 y tener otra carta menor que 3.
Vemos en este ejemplo de arriba dos escaleras de color. La primera formada por el cuatro, el cinco, el seis y el siete de oros. Y la segunda compuesta por el siete, la sota y el caballo de bastos. Además podemos decir que esta jugada es de menos diez ya que las siete cartas están emparejadas.
La estrategia de control establece el orden de aplicación de las reglas y resuelve los conflictos.
2. LIMITACIONES DE NUESTRA IMPLEMENTACIÓN
Por tanto, se puede considerar, un sistema basado en el conocimiento, donde dentro de sus variantes, se presenta como un conocimiento normativo, pues funciona según un conjunto de normas aplicadas a su actividad.
Nuestra implementación tiene varias limitaciones y la hemos hecho de una manera más simplificada.
Las reglas de nuestro chinchón tienen un encaminamiento hacia delante (forward chaining):
En primer lugar no hemos tenido en cuenta la puntuación de las cartas. En cambio en la decisión que hace el ordenador a la hora de tirar una carta, si tiene varias cartas sin emparejar y todas ellas tienen la misma prioridad (característica que explicaremos más adelante) el ordenador tira la más alta. Otra de la restricciones marcadas es que para poder cortar una partida es necesario tener siete cartas, es decir, no es
4
Para llegar a cabo su finalidad, lleva integrado un algoritmo para resolver problemas.
carta coger, que carta tirar, así como llevar a cabo el funcionamiento general de la partida.
En la resolución de conflictos, al haber más de una regla aplicable, se puede usar:
Además de la interfaz gráfica, tenemos puestos mensajes para que salga por línea de comando y así entender mejor el programa.
- Preferencia basada en reglas: asignación de prioridades explícita. En nuestro chinchón cada carta tiene un contador que le sirve para asignar prioridades. - Preferencia basada en objetos: asignación de prioridades a objetos (patrones más comunes). Para decidir la carta ante la misma prioridad, tiraremos la más alta. - Preferencia basada en estados(heurísticos): banco de pruebas, analizar los resultados, seleccionar la mejor. El ordenador analiza todas sus cartas y selecciona la que peor le viene para tirarla.
3.1 Introducción a nuestro programa 3.2 ¿Cómo decide que carta coger?
Nuestra aplicación esta desarrollada en código java, para la interfaz grafica, por tanto, hemos usado Swing. Se compone de 4 clases: -
Carta: es un objeto bean que representa una carta, esta definido por un numero (del 1 al 10), un palo (1: oros, 2: copas, 3: espadas, 4: bastos), un estado (libre o emparejada) y una imagen que la representa.
-
Partida: clase que contiene tanto las cartas del jugador como las del ordenador, así como el taco de cartas restantes y la muestra. La suma de todas debe ser 40. En esta clase, debemos destacar el método barajar empleado para mezclar las cartas, de manera totalmente aleatoria. Y el repartir, da 7 cartas a cada contrincante de una en una, empezando por el jugador. La siguiente carta, será la muestra y las demás formaran el taco.
-
Menu: herramienta para facilitar la navegación en la interfaz grafica, te permitirá jugar tantas partidas como quieras y proporciona ayuda sobre las reglas del chinchón y el funcionamiento del juego al usuario que lo requiera.
-
Aplicación: es el cerebro de nuestro programa, es el encargado de tomar las decisiones tanto de que
5
El turno es de nuestro chinchón:
Para decidir la carta que tira el ordenador siempre se va a basar en estos 4 principios:
Primero comprobar si tiene 6 cartas emparejadas y por tanto solo le falta una menor o igual que 3 para poder cerrar, para ello, si una carta de ese valor estuviera en la muestra, la cogería y cerraría. Si no, robaría del taco y probaría suerte, en caso de dar con una carta de número mayor, la tira y sigue el juego, en cambio, si robara una carta menor o igual que 3, cierra la mano y nuestro ordenador gana.
-
Nunca tirara una carta que ya este emparejada, por lo que siempre lo comprobara
-
De las no emparejadas, va a tirar la del contador mas bajo. El contador define el numero de relaciones positivas que tiene con las demás cartas, así que a mayor numero de valor del contador, mayor prioridad de quedarnos con esa carta.
-
Si tenemos un conjunto de cartas de la misma prioridad tiraremos la de mayor valor numérico, pues si la aplicación analizara las partidas por puntos, es lógico que el ordenador se quite primero las cartas más altas.
En caso contrario cogerá del taco. Una vez realizado este paso decide la carta que va a tirar, cuyo procedimiento contaremos a continuación.
-
En caso de tener varias cartas altas con la misma prioridad y el mismo valor numérico, tirara la primera carta que encuentre.
Finalmente, mira a ver si su jugada es jugada ganadora, en ese caso, muestra sus cartas, en caso contrario tira la carta que menos le conviene y le pasa el turno al jugador.
Esto lo desarrolla siempre de la siguiente manera: primero limpia los contadores de nuestras cartas, pues como los contadores se asignan carta a carta, las relaciones de una carta no deben afectar a otra.
3.3 ¿Cómo decide que carta tirar?
A continuación, seleccionara todas y cada una de nuestras cartas para ir asignándolas una prioridad (cambiar el valor de su contador), y además podemos llevar la cuentas del numero de cartas iguales que hay y el número de cartas seguidas, que tiene cada carta.
Si, el ordenador no tiene 6 cartas emparejadas, debe decidir si le interesa o no la carta de la muestra ¿La coge?, utilizara la siguiente regla: Solo cogerá la carta de la muestra, si le sirve para emparejar dos cartas de las que no están emparejadas.
Según la cantidad de cartas iguales que haya, si tenemos 3 cartas iguales, y no estaban emparejadas, las 3 cartas pasaran a estar emparejadas. Según la cantidad de cartas seguidas, si son 3, podremos definir una escalera, y si las cartas no estaban previamente emparejadas, las 3 cartas pasaran a estarlo.
6
Primero se mira si la distancia es 1, es decir, las cartas van seguidas, si se cumple se mira si ya ha salido la carta consecutiva a la más alta, es decir, dos posiciones más a la derecha para comprobar que es posible hacer escalera, sino ha salido se le sumará un punto al contador de ambas cartas, quedando sus posiciones guardadas en un array auxiliar para luego poder emparejarlas. Si la carta ya ha salido en la muestra no se sumará ningún contador. Esto mismo se hace si la distancia es 2, pero ahora lo que comprobamos es si ha salido la carta del medio (por ejemplo si tenemos el tres y el cinco de espadas comprobamos si ha salido el cuatro), después actuaríamos de la misma manera que antes con los contadores. También se comprueba si la distancia es -1, es decir, las cartas son consecutivas pero en orden descendente, por esto se actúa igual que anteriormente, si mira si ha salido la carta que tendría la posición -2, en tal caso se le sumará un punto al contador y en caso contrario no se realiza ninguna acción. Y por último se mira si la distancia es -2, mirando igual que anteriormente que la carta del medio no ha salido, y dando los puntos correspondiente en cada situación.
3.4 ¿Cómo sabemos si el ordenador ha ganado? El ordenador, antes de tirar una carta, comprueba si la jugada es ganadora, para ello cuenta el número de cartas que tiene emparejadas, si es siete, cierra, muestra sus cartas al jugador, para que vea que realmente ha ganado. Si, en vez de tener 7, tiene 6, mirará el valor de la carta no emparejada y cerrará si ésta es menor de 4. En esta ocasión, también mostrará por pantalla sus cartas para verificar que ha ganado.
A continuación mostramos las reglas que hemos seguido para dar los valores a los contadores de cada carta y así poder decidir finalmente qué carta tiramos. Vamos recorriendo carta a carta para compararlas entre sí y así poder darle a cada una sus puntos correspondientes.
3.5 ¿Cómo sabemos si el jugador ha ganado?
Con cada comparación miramos si las cartas son iguales, en este caso debemos mirar si las otras cartas iguales ya han salido en la muestra, si es así sólo se sumará un punto a cada carta, en el caso contrario, que las cartas no hayan salido, se les sumarán dos puntos a ambas cartas.
El ordenador no se fía del jugador cuando cierra, así que comprueba sus cartas de manera exhaustiva para verificarlo. No es tan rápido como la comprobación del ordenador, ya que en esta caso, no están modificados los estados de las cartas, así que habrá que ir una a una, asignándoles el estado con un mecanismo similar al del tirarOrdenador() siempre teniendo en cuenta que en este caso, no nos preocupamos de ir asignando puntos, solo de ver si están emparejadas, es decir, si carta a carta tienen más cartas del mismo número (iguales) o del mismo palo ascendente o descendentes (escalera).
También con cada comparación miramos la posibilidad de hacer escalera de color con las cartas Para ello miramos si son del mismo palo y una vez hecho esto el mecanismo consiste en ir calculando la distancia entre ambas cartas comparadas, dependiendo de dicha distancia se les asignarán unos puntos u otros.
7
El jugador coge del taco el rey de copas, y como no le sirve lo tira.
4. SIMULACIÓN DE UNA PARTIDA
El ordenador analiza la muestra, y la coge para hacer escalera.
Iniciamos la partida, se reparten las siguientes cartas: Empieza la partida
El ordenador ha tomado una decision y la carta tirada es: palo 4, numero10
Creamos la baraja
Tras tirar, cartas del ordenador:
Barajamos
Palo: 3 y el numero: 6 y el estado:EMPAREJADA
Repartimos las cartas, que gane el mejor!!
Palo: 3 y el numero: 5 y el estado:EMPAREJADA
Al inicio de la partida las cartas del ordenador son:
Palo: 3 y el numero: 7 y el estado:EMPAREJADA
Palo: 3 y el numero: 6 y el estado:LIBRE
Palo: 2 y el numero: 9 y el estado:EMPAREJADA
Palo: 3 y el numero: 5 y el estado:LIBRE
Palo: 2 y el numero: 8 y el estado:EMPAREJADA
Palo: 4 y el numero: 10 y el estado:LIBRE
Palo: 2 y el numero: 6 y el estado:LIBRE
Palo: 3 y el numero: 7 y el estado:LIBRE
Palo: 2 y el numero: 10 y el estado:EMPAREJADA
Palo: 2 y el numero: 9 y el estado:LIBRE
--------------------------------------------------------
Palo: 2 y el numero: 8 y el estado:LIBRE Palo: 2 y el numero: 6 y el estado:LIBRE --------------------------------------------------------
Llegado a este punto el ordenador sólo necesita una carta menor que 4 para poder cerrar y ganar la partirda.
Al inicio de la partida las cartas del jugador son:
El jugador le tira el 2 de espadas.
Palo: 2 y el numero: 5 y el estado:LIBRE Palo: 3 y el numero: 10 y el estado:LIBRE
El ordenador esta pensando si coger la muestra...
Palo: 3 y el numero: 2 y el estado:LIBRE
El ordenador coge la carta de la muestra porque le sirve para cerrar la mano
Palo: 1 y el numero: 4 y el estado:LIBRE Palo: 2 y el numero: 1 y el estado:LIBRE Palo: 1 y el numero: 3 y el estado:LIBRE Palo: 1 y el numero: 5 y el estado:LIBRE
8
El ordenador ha tirado una carta: 2,6 El ordenador ha ganado
5. REFERENCIAS
[1] Juegos tradicionales, entretenimiento e información
http://www.acanomas.com/Reglamentos-Juegos-deNaipes/955/Chin-Chon. [2] Wikipedia.
http://es.wikipedia.org/wiki/Chinch%C3%B3n_(juego_ de_naipes) [3] Apuntes de la asignatura “Inteligencia en Redes de
Comunicaciones”
9