Ex10 : Créer un algorithme itératif pour deviner un nombre

Enoncé

La classe Game permet de faire un jeu où le but est de deviner un nombre entier compris entre 0 et 10 000. Quand une instance de la classe Game est créée, elle génère un nombre au hasard. La méthode propose() permet de proposer un nombre au jeu et renvoie : 1 si le nombre proposé est plus grand que le nombre à deviner 0 si le nombre proposé est égal au nombre à deviner. -1 si le nombre proposé est plus petit que le nombre à deviner. Il n’est pas possible d’appeler la fonction propose() plus de 15 fois. Ecrivez le code de la fonction guess() qui doit deviner le nombre du jeu de classe Game passé en paramètre.

Complétez le code suivant :

<?php
class Game
{ private $number;
  private $num_tries;
  function __construct()
  { $this->number = rand(0,10000);
    $this->num_tries = 0;
  }
  function propose($value)
  { $this->num_tries++;
    if ($this->num_tries>15)
    { throw new Exception("La méthode propose() a été appelée 15 fois");
    }
    if ($value==$this->number)
    { return 0;}
    elseif ($value>$this->number)
    { return 1; }
    else
    { return -1;}
  }
}
function guess($Game)
{ $result = 0;
//----------NE MODIFIEZ PAS LE CODE AU DESSUS DE CETTE LIGNE, IL SERA REINITIALISE LORS DE l'EXECUTION----------
// Ecrivez ici le code la fonction
// permettant de deviner le nombre stocké dans $Game
//----------NE MODIFIEZ PAS LE CODE EN DESSOUS DE CETTE LIGNE, IL SERA REINITIALISE LORS DE l'EXECUTION----------
  return $result;
}
$Game = new Game();
$result = guess($Game);
?>

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.




Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.