Bonsoir à tous !
J'ai conçu un jeu dans lequel je voudrai mettre l'option 'réseau'. Effectivement, je voudrai proposer un mode multi-joueur en réseau local. Je sais comment réaliser un serveur et un client. La seule chose que je voudrai, c'est votre opinion sur la manière dont je vois la chose. Peut être que vous me conseillerez autre chose nettement plus efficace !
Voici un petit explicatif des échanges serveur/clients :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| SERVEUR -> En attente de connexion de deux joueurs
CLIENT 1 et 2 -> Se connecte au serveur et se mettent en attente d'une réponse du serveur. Le serveur va choisir au hasard le joueur qui commencera la partie
SERVEUR -> Deux clients connectés donc :
-Choix aléatoire d'un joueur (retourne aux clients une valeur booléenne, true pour un client et false pour l'autre client).
CLIENT -> Le joueur recevant la valeur :
-true : Joue ! Il commence la partie
-false : Se met en attente d'une réponse du serveur (recevoir données)
Le joueur1 joue ! Il envoie des coordonnées x et y (entier int) au serveur, qui lui les enverra au client en attente (joueur2). Le joueur 1 se met à sont tour en attente.
SERVEUR -> Reçoit coordonnées x et y et les transmets au joueur2
CLIENT 2 -> renvoie une coordonnée booléenne (true/false) au serveur pour signaler s'il a était touché ou non.
SERVEUR -> Transmet au joueur1
CLIENT 2 -> Joue à sont tour
etc ... |
Que pensez de cette méthode pour le transfert de données pendant un partie multi-joueur ?
Autres questions :
Le serveur ou le ce client recevra des valeurs soit de type entier (int) soit booléen (bool). Sachant que l'on utilise la méthode connect :
connect(nouveauClient, SIGNAL(readyRead()), this, SLOT(donneesRecues()));
Le problème c'est que dès que l'on reçoit des données on va dans la fonctionne donneesrecues().
Donc mes deux questions sont :
-Une fois les données reçues comment peut on reconnaitre le type (bool ou int) des données reçues ? Car si c'est une réponse bool on ira pas dans la même méthode que celle avec les coordonnées (int)
-A propos des deux coordonnées x et y. Peut on envoyer deux variable int en même temps ?
Merci d'avance
Cordialement
Ju
Partager