Visual Basic - SCRABBLE de locos ^._.^

Life is soft - evento anual de software empresarial
 
Vista:

SCRABBLE de locos ^._.^

Publicado por Manuelente (14 intervenciones) el 03/11/2006 15:28:09
-=Hola=-

Hace unas semanas que estoy enfrascado con el problema de programar un Scrabble, el juego de las palabras cruzadas.

Estoy atascado en la parte de sacar las combinaciones de palabras que se han puesto sobre el tablero, teniendo en cuenta que hay que saber luego las puntuaciones de cada ficha y demás... sé que es posible hacerlo, pero la cantidad de variables y de código se me dispara en cuanto me siento a hacerlo.

Tengo una matriz para las fichas -la bolsa con las fichitas-, otra para las casillas del tablero -que guarda el valor de los premios-, otra que es la casilla FISICA (las casillas son un array unidimensional de LABELS), y por último otra más que es el array de la jugada, donde se han puesto las fichas y todo el rollo.

Llegado el momento de calcular las combinaciones de palabras que se forman cuando se ponen fichas nuevas, es cuando empieza el baile. Hay demasiadas variables, me pierdo y llevo así no sé desde cuando.

Y no quiero ni imaginarme cuando tenga que pasar el turno al ORDENADOR. Tengo una lista de palabras oficiales y todo, pero buscar la mejor jugada y ponerla sobre el tapete creo que ya va a ser demasiado para mi. Sinceramente me estoy empezando a agobiar con este tema que debería ser tan fácil.

Supongo que, para algo tan simple como lo que hace el Scrabble, debería haber una manera mucho mejor que la que se me ha ocurrido.
Si alguien tiene idea, o incluso mejor el código, agradecería me lo mandasen a mi correo.

Gracias por su atención.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SCRABBLE de locos ^._.^

Publicado por jcz (94 intervenciones) el 03/11/2006 18:04:35
Hola, de entrada te digo que ningun tema es tan facil o dificil, muchas veces depende del grado de "inspiracion" que tengas en un momento determinado, tu proyecto de scrabble es muy bueno, de manera basica, se me ocurre que podrias tener una base de datos con todas las palabras "oficiales"..algo asi:

NUM.DE.LETRAS PALABRA LETRA-1, LETRA-2, LETRA-3, LETRA-N
(cantidad de letras (la palabra) (las letras que conforman esa palabra, una por
de la palabra) una, en el orden que sea)

Despues, en base al numero de fichas que tengas, buscar ese mismo numero en la base de datos, si lo encuentra, ir haciendo filtros a la BD buscando que cada letra que tengas exista en alguno de los campos "LETRA" (de alguna manera, cuidando las letras repetidas), si al final del ciclo encontro todas las letras entonces ya tendras la palabra a formar, si el ciclo termina y hubo alguna letra que no encontro, entonces debes reducir el numero de letras a buscar y eliminar alguna de las letras a buscar en la BD

Tal vez suene complicado, pero es una idea solamente, tal vez te ayude..en lo personal me agrada mucho programar juegos similares, (tengo un memorama, algunos rompecabezas, un juego de poker (que perdi el codigo fuente))

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SCRABBLE de locos ^._.^

Publicado por Manuelente (14 intervenciones) el 04/11/2006 12:01:41
Gracias por tu apoyo.

Sigo trabajando, ahora con papel y boli. Tengo que pulir bien todo el código... creo que voy a empezar de cero.

Algo tan simple como lo que quiero hacer no puede ser tan complicado como lo estaba haciendo. Algo falla en alguna parte.

Si sobrevivo al Scrabble, juro por San Blador, San Serif y San Blaster que publicaré el código fuente para que nadie más tenga que pasar por lo que yo estoy pasando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SCRABBLE de locos ^._.^

Publicado por Hernan (32 intervenciones) el 05/11/2006 01:08:43
en realidad hacer un scrabble no es tan facil como se lo estan imaginando... recuerden que hay muchos factores en juego: si pones una palabra no solo es cuestion de obtener mas puntos con ella sino tambien de ver cuantos puntos va a obtener tu oponente cuando la pongas, cual es la mejor combinacion en caso de que puedas formar varias palabras con las mismas letras... en fin... eso es inteligencia artificial... y creeme, hasta un simple tres en raya puede ser algo muy dificil...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SCRABBLE de locos ^._.^

Publicado por Manuelente (14 intervenciones) el 08/11/2006 13:23:42
Estoy de acuerdo contigo. Es muy complicado.

Ya estoy meditando el tema de la IA del juego. Pienso desarrollar tres... posibilidades:
1.- Buscar si existe alguna palabra "gancho", es decir... como FLOR y enganchar en la segunda palabra FLORA y... ACACIA, por ejemplo.

Es cuestion de buscar en mi archivo de palabras al principio y al final de la palabra con una de las letras que tenga el enemigo. Complicadillo, pero factible.

2.- Aprovechar una de las letras que ya estén puestas en el tablero para añadirlas a las letras que tengas y cruzar una palabra... previa comprobación de que haya hueco para escribirla...
Un poco más complicado que la posibilidad anterior.

3.- Intentar enlazar varias palabras juntas, haciendo una jugada múltiple... que es algo incluso más complicado.

Ejemplo:

CASA
ALEJAR Palabras... Alejar, Ca, Al, Se, Aj... muchos, muchos puntos ;)

¿El proceso de búsqueda? Tengo una lista ordenada de las palabras válidas... buscaré con el algoritmo ese de mirar la lista por la mitad, y luego otra vez y otra... o quizá no, por fuerza bruta y que le den por saco.

Va a ser delicioso buscar un algoritmo que de la mejor combinación de palabras con las letras que tiene el enemigo... creo que me va el sado. JEJEJE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SCRABBLE de locos ^._.^

Publicado por learning galicia s.l (1 intervención) el 01/07/2013 19:20:45
Hola, he visto que comentais hacer del scrabel,, estoy buscando quien me haga uno similar o igual a apalabrados para mi web,, es urgente,, gracias,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar