31-07-2018, 02:33 PM
(Modification du message : 01-08-2018, 03:08 AM par Sephi-Chan.)
Hey, j'suis en train de faire un système de matchmaking un peu comme sur League of Legends : C'est un système de combat en 3v3, le joueur s'inscrit dans la file d'attente et dès qu'il y a les 6 joueurs inscrit on lance la partie.
Alors j'ai bidouiller et j'ai réussi à parvenir à mes fins, le seul problème étant qu'il y a une boucle infini dans mon script ce qui fait... planter le jeu.
Grosso modo le joueur est bien enregistrer dans la base de donnée, mais comme je vous l'ai dit il y a une boucle infinie... Dans ma table combat_connexion, je réunit l'id des 6 joueurs ainsi que l'id du combat. je vous montre donc ma boucle :
Tant que le membre n'est pas enregistrer en BDD, on cherche une partie ou le niveau du joueur est équivalent à celui des autres joueurs inscrits. (pour équilibrer les combats)
Si j'enlève ma boucle, le joueur est obligé de s'inscrire plusieurs fois jusqu'à trouver un combat... La boucle s'occupe donc de chercher un combat automatiquement.
Le problème est que la boucle ne s'arrête jamais, malgrès le fait que j'actualise les valeurs de $donnee['id_joueur1'], $donnee['id_joueur2'] etc... dans ma boucle
pouvez-vous m'aider svp? je peux vous montrer l'intégralité du script si nécessaire
Alors j'ai bidouiller et j'ai réussi à parvenir à mes fins, le seul problème étant qu'il y a une boucle infini dans mon script ce qui fait... planter le jeu.
Grosso modo le joueur est bien enregistrer dans la base de donnée, mais comme je vous l'ai dit il y a une boucle infinie... Dans ma table combat_connexion, je réunit l'id des 6 joueurs ainsi que l'id du combat. je vous montre donc ma boucle :
$req_co = $bdd->prepare("SELECT * FROM combat_connexion WHERE id_joueur1 = " . $id . "
OR id_joueur2 = " . $id . "
OR id_joueur3 = " . $id . "
OR id_joueur4 = " . $id . "
OR id_joueur5 = " . $id . "
OR id_joueur6 = " . $id . " ");
$req_co->execute();
$donnee = $req_co->fetch();
while(!isset($donnee['id_joueur1']) OR !isset($donnee['id_joueur2']) OR !isset($donnee['id_joueur3']) OR !isset($donnee['id_joueur4']) OR !isset($donnee['id_joueur5']) OR !isset($donnee['id_joueur6']))
{
Tant que le membre n'est pas enregistrer en BDD, on cherche une partie ou le niveau du joueur est équivalent à celui des autres joueurs inscrits. (pour équilibrer les combats)
Si j'enlève ma boucle, le joueur est obligé de s'inscrire plusieurs fois jusqu'à trouver un combat... La boucle s'occupe donc de chercher un combat automatiquement.
Le problème est que la boucle ne s'arrête jamais, malgrès le fait que j'actualise les valeurs de $donnee['id_joueur1'], $donnee['id_joueur2'] etc... dans ma boucle
pouvez-vous m'aider svp? je peux vous montrer l'intégralité du script si nécessaire