Création d'une liste en SQL

Création d'une liste en SQL - SQL/NoSQL - Programmation

Marsh Posté le 11-08-2018 à 13:34:01    

Bonjour à tous,
Je suis en train de faire un mini-jeu de combat où l'utilisateur sélectionne une liste de 10 personnages, et ces derniers se combattent en 1 contre 1 chacun leur tour.
J'aurais besoin d'enregistrer la partie sur mon serveur pour que si l'utilisateur quitte le navigateur ou fait un refresh de la page, le combat reste le même (car les deux personnages en 1 contre 1 sont sélectionné aléatoirement).
Je me suis dit que j'allais enregistrer dans une table "Parties" l'état de la partie, donc avec le combat en cours - les personnages gagnants - les personnages perdants, et qu'a chaque fin de partie je fais une requête qui sauvegarde cet état en base de données.
 
Mais là vient le problème, je ne vois pas comment enregistrer l'état de la partie sans que ce soit dégueulasse (donc du style "j'enregistre tous les id des persos dans un même champ" ). Je me suis dit que j'allais faire une table de jointure mais je ne vois pas trop comment la faire.
 
Auriez-vous des propositions à me faire pour enregistrer l'état d'une partie ?
Comment font les jeux en ligne pour enregistrer une partie en cours ?
 
Merci d'avance à ceux qui me répondront :)


---------------
Poupi Poupi Poupipou
Reply

Marsh Posté le 11-08-2018 à 13:34:01   

Reply

Marsh Posté le 21-08-2018 à 16:34:39    

Sur ce genre de truc, je ne chercherai pas à faire du relationnel et j'enregistrerais en base un JSON décrivant l'ensemble de ta partie. C'est beaucoup plus souple à traiter après.
 
Du genre : Table partie(id_Partie, id_Joueur1, id_Joueur2, derniereAction, statutJSON)

Reply

Marsh Posté le 21-08-2018 à 17:26:14    

En attendant j'ai créé des tables intermédiaire pour faire du many to many.
Je pense que ça peut fonctionner.

 

Ton idée du JSON m'intéresse pas mal, mais comment enregistrer un JSON en base de données ? Je ne savais même pas que c'était possible x)


---------------
Poupi Poupi Poupipou
Reply

Marsh Posté le 21-08-2018 à 17:31:41    

Depuis MySQL 5.7, JSON est nativement supporté comme un type de donnée (colonne). Ce qui permet de faire directement des opérations dessus.
Regarde ce lien, c'est pas mal : http://dasini.net/blog/2015/11/17/ [...] -en-mysql/
 
Sinon, tu l'enregistres comme un bête texte et tu le traite côté serveur (PHP, ASP...)

Reply

Marsh Posté le 21-08-2018 à 17:33:18    

Merci beaucoup, je verrais ça en rentrant ce soir  ;)


---------------
Poupi Poupi Poupipou
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed