Access - Parejas ajedrez

 
Vista:
Imágen de perfil de Francesc

Parejas ajedrez

Publicado por Francesc (68 intervenciones) el 11/04/2018 19:32:07
Buenas tardes,
Tengo que preparar una aplicación para hacer un torneo de ajedrez, y tengo una duda que es la siguientes: dispongo de una tabla donde registro las personas que se inscriben y respecto a la primera partida debo generar un orden aleatorio de estas personas, a partir de entrar los resultados de la primera partida ya tengo resuelto la segunda, tercera, etc. Lo que no veo es de como generar de forma aleatoria la primera partida.
Gracias anticipadas por las ayudas que podáis ofrecerme.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Parejas ajedrez

Publicado por Norberto (753 intervenciones) el 12/04/2018 10:22:18
Hola.

No dices cómo tienes estructurada la bdd: qué tablas, qué campos...

Supongamos que la partida va en una tabla independiente de los inscritos y que esa tabla tiene, entre otros, dos campos que identifican a cada uno de los dos jugadores tal que así:

Jugadores
IdJugador
Nombre
Fecha Nacimiento
...

Partidas
IdPartida
Nº Partida
Fecha
IdJugador1
IdJugador2
...

Lo que yo haría sería lo siguiente:

Divides el número de inscritos entre 2

Incicias un bucle de inscritos / 2, por ejemplo For...Next

Generas un aleatorio entre 1 e inscritos

Buscas ese número en la tabla de partidas tanto en IdJugador1 como en IdJugador2
Si el número no está, generas un nuevo registro y guardas el dato en IdJugador1. Si está vuelves a generar otro aleatorio

Una vez guardado, generas otro aleatorio, vuelves a hacer la comprobación y lo guardas en IdJugador2 del registro recién creado.

Te adjunto un diagrama de flujo.

Captura

Si tienes problemas para implementarlo, puedes subir la bdd y te hecho una mano.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Francesc

Parejas ajedrez

Publicado por Francesc (68 intervenciones) el 12/04/2018 11:13:03
No soy un experto escribiendo código, lo intento y si no lo consigo te adjuntaré un copia de la BD. Muchas gracias por la ayuda.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Parejas ajedrez

Publicado por Norberto (753 intervenciones) el 12/04/2018 11:19:21
Ok.

El bucle principal lo puedes hacer con un For...Next y los otros dos con Do...Loop While. Pon Randomize Timer al principio para asegurarte de que sea lo más aleatorio posible.

Un saludo y suerte,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Francesc

Parejas ajedrez

Publicado por Francesc (68 intervenciones) el 12/04/2018 11:50:59
Buenos días,
Como no tengo mucho conocimiento para implantar el diagrama de flujo que me has mandado te adjunto la BD, a ver como queda. Te añado que el sistema para formar la primera partida se le denomina sistema suizo, y a partir de aquí, en función de una clasificación de puntos positivos menos negativos, se enfrentan la pareja primera con la segunda, la tercera con la cuarta y así hasta el final de las parejas inscritas.
Muchas gracias por el interés y a ver si puedo resolverlo.
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Parejas ajedrez

Publicado por Norberto (753 intervenciones) el 16/04/2018 12:40:34
Hola de nuevo.

Te adjunto la bdd con la generacón de parejas implementada y algunas cositas más.

Un saludo,

Norberto.
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