IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème création d'une Map pour un jeu


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Points : 121
    Points
    121
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est normal que tu aies deux fois la même condition ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  3. #3
    Membre régulier Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Points : 121
    Points
    121
    Par défaut
    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

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Construis un seul tableau pour ta carte : $map[$x][$y] = contenu

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/02/2013, 12h32
  2. Gestion d'une map pour jeu 2D
    Par G'rominet dans le forum Développement 2D, 3D et Jeux
    Réponses: 40
    Dernier message: 13/07/2009, 11h49
  3. Réponses: 5
    Dernier message: 26/05/2005, 16h40
  4. Création d'une GDB pour Firebird
    Par ada_b dans le forum Débuter
    Réponses: 2
    Dernier message: 03/12/2004, 08h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo