• Domingo 22 de Diciembre de 2024, 17:13

Autor Tema:  Juego  (Leído 2501 veces)

luiquroj

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Juego
« en: Jueves 10 de Febrero de 2005, 00:48 »
0
Alquien sabe como puedo hacer para validad los movimientos de las piezas :comp:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Juego
« Respuesta #1 en: Jueves 10 de Febrero de 2005, 03:50 »
0
no entendi
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Juego
« Respuesta #2 en: Martes 15 de Febrero de 2005, 02:04 »
0
Hola que tal.

No se como tengas definido tu tablero, pero supongo ha de ser una matriz.

Si es asi, lo que podrias hacer es manejar los indices adecuadamente, por ejemplo si quieres mover un peon deberas tener una bandera que te indique si es su primer movimiento o no, con esto puedes revisar los indices de la matriz, verificando que entre el indice de las columnas de la posicion original de tu pieza con respecto a la actual solo haya aumentado en 1 o 2 dependiendo el caso, y si son las piezas blancas.

Bueno ese es un ejemplo si es que usas matrices

Si no pues di como lo manejas para poder ayudarte.

luiquroj

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Juego
« Respuesta #3 en: Martes 15 de Febrero de 2005, 03:47 »
0
En la interfaz tengo un tablero hecho con jlabels para cada posicion del tablero, tengo una matriz tablero que la estoy heredando a dos clases Ajedres y damas chinas (me toco hacer ambos :huh: ) y en estas tengo un metodo que inicializa cada posicion de la matriza con un numero.

Ej: 0 = vacia, 1 = peonblanco, ...

Asi despues iba a hacer un metodo que leyera cada casilla y de acuerdo con el numero que tenga le asignaba una imagen al jlabel correspondiente, por desgracia tiene un pulguero que se esta generando solo, no me reconoce aveces paquetes o los reconoce como carpetas normales y asi no me sirven.

Aparte, como hago para que una matriz despues de haberla modificado en un for guarde los cambios y no vuelvan al valor original todas las casillas (0)

Aunque me imagino que oyen mucho este tipo de frases (o por lo menos eso oigo en otro foro de subtitulos en el que participo) el foro esta muy bueno, que suerte que lo encontre. :lol:

Saludos. :comp:

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Juego
« Respuesta #4 en: Martes 15 de Febrero de 2005, 23:42 »
0
Pues lo de las matrices no te las deberia inicialzar a cada rato, reviza bien tu codigo, tal vez estas iniciandola a cada rato y por eso se pierden tus datos.

Por lo demas que tienes, ya no te entendi cual es tu problema.

Haber si puedes explicarte mejor.

O puedes poner la parte de tu codigo donde tienes problemas.

luiquroj

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Juego
« Respuesta #5 en: Miércoles 16 de Febrero de 2005, 01:11 »
0
Ya lo de la matriz esta, al parecer no aprendi bien a controlar lo que son instancias y por eso me generaba varios errores tanto al cargar alguna imagen como en la matriz

Lo que quisiera ahora es ver si me podian explicar como podria hacer para controlar el movimiento de las fichas, que debo tener en cuenta para no permitirles moverse a donde quieran.

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Juego
« Respuesta #6 en: Miércoles 16 de Febrero de 2005, 21:29 »
0
Pues para eso tienes que tomar en cuenta el movimiento de las piezas.

Por ejemplo para mover un peon solo cambaria de posicion con respecto a la columna, asi que tendrias que validar que la distancia entre la posicion final con la inicial no difiera en mas de 1 o 2 si es lel primer movimiento. Otra es que si se va a comer otra pieza, entonces avanza 1 en fila como en columna, validando que previamente estuviera ocupada la casilla con una pieza del equipo contrario.

Es lo que debes de hacer con las demas piezas, para las torres usarias un or para una validacion de movimiento en fila o columna, los alfiles siempre sera un incremento de n tanto en filas y columnas, la reina es una conbinacion de estos dos; y para los caballos debes definir coordenadas + - [2,1] y + - [1,2] si la pieza esta mas alla pues es un mal movimiento.

Una vez que tengas esto, despues debes hacer un barrido para ver si en el camino del movimiento de la pieza no se encontraba otra que lo obstruyera.

Al igual que cuando se coman a una pieza debes validar que sea del color contrario.

Bueno espero y me entiendas y te sirva.

Hasta luego.