Bonjour à tous,
Je tiens à vous faire part d'un problème que je me pose depuis 2 jours. Je suis actuellement en train d'imaginer sur papier un projet, et qui me pousserait à utiliser des technos que je ne connais pas très bien.
Il s'agit d'un jeu tour par tour, (genre bataille navale ou pictionary), que j'aimerais faire en HTML5/JS (pour l'instant je penche pour Node.js).
Le problème c'est que je suis à l'origine plutôt orienté Java, et j'ai l'habitude de travailler avec des threads, ce qui me permet d'imaginer mes applications plutôt simplement, mais là avec Node.js et le javascript en général je bloque.
J'ai déjà utilisé Node.js pour faire un système de chat multi-salles. Et cela fonctionnait très bien. Sauf que là, le projet s'avère légèrement plus compliqué.
Alors voilà, j'aimerais faire en sorte qu'il y est à l'image de plusieurs salles pour un chat, plusieurs parties en cours.
Par exemple, le joueur N°1 se connecte au site, et décide de créer une partie. La partie s'ajoute dans une liste, et le joueur N°2 se connecte et décide de joindre cette partie.
Pendant ce temps, le joueur N°3 a quant à lui lancé une autre partie, et le joueur n°4 l'a rejoint.
Ce que j'ai du mal à me représenter, est que sachant que à la connexion du joueur n°2 par exemple, la partie se lance, et donc le joueurs N°1 a 5 minutes pour jouer puis c'est au joueur N°2.
Je pense que je devrais pouvoir lancer une sorte de timer sur le client joueur n°1, qui une fois terminé, recontacta le serveur qui lancera un timer sur le client du joueur n°2 (ça sera à lui de jouer).
Sauf que si je fais cela, comment faire si j'ai besoin que le JS réagisse directement lors des évènements de la souris par exemple ? Cela fonctionnerait ?
De plus il me semble que setTimeout() ne fonctionne pas toujours (pour le timer côté client), est-ce le cas avec Node.js ?
Comment auriez-vous procédé ?
Pensez-vous que les outils sont les bons pour ce projet ?
Merci
Partager