Foros del Web » Programando para Internet » Javascript »

Ajedrez en Javascript: DIV, CANVAS

Estas en el tema de Ajedrez en Javascript: DIV, CANVAS en el foro de Javascript en Foros del Web. Buenas, Tengo que hacer una tarea que me han pedido y aunque la idea la tengo más o menos clara necesitaría otros puntos de vista ...
  #1 (permalink)  
Antiguo 01/10/2011, 02:41
 
Fecha de Ingreso: diciembre-2010
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 1
Ajedrez en Javascript: DIV, CANVAS

Buenas,
Tengo que hacer una tarea que me han pedido y aunque la idea la tengo más o menos clara necesitaría otros puntos de vista para tener una solución más limpia y de mejor calidad, ya que lo mío es más la programación de algoritmos y de acceso a datos, y la verdad que nunca he utilizado clases en javascript pero en este caso me gustaría.
Tengo que hacer un ajedrez para que jueguen dos personas en javascript, php y html. Creo que ambas van a jugar en la misma máquina, así que descarto el uso de php y prefiero que se ejecute todo en el lado del cliente. Si fueran dos jugadores cada uno desde su ordenador, ya sería otra historia.
He visto soluciones por internet usando tablas, pero creo que lo suyo hoy en día sería usar 64 divs, y por jquery controlar los eventos de pulsación en esos divs y ya en función de donde pinchen, ver si es una ficha que puede mover, colorear donde las puede mover y luego moverla.
Mi pregunta es: ¿Cual sería la mejor estructura de clases en javascript para ello?
¿Una clase ajedrez que contenga 8 arrays de 8 elementos? Que cada elemento fuera otra clase FICHA, donde guardaría el tipo de ficha y el color.
Harcodeo las reglas para permitir mover o no la ficha o puedo de alguna manera meter su lógica de movimiento en algún campo de la clase, o mejor dicho, en algún método de la clase ficha?
Otra opción sería por html5 con los canvas, pero estoy muy verde, si alguien me diera un pequeño análisis de como hacerlo por canvas, sería de agradecer para poder presentar las dos versiones.

Muchas gracias de antemano y aunque no postee mucho os sigo leyendo.
Lo presentaré el martes
  #2 (permalink)  
Antiguo 01/10/2011, 09:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Ajedrez en Javascript: DIV, CANVAS

Yo haría un objeto tablero, en el cual guardaría la posición de cada pieza y el estado del juego en general (jugada imposible, enroque, enroque imposible, coronaciones, jaque, jaque mate, saltos de caballo, etc). Luego, un objeto pieza con las propiedades color y tipo (que le darían al objeto tablero la posibilidad de trabajar).
En este caso en particular no ganarías nada haciéndelo con canvas a menos que desees hacer una versión en perspectiva. Si ese fuera el caso, te tocará trabajar con matrices y mucha álgebra lineal. Un ejemplo, aquí: http://www.nihilogic.dk/labs/chess/
  #3 (permalink)  
Antiguo 02/10/2011, 08:37
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Ajedrez en Javascript: DIV, CANVAS

Un detalle que no tiene que ver con JS : no uses div's. Si sabes de ajedrez, entonces conoces la manera de ubicar los trebejos por coordenadas. Y eso es una tabla.

También hay caracteres para ajedrez, aunque coincido en que para tu caso es mejor usar imágenes.

Me gustaría ver cómo terminas resolviendo el asunto de las reglas. Me parece que puede ser bastante complicado el comer piezas y "coronarlas" en el caso de que juegues variantes con recupero.
Lo más fácil debe ser tomar los tiempos.


font-family: unicode;

Etiquetas: canvas, html, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:03.