JeuWeb - Crée ton jeu par navigateur
recherche aléatoire - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : recherche aléatoire (/showthread.php?tid=496)



recherche aléatoire - alechuga - 07-04-2008

Bien le bonjours, sur mon jeux je possède déjà une recherche aléatoire qui me semble pas mal (il y a toutefois un petit problème de réussite en cas d'actualisation massive malgrès le timestamp).
Or ce que je veux c'est que certaine recherche ne soit possible que dans certaine condition sinon on fait passé la probabilité à 0. J'ai donc fait un trucs classique if, else, une variable qui passe de 0 à 1 puis qu'on inclut dans le calcul mais cela n'a aucun effet. Ca ne change absolument rien.


RE: recherche aléatoire - Belsion - 07-04-2008

J'aurais tendance à dire que la condition de ton if n'est pas bonne, mais avec si peu d'éléments, c'est dur de juger...

Essaye de nous en dire plus, voire de nous mettre un bout de ton code.


RE: recherche aléatoire - Sephi-Chan - 07-04-2008

J'comprends pas le but du jeu dans ce post ? Il faut deviner le script ? :/


RE: recherche aléatoire - alechuga - 07-04-2008

désolé mais puisque on était dans la partie principe j'en ai pas mis.
Création de la condition :
Code PHP :
<?php 
if ($data1[nation] == coralienne)
{
$oc == 1;
}
else
{
$oc == 0;
}


Gestion :
Code PHP :
<?php 
$materiaux
= array("hyper_alliage", "titane", "corail");
$technom = $materiaux[array_rand($materiaux)] ;
if (
$technom = corail)
{
$tauxreussitem = $baserecherchemateriaux + $coefrecherchemateriaux * $scientifiquemateriaux * ($temps_ecoule / 3600) * $oc;}
else
{
$tauxreussitem = $baserecherchemateriaux + $coefrecherchemateriaux * $scientifiquemateriaux * ($temps_ecoule / 3600);}

if (
mt_rand(0.00001, 100) <= $tauxReussitem)
{
mysql_query("UPDATE membres SET $technom = 1 WHERE ID='$_SESSION[id]'");
print
'Cela va sans conteste nous ouvrir une nouvelle voie, peut-être même faire de nous une puissance majeur.';
}
else
{
echo
"";
}

P.S: Je sais il y a plein de chose à dire sur le code en lui même mais je me chargerais de tout ça à la fin.


RE: recherche aléatoire - jo_link_noir - 07-04-2008

corail correspond à quoi ? d'ailleurs c'est normale qu'il soit ni une variable ni entourer de guillemet ?

mt_rand ne renvoi un nombre entier, pour avoir un nombre à virgule il faudrait faire : mt_rand(1, 10000000)/100000


RE: recherche aléatoire - Anthor - 07-04-2008

C'est plus simple que de chercher dans le manuel ^^

Et puis je vois pas pourquoi le faire en deux fois, tu sais 0*0 = 0...


RE: recherche aléatoire - alechuga - 07-04-2008

merci je crois que tu as mis le doigt sur le problème j-12


RE: recherche aléatoire - naholyr - 08-04-2008

La touche "guillemet" est cassée sur ton clavier ? Les chaines ça se met entre guillemet normalement Smile Et si ce sont réellement des constantes, écris-les en majuscules car cette convention permet justement de casser tout doute.

Enfin : if ($variable = expression) sera toujours vrai si "expression" est vrai. N'oublie pas que l'opérateur de comparaison est "==" et pas simplement "=" qui est l'opérateur d'affectation (et une affectation est une expression qui a pour valeur son membre droit).
Donc "if ($technom = corail)" ==> aucune chance d'entrer dans le "else".


RE: recherche aléatoire - alechuga - 08-04-2008

merci beaucoup