Cristalab

                 ¿Quieres registrarte?

Ta-te-tí, triqui, tres en raya en Actionscript

4 de Agosto del 2007
23,193 visitas

Bien, luego de leer sobre el juego del ta-te-tí (o tres en raya) en Flash, me avoqué a la tarea de crear una IA incapaz de perder.

La verdad sea dicha, no hay juego más simple que el ta-te-tí y, por lo tanto, programar un algoritmo que no pierda no me resultó complicado e, incluso, me llevó solo 2 horas y media.

El juego es éste:



Creo que la mejor manera de programar una computadora que pueda considerarse un oponente digno es analizar cómo juega un humano. Por lo que antes de siquiera abrir Flash, jugué unas cuantas partidas (contra mí mismo) para tratar de entender el modo en el que elegía el casillero que me convenía.

Las reglas son algo simples y las enumero a continuación:

  1. Si el casillero central está libre ubicar una ficha ahí, caso contrario continuar
  2. Verificar si, ubicando una ficha, podemos ganar el juego, en ese caso lo hacemos, caso contrario, continua el algoritmo
  3. Verificar si, ubicando una ficha, el oponente puede ganar el partido, en ese caso, bloqueamos el casillero
  4. Buscamos una estrategia particular que puede ganarnos. En caso de que reconozcamos la estrategia, tomamos medidas para evitarla. La estrategia queda ilustrada en ésta imagen (si no ubicamos una ficha en la esquina superior izquierda, el juego está perdido, igualmente hay otras formas de vencer esta estrategia, ésta fue la que más me gustó):



  5. Si no ocurre ninguna de las anteriores, ubicamos una ficha en una posición más o menos aleatoria. Con la condición de que si la ficha central es nuestra, lo hacemos en un casillero diagonal.


Con sólo esas simples instrucciones, la computadora no puede perder.

Éste es el .zip

Como dijo una vez una computadora: "Curioso juego Dr. Falken, la única forma de ganar es no jugar"


Artículos Relacionados


Etiquetas actionscript

Comentarios | Enviar un comentario
claro que pierde, yo ya le gané al primer intento XD

1.- coloca la cruz en la ezquina superior izquierda
2.- coloca la cruz en medio a la derecha
3.-coloca la cruz en la ezquina superior derecha

listo, ya tienes el juego ganado =P

(yo siempre hago esa jugada XD)
Por: gomita
Felicitaciones... como te odio

Igual, ya lo corregí, cambié la referencia a un Array por otro y listo.


El archivo final sería éste.
Por: HernanRivas

HernanRivas :

Felicitaciones... como te odio

Igual, ya lo corregí, cambié la referencia a un Array por otro y listo.


El archivo final sería éste.


lo tomaré como un reto, Hernan VS Gomita muajaja

1.- poner cruz en esquina superior izquierda
2.- poner cruz en esquina inferior derecha
3.- poner cruz en esquina superior derecha

yeeee mas odio para gomita =)
Por: gomita
lo siento, no me salió el botón editar XD

**EDIT DEL PASO 3**

elegir entre esquina superior derecha o esquina inferior izquierda, a segun =)

es imposible hacer un juego a prueba de fallos =)

PD: se va acercando, solo me queda una estrategia X.X
Por: gomita
:shock: + :twisted: + :oops: = Hernán en este momento

Resulta que arreglé algo para romper otra cosa. Esa estrategia no funciona en el original, pero si en este....

Igual, ya lo arreglé, creo que ahora sí es imbatible, pero lo dije tantas veces que ya perdió el sentido.



El archivo final sería éste.[/quote]
Por: HernanRivas
caraho, buen trabajo, ya no se me ocurre nada XD
Por: gomita
Juas, te pasó como a mi Hernán, te frustraron la IA XD (aunque tu lo arreglaste :P)
Por: Bleend_blog
Buen trabajo HernanRivas, al final pudiste arreglarlo. (y)
Por: Victor-Nael
Te quedó cool HernanRivas. Te felicito ^^
Por: XKlibur
Si esta interesante el codigo xD
Por: murderkd_blog
bien ya me hiciste desempolvar mi viejo codigo js para compararlo con tu as,

te felicito
Por: jpcw_blog
perdí u_u
Por: Jakov_blog
:o (y)

Sin palabras, muy bien man
Por: Jatrix13
mmmm un juego demasiado bien hecho. Pero nunca ganaria :S...
tal vez si pones 2 niveles de dificultad, normal e Imposible xD
seria muy bueno para practicar.
Por: Otaku RzO

gomita :

caraho, buen trabajo, ya no se me ocurre nada XD
Gomita: II
Hernán: I

renzo_xp: El que posteé en mi primer comentario tiene un error y es posible ganarle. Gomita lo logró.
Por: HernanRivas
El zip, ya tiene la ultima version??
Por: NIF2
No, la última es la que pongo en el último comentario. Por las dudas, es ésta.

Igual, lo único que cambié es la referencia a un Array y le agregué una comprobación más en un condicional (en total, agregué 5 palabras)
Por: hernanrivas(sin loguearse
porqué no mejor haces un edit en el post principal? oh no me digas ya lo sé, es muy de azar que te salga el botón XD
Por: gomita
Excelente Hernan, llevo mas de 10 juegos y no puedo ganar :crap:
Por: flashreloco
gomita

Hola Man !!!. Felicitaciones por ser el primer ganador
Por: esutoraiki
Take that Bleend!

Muy bueno Hernan ;)
Por: Lunatic_blog
Me diverti un buen rato; pero despues de 15 empates seguidos, me dejo un solo pensamiento en la cabeza:...
No le puedo ganar a la IA !!!... Muy bueno la vdd Hernan...
:lol:
Por: M@U
Hernan, tengo que felicitarte, porque la verdad esta muy bueno, pero sinceramente mi aplauso esta vez se lo va a llevar gomitas, porque me hizo reir mucho al principio!
La verdad Hernan tenes que agradecerle a gomitas, porque si no fuera por el, no podrias haber mejorado el codigo.
Un saludo cordial a los dos!

devc
Por: devc_blog

devc_blog :

La verdad Hernan tenes que agradecerle a gomitas, porque si no fuera por el, no podrias haber mejorado el codigo.
Es ella :P

Y si, los beta testers siempre mejoran la calidad del producto... (aunque eso no significa que no lamente haberme equivocado)
Por: HernanRivas
gomita

Perdón pòr lo de man :ownz:
Por: esutoraiki
Cruz en la parte superior izquierda
Cruz en la parte inferior derecha
Cruz en la parte inferior izquierda

Listo...
Por: crystalsys_blog
OYE, MIRA ES QUE NECESITO HACER ESTE JUEGO DE TAREA, ME PODRIAS FACILITAR UNA AYUDA, MI CORREO ES esepulveda90@hotmail.com

espero tu ayuda, recuerda que el compartir conocimientos te hace ser mas importante
Por: EGIST_blog

EGIST :

recuerda que el compartir conocimientos te hace ser mas importante
Lee el post con la explicación y bajá los archivos.

El duque ha hablado.
Por: Duque de Rivas (logout)
............Es curioso, pero un programa de 3 en raya que nunca pierda se puede hacer en no más de 15 lineas. :wink:
Algo extenso ese programa para un problema tan sencillo. :crap:
Pistas para crearlo:
Un array triple de 35 elementos con nº jugada-respuesta(flag binario), un algoritmo de secuencias simétricas G2-G9, leer (entrar) la jugada, calcular el grupo y un return( salida) con el siguiente mejor movimiento. Es un algoritmo exhaustivo pues contiene todos los posibles movimientos y sus respuestas.
Se le puede añadir aleatoriedad de la simetría para que no parezca siempre la misma respuesta ( aunque realmente si lo sea).
En definitiva:
Entender que, descontando simetrías, hay 1+1+1 primeros movimientos, 5+5+2 segundos, 5+5+3 terceros...etc.
Crear un flag que valga 511 (2^9-1) e ir anulando valores para respuestas creando el array de soluciones y buscar la reducción simétrica. Cualquier posición se reduce a un número entre 0 y 255. Los primeros 256 para las "x" y los restantes para los "o".(añadidos) ^^

Ejemplo: Esta posición del cuarto movimiento(y todas sus simétricas):
|x |o| |
| | x| |
| | | |
es 17-2 o también en un solo número: 1041 (20-2, 20-32, 80-8, 80-128, 272-32 y 272-128 son sus simétricas reducibles -hay que encontrar el algoritmo que da 1041 como respuesta a todos ellos- ) y su respuesta es 256 ( una o en la casilla 8) 2^8 pero como la respuesta es siempre una potencia de 2 basta usar dicha potencia, luego almacenaríamos 8 en el array.

Esperaré un tiempo para ver si alguien le coge el tranquillo y lo realiza.....

Curiosidad: El primer programa que hice del ta-te-ti y que no perdía nunca (gana o tablas), lo realicé en tarjetas perforadas.......y usaba, creo recordar, 122 tarjetas. Era el año 1973. :P
Por: Teseo
me encanta jugar a el tateti
Por: camila_blog
Teseo

Guauh Teseo eres re viejo, si trabajaste con tarjetas perforadas y toda la vaina. Yo naci en el 81, nos llevas mucha delantera.
Por: esutoraiki
E CONSEGUIDO GANAR
Por: MUERTE _blog
es muy copa este juego meencanta el juego tateti
Por: belen_blog
la verdad que esta pagina me ayudo muchisimo.
se que el ta te ti es un juego puro y exclusivamente de estrategia.
es impresionante que con unos simples movimientos puedas vencer a tu contrincante.
Por: vago_ju@hotmail.com_blog
muy bueno
Por: julin_blog
gomita sos un genio no puedo ganarle..te felecito..!
Por: julian_blog
Hola, tengo un torneo en la Universidad el Viernes a las 7 am y consiste en jugar triqui con todos los compañeros hasta que nos lleguen a la final. El ganador del concurso se gana un cinco y necesito ganar!
Debo llevar una estrategia escrita que contenga el menor numero de palabras para poder realizar mis movimientos, por ejemplo: Si el oponente marca la casilla superior izquierda, debo marcar la casilla central.
Agradezco la colaboracion de todos Uds.
Por: alumna_blog
Llevo varios años jugando a esto y me he dedicado a jugar contra mí mismo durante mucho tiempo hasta que llegué al punto de conocer las combinaciones posibles y de ya no perder contra las demás personas...Ya van varios años de invicto que tengo y también me puse a prueba contra algunos softs y he encontrado algunos que según mi opinión son perfectos, por eso me la pasaba no logrando más que tablas...Ahora voy a probar las versiones que publicaste y voy a dar mi diagnóstico de si es perfecto el último que diseñaste o no...Saludos!
Por: Federico (Bs As)_blog
Bueno parece ser que efectivamente diseñaste el juego perfecto ya que lo probé varias decenas de veces y evidentemente no presenta fallas...Te felicito por el trabajo...Todo un logro!
Por: Federico (Bs As)_blog
Aclaro que sólo es imbatible el último, ya que efectivamente los anteriores presentan sus fallas (y justamente esa falla es en donde veo que la mayoría suele perder, a pesar de que no tiene nada de complejo)...Una vez más felicitaciones!
Por: Federico (Bs As)_blog
La falla a la que me refería es a la de tu segundo intento...Entendí por qué decías que arreglaste una cosa para descomponer otra, aunque el error o falla del segundo es más común a eso me refiero...La falla del primero no sería tan perceptible (a pesar de que aquí el amigo "GOMITA" dice haberlo vencido en el primer intento, muy bien por él)...Todo es cuestión de probar con qué estrategia jugarle a cada una de los dos primeros hasta dar con la acertada, pero como antes mencione la última ya no presenta margen de error...Esto me recuerda al Chinook, el programa que resolvió el juego de damas y por lo tanto es invencible y también en algún sentido me recuerda al Deep Fritz con el ajedrez que si bien no se considera perfecto es mucho más avanzado que el temible Deep Blue que tan horrible recuerdo habrá dejado a Kasparov en su histórica contienda...Bueno ya me cansé de enviar comentarios :P Saludos!
Por: Federico (Bs As)_blog
Muy, buen trabajo, sigue así...
Por: Jess_blog
esto de IA no tiene nada
Por: pepe_blog
me diberti bastante
pero es imposible ganar ala tersera
Por: gustavo _blog
noo no le puedo ganarr:@ lo odioooo
Por: gg-blog
ke t pasa con mi-go
Por: lucas-blog
que juego tan diertido
Por: jefferson-blog
q vivos la concha de tu madre dp utossss de mierdaa pajerosss
no tienen imaginacion
Por: fede-blog
hola esta muy bueno y funciona aun mejor

aunque me gustaria editar la interfaz un pokito, editar el circulo, las rayas, el color de fondo, textos, pero, la equis como la edito?

:?
Por: krlitos

Anonymous :

hola esta muy bueno y funciona aun mejor

aunque me gustaria editar la interfaz un pokito, editar el circulo, las rayas, el color de fondo, textos, pero, la equis como la edito?

:?


:oops:
ya cache como

...olvidenlo

:lol: plop!
Por: krlitos
ESTE JUEGO ES MUI DIVERTIDO
ES EL MEJOR JUEGO
Por: JULIAN-blog
me encaaaanttto mucccccchhhhhisimooooo
Por: julieta aleman -blog
dime como se creo el yriqui
Por: valentina-blog
que nota ese juego nunca se gana
Por: dangon<aling top>-b
pon la
Por: carlos-blog
estubo buena
Por: carlos m-blog
k pasa troncos soy nuevo y no se como es esto y necesito unos amigos :d:d
Por: airam-blog
yo juego re bien al te te ti nadie me gana.
Por: german-blog
estan re buenas

germanpastelero.com.ar

counte-rip.com.ar

cyberhoroscopo.com.ar

cybernumerologia.com.ar

y etc
Por: german-blog
es re bueno el juego del ta te ti
Por: jaji-blog
Que aburribo que es esta boludes
Por: Anto-blog
Tengo que admitir que este juego está perfectamente hecho, es completamente imposible de ganar y eso ya me está sacando de quicio haha, bueno felicitaciones, sos todo un genio del ta-te-ti.
Por: lourdes-blog
Ese ultimo tateti si q es imposible

probe todas las posibilidades y no gane una, encambio en los otros si
Por: Tom-blog
Les dejo un dato:
En Chile el juego se llama "El Gato" y se juega hace muchos años, yo lo aprendi de mi abuelo hace 45 años. En Villarrica los artesanos en madera hacen el juego con maderas nobles y fichas (X,O) de metal, de adorno es genial y un buen juego de sobremesa.
Por cierto, jamas logre ganarle a mi abuelo...
Por: René-blog
Yo creo que la gracia de este juego está en jugarlo de a dos. Creo que es más posible de ganar y conserva ese no sé que de una competencia por algo tan simple.
Además creo que te saca las ganas de jugar algo que es completa y perfectamente imposible. No tiene onda eso.
Pero ahí va tu tiempo.
Por: Clara-blog
que se vallan bien a ca........
Por: xlr2-blog
hola queria saber como se puede habrir el archivo .fla del tateti xD
Por: newbe-blog
como se juega lastima q no se pueda jugar x q tanta parla a uno lo aburre pongan triqui en 3D
Por: carlos mario-blog
nombe este juego nuca se le puede ganar ni se para que perdemos tiempo jugandolo besos bye
Por: una persona que no conoce
ya le gane!...

1. x en la casilla 7
2. x en la casilla 6
si la maquina da O en la en la casilla 2, entonces pierde en las siguientes jugadas(hay que jugarlo bien)
Por: abc-blog
aii es muii cursii esteee juegoo ¿¿¿porq no se hcen un flaag i se dejan de joderr ??
oseaaa es muii crazy jaja buee muaaass ma fuii kisss
Por: flaaaaaaaarr la flogger m
kiss
Por: flaaaaaaaarr la flogger -
???bsoss
Por: lindaa hermosa-blog
yo le gane O:
Por: alan-blog
podrías poner para descargar el código orignal para que la computadora pierda? gracias
Por: elvio921
bastante fasil el juegoo
Por: soy asii -blog
i`m sorry x lo qq voy a decir , pero este juego es muy bludo
pierden tiempo al re pedo
hagan kosas mas productivas
yo no pierdo tiempo en eso ni enn pedo

bye-bye
Por: muy cheetaa -blog
HOLA ESTE JUEGO ESTA MUY RE CHOTO
QQ ME LA CHUPEN
SABES XQ ESTA RE CHOTO ??
X QQ EL JUEO DE X SI ES UNA MIERDA
Por: ceci_vl-blog
Hola a mi me gusta este juego , es mas me parece que esta genial , siempre lo juego , pero a veces me enojo por que no gano jaja
Por: somos_lasgatas-blog
creo q hacer un programa como este es muy facil pero intenta hacer uno de 15 casilas y ya veras amigo haber en cuanto lo haces jeje.
Por: triton-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.