JeuWeb - Crée ton jeu par navigateur
Map dans un fichier - 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 : Map dans un fichier (/showthread.php?tid=1954)



Map dans un fichier - phenix - 02-11-2007




RE: Map dans un fichier - Sephi-Chan - 02-11-2007

Je suis trop fatigué pour analyser tout ça, mais à mon avis tu devrais te tourner vers une solution de stockage par fichier XML. Il te sera bien plus facile de raisonner avec des nœuds, attributs et autres. Il te sera donc bien plus aisé de maîtriser tes boucles.

Exemple avec ce fichier XML qui permet de générer cette carte. Les cases sont moins nombreuses mais l'idée y est, le traitement revient au même. Wink


Sephi-Chan


RE: Map dans un fichier - Scha - 02-11-2007

Salut,

Je n'ai pas bien saisi comment ton personnage devait se déplacer, (tu changes le $pos ?)...

Mais quoiqu'il en soit, tu devrais copier/coller ceci à la place de ton tableau, c'est l'équivalent (sauf petites erreurs de syntaxe ?), et ça sera plus facile pour tes tests, et moins fatiguant pour tes mains :

Code PHP :
<?
echo '<table border="3" cellspacing="1">';
for (
$x=-5;$x<6;++$x)
{
echo
'<tr>';
for (
$y=-5;$y<6;++$y)
{
$modul = $x*11+$y;
if (
$modul==0)
$contenu = '<img src="image/me.gif">';
else
$contenu = '&nbsp;';

echo
'<td background="image/'.recup_img($r[$pos + $modul]).'" class="map">'.$contenu.'</td>';
}
echo
'</tr>';
}
echo
'</table>';
?>
+


RE: Map dans un fichier - phenix - 02-11-2007

Citation :Je n'ai pas bien saisi comment ton personnage devait se déplacer, (tu changes le $pos ?)...

Oui, tu change $pos. La position n'est pas un X,Y, mais le numéro d'un caractère de la chaine ... chaine qui serait transformé en map...

Merci pour le tableau, seulement sa ne corrige pas l'erreur :rip:


Citation :Exemple avec ce fichier XML qui permet de générer cette carte. Les cases sont moins nombreuses mais l'idée y est, le traitement revient au même. 16

Heu... tu dis que le traitement revient au même, seulement le résultat n'est pas le même.

Avec un fichier texte comme celui que j'ai utilisé, visualié la map dans sont ensemble étais très rapide. De même son encodage l'étais aussi... Avec un fichier comme le tient, il me faudras entré toute les coordonné à la mains...

Bref, oui un fichier XML (faudra que j'apprend comment sa marche) mais si il y a moyen de le faire en fichier comme au dessus (ce dont je doute de plus en plus) je serais preneur.

Amicalement,

phenix


RE: Map dans un fichier - Scha - 02-11-2007

phenix a écrit :Oui, tu change $pos. La position n'est pas un X,Y, mais le numéro d'un caractère de la chaine ... chaine qui serait transformé en map...
Souhaites-tu que la map bouge autour de ton perso, ou bien est-ce le perso qui bouge sur une map fixe ?


RE: Map dans un fichier - phenix - 02-11-2007

le perso bouge sur une map fixe.


RE: Map dans un fichier - Scha - 02-11-2007

Dans ce cas, je ne comprend pas pourquoi tes cases (fixes) contiennent la variable $pos...
Que dirais-tu d'un truc dans ce genre ? :
Code PHP :
<?

$pos
=//ce que tu veux entre 1 et 121;

echo '<table border="3" cellspacing="1">';
for (
$x=0;$x<11;++$x)
{
echo
'<tr>';
for (
$y=1;$y<12;++$y)
{
$modul = $x*11+$y;
if (
$modul==$pos)
$contenu = '<img src="image/me.gif">';
else
$contenu = '&nbsp; ';

echo
'<td background="image/'.recup_img($r[$modul]).'" class="map">'.$contenu.'</td>';
}
echo
'</tr>';
}
echo
'</table>';



?>

+


RE: Map dans un fichier - phenix - 02-11-2007

C'est persque bon, seulement:

- la première case est sauté...

- ma dernière n'est pas lue...

:respect:

Ha mon avis c'est le boucle qui ne vont pas, seulement j'arrive pas encore a débuggé...

Merci pour ton aide.


RE: Map dans un fichier - Scha - 02-11-2007

Dans ce cas, la boucle $y doit peut-être être comme celle des $x:
for ($y=0;$y<11;++$y)
A+ :-)