Bonjour
Je suis en train de créer un jeu de carte qui utilise une liste de mot présent dans la base de donnée (chaque carte dispose d'une lettre). Le jeu se fait coté client avec une requête AJAX pour accéder à la base de donnée coté serveur.
Je dispose coté serveur de deux fichiers :
verifexiste.php et fonction.php
verifexiste.php est le script exécute avec AJAX et il utilise notamment 2 fonctions :
verifmotexiste() qui prend en paramètre un mot et vérifie s'il est présent dans la base de donnée. Il renvoie true si le mot est présent et false sinon.
trouvermot() qui prend en paramètre un tableau de 5 lettres et qui va essayer de faire un mot avec les lettres disponible soit un mot d'un nombre de lettre aléatoire entre 3 et 5 et s'il ne trouve pas un mot il essaiera un mot de 2 lettres. La fonction renvoie le mot trouver et s'il n'y en a pas ce mot est "". Il utilise la fonction verifmotexiste().
Mon script verifexiste.php a deux utilités :
- lorsque c'est à l'utilisateur de jouer, permet de mettre ma variable javascript motexiste a true grace à la fonction verifmotexiste() pour indiquer que le mot choisie par l'utilisateur existe bien et donc faire le traitement adéquate.
- lorsque c'est l'intelligence artificiel qui joue (appelé castor), verifexiste.php va prendre en paramètre une variable castor (histoire de dire que c'est au castor de jouer) ainsi que les lettres dont dispose l'IA. Il va alors utiliser la fonction trouvermot(). Si un mot est trouvé il mettra la variable javascript motexiste a true et la variable javascript motcastor prenant le mot trouvé.
Lorsque c'est le joueur qui joue et que je désactive la fonction de recherche du mot coté client, je n'ai aucun problème (mis à part que la moitié de mon code est exécuté) mais si c'est ma fonction $mot=trouvermot($tlettre); que je met en commentaire, la ça ne fonctionne plus même en mettant une valeur bidon à ma variable $mot
Je vais vous donner une partie de mon code pour mon fichier verifexite.php pour ce qui concerne la partie de l'IA puisque je pense que le problème vient de la puisque le reste marche :
Mon client et mon serveur sont synchrone vu que j'ai besoin du résultat de mes variables pour continuer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php // Include include "fonction.php"; // Mes deux fonctions décrite au dessus // + un autre fichier pour les paramètres de ma base de données et les fonctions de sécurité // Connexion à la base de données // mes fonctions mysql_connect() et mysql_select_db() // Si c'est le castor qui joue if (isset($_POST['castor'])){ // Récupération des paramètres if (isset($_POST['a'])){ // première lettre $tlettre[1]=injection($_POST['a']); // je rentre ma lettre dans un tableau qui débute à un (pour garder une cohérence avec la partie javascript ou les emplacement de mes cartes sont numéroté à partir de 1. } // Je fais de même pour mes autres lettre soit les variables de b à e. // Récupérer le résultat //$mot=trouvermot($tlettre); // ma fonction qui me permet normalement de trouver mon mot $mot="blabla"; // comme j'utilise pas ma fonction, je met une valeur à mot non vide. if ($mot!=""){ echo "motexiste=true;"; echo "motcastor=".$mot.";"; // ma variable mot n'est pas encore utilisé coté client mis à part pour un affichage donc si elle ne correspond pas pour le moment au lettre donnés, ça ne change rien } } // Si c'est le joueur qui joue else{ // Récupération des paramètres if (isset($_POST['mot'])){ $mot=injection($_POST['mot']); } // Récupération du résultat if(verifmotexiste($mot)==true){ echo "motexiste=true;"; } } ?>
Partager