Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/05/2011, 11h24   #1
Membre régulier
 
Avatar de kazylax
 
Frédéric
Inscription : juillet 2007
Messages : 271
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juillet 2007
Messages : 271
Points : 90
Points : 90
Par défaut Problème création d'une Map pour un jeu

Bonjour,

J'ai un petit problème avec ma map de mon jeu
en faite la map est créer juste pour le joueur
ou il a ses terrains d'habitation avec les hotels etc...

Le problème quand j'affiche ses terrains qui la acheter
je l'ai vois en double a chaque fois alors que dans la bas de donnée
il y a que 2 terrains acheter.

Un exemple si le joueur achete le terrain a la position 2:2 elle affiche correctement si j'achete un autre terrain en 3:2 ou ailleurs a la ligne suivante elle s'affiche en double. je comprend pas pourquoi

Voila une image pour être le plus clair possible


voici le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
    $Mess .= '            
            <table width="100">
            <tr>
            <th width="100" class="tableau01">Les Terrains</th>
            </tr>
            <tr>
            <th class="tableau03">
            <table width="600" height="50">
            <tr height="10">';
 
        $sql5 = mysql_query("SELECT * FROM terrain WHERE pseudo='".$donnees['login']."' ") or die(mysql_error());
        while ($data = mysql_fetch_array($sql5)) 
        {
        if (empty($MAP[$data['posy']]))
        $MAP1[$data['posy']] = $data['posy'];
        $MAP2[$data['posx']] = $data['posx'];
        $MAP3[$data['posy']] = '<img src="img/Achat.png" height="32" width="32">';
        }
        mysql_free_result($sql5);
 
        for($posx=1;$posx<=$Terre;$posx++)
        { 
        for($posy=1;$posy<=10;$posy++)
        {
 
        if ($posy == 10){    
        $finligne = '</tr><tr>';
        }elseif ($posy == 10){
        $finligne = '</tr>';
        }else{
        $finligne = '';
        }
 
        if(!empty($MAP2[$posx]) && !empty($MAP1[$posy]))
        {
        $Mess .= '<th class="tableau02" valign="middle" width="10" height="1"><font color="red" face="Verdana" size="1">'.$MAP3[$posy].'</font></th>'.$finligne;
        }else{
        $Mess .= '<th class="tableau02" valign="middle" width="5" height="5"><font color="black" face="Verdana" size="1"><a href="general.php?Page=ID1&x='.$posx.'&y='.$posy.'"><img src="img/acheter.png" border="0" height="32" width="32" title="Acheter un batiment"></a></font></th>'.$finligne; 
        }
    }
}
        $Mess .= '</table></th></tr></table>';
Si vous avez une idée s'il vous plait car je bloque totalement

Merci
Cordialement,
kazylax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 12h09   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
C'est normal que tu aies deux fois la même condition ?
Code :
1
2
 if ($posy == 10){    
        }elseif ($posy == 10){
Sinon, il faudrait que ton code soit plus clair : a quoi correspondent $MAP1, $MAP2, $MAP3 et $posa ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 12h19   #3
Membre régulier
 
Avatar de kazylax
 
Frédéric
Inscription : juillet 2007
Messages : 271
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juillet 2007
Messages : 271
Points : 90
Points : 90
oui c'est pour la fin et le début du tableau si je met une seule condition le tableau ne s'affiche pas correctement.

Pour MAP1 MAP2 posa etc... c'est pour connaitre le résultat
de ma base de donnée et l'afficher dans le tableau de ma map

j'ai fait de mon mieux mes codes php sont pas très beau
a voir mais bon j'ai su faire que comme ceci

INFO: posa = la position X (J'ai changé le code pour posa c'est posx maintenant)

Merci
kazylax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 13h57   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Construis un seul tableau pour ta carte : $map[$x][$y] = contenu
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h09.


 
 
 
 
Partenaires

Hébergement Web