IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

PHP et Websocket : librairie RATCHET


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Points : 134
    Points
    134
    Par défaut PHP et Websocket : librairie RATCHET
    Bonsoir !
    Je fais un petit jeu; je cherchais du temps réel et avais opté pour AJAX. Tout était ok mais quand même ces écoutes toutes les 1/2 secondes ça paraissait pas optimisé. Le site est là : https://fourmisenfolie.yj.fr/
    Peu fan de JS, et lisant que Ratchet proposait un système de Websocket via PHP, j'ai recommencé. Les tutos réalisés, c'est ok pour le chat.
    Ma problématique : Un joueur effectue une action : déplacement. Je fais les update sql, actualise la tuile sur laquelle il se trouve à présent. Pour lui tout est ok.
    Maintenant, comment faire pour que les autres joueurs soient informés de son déplacement cad que l'image de son perso quitte la case? Car les autres joueurs sont passifs, je ne peux pas les identifier.




    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
    40
    41
    42
    43
    44
    $data = json_decode($msg, true);
     
            switch ($data['contexte']) {
     
                case "Chat":
     
                    break;
     
                case 'Deplacement':
     
                    $Contexte=$data['contexte'];
                    include_once "../../z_SeDeplacer.php";
     
                    /*Pour le joueur à l'origine de l'action*/
                    $data1=Deplacement($data["direction"],$data["idJoueur"],"Moi",$data["idTuileDepart"]);
                    $data1['contexte']=$Contexte;
     
                    /*Pour les autres joueurs*/
                    $data2=Deplacement($data["direction"],$data["idJoueur"],"PasMoi",$data["idTuileDepart"]);
                    $data2['contexte']=$Contexte;
     
                    break;
     
                default:
                    # code...
                    break;
            }
     
            foreach ($this->clients as $client) {
                    if ($from == $client) {
     
                        $data1['from']="Moi";
                        $client->send(json_encode($data1));
     
                    }
                    else {
                        $data2['from']="PasMoi";
                        $client->send(json_encode($data2));
    //mais en fait j'ai besoin de savoir si le joueur actif a quitté la case du joueur passif.........
     
     
                    }
     
            }
    (après en JS suivant si le tableau["from"] vaut Moi ou PasMoi j'actualise les images des persos.

    Désolé par avant si (1) le post n'est pas au bon endroit (2) les termes de ce message sont peu clairs (je ne suis pas développeur de profession)
    Merci d'avoir lu!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 248
    Points : 134
    Points
    134
    Par défaut
    Ah je déraille... Suffit d'avoir l'id Tuile côté client du joueur passif. Si la nouvelle Tuile atteinte ou la tuile quittée par le joueur actif correspond à la tuile du joueur passif alors dans data il faut avoir le nouveau nb de perso sur la case.

    Quand je vois les exemples sur GitHub... c'est chaud quand même, je joue avec plus fort que moi là!

    Hasta luego!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Php] Associer une librairie de classes à un projet
    Par RunCodePhp dans le forum NetBeans
    Réponses: 2
    Dernier message: 23/05/2010, 11h34
  2. [GD] Création de graphes statistiques et géométriques avec PHP et la librairie GD
    Par andry.aime dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 24/09/2009, 10h59
  3. Ajax et PHP : la bonne librairie
    Par thierryler dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/01/2009, 04h20
  4. [Joomla!] CMS PHP pour une librairie en ligne ?
    Par misterphil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/01/2008, 16h32
  5. [Apache&PHP] Activation des librairies.
    Par Folken Laëneck dans le forum Apache
    Réponses: 2
    Dernier message: 09/10/2006, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo