carlou Modérateur JeuPHP
Nombre de messages: 689 Localisation: Bordeaux Date d'inscription: 27/08/2005
 | Sujet: Une map 5*5 : methode avec systeme et galaxie Ven 10 Mar - 21:17 | |
| Suite a une demande d'une map dans le genre, je vous met se petit tuto. Donc a la clé, une map basée sur un systeme de Galaxie, systeme et position biensur Pas de deplacement dessus, juste de l'affichage. creer une table table_carte avec 4 colones : pseudo, Galaxie, systeme, position | Code: | <?$pseudo_membre = $_SESSION['pseudo']; $requete = mysql_query("SELECT * FROM table_membre 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. |
| Code: | // recuperation des positions sur la carte du joueur $requete2 = mysql_query("SELECT * FROM table_carte 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; } |
| Code: | // Affichage de la barre de changement de galaxie et systeme echo '<form action="carte.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 |
| Code: | //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 table_carte 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.gif" 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.gif" 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
?> |
voila, pas le temps de detailler, si vous avez des questions, n'hesitez pas  @+ Carlou |
|
despe Langue pendue
Nombre de messages: 80 Date d'inscription: 12/11/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Ven 10 Mar - 22:34 | |
| joli bravo  |
|
jean-baptiste Méga habitué !

Nombre de messages: 706 Age: 22 Localisation: France l Nantes l Monnières l Ma maison l Devant mon ordi Date d'inscription: 01/10/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Sam 11 Mar - 9:16 | |
| |
|
Istarie Grand habitué

Nombre de messages: 299 Date d'inscription: 17/06/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Sam 11 Mar - 10:09 | |
| | Code: | <th align="center" valign="middle" width="60" height="60">'.$pos.'</th> |
C'est quoi les "<th></th>" ? |
|
jean-baptiste Méga habitué !

Nombre de messages: 706 Age: 22 Localisation: France l Nantes l Monnières l Ma maison l Devant mon ordi Date d'inscription: 01/10/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Sam 11 Mar - 10:24 | |
| c'est le tableau ! _________________ 
|
|
marghost Modérateur JeuPHP

Nombre de messages: 680 Age: 19 Localisation: QUÉBEC PAWA ||| FRANCE NADA Date d'inscription: 21/08/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Sam 11 Mar - 18:29 | |
| jb c'est quoi ton problème pq tu dis ??? |
|
jean-baptiste Méga habitué !

Nombre de messages: 706 Age: 22 Localisation: France l Nantes l Monnières l Ma maison l Devant mon ordi Date d'inscription: 01/10/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Sam 11 Mar - 19:38 | |
| car ce code a été ait par carlou pour moi il ya bien longtemps et sa fait bizzard de le voir la juste pour ça mais mais il est super et super simplement personnalisable _________________ 
|
|
tidoudoux Nouveau
Nombre de messages: 7 Date d'inscription: 17/10/2005
 | Sujet: Re: Une map 5*5 : methode avec systeme et galaxie Ven 16 Juin - 11:14 | |
| | Code: | //*****Gestion des fins de lignes***** if ($pos == 5 or $pos == 10 or $pos == 15 or $pos == 20){
|
if($pos % 5 == 0) {
Je ne suis pas sur que ça gagne beaucoup de temps mais je trouves ça plus joli. |
|