JeuWeb - Crée ton jeu par navigateur
Une map bien définie - 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 : Une map bien définie (/showthread.php?tid=1894)

Pages : 1 2 3 4


RE: Une map bien définie - Kassak - 20-11-2007

Le skin du joueur s'affiche sur toute la map?

Tu n'a donc pas verifié si a la case x et y générée il y a quelqu'un Wink

Pour mon cas, dans ma boucle qui ressemble a la tienne, je cherche d'abord la case ou se trouve NOTRE joueur, j'y affiche alors l'image correspondant, et ensuite, a chaque fois que l'on tombe sur un autre joueur, j'affiche son image Wink

Et une requête dans une boucle a mon avis c'est pas top moumoute, moi j'ai fais la requete avant, je cherche tous les joueurs present sur la map, et ensuite dans ma boucle, je fias un truc du genre if(empty$joueur blblabla...)


Tu piges?


RE: Une map bien définie - Deenesse - 20-11-2007

Donc en faite je devrais faire un requete en dehors de mes boucles où je recherche les coordonnées de mon joueur. A cet endroit j'affiche l'image.

Et je fais de meme avec le reste des joueurs.

Ou bien je fais une seule requète qui génère toutes les coordonnées de tous les joueurs puis j'affiche leur skin respectif ?

Exemple :
Code PHP :
<?php 
if(empty($posy) AND empty($posx))
{
}
else
{
echo
"On affiche le skin";
}
Comme ceci ??

Mais la boucle je l'insert direct dnas la "class" de td ?


RE: Une map bien définie - Deenesse - 25-11-2007

Bon alors je me suis beaucoup aider d'un tuto de Carlou (que je remercie au passage ^^).
J'arrive bien à afficher mes avatars si les joueurs en ont un mais je n'arrive pas à mettre comme titre aux images leur pseudo.
Code PHP :
<?php 
$sq2
= 'SELECT nom, couleur, avatar, posx, posy, nom FROM persos WHERE posx between '.$x_debut
.' and '.$x_fin.' AND posy between '.$y_debut.' and '.$y_fin.' ORDER BY posx DESC,posy DESC';
$req = mysql_query($sq2) or die(mysql_error());
while (
$data = mysql_fetch_array($req)) {
if (empty(
$TabMAP[$data['posx']][$data['posy']]) and !empty($data['avatar']))
{
$TabMAP[$data['posx']][$data['posy']] = $data['avatar'];

}
else
{
$TabMAP[$data['posx']][$data['posy']] = $data['couleur'];

}
}

Donc là on va rechercher les persos entre tel x et tel y.

Code PHP :
<?php 
if(!empty($TabMAP[$x][$y]))
{
//si on tombe sur un autre joueur


echo '<td><img src="'.$TabMAP[$x][$y].'" height="40" width="40" title="'. $PSEUDO_JOUEUR .'"></td>';

Je voudrais savoir comment faire pour avoir une variable $PSEUDO_JOUEUR Smile

Merci d'avance Wink


RE: Une map bien définie - jo_link_noir - 25-11-2007

tu cré un tableau avec le nom des joueurs et tu les rajoute quand il y a en un
Code PHP :
<?php 
$sq2
= 'SELECT nom, couleur, avatar, posx, posy, nom FROM persos WHERE posx between '.$x_debut
.' and '.$x_fin.' AND posy between '.$y_debut.' and '.$y_fin.' ORDER BY posx DESC,posy DESC';
$req = mysql_query($sq2) or die(mysql_error());
while (
$data = mysql_fetch_array($req)) {
if (empty(
$TabMAP[$data['posx']][$data['posy']]) and !empty($data['avatar']))
{
$TabMAP[$data['posx']][$data['posy']] = $data['avatar'];
$TabPseudo[$data['posx']][$data['posy']] = $data['nom'];
}
else
{
$TabMAP[$data['posx']][$data['posy']] = $data['couleur'];

}
}

puis après tu affiche
Code PHP :
<?php 
if(!empty($TabMAP[$x][$y]))
{
//si on tombe sur un autre joueur


echo '<td><img src="'.$TabMAP[$x][$y].'" height="40" width="40" title="'. $TabPseudo[$x][$y] .'"></td>';

par contre, je suis pas sûr que t'es bien comprit le tuto...


RE: Une map bien définie - Deenesse - 25-11-2007

Je pense avoir compris le tuto mais ce qui me pose un gros problème c'est les tableaux >.<

Merci de ta réponse Wink


RE: Une map bien définie - Sephi-Chan - 25-11-2007

Deenesse a écrit :Je pense avoir compris le tuto mais ce qui me pose un gros problème c'est les tableaux >.<
Qu'est ce qui te pose problème avec les tableaux ? N'hésite pas à poser des questions à ce sujet, car ils sont réellement indispensable !


RE: Une map bien définie - Kassak - 25-11-2007

Je me suis aussi servi du tuto de carlou pour faire ma map, et je l'ai bien étudié, en long en large et en travers, car vu comment je l'ai modifié pour en faire ce qu'il en ai maintenant, je pense que je l'ai plutôt bien compris Wink

Donc n'hésite pas a poser toutes tes questions comme le dit Sephi Chan Wink


RE: Une map bien définie - Deenesse - 25-11-2007

Ben en faite je ne sais pas trop comment les initialiser.
Si on prend l'exemple du tuto de Carlou, on a :

Code PHP :
<?php 
if (empty($TabMAP[$data['posx']][$data['posy']]) and !empty($data['avatar']))
{
$TabMAP[$data['posx']][$data['posy']] = $data['avatar'];

Donc si le tableau TabMap[x][y] est vide on lui donne la valeur de $data['avatar'].

Mais sachant que la requète $data recherche aussi le nom et le skin du joueur peut on créer un tableau TabJoeur[nom][skin] ??
Ou faut-il toujours garder [x][y] pour créer un tableau ?

Et peut on créer un tableau sous la forme $Tab[ici] ? Ou faut-il 2 variables ?


RE: Une map bien définie - Kassak - 25-11-2007

J'ai du mal a comprendre ta question^^

Mais avec $TabMAP[$data['posx']][$data['posy']] = $data['avatar'];

tu va creer une variable $TabMAP[$x][$y], qui aura comme valeur l'avatar du joueur.

Apres tu peux faire de même avec le pseudo :

$TabMAP_pseudo[$data['posx']][$data['posy']] = $data['pseudo'];

Qui va créer une variable $TabMAP_pseudo[$x][$y] qui contiendra le pseudo du joueur.


Ensuite, dans tes boucles ou tu affiches ligne par ligne la carte, avec les joueurs etc....si sur une case X et Y il y a un joueur, tu affiches son image :

if(!empty($TabMAPjoueur[$x][$y])){
<img src="skin/<? echo $TabMAPjoueur[$x][$y]?>.gif">
}

Si la variable $TabMAPjoueur[$x][$y] contient Deenesse, alors l'image s'apellera Deenesse.gif ou .ce_que_tu_veux


Ca t'éclair un peu? Je fais du HS?^^


RE: Une map bien définie - Deenesse - 25-11-2007

Ca j'avais compris ^^ mais ce que j'aimerais savoir c'est si on peut créer un tableau avec une seule "entrée" :

A la place de $TabMAP_pseudo[$x][$y] = $data['nom'] ; on met :
$Tab[$nom] = $data['nom'] ;

Est ce possible ?