JeuWeb - Crée ton jeu par navigateur
[Résolu] Modification éditeur de carte - 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] Modification éditeur de carte (/showthread.php?tid=3068)



[Résolu] Modification éditeur de carte - Shanks224 - 20-09-2008

Bonjour bonjour, :respect:
Ben voila, je ne vais pas tourner autour du pot :non: je vous explique mon problème :

Pour mon jeu, le joueur pourra se déplacer sur une map quadrillée, mais pour ne pas avoir très difficile (et que ça ne me prenne pas trop de temps) j'ai décidé d'utiliser un créateur de map, mais évidemment, je ne l'ai pas créé de a à z Wink je n'ai presque aucune connaissance en javascript et faire un éditeur de carte sans js, c'est quasi-impensable (enfin, de mon point de vue Wink ).
Donc, en bon paresseux, j'ai cherché différents editeur de map "tout fait" sur internet et j'en ai finalement trouvé un sur codes-sources (si je me souviens bien... ). Il est presque parfait, mais comme prévu, il faut toujours un peu améliorer les scripts "à sa sauce" Wink .

Le problème dans le script, c'est que pour charger les differentes images de la carte, les liens des images avaient été écrites "à la main" dans le script, mais moi je prefere faire des boucles pour ne pas m'amuser à modifier le code a chaque nouvelle image...

Bon desolé pour la longue introduction, mais voici le problème en concret, lorsque cette partie du code est effectuée par le serveur
Note :
${'liste_fichiers_'.$n_fichiers} : une array contenant les liens des différents images de la map

Code PHP :
<?php 
if ($change != 'del') {
switch (
$change) {
/*MES MODIFICATIONS*/
while((isset(${'liste_fichiers_'.$n_fichiers} )) AND $n_fichiers <= 50)
{
if(isset(${
'liste_fichiers_'.$n_fichiers}[$id_images]))
case ${
'liste_fichiers_'.$n_fichiers}[$id_images] :
else
$n_fichiers++;
$id_images++;
}

/*FIN DE MES MODIFICATIONS*/
/* ce qui était dans le code original :
case 'route/herbe/hb.gif':
case 'route/herbe/gd.gif':
case 'route/herbe/db.gif':
case 'route/herbe/dh.gif':
case 'route/herbe/gb.gif':
case 'route/herbe/gh.gif':*/
$_SESSION['tab'][$pos[0]][$pos[1]] = array('img' => $change, 'movable' => 1);
break;
default:
$marche = ($herbes[$posChange] == 'ARBRE/TERRE/BORD_B.GIF') ? 0 : 1;
$_SESSION['tab'][$pos[0]][$pos[1]] = array('img' => $herbes[$posChange], 'marche' => $marche, 'movable' => 0);
}
} else {
$_SESSION['tab'][$pos[0]][$pos[1]] = array('img' => '', 'tag' => 0);
}

il me renvoie l'erreur suivante :

Citation :Parse error: syntax error, unexpected T_WHILE, expecting T_CASE or T_DEFAULT or '}' in C:\wamp\www\site\admin\Creer les iles (les cartes)\loadmap.ajax.php on line 198

La ligne 198 correspond au debut de ma boucle (juste apres "mes modifications"). J'ai dejà essayé le script pour afficher les différentes images sur une page web et il n'y avait aucun soucis, mais le problème, je crois que c'est parce qu'il y a une boucle dans un switch...

Si ce n'est pas clair (c'est fort possible Undecided) demandez-moi de réexpliquer la partie que vous n'avez pas compris (ne mettez pas un simple "jcompren rien" s'il vous plait Wink )


RE: Modification éditeur de carte - Ruz - 20-09-2008

Ton WHILE n'a pas sa place...

Switch()
{
cas 1: ... (a la rigueur un while ici) break;
cas 2: ... break;
default: ... break;
}

tu parles pas anglais, rassures moi?
parce que bon, c'est super bien dit:
Parse error: syntax error, unexpected T_WHILE, expecting T_CASE or T_DEFAULT or '}' in C:\wamp\www\site\admin\Creer les iles (les cartes)\loadmap.ajax.php on line 198

Erreur de syntaxe : WHILE inattendu, attend CASE ou DEFAULT OU } in ... 198


RE: Modification éditeur de carte - Shanks224 - 21-09-2008

ben non désolé, je parle pas anglais, mais je comprends encore les erreurs php... Mais généralement quand j'avais des erreurs, il y avait une solution en écrivant le code d'une manière particulière... Tant pis, j'essaierais de me débrouiller alors...

merci quand même d'avoir répondu


RE: Modification éditeur de carte - Anthor - 21-09-2008

Ben l'erreur est simple, il attend un case au lieu d'un while.


RE: Modification éditeur de carte - Shanks224 - 21-09-2008

oui, je sais, mais je me demandais simplement si il y avait moyen de mettre les cas dans un boucle mais apparement non... Mais ça va maintenant, j'ai modifier un peu le script et je n'ai plus besoin de la boucle... Merci quand même...
Je vais mettre resolu dans le titre du topic


RE: Modification éditeur de carte - Ruz - 21-09-2008

oui, c'est ce que j'expliquais...

il te faut un "case" pour exécuter le "while" derrière. (mais comme on a aucune idée du contexte, on peut pas te pondre ton case...)


RE: [Résolu]Modification éditeur de carte - Shanks224 - 21-09-2008

moi-même j'ai du mal a comprendre le script que j'utilise vu qu'il a été fait par un autre, ce que j'ai tout simplement fait, c'est que j'ai fait un autre script qui s'est amusé a écrire les liens des images dans un fichier texte et après, je les ai copier-coller dans le script avec les autres "case" , au lieu de les écrire dans la boucle...
Désolé, je n'avais pas donné tout le script, mais il etait assez compliqué...
Comme d'habitude un programmeur(debutant dans mon cas) finit toujours pas trouver la solution a son problème ^^