Créer son jeu en PHP

Tout pour créer soit-même son jeu en PHP
 
AccueilAccueil  ­CalendrierCalendrier  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Une map 5*5 : methode avec systeme et galaxie

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
carlou
Modérateur JeuPHP


Nombre de messages: 689
Localisation: Bordeaux
Date d'inscription: 27/08/2005

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
despe
Langue pendue


Nombre de messages: 80
Date d'inscription: 12/11/2005

MessageSujet: Re: Une map 5*5 : methode avec systeme et galaxie   Ven 10 Mar - 22:34

joli bravo
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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

MessageSujet: Re: Une map 5*5 : methode avec systeme et galaxie   Sam 11 Mar - 9:16

Ma carte

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lemysterieuxjeu.com
Istarie
Grand habitué


Nombre de messages: 299
Date d'inscription: 17/06/2005

MessageSujet: 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>" ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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

MessageSujet: Re: Une map 5*5 : methode avec systeme et galaxie   Sam 11 Mar - 10:24

c'est le tableau !

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lemysterieuxjeu.com
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: 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
Citation:
Ma carte
???
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
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

MessageSujet: 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

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lemysterieuxjeu.com
tidoudoux
Nouveau


Nombre de messages: 7
Date d'inscription: 17/10/2005

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Une map 5*5 : methode avec systeme et galaxie

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Créer son jeu en PHP :: PROGRAMMATION :: Tutoriaux - scripts-
Poster un nouveau sujet   Répondre au sujet