Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: KidMc1 en 19 Junio 2014, 04:25 am



Título: Ayuda con el datagridview
Publicado por: KidMc1 en 19 Junio 2014, 04:25 am
Hola a todos, que tal!!

Quisiera saber si podrían ayudarme a realizar un efecto de búsqueda en un datagridview, pues verán estoy desarrollando el juego del pupiletras o sopa de letras como quieran llamarlo utilizando BACKTRACKING y quisiera agregarle un efecto de búsqueda de esta forma:

Búsqueda de manera Horizontal

IZQUIERDA - DERECHA
DERECHA - IZQUIERDA



(http://data.bloggif.com/distant/user/store/f/d/5/9/ca596bc1672d87707c50149e1f0495df.gif)



Búsqueda de manera Vertical

ARRIBA - ABAJO
ABAJO - ARRIBA


(http://data.bloggif.com/distant/user/store/9/0/0/4/54df3ec26f5d8ab4f7409707420c4009.gif)


BUSQUEDA DIAGONAL
Diagonal Izquierda Superior - Diagonal derecha Inferior (pasando 2 veces por la misma diagonal y terminando en la diagonal izquierda inferior)

Diagonal Izquierda Inferior - Diagonal derecha Superior(pasando 2 veces por la misma diagonal, terminando en la diagonal derecha inferior)

Diagonal Derecha Inferior - Diagonal Izquierda Superior (pasando 2 veces por la misma diagonal, y terminando diagonal derecha superior)

Diagonal Derecha Superior - Diagonal izquierda inferior (pasando 2 veces por la misma diagonal y terminando en la diagonal izquierda superior)

(http://i60.tinypic.com/n19t03.jpg)

NOTA:
*El trackbar de la parte inferior de mi formulario hará que la velocidad de búsqueda o bien aumente o bien disminuya



No consigo crear ese tipo de efecto, y es por eso que pido un poco de su ayuda para poder conseguir este tipo de efecto.

Muchas gracias!


Título: Re: Ayuda con el datagridview
Publicado por: MeCraniDOS en 22 Junio 2014, 13:40 pm
C#?


Título: Re: Ayuda con el datagridview
Publicado por: KidMc1 en 22 Junio 2014, 17:12 pm
C#?

Es en C++ pero toda clase de ayuda es bienvenida :D


Título: Re: Ayuda con el datagridview
Publicado por: engel lex en 22 Junio 2014, 17:23 pm
para los deplazamientos "raros" tienes que usar for bien formulados

para los horizontales for y{  for x{ (x,y)
para los para los verticales for x{  for y{ (x,y)
para los para los diagonales de ida (por lo menos los que muestras) for y{  for x{ (x,y+(i++))

los diagonales de vuelta es el mismo for pero en retorno

yo recomiendo crear las funciones de desplazamiento y en lugar de desplazarte en tudas direcciones de buenas a primeras, es buscar coincidencias de la primera letra de las palabras dadas... si se consigue, buscas en los cuadros adyacentes por la segunda letra, si se consigue, ya conoces la dirección a desplazar