Tableau automatique pour jeu fait en Flash...

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 12:00

Bonjour !!!

Voila, j'ai fait un site. Et à l'intérieur, il y a une rubrique "mini jeux". Allez desus et vous verrez deux jeux, faites attention qu'au deuxième. Bon le but du jeu est marqué, il suffit de cliquer le plus de fois sur la souris en 30 secondes. Et au bout des 30 secondes, on a notre score qui s'affiche.

Et bien moi, je voudrais faire un système pour faire un tableau de score automatique. C'est à dire qu'à chaque fois que quelqu'un joue, son score se met dans un tableau présent sur le site, où seulement les 20 premiers scores s'afficheront.

Mais je ne vois pas comment faire à partu utiliser une base de données ce qui est sur...Alors pouvez vous m'aider svp ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 avr. 2005, 12:54

déjà il ny a pas de lien donc difficile d'aller voir le site ;)

effectivement tu peux t'orienter vers une base de données

une petite table score qui pourrait ressembler à ça :
id_score | nom_joueur | date | score

et à chaque fin de partie tu enregistres les infos correspondantes

puis pour l'affichage, dans ton SELECT tu les tries par ordre de score décroissant et tu ne prends que les 20 meilleurs

voilà une piste :)

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 13:01

désolé pour le lien, le voila : [url]http://membres.lycos.fr/biginfo[/url]

Oui mais tu dis qu'il faut que j'enregistre les infos, mais comment ?

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 13:02

désolé pour le lien : http://membres.lycos.fr/biginfo

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 avr. 2005, 13:21

ah ben là c'est la base, tu trouveras des tas de tutos et d'exemples pour accéder à une base de données et y enregistrer les données

en voici un : http://www.phpdebutant.org/article67.php

en gros, tu fais un script PHP qui va se connecter à la base, récupérer tes infos (score, joueur...etc) transmises dans l'url par exemple et va les insérer dans la table avec une requête SQL transmise par PHP

la page de doc contenant les fonctions PHP pour MySQL :
http://fr3.php.net/manual/fr/ref.mysql.php

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 13:32

Merci mais il y a un truc que je comprends pas !! Le tableau, il ne sera pas automatique !!?? Moi je veuxx qu'il s'automatise tout seul !!! Mais je ne vois pas comment faire !!! Tu pourrais pas m'aider stp ??

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 avr. 2005, 13:41

si il le sera

tu enregistres tous les scores d'un coté

et de l'autre, quand tu veux afficher ton tableau, tu sélectionnes uniquement les données dont tu as besoin

la requête donnera qqchose comme ça :

Code : Tout sélectionner

SELECT id_score, nom_joueur, date, score FROM scores ORDER BY score DESC // --> tu tries tous les résultats par score décroissant LIMIT 0,20 // tu ne prends que les 20 premiers résultats, donc les 20 meilleurs
à adapter à ta table bien sûr

donc ton tableau de score sera toujours à jour, quelque soit le nombre de scores que tu as enregistrés

c'est tout l'intérêt des bases de données ;)

est-ce que ça répond à ta question ?

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 13:45

ah oui d'accord !! Je comprends mieux !! C'est sympa de m'aider !!

Donc en faite si je comprends bien :
- je fais ma table avec comme champs : id, nom_du joueur, score, date
- je connecte ma base avec les paramètres
- ensuite je la deconnecte
-- Et les scores seront mis à jour, si quelqu'un fait un score, ce score avec son nom s'incrustera dans la table tout seul si j'ai bien compris !!??

Mais le truc :
- C'est que, je ne vois pas comment faire pour prendre le score en compte ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 avr. 2005, 14:09

heu c'est plus ou moins ça...


récapitulons :

d'une part pour enregistrer les scores
1 : le joueur joue et termine sa partie
2 : tu envoies les infos (nom, score...) de ton Flash vers un script PHP qui va enregistrer ses infos dans la table. Pour ce script tu peux t'aider du tuto que je t'ai donné
d'après ta question, je pense que c'est là que tu n'as pas compris :
tu dois TOI-MEME insérer chaque score par une requête SQL INSERT
les scores ne s'enregistreront pas automatiquement simplement en connectant la base

d'autre part pour afficher les scores
1 : un script PHP qui va récupérer les données de ta table, suivant l'exemple de requête SQL que je t'ai donnée
2 : ce script affiche directement les scores en HTML, ou tu peux les renvoyer vers ton Flash

voilà je crois que je ne peux pas être plus clair :)

à mon avis, développe d'abord un script simple qui enregistres tes score et un autre qui les récupère
tu verras l'interaction avec le flash ensuite

Eléphanteau du PHP | 21 Messages

09 avr. 2005, 14:20

Oui c'est très clair !!! Merci...

Mais (je suis dsl) mon problème, c'est que je ne vois pas comment enregistrer les scores (qui sont en flash) dans une variable (en php) !! Là je coule...je ne vois pas comment le faire ???

Et puis tu veux dire que à chaque fois qu'une partie sera jouée, il faudra que j'insert tout les scores...donc imaginons un jeu qui est joué toutes les mniutes, ça parait impossible à faire !! Il y a quand même une solution !! non ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 avr. 2005, 14:29

pour enregistrer des scores Flash en PHP :

admetons que ton script PHP exécute une requête INSERT pour enregistrer les variables :
$nom et $score

ces variables peuvent venir de n'importe où, de l'url par exemple, si ton script est appelé comme ça :
http://www.tonsite.com/insert_score.php ... o&score250

dans ton Flash tu as surement une variable qui contient le nombre de clic du joueur

tu peux donc la transmettre au script PHP par un loadURL() (si je me rappelle bien de la fonction)

pour le problème du nombre de score, tu peux très bien, à chaque fois que tu enregistres un, supprimer en même temps le score le plus faible

mais je te conseille encore une fois de commencer par faire ton script d'insertion de score en insérant une variable $score statique ( c a d que tu définis en dur dans ton code) et une fois que ça ça marche, tu peux attaquer à récupérer le score depuis le Flash

EDIT : réflexion faite il me semble que la fonction Flash à utiliser serait plutôt getURL() ou loadVariableNum() : à confirmer tout de même ça fait un bail ;)