01-08-2018, 01:09 AM
(Modification du message : 01-08-2018, 01:10 AM par Sephi-Chan.)
La priorité, tu as raison, c'est de faire du code qui fonctionne, puis du code propre, puis du code rapide.
Le procédural n'est pas un problème. Tu peux créer des fonctions (avec des noms clairs et faciles à comprendre) qui s'appellent les unes les autres : ton code devient facile à suivre et les fichiers ne sont pas trop gros (donc il est facile d'y trouver ce qu'on y cherche).
Ici, le code n'est pas tellement un problème. Ce qui importe ici, c'est l'architecture.
Pour un système de match making simple et pas trop cracra, tu peux avoir une table joueurs (j'imagine que tu l'as déjà) avec une colonne numérique pour le niveau de ce joueur, et une colonne booléenne qui indique si le joueur est en recherche d'un combat ou non.
A chaque fois qu'un joueur s'inscrit à la recherche, tu peux chercher s'il y a 6 joueurs du même niveau dans la recherche. Si oui, tu crées un combat (dans une table idoine) ainsi que 6 combattants (la table combattant contient une colonne pour l'ID du joueur, une autre pour l'ID du combat et toute les informations dont leur personnage aura besoin) et tu modifies les joueurs pour qu'ils ne soient plus en recherche. Si non, il ne se passe rien et le script sera relancé quand un joueur s'inscrira en file d'attente.
Le procédural n'est pas un problème. Tu peux créer des fonctions (avec des noms clairs et faciles à comprendre) qui s'appellent les unes les autres : ton code devient facile à suivre et les fichiers ne sont pas trop gros (donc il est facile d'y trouver ce qu'on y cherche).
Ici, le code n'est pas tellement un problème. Ce qui importe ici, c'est l'architecture.
Pour un système de match making simple et pas trop cracra, tu peux avoir une table joueurs (j'imagine que tu l'as déjà) avec une colonne numérique pour le niveau de ce joueur, et une colonne booléenne qui indique si le joueur est en recherche d'un combat ou non.
A chaque fois qu'un joueur s'inscrit à la recherche, tu peux chercher s'il y a 6 joueurs du même niveau dans la recherche. Si oui, tu crées un combat (dans une table idoine) ainsi que 6 combattants (la table combattant contient une colonne pour l'ID du joueur, une autre pour l'ID du combat et toute les informations dont leur personnage aura besoin) et tu modifies les joueurs pour qu'ils ne soient plus en recherche. Si non, il ne se passe rien et le script sera relancé quand un joueur s'inscrira en file d'attente.