Comunidad Gambas-es
Pedir consejo con desarrollo de aplicación multiusuario. - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Pedir consejo con desarrollo de aplicación multiusuario. (/thread-715.html)



Pedir consejo con desarrollo de aplicación multiusuario. - Shell - 04-11-2021

Buenos días!.

He creado un juego muy sencillo en el que el usuario realiza una serie de operaciones matemáticas hasta superarlas.
Es un formulario y el juego se desarrolla en este. La aplicación funciona.

Pero se me ocurre añadirle características nuevas, que fuera multiusuario.

Por ejemplo. Al entrar en la aplicación, se debería presentar un formulario donde el usuario ingrese su nombre y su edad.
Lo de la edad lo hago para saber si una persona con una edad le cuesta más o menos realizar esas operaciones matemáticas.
( Es que no siempre es fácil y no lo digo de broma ).

Partiendo de esto.

Si son varios usuarios los que van a jugar, al entrar en el formulario que pide los datos. Ese usuario ya puede haber jugado una vez.
La aplicación debe reconocer a los usuarios que ya han jugado al menos una vez. Podía ser una consulta y auto completar el nombre
si ya jugó alguna vez.

De principio había pensado en la creación de una base de datos ( Creo que esto no tiene remedio ). ¿ Qué os parece settings ?.
Pero esos settings parecen más de uso en solo una máquina y si ese juego el día de mañana se juega en otro pc y otra pc, etc. ( Eso es una teoría )

Mi idea también es controlar el progreso y la mejora o empeoramiento de las puntuaciones obtenidas en las partidas de los usuarios.
Realizar gráficas desde la primera partida hasta la última.

Es un comienzo. Angel

Comenzaré creando un formulario para practicar con nombres y edades y luego lo aplicaré.
De principio una lista y un archivo de texto donde se guardaran los nombres.

Saludos


RE: Pedir consejo con desarrollo de aplicación multiusuario. - tercoide - 04-11-2021

ignoro completamente el tema  At


RE: Pedir consejo con desarrollo de aplicación multiusuario. - Shordi - 04-11-2021

Settings te vale... si no utilizas el archivo por defecto de la clase, sino que creas uno propio. También puedes usar xml (gambas tiene un módulo para ello), json (tincho hizo una clase para eso) o similares o, incluso crear un formato de texto propio para tu programa. Es muy sencillo. Personalmente me inclino por settings, pero aquí cada maestrillo tiene su librillo.

Una base de datos, si lo único que guardas es el nombre, la edad y los puntos alcanzados o algo así, puede ser excesiva y complicar la cantidad de módulos y dependencias de tu programa.

Saludos.


RE: Pedir consejo con desarrollo de aplicación multiusuario. - Shell - 04-11-2021

(04-11-2021, 15:01)Shordi escribió: Settings te vale... si no utilizas el archivo por defecto de la clase, sino que creas uno propio

¿ Entonces una clase propia que  tenga las propiedades del usuario y las grabe a un archivo concreto ?. No es difícil.
De paso tendré que repasar el tema de settings en Gambas. Hace tiempo que no lo toco.

En cuanto a usar xml, lo usé en su día para leer, más que para escribir. No es mala opción.
 
(04-11-2021, 15:01)Shordi escribió: Una base de datos, si lo único que guardas es el nombre, la edad y los puntos alcanzados o algo así, puede ser excesiva y complicar la cantidad de módulos y dependencias de tu programa.

La verdad es que me dio por lanzarme por una base datos con dos tablas. La de los nombres y la de los puntos, pero puede ser complicarlo más
y aun estoy verde en el manejo de squlite con dos tablas ( que estoy deseando de verlo. Siempre igual ).

En verdad no es en si la creación del juego. Es mejorar la practica con Gambas para aprender más sobre este.

 
(04-11-2021, 12:56)tercoide escribió: ignoro completamente el tema

Es más sencillo de lo que parece, flaco. Tongue

Saludos


RE: Pedir consejo con desarrollo de aplicación multiusuario. - tincho - 05-11-2021

(04-11-2021, 12:34)Shell escribió: De principio había pensado en la creación de una base de datos ( Creo que esto no tiene remedio ). ¿ Qué os parece settings ?.
Pero esos settings parecen más de uso en solo una máquina y si ese juego el día de mañana se juega en otro pc y otra pc, etc. ( Eso es una teoría )

En tu pregunta existen varios conceptos que voy a responder por separado.
1 - Guardar usuario y puntuación.
Lo mejor es usar un archivo JSON ya que permite gestionar datos en forma de listas y variables de varios tipos como números, booleanos, texto etc.
Para gestionar el archivo JSON puedes usar unas clases nativas de gambas o la clase Config que hicimos en conjunto con TercoIDE para leer y escribir variables en archivos JSON, yo la vengo usando en todos mis programas y funciona muy bien ademas de que es muy flexible.

2 - Que la misma lista de puntuación este disponible en diferentes instalaciones del juego
Para esto gambas debería guardar los datos en una web, por ejemplo. En este caso el programa implicaría algún tipo de infraestructura, ya sea en un servidor VPS o en un servidor en tu casa que dejes siempre encendido, por ejemplo una raspberry pi o algo así que consuma poco.
1 Saludo.