PHPFrance

Discuter de tout ce qui touche au PHP, en français.

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

Problème de boucle  Sujet résolu

Pour ceux qui débutent en PHP.

Problème de boucle

Messagede galaduor le 07 Fév 2010, 12:25

Bonjour,
Depuis quelques jours je m'intéresse au php, j'ai lu pas mal de tutoriels mais j'aurais besoin de votre aide à propos d'une variable dans une boucle parce que je ne sais pas du tout comment faire pour la mettre en place.
Je m'explique donc:
Mon objectif était de créer un mini-jeu de basket dont voici le déroulement que je souhaitais réaliser et le code que j'ai fait:
"Un des deux joueurs est pris au hasard, si c'est le joueur 1, il doit tomber sur un chiffre entre 0 et 45 pour marquer (c'était pour refléter le %au shoot) et alors il met deux points" Mon code fonctionne, mais je n'arrive pas à additionner son nombre de points...

for ($i=0; $i<10; $i++) {
srand();
$rand = rand(1 , 2);
if ($rand == 1)
{echo "Joueur 1 a la balle et tente de tirer...<br/>";
srand();
$rand = rand(0 , 100);
if ($rand <= 45)
{echo "2pts <br/>";}
else
{echo "Mais Joueur 2 l'empêche de marquer<br/>";}}
else
{echo "Joueur 2 prend la balle et part en attaque!<br/>";}
}

Mon code repose donc sur une boucle avec pas mal de if... else. Mais ce que je n'arrive pas à faire c'est d'additionner à la fin de la boucle le nombre de points qu'aura mis le joueur 1... Vous avez une idée? :(
galaduor
Embryon
 
Messages: 3
Inscription: 07 Fév 2010, 12:09

Publicité

Re: Problème de boucle  Sujet résolu

Messagede Ryle le 07 Fév 2010, 12:36

Il te faut pour cela stocker le score dans une variable :)


Syntaxe: [ Télécharger ] [ Masquer ]
Code php
$scoreJoueur = 0; // déclaration et initialisation de la variable
for ($i=0; $i<10; $i++) {
  srand();
  $rand = rand(1 , 2);
  if ($rand == 1) {
    echo "Joueur 1 a la balle et tente de tirer...<br/>";
    srand();
    $rand = rand(0 , 100);
    if ($rand <= 45){
      echo "2pts <br/>";
      $scoreJoueur += 2; // ajoute deux à la variable $scoreJoueur (équivaut à $scoreJoueur=$scoreJoueur+2)
    }
    else {
      echo "Mais Joueur 2 l'empêche de marquer<br/>";
    }
  }
  else {
    echo "Joueur 2 prend la balle et part en attaque!<br/>";
  }
}

echo "Score du joueur 1 : " . $scoreJoueur;
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...
Avatar de l’utilisateur
Ryle
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 8136
Inscription: 07 Fév 2006, 17:25
Localisation: Lat: 48°89. Long: 2°30.

Re: Problème de boucle

Messagede galaduor le 07 Fév 2010, 13:16

Merci çà marche! =D>
Par contre est ce que tu pourrais m'aider pour un autre souci dans mon code parce j'ai compris la base mais après pour l'adapter à ce qu'on souhaite c'est pas simple promis je te pose plus de questions après :mrgreen:
-C'est que je voudrais savoir si au lieu de mettre:
srand();
$rand = rand(1 , 2);

Je pourrais mettre:
$joueur1=45
$joueur2=42
srand();
$rand = rand($joueur1 , $joueur2);

Encore merci de ton aide ;)
galaduor
Embryon
 
Messages: 3
Inscription: 07 Fév 2010, 12:09

Re: Problème de boucle

Messagede Ryle le 07 Fév 2010, 14:10

Le plus simple c'est généralement d'essayer :)

Mais pour répondre à ta question : Oui ... et Non .... (ça t'avance hein ? ;))

Oui, dans la mesure où tu peux très bien utiliser des variables plutôt que des valeurs. Tu peux donc sans problème écrire
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
srand();
$rand = rand($joueur1 , $joueur2);


Non, dans la mesure ou la fonction rand() attend une valeur minimum en premier argument, et une valeur maximum en second argument. Donc si tu spécifies 45 en valeur minimum et 42 en valeur maximum, php aura beaucoup de mal à te trouver une valeur qui corresponde ;)
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
$joueur1=45
$joueur2=42
srand();
$rand = rand($joueur1 , $joueur2);
// équivaut à
srand();
$rand = rand(45, 42);
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...
Avatar de l’utilisateur
Ryle
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 8136
Inscription: 07 Fév 2006, 17:25
Localisation: Lat: 48°89. Long: 2°30.

Re: Problème de boucle

Messagede galaduor le 07 Fév 2010, 15:02

Ok on ne peut pas faire un code comme celui-ci pour éviter le problème?
srand();
$rand = rand($joueur1 OR $joueur2);
galaduor
Embryon
 
Messages: 3
Inscription: 07 Fév 2010, 12:09

Re: Problème de boucle

Messagede Ryle le 07 Fév 2010, 15:59

Il y a toujours des solutions :)

La première étape, c'est de réussir à formuler ce que tu veux faire. En gros, quand tu dis "rand($joueur1 OR $joueur2)", concrètement, quelle information veux tu récupérer ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...
Avatar de l’utilisateur
Ryle
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 8136
Inscription: 07 Fév 2006, 17:25
Localisation: Lat: 48°89. Long: 2°30.


Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

  • Publicité