JeuWeb - Crée ton jeu par navigateur
[Résolu] Problème de déplacement - 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 : [Résolu] Problème de déplacement (/showthread.php?tid=207)



[Résolu] Problème de déplacement - Arathor - 12-04-2008




RE: Probleme de déplacement - Belsion - 12-04-2008

J'arrête ma lecture à la 9ème ligne de ton code., y'en a une qui est déjà en train de râler...
Code :
$_SESSION['carte'] == 1;

Il y a un = en trop sur cette ligne. C'est une affectation que tu fais pas une égalité. Du coup, tu passes dans ta première condition à chaque fois.


RE: Probleme de déplacement - Lanwin - 12-04-2008

Code PHP :
<?php 
if ($_SESSION['carte'] != 1)//afin d'éviter de recharger le fichier à chaque déplacement
{
$_SESSION['posx'] = 40;//Position de départ
$_SESSION['posy'] = 73;
$carte = file_get_contents ('joueurs/arathor1.txt');//On va chercher le fichier
$ligne_creation = preg_split ('#[0-9]?[0-9]?\)#', $carte);//On selectionne les lignes dans un array
$_SESSION['carte'] == 1;
}

Je sais pas si ç'a à voir avec ton souci, mais les variables $carte et $lignecreation ne sont pas mises dans une variable de type SESSION. Donc s'il est prévu d'éviter le rechargement de la carte à chaque déplacement, il faudrait au moins que le fichier puisse la trouver quelque part Big Grin

Amicalement,


RE: Probleme de déplacement - Ziliev - 13-04-2008

Pi les suites de elseif c'est mal, le switch() a été inventé pour ca et marche beaucoup mieux Tongue J'ai eut beau chercher, j'avais pas remarqué le double égal, bravo.


RE: Probleme de déplacement - Anthor - 13-04-2008

utilise file(), au lieu de flie_gets_content et un preg_split

Ziliev a écrit :Pi les suites de elseif c'est mal, le switch() a été inventé pour ca et marche beaucoup mieux Tongue J'ai eut beau chercher, j'avais pas remarqué le double égal, bravo.

MDR, essaye de faire des benchs ^^ Ca ne change quasiment rien ! et le if reste plus rapide


RE: Probleme de déplacement - Arathor - 13-04-2008

Merci beaucoup pour vos réponses, ça marche parfaitement bien maintenant :respect: (en fin de compte, c'était juste une erreur bête de ma part)
Sinon, merci aussi pour vos conseils, je vais essayer d'utiliser la fonction file(), je ne connaissais pas cette fonction...

edit : elle est parfaite cette fonction, merci encore ^^


RE: Probleme de déplacement - denisc - 13-04-2008

Anthor a écrit :
Ziliev a écrit :Pi les suites de elseif c'est mal, le switch() a été inventé pour ca et marche beaucoup mieux Tongue J'ai eut beau chercher, j'avais pas remarqué le double égal, bravo.

MDR, essaye de faire des benchs ^^ Ca ne change quasiment rien ! et le if reste plus rapide
C'est plus pour la beauté du code et la facilité de relecture... J'utiliserai moi aussi switch, même si je perd quelques cycles Tongue


RE: Probleme de déplacement - Ziliev - 13-04-2008

J'ai fait des tests (bon j'avoue, c'était pas sur 6 ou 7 cas comme ici hein Tongue C'est sur que là c'est négligeable comme gain, à moins qu'ils soient plusieurs milliers à se déplacer en même temps ... T'facon en PHP l'optimisation pour la vitesse c'est vraiment du perfectionnisme inutile), le switch est au moins 2 fois plus rapide qu'une suite de elseif ou qu'un array (j'ai plus les valeurs exactes en tête m'enfin je dois encore avoir le script dans un coin ...). Pi t'facon c'est plus beau d'abord xp


RE: Probleme de déplacement - Yoda54 - 13-04-2008

Citation :le switch est au moins 2 fois plus rapide qu'une suite de elseif

Cela dépend du nombre de possibilités. Plus ce nombre est grand et plus le switch présente un gain de temps; mais cela reste très marginal (de l'ordre de 5% pour 8 possibilités).

Edit: typo