...:::: [php] Probleme CODAGE pour un chtit jeu ::::...

...:::: [php] Probleme CODAGE pour un chtit jeu ::::... - Programmation

Marsh Posté le 13-01-2002 à 10:55:36    

.... pour faire un jeu du type "trouver le nombre caché" "plus grand" "plus petit", enfin, vous voyé le genre..... je l'avé fait en basic, mais je connais apos la commande pour généré un nombre aléatoire variant de x a y en php.......
 
si quelqu'un pourré m'eclairé  :jap:  :jap:  :jap:  
 
Rainckill

 

[edtdd]--Message édité par rainckill--[/edtdd]

Reply

Marsh Posté le 13-01-2002 à 10:55:36   

Reply

Marsh Posté le 13-01-2002 à 11:45:35    

euh,je ne l'ai pas en tete mais cherche rand sur www.php.net

Reply

Marsh Posté le 13-01-2002 à 13:32:51    

ok, j'ai bien trouvé la fonction rand merci  :jap:  
rien qu'en faisant ca :
 
<?
$rond=rand (1, 15);
echo "$rond";
?>
 
mais, je voudré comme dis dans le sujet du début, créer le jeu avec cte commande.... mais g comme ki diré un probleme au nivo du code  :sweat:  
voila ce que g fait, un peu a  la va vite, certe, mais il marche po :
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
 
<input type="text" name="gil" value="votre choix"><br>
<input type="submit" Value="go">
</body>
</html>
 
<?
$rond=rand (5, 15);
 
if $gil==$rond
{
 echo "oui !";
}
elseif $gil<$rond
{
 echo "C plus grand dsl :)";
}
elseif $gil>$rond
{
 echo "c )plus grand dsl !";
}
else
{  
 echo "ce nombre n'est pas compris entre 5 et 15 !";
}
?>
 
 
si quelquun a une idée :)  :jap:  
 
Rainckill

Reply

Marsh Posté le 13-01-2002 à 14:20:09    

déjà fo initialiser le générateur de nombre aléatoire mais ché pu comment.

Reply

Marsh Posté le 13-01-2002 à 16:55:28    

c bon, je sais l'eereur, g oublié les (..) apres if et else if  :sarcastic:  
 
bon, maintenant, ca donne :
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="rand02.php">
<input type="text" name="gil"><br>
<input type="submit" Value="go">
</body>
</html>
 
<?php
$rond=rand (5, 15);
 
if($gil==$rond && $gil>=5 && $gil<=15)
{
 print("oui" );
}
elseif($gil<$rond && $gil>=5 && $gil<=15)
{
 print("C plus grand dsl" );
}
elseif($gil>$rond && $gil>=5 && $gil<=15)
{
 print("c plus petit dsl" );
}
elseif($gil==0)
{
    print("taper un nombre" );
}
else
{  
 print("ce nombre nest pas compris entre 5 et 15" );
}
?>
 
 
TOUT marche nikel, a l'exception d'une chose... a chaque fois qu'on recommence, qu'on retape un chiffre, plus grand ou plus petit que le précédent suivant ce qu'on nous dis, ben la, le nombre que choisi aléatoirement le script change (e ki est logique) mais comment faire en sorte qu'il ne change que lorsque qu'on a trouver le bon ????
 
merci

Reply

Marsh Posté le 13-01-2002 à 17:03:59    

Je@nb a écrit a écrit :

déjà fo initialiser le générateur de nombre aléatoire mais ché pu comment.  




 
cad ? ca sert a koi ? j'en ai entendu pareil dans php.net, mais vu que mon petit code
marche tres bien, je me suis dit que ct aps la peine...
<?
$rond=rand (1, 15);
echo "$rond";
?>

Reply

Marsh Posté le 13-01-2002 à 17:26:41    

[:belgarion_cer]

Reply

Marsh Posté le 13-01-2002 à 22:27:39    

c pour ne pas se voir afficher des nombres pas trop aléatoires.
Met le, ça vaut rien d'essayer.
Sinon pour ton problème c normal parce que regarde ce que fait l'utilisateur :
il va sur le site, la page génère un nombre aléatoire, le mec entre un nombre, il appuies sur le bouton, ça envoie à la page le nombre que l'utilisateur a entré, puis il trouve encore un rand() donc ça regénère un nombre aléatoire et ainsi de suite.
ce qu'il faut c que le nombre aléatoire soit directement donné à l'utilisateur sous forme de champs hidden par exemple mais n'importe ki ki édite le source voit le nombre.
PHP n'est pas trop fait pour faire ce genre de jeux

Reply

Marsh Posté le 13-01-2002 à 23:09:07    

rainckill a écrit a écrit :

c bon, je sais l'eereur, g oublié les (..) apres if et else if  :sarcastic:  
 
bon, maintenant, ca donne :
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="rand02.php">
<input type="text" name="gil"><br>
<input type="submit" Value="go">
</body>
</html>
 
<?php
$rond=rand (5, 15);
 
if($gil==$rond && $gil>=5 && $gil<=15)
{
 print("oui" );
}
elseif($gil<$rond && $gil>=5 && $gil<=15)
{
 print("C plus grand dsl" );
}
elseif($gil>$rond && $gil>=5 && $gil<=15)
{
 print("c plus petit dsl" );
}
elseif($gil==0)
{
    print("taper un nombre" );
}
else
{  
 print("ce nombre nest pas compris entre 5 et 15" );
}
?>
 
 
TOUT marche nikel, a l'exception d'une chose... a chaque fois qu'on recommence, qu'on retape un chiffre, plus grand ou plus petit que le précédent suivant ce qu'on nous dis, ben la, le nombre que choisi aléatoirement le script change (e ki est logique) mais comment faire en sorte qu'il ne change que lorsque qu'on a trouver le bon ????
 
merci  




 
bah faut mettre le tout dans une boule while
avec comme condition soit qu'il est trouvé le bon resultat soit que le nombre d'essai est depassé ( ne pas oublié dincrementer le nombre dessai a lintereieur de la boucle)
 
apres tu fait un test si nombre dessai = nombre max dessai c qu'il a perdu sinon il a gagné
 
c ce que je pense


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 14-01-2002 à 00:24:27    

tu peux mettre  
if (!submit){
$rond=rand (1, 15);  
}
 
de telle façon qu'il ne recrée un nombre aléatoire que si l'utilisateur ne soumet pas le formulaire.
 
Pour garder le nombre après plusieurs essais, utilise les variables de sessions, c'est la seule solution que je vois.
session_start();
if (!submit){
//crée une variable de session
session_register("rond" );
//initialise ta var de session
$rond=rand (1, 15);
}
//script normal
...
 
le probème est que tu risques de te retrouver avec pas mal de fichiers dans ton /temp, et que je ne sais pas trop comment les gérer.
 
sinon, par cookie, tu envoies le nombre alétoire dans un cookie.
c'est le plus simple, mais pas infaillible si la personne s'en rend compte ;)

Reply

Marsh Posté le 14-01-2002 à 00:24:27   

Reply

Marsh Posté le 14-01-2002 à 02:42:31    

Soluce sans cookie, mais avec un champ caché !
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if( !isset( $BTN ) )
{
 /*
  Attention, cette ligne est indispensable.
  Elle doit figurer EXACTEMENT comme çà!
  Elle NE doit PAS être utilisée plus d'une fois par script !
  DOC Offcielle : http://www.php.net/manual/en/function.srand.php
 */  
 srand((double) microtime() * 1000000);
 
 $rond=rand (5, 15);
   print("taper un nombre entre 5 et 15<BR>" );
   printForm( 0, $rond );
}
else
{
 if($gil==$rond && $gil>=5 && $gil<=15)
 {
  print("oui" );
 }
 else
 {
  if($gil<$rond && $gil>=5 && $gil<=15)
  {
   print("C plus grand dsl<BR>" );
  }
  elseif($gil>$rond && $gil>=5 && $gil<=15)
  {
   print("c plus petit dsl<BR>" );
  }
  else
  {  
   print("ce nombre n'est pas compris entre 5 et 15<BR>" );
  }
  printForm( $gil, $rond );
 }
}
echo( "<HR>" );
 
function printForm( $x, $y )
{
 echo( "<form action=\"rand02.php\" METHOD=\"POST\">\n" );
 echo( "<input type=\"text\" name=\"gil\" value=\"$gil\"><br>\n" );
 echo( "<input type=\"submit\" NAME=\"BTN\" Value=\"go\">\n" );
 echo( "<input type=\"hidden\" name=\"rond\" value=\"$y\"><br>\n" );
}
 
?>
</body>
</html>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed