JeuWeb - Crée ton jeu par navigateur
Comment faire du tour par tour ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Comment faire du tour par tour ? (/showthread.php?tid=1750)

Pages : 1 2 3


Comment faire du tour par tour ? - HammHetfield - 04-04-2008

Bonjour à vous...

Je suis actuellement sur un jeu en php/html ou le joueur doit combattre des créatures, gager de l'exp, armes etc etc bref quoi de plus banal, jusque là, tout va bien. Seulement pour ajouter du piquant (et surtout parce que c'est un exercice que je me suis fixé :p) je voudrais y ajouter une "arena", c'est a dire proposer aux équipes de joueurs de s'affronter.

Je pense le faire au tour par tour, mais je ne sais pas comment faire pour ne pas faire déborder le traffic ou les serveurs...



Je ne sais vraiment pas comment faire, je pensais utiliser du AJAX pour actualiser la page régulièrement mais il y a peut etre d'autres alternatives que je ne connais pas...


RE: Tour par tour... mais comment? - Sephi-Chan - 04-04-2008

Effectivement, Ajax semble être la bonne solution dans ton cas. Smile


RE: Tour par tour... mais comment? - HammHetfield - 04-04-2008

Ca ne risque pas de surcharger les pages ou autre?


RE: Tour par tour... mais comment? - Sephi-Chan - 04-04-2008

Si tu ne recharges pas comme un sauvage toutes les 5 secondes, non. :p Si tu y vas méthodiquement et à intervalle plus espacés, ça devrait aller.


Sephi-Chan


RE: Tour par tour... mais comment? - HammHetfield - 04-04-2008

Ah... je pensais y aller comme un sauvage moi ^^

Nan mais en fait, la page se decouperait en 4 parties :

Une partie qui affiche la liste des actions OU les actions faisable quand c'est au tour du joueur.

une partie avec des icones des joueurs alliés et ennemis cliquable pour les attaques

un chat par team qui permet aux membres de communiquer en temps réel

un block aléatoire, qui peut définir (rarement) si un monstre extérieur vient attaquer au hasard ou pas...


Tout ca, il faut le recharger et j'ai peur que ca soit lourd, et en plus je maitrise pas JS...


EDIT :


Oulala, j'ai regardé dans google les script AJAX... je percute rien du tout, c'est super abstrait pour moi, et je doute qu'un copier - coller suffise!!!!!

Si quelqu'un peut me filer un coup de main, ca serait cool parce que la je doute un peu...


RE: Tour par tour... mais comment? - Lanwin - 04-04-2008

Je peux déjà te conseiller de te renseigner sur les librairies de fonctions JS. Pour ma part j'utilise jQuery, qui a pour avantage de bien simplifier l'Ajax et ces modules de rafraichissement de pages.

http://jquery.com

Un très simple exemple :
Code :
$("#up").load("update.php");
Ce code javascript, bien intégré après jQuery et deux trois petits trucs (que tu trouveras facilement sur la "doc/wiki" du site), te permet de rafraichir la div dont l'attribut id="up", en y ouvrant la page update.php

Si tu penses y aller comme un bourrain, pense éventuellement au rechargement d'une seule div (cachée pourquoi pas?) et de gérer dynamiquement les données par Javascript. Sinon tu peux recharger chaque partie individuellement mais à des espaces différents (pas tout d'un coup), sur des fichiers différents, faisant des requêtes différentes...

Amicalement,


RE: Tour par tour... mais comment? - HammHetfield - 04-04-2008

j'ai fais pas mal de recherches sur ce truc abominable depuis tout a l'heure, et je ne comprends strictement rien... le JS était djà une langue étrangère, mais la ca devient à la limite de l'insupportable!


HELP!!!


RE: Tour par tour... mais comment? - Harparine - 04-04-2008

Si tu as un serveur dédié, tu peux aussi voir du côté de l'installation d'un serveur socket couplé à une application Flash. Mais ça suppose d'apprendre le Flash...


RE: Tour par tour... mais comment? - Amrac - 04-04-2008

Pour l'ajax, je te conseil d'utiliser la librairie qui s'appelle "xajax", l'avantage est que si tu tape "xajax" dans google tu va tomber sur un tutoriel du site du zéro qui t'explique comment l'installer et faire un chat avec. (Ce qui est un très bon début).

Je t'invite aussi a suivre quelque tutoriels sur les bases du javascript, c'est un langage très désagréable à programmer (du moins, c'est mon avis) mais il est très utile.


RE: Tour par tour... mais comment? - Sephi-Chan - 04-04-2008

Si JQuery te semble compliqué de prime abord, c'est un peu normal. Par contre je dois te dire que du Javascript à la main est bien moins compréhensible qu'un script JQuery. Smile Tu écris facilement 5 fois moins de code inutile avec JQuery puisqu'il crée les boucle lui même.

Un simple exemple : tu souhaites, au chargement de la page, masquer tous les paragraphes qui ont la classe hidden.

Avec JQuery :
Code :
$(document).ready(function(){
    $("p.hidden").hide();
)};

En Javascript à la main :
Code :
onload = function(){
    var p_collection = document.getElementsByTagName('p');
    for(var i = 0, n = p_collection.length; i < n; i++){
        
        if(p_collection[i].getAttribute('class') == 'hidden'){
            p_collection[i].style.display = 'none';
        }
    }
};

Et il y a une petite différence, la version Javascript à la main ne gère pas le fait d'avoir plusieurs classes. Ainsi si on a : <p class="hidden infos">Paragraphe</p>, ça ne marchera pas en l'état (il faudrait compliquer encore plus le code), alors qu'avec JQuery, oui.


Sephi-Chan