PHP ver gevorderde |
|
function nieuweKans($i_Type) {
switch($i_Type) {
case 1: $a_NewType = array(1,3); break;
case 2: $a_NewType = array(2,5); break;
default: $a_NewType = array(1, 3); break;
}
$a_Rand = array_rand($a_NewType,1);
return $a_Rand[0];
}
function nieuweKans($i_Type) { switch($i_Type) { case 1: $a_NewType = array(1,3); break; case 2: $a_NewType = array(2,5); break; default: $a_NewType = array(1, 3); break; } return $a_Rand[0]; }
Een nadeel is echter wel dat dit verreweg van dynamisch is.. Wat slimmer is, is om het percentage mee te geven
function nieuweKans($i_OudPerc) {
if(rand(0, 100) <= $i_OudPerc) {
$b_Gelukt = true;
} else $b_Gelukt = false;
$i_Ammount = rand(0, 10);
$b_Increase = rand(1,2) == 2 ? true : false;
if($b_Increase == true) {
$i_NieuwPerc = $i_OudePerc + $i_Ammount;
if($i_NieuwPerc > 100) {
$i_NieuwPerc = 100;
}
} else {
$i_NieuwPerc = $i_OudePerc - $i_Ammount;
if($i_NieuwPerc < 1) {
$i_NieuwPerc = 1;
}
}
return array('kans_nieuw' => $i_NieuwPerc, 'gelukt' => $b_Gelukt);
}
$a_Misdaad = nieuweKans(70);
if($a_Misdaad['gelukt'] == true) {
echo 'Gelukt, de nieuwe kans is '.$a_Misdaad['kans_nieuw'];
}
function nieuweKans($i_OudPerc) { if(rand(0, 100) <= $i_OudPerc) { $b_Gelukt = true; } else $b_Gelukt = false; $i_Ammount = rand(0, 10); $b_Increase = rand(1,2) == 2 ? true : false; if($b_Increase == true) { $i_NieuwPerc = $i_OudePerc + $i_Ammount; if($i_NieuwPerc > 100) { $i_NieuwPerc = 100; } } else { $i_NieuwPerc = $i_OudePerc - $i_Ammount; if($i_NieuwPerc < 1) { $i_NieuwPerc = 1; } } return array('kans_nieuw' => $i_NieuwPerc, 'gelukt' => $b_Gelukt); } $a_Misdaad = nieuweKans(70); if($a_Misdaad['gelukt'] == true) { echo 'Gelukt, de nieuwe kans is '.$a_Misdaad['kans_nieuw']; }
|