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.
(après en JS suivant si le tableau["from"] vaut Moi ou PasMoi j'actualise les images des persos.
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......... } }
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!
Partager