JeuWeb - Crée ton jeu par navigateur
[Carte] Système et galaxie - 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 : [Carte] Système et galaxie (/showthread.php?tid=29)

Pages : 1 2 3 4 5 6 7 8


RE: Une map 5*5 : methode avec systeme et galaxie - max - 03-09-2006

bon ben mtn le truc de mot de passe, connection et tout c'est reglé!

avec des echo dans le code j'arrive a afficher le pseudo, la galaxie, position et tou! donc le problème ne vient plu de là
je vous redonne le code complet:

Code PHP :
<?php
session_start
();


mysql_connect("xxxx","", "");
mysql_select_db("xxxx");

$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM membres WHERE `pseudo`='$pseudo_membre'") or die(mysql_error());
$var = mysql_fetch_array ($requete);

$id = $var['id'];
$pseudo = $var['pseudo'];

// jusqu'ici, c'est comme d'hab, on viens chercher les
// informations du joueur.// recuperation des positions sur la carte du joueur
$requete2 = mysql_query("SELECT * FROM membres WHERE `pseudo`='$pseudo_membre'") or die(mysql_error());
$var2 = mysql_fetch_array ($requete2);
$galaxie = $var2['galaxie'];
$systeme = $var2['systeme'];
$position = $var2['position'];

//Changement de vue
if (isset($_POST['galaxie_select']) and isset($_POST['systeme_select'])) // Si cangement de vue
{
// si on a changé de vue, les coordonnee changent
$galaxie = $galaxie_select;
$systeme = $systeme_select;

}
else {
//sinon on garde les coordonnees du joueur
$galaxie = $galaxie;
$systeme = $systeme;
}





// Affichage de la barre de changement de galaxie et systeme
echo '<form action="galaxie.php" method="post">';
echo
'Galaxie : ';
echo
'<select name="galaxie_select">';
// on affiche la selection du systeme, ici 10 pour le test
for($galaxie_select=1;$galaxie_select<=10;$galaxie_select++){
if (
$galaxie_select == $galaxie){
$selected = 'selected';
}
else {
$selected = '';
}

echo
'<option value="'.$galaxie_select.'"'.$selected.'>'.$galaxie_select.'</option>';
}
echo
'</select>';

echo
' - Systeme : ';
echo
'<select name="systeme_select">';
// on affiche la selection du systeme, ici 200
for($systeme_select=1;$systeme_select<=200;$systeme_select++){
if (
$systeme_select == $systeme){
$selected = 'selected';
}
else {
$selected = '';
}
echo
'<option value="'.$systeme_select.'"'.$selected.'>'.$systeme_select.'</option>';
}
echo
'</select>';
echo
'<br><br>';
echo
'<input type="submit" value="Changer de carte"></form>';
// fin de l'Affichage de la barre de changement de galaxie et systeme





//depart de la carte
echo '<br><br><table width="300" border="1" cellspacing="0" cellpadding="0" align="center" height="300">';
echo
'<tr align="center" valign="middle" height="60">';//premiere ligne de la table

//on va chercher les autres joueurs presents sur cette galaxie et ce systeme

$sql = mysql_query("SELECT 'pseudo', 'galaxie', 'systeme', 'position' FROM membres WHERE galaxie ='".$galaxie."' and systeme ='".$systeme."' ORDER BY position DESC") or die(mysql_error());
while (
$data = mysql_fetch_array($sql)) {
if (empty(
$TabMAP[$data['position']]))
$TabMAP[$data['position']] = $data['position']; //je cree un tableau avec les positions
$TabMAP2[$data['position']] = $data['pseudo']; //je cree un tableau avec les pseudos
}
mysql_free_result($sql);

for(
$pos=1;$pos<=25;$pos++){ // on definit la taille de la carte - ici 25 cases

//*****Gestion des fins de lignes*****
if ($pos == 5 or $pos == 10 or $pos == 15 or $pos == 20){
// si on arrive en fin de ligne
//on ferme la ligne et on va a la ligne suivante
$finligne = '</tr><tr align="center" valign="middle" height="60">';
}
elseif (
$pos == 25){
// si on arrive en fin de tableau
//on ferme le tableau
$finligne = '</tr>';
}
//sinon
else
{
//on reste sur la meme ligne
$finligne = '';
}
//*****fin de la Gestion des fins de lignes*****

// si case 13 (centre de la carte), on affiche le soleil
if ($pos == 13){
echo
'<th align="center" valign="middle" width="60" height="60"><img src="soleil.jpg" alt="soleil" height="60" width="60"></th>'.$finligne;
}
else
// si un autre joueur existe sur une position de la carte
if(!empty($TabMAP[$pos])){
//on affiche sa flotte
echo '<th align="center" valign="middle" width="60" height="60"><img src="planete.jpg" alt='.$TabMAP2[$pos].' height="60" width="60"></th>'.$finligne;
}
else
//sino
{
// on affiche rien (moi j'ai mis les autres positions pour le test. suffit de faire ctrl+a pour voir apparaitre les positions
echo '<th align="center" valign="middle" width="60" height="60">'.$pos.'</th>'.$finligne;
}
}
echo
'</table>'; // on ferme le tableau


echo "$pseudo";
echo
"$galaxie";
echo
"$systeme";
echo
"$position";
// ces echo affichent bien ce qu'ils doivent afficher

?>

j'avance, j'avance.... a pas de fourmi! en 3 jours et avec l'aide (bien que minime! lol) de jo, j'arrive toujours pas a afficher les pseudo a leurs place dans les cases de la galaxie....
estce que qqn a deja testé ce script?


RE: Une map 5*5 : methode avec systeme et galaxie - Ssin - 03-09-2006

C'est bien cela le problème de faire du c/c de script donnés et de changer les variables après Confused

La prochaine fois, essaye de t'en inspirer et de l'écrire toi Wink

Sinon, tu peut juste re-préciser ton problème, voire ce que nos aides ont changer ?

Merci Wink


RE: Une map 5*5 : methode avec systeme et galaxie - max - 03-09-2006

et oui je m'avoue coupable...
mais ca fé pa vrémen lougtemps que jconé le php... et jdoi me dépecher d'en aprendre le + et de coder le + possible pour créer mon jeu avec jo car on a 16ans et avec la rentré ca sera super dur...

sinon jdisais que j'arrivait a afficher la valeur des variables $pseudo, $galaxie,$systeme et position avec des echo (a la fin du code) mais que j'arrivais pas a les mettre dans les "cases" du menu galaxie a proprement parler.

en fait dans les cases ca affiche le numero des positions, j'ai l'impression de toujours etre dans le "else" de cette partie du script:


Code PHP :
<?php 
// si un autre joueur existe sur une position de la carte
if(!empty($TabMAP[$pos])){
//on affiche sa flotte
echo '<th align="center" valign="middle" width="60" height="60"><img src="planete.jpg" alt='.$TabMAP2[$pos].' height="60" width="60"></th>'.$finligne;
}
else
//sino
{
// on affiche rien (moi j'ai mis les autres positions pour le test. suffit de faire ctrl+a pour voir apparaitre les positions
echo '<th align="center" valign="middle" width="60" height="60">'.$pos.'</th>'.$finligne;
}



RE: Une map 5*5 : methode avec systeme et galaxie - Ssin - 03-09-2006

Euh, juste une question, elle est définie ou ta variable $pos (j'éspère que c'est pas sa l'erreur sinon :tusors: Wink ) ?


RE: Une map 5*5 : methode avec systeme et galaxie - carlou - 03-09-2006

Code PHP :
<?php 
//on va chercher les autres joueurs presents sur cette galaxie et ce systeme

$sql = mysql_query("SELECT 'pseudo', 'galaxie', 'systeme', 'position' FROM membres WHERE galaxie ='".$galaxie."' and

ya une erreur ici

tu fais select 'pseudo' etc
faut virer les ' ' et ca marche nickel


RE: Une map 5*5 : methode avec systeme et galaxie - Ssin - 03-09-2006

Il a dit qu'il arrivait à afficher les noms, donc je pense pas que ca vienne de la ...

Je crois surtout qu'il a pas défini $pos et donc que tout ton script ne peut pas marcher, car aucun if() peut etre éxécuter.

Tu as oublié selon moi de remplacer $pos par ta variable $position.


RE: Une map 5*5 : methode avec systeme et galaxie - carlou - 03-09-2006

nono tout le reste est bon, le $pos viens du for
g teste son script et c bien les ' ' le pb



RE: Une map 5*5 : methode avec systeme et galaxie - Ssin - 03-09-2006

Alors pourquoi arrive t'il à les affichers avec echo ?


RE: Une map 5*5 : methode avec systeme et galaxie - carlou - 03-09-2006

tous ses echo a la fin fonctionnent (voir + haut)

ce qu'il n'arrivais pas à faire c'est voir son joueur sur la map et c'etait normal. a cause des ' ' sur les champs du select, si tu fais un echo $tabmap[$data['position']]; cela te donne "position" au lieu de "2" par exemple donc ca correspond pas au $pos et donc ca n'affiche rien sur la map....


RE: Une map 5*5 : methode avec systeme et galaxie - Ssin - 03-09-2006

Ah, d'accord Wink

Bah j'éspère pour lui que ca marchera également chez lui Big Grin