Bonjour j'ai deux truc pour mon jeu en php que je ne vois pas comment faire.
Tout d'abord je ne vois pas comment faire pour que par exemple on ne peut avoir plus de cent ressource. J'ai cherché dans ma tête et sur le net mais rien.
Sinon j'ai fais un système pour engager des troupes mais il ne marche pas. Comment fonctionne le votre? Avez vous des exemples?
slt,
je suis débutant en php mais je peux essayer de répondre à ta première question:
draknight a écrit :Tout d'abord je ne vois pas comment faire pour que par exemple on ne peut avoir plus de cent ressource.
Essaye ajoutant cette condition :
Citation :if ($donnees['ressources']==100)
{
echo '<p>Vous avez le maximum de ressources possible!</p>'
}
Voilà essaye ça si tu l'as pas déjà fait normalement quand ton joueurs aura atteint 100 ressources, ça affichera "Vous avez le maximum de ressources possible!"
J'espère que je t'ai un peu aidé sinon attend peut-être que quelqu'un de plus expérimenté te réponde.
++
Oui mais après ça n'empechera pas les ressources de montés non?
Y a de l'idée, mais il ne faut pas seulement prévenir le joueur : il faut aussi limiter vraiment ses ressources. Donc le test ressemblerait plus à :
Code PHP :
<?php
if ($ressources > 100) {
$ressources = 100;
}
... Ce qui signifie tout simplement, "si $ ressources est supérieur à 100, alors $ressources vaut 100 (le max)".
Pour engager des troupes, le mieux est d'utiliser 3 tables (mon truc est peut-être pas ce qu'il y a de plus pro, mais les "vrais" développeurs corrigeront. Moi je ferais ça comme ça :
- 1 table joueurs. (tu y accèdes peu et tu récupères les infos principales dans la superglobale de session)
- 1 table profil_troupes. (on y accède peu si c'est possible, il peut être intéressant de mettre ces infos directement dans un fichier XML ou un page php appelée depuis le script principal, pour limiter les accès à la base de données.)
- 1 table troupes_joueurs.
Ca ressemblerait à ça, en gros :
Et dans le code, c'est un truc comme ça :
Code PHP :
<?php
//On récupère les infos importantes sur le joueur
if (isset($_SESSION['id'])) {
$idJoueur = $_SESSION['id'];
$nom = $_SESSION['nom'];
$argent = $_SESSION['argent'];
$niveau = $_SESSION['niveau'];
}
else {
//Sinon, on affiche un message d'erreur et on arrête le script...
}
//On récupère les caractéristiques de la troupe demandée.
//on considère que le joueur a envoyé ces infos par formulaire, depuis une page de recrutement
if (isset($_POST['id_troupe'])) {
//On fait normalement d'autres vérifs
$idTroupe = $_POST['id_troupe']; //le type de troupes demandées
$nbTroupe = $_POST['nb_troupe'];
//On récupère les infos dans la table profil_troupes
// ----Connexion BDD----
$requete = mysql_query("SELECT cout FROM profil_troupes WHERE id='".$idTroupe."'")
// Ici, on a besoin que du cout, mais on pourrait récupérer plus
$troupe = mysql_fetch_array ($requete);
$coutTotal = $troupe['coup'] * $nbTroupe;
if ($coutTotal <= $argent) {
echo "Vous n\'avez pas assez d'argent !";
// Arrêt du script
}
// ... requête à la table joueur pour retirer du pognon ...
// ... mais je ne vais pas le faire
//On initialise les autres valeurs
$blessure = 0;
$moral = 100;
$xp = 0;
// ... on enregistre les donnees dans la table troupes_joueurs
// avec un simple INSERT.
mysql_query("INSERT INTO troupes_joueurs VALUES('', '".$idJoueur."', '".$idTroupe."', '".$nbTroupe."', '".$blessure."', '".$xp."', '".$moral."')");
// ----Deconnexion BDD----
}
Voilà, c'est déjà une piste pour un début. Avec cette méthode, les troupes sont uniques mais on peut faire une table troupes_joueurs beaucoup plus légère...
Enfin, là, c'est incomplet, il faudrait faire des tas d'autres tests pour avoir quelque chose de correct. Les gens meilleurs que moi corrigeront sans doute quelques trucs