Autor |
Mensaje |
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Hola, queria comentarles que estamos haciendo un trabajo de el scrabel (palabras cruzadas) en pascal y estoy con una duda.
Yo trabajo en una matriz 15x15 donde en cada casillero guardo una letra. Quiero que el programa pueda juntar esas letras que ingreso el usuario y las compare con un diccionario que es un archivo txt. El gran problema es: ¿Como logro reunir esas letras de la matriz y juntarlas en una sola variable ?
Alguna idea?
Desde ya muchas gracias,
|
|
|
|
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
moncholo11 escribió:
|
Hola, queria comentarles que estamos haciendo un trabajo de el scrabel (palabras cruzadas) en pascal y estoy con una duda.
Yo trabajo en una matriz 15x15 donde en cada casillero guardo una letra. Quiero que el programa pueda juntar esas letras que ingreso el usuario y las compare con un diccionario que es un archivo txt. El gran problema es: ¿Como logro reunir esas letras de la matriz y juntarlas en una sola variable ?
Alguna idea?
Desde ya muchas gracias,
|
Iterativamente, vas a tener que mirar palabra por palabra; el tablero puede tener más de una palabra.
Cómo encontrar las palabras, asumiendo que se escriben de izquierda a derecha y de arriba a abajo...
Las horizontales las encontrás iterando por cada fila de tu matriz. Para cada fila, iterás sobre las columnas. Arrancás fuera de palabra, cuando encontrás la primer letra, todas las letras que siguen hasta la primer posición vacía (o que se te termine la matriz) forman una palabra. Cuando encontrás la primer posición de no-letra, seguís iterando encontrando las palabras restantes con la misma lógica hasta que te quedes sin matriz.
Las verticales, mismo procedimiento, pero por columnas, de arriba a abajo.
Cómo meter letras sueltas de a una para construir una cadena de caracteres, problema tuyo .
|
|
|
|
_________________
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Claro. Mi idea es ingresar una letra por casillero, otra idea no se me ocurrio. Quizas no sea tan efectiva. Recomendas que el ingreso de palabras sea de otra forma?
Gracias;
Juan
|
|
|
|
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Claro. Mi idea es ingresar una letra por casillero, otra idea no se me ocurrio. Quizas no sea tan efectiva. Recomendas que el ingreso de palabras sea de otra forma?
Gracias;
Juan
|
|
|
|
|
|
|
|
|
Franco Spada
Nivel 5
Edad: 32
Registrado: 04 Oct 2010
Mensajes: 199
Ubicación: 34º36'S58º22'O Carrera: null
Carrera: Electrónica
|
|
No se si estoy entendiendo bien, pero la palabra la deberias chequear cuando alguno mete una letra al tablero. Osea arrancas de la posicion en la que metieron la letra y buscas para arriba o izquierda el resto de la palabra...
|
|
|
|
_________________ "¿Como revolucionar a nuestros hermanos,
darles la fuerza para progresar?
La tarea no es multiplicar,
sino abrir la puerta de par en par."
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
Tenés razón, yo lo había pensado como chequear la validez del tablero completo.
|
|
|
|
_________________
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
claro. Hay entre 2 y 4 jugadores y cada cual formara sus palabras en el tablero, con un color que indicará quien puso cada palabra. Lo que hay que hacer es lo que dicen ustedes, es decir, leer desde donde se ingreso la primer letra y leeer hasta qe termine la palabra.
El problema es: puede sucder que la palabra no exista en el diccionario, y no sabría coomo indicarle al programa que el usuario ingreso TALES letras, no se si me explico?
Muchas gracias;
Juan
|
|
|
|
|
|
|
|
|
Franco Spada
Nivel 5
Edad: 32
Registrado: 04 Oct 2010
Mensajes: 199
Ubicación: 34º36'S58º22'O Carrera: null
Carrera: Electrónica
|
|
Suponiendo que es un programa por consola y que conozco las reglas del scrabel (nunca jugué).
Lo que yo haría es, para el turno de cada jugador, le pregunto las coordenadas donde empezar a poner las letras y después un string con las letras que quiere agregar. Después validas que tenga todas esas letras y buscas la palabra en el diccionario.
|
|
|
|
_________________ "¿Como revolucionar a nuestros hermanos,
darles la fuerza para progresar?
La tarea no es multiplicar,
sino abrir la puerta de par en par."
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Claro, mas o menos entiendo por donde miras el tema. Es decir, trabajar con la palabra afuera y luego ingresarla en la tabla con el fin de visualizarla en el tablero...no se si me explico?
Si entendí bien, es muy buena idea
Muchas gracias
Juan
|
|
|
|
|
|
|
|
|
Bistek
Nivel 8
Registrado: 07 May 2010
Mensajes: 691
Carrera: Informática
|
|
lo mas fácil es que el usuario ingrese palabra que quiere a partir de tal ubicación y espefique horizontal/vertical. Si lo haces que el jugador va poniendo las letras una por una termina siendo molesto en cuanto a jugabilidad y tambien implementación.
Es que en realidad la parte de la visualización es siempre lo ultimo que tenés que hacer en un juego, primero tenes que verificar si la acción del jugador es válida.
|
|
|
|
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Perdon ante todo. Acabo de leer un detalle del practico. Justamente menciona lo que dicen ustedes "el usuario debe ingresar la coordenada, la palabra, y el sentido en que se ubicará dicha palabra en el tablero"
Gracias nuevamente
|
|
|
|
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Aprovecho el tema creado para consultar. ¿como podria generar un diccinoario a partir de un archivo de texto? Es decir, tengo escrito en un bloc de notas un cuento, y quiero guardar todas esas palabras del cuento y guardar en un archivo para poder generar el diccionario del programa.
Hay que codificar como loco o hay alguna estrategia?
Muchas gracias
|
|
|
|
|
|
|
|
|
fernandodanko
Nivel 8
Edad: 34
Registrado: 16 May 2009
Mensajes: 859
Ubicación: Berazategui - BS.AS
Carrera: Electrónica
|
|
"Hacer que codee otro" es una buena estrategia.
Más allá de si el código es mucho o poco, facil o difícil. Con los conocimientos que tenés ¿cómo lo harias? ¿se te ocurre un bosquejo de idea de algo que pueda llegar a ser factible?
Te podría decir lo que se me ocurrió a mi, pero ¿vos como lo pensaste?
Tomate unos mates, agarrá un papel, pensalo y comentanos.
|
|
|
|
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Pensar lo pense. La idea es agarrar el archivo que contiene el cuento, y en primera instancia copiar la primer palabra hasta que halla un ' '. Eso lo almaceno en una variable string y hago un writeln en otro archivo de ese string. Como es un archivo de texto (acceso secuencial) cuando haga un read se va a parar en la primer letra de la siguiente palabra y de ahi puedo copiar hasta que encuentre un nuevo ' '. Desps con otro procedimiento puedo hacerme cargo de los puntos, comas, acentos, etc. Pero, ¿como podria copiar yo un conjunto de letras de un archivo de texto?
|
|
|
|
|
|
|
|
|
moncholo11
Nivel 4
Edad: 30
Registrado: 01 Ene 2012
Mensajes: 83
Carrera: No especificada
|
|
Podria ser caracter a caracter y cuando encuentre ' ' tirar un writeln en el archivo diccionario...ahora voy a probar
|
|
|
|
|
|
|
|
|
|