a for loop and probability random all i need is make them to reverse

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



i want it returns *Raptor +1 (1 in 62,000) *
but it returns me nearly everytime how can i make them reverse help me
please

index.php >
<?

include( 'lib.probabilityRandom.php' );

$prExample = new probabilityRandom;


function arasi($a,$b,$data)
{
$x = explode($a,$data);
$z = explode($b,$x[1]);
$oh = $z[0];
if($x && $z) { return $oh; } else { return false; }
}


$x="Raptor +1 (1 in 62,000)
Glave +1 (1 in 12,400)
Chitin Armor Pauldron +1 (1 in 1,240)
Full Plate Armor Pauldron +1 (1 in 310)
Potion of Soul (1 in 83)
Blade Axe +1 (1 in 62,000)
Bone Cleaver +1 (1 in 12,400)
Chitin Armor Pads +1 (1 in 1,240)
Full Plate Armor Pads +1 (1 in 310)
Potion of Wisdom (1 in 83)
Graham +1 (1 in 62,000)
Slayer +1 (1 in 12,400)
Chitin Helmet +1 (1 in 1,240)
Full Plate Armor Helmet +1 (1 in 310)
Water of favors (1 in 83)
Totemic Spear +1 (1 in 62,000)
Harpoon +1 (1 in 12,400)
Chitin Gauntlets +1 (1 in 1,240)
Full Plate Armor Gauntlet +1 (1 in 310)
Water of grace (1 in 83)
Iron Bow +1 (1 in 62,000)
Iron Crossbow +1 (1 in 12,400)
Chitin Boots +1 (1 in 1,240)
Full Plate Armor Boots +1 (1 in 310)
Pink Rice Cake (small) (1 in 83)
Elixir Staff +1 (1 in 62,000)
Salamander Staff +1 (1 in 12,400)
Rogue Chitin Armor Pauldron +1 (1 in 1,240)
Rogue Full Plate Armor Pauldron +1 (1 in 310)
Pink Rice Cake (middle) (1 in 83)
Shard +1 (1 in 62,000)
Mirage Dagger +1 (1 in 12,400)
Rogue Chitin Armor Pads +1 (1 in 1,240)
Rogue Full Plate Armor Pads +1 (1 in 310)
Pink Rice Cake (large) (1 in 83)
Priest Impact +1 (1 in 62,000)
Priest Bone crasher +1 (1 in 12,400)
Rogue Chitin Helmet +1 (1 in 1,240)
Rogue Full Plate Armor Helmet +1 (1 in 310)
Gold bar (1 in 620,000)
Blessed Upgrade Scroll (1 in 12,400)
Rogue Chitin Gauntlets +1 (1 in 1,240)
Rogue Full Plate Armor Gauntlet +1 (1 in 310)
Upgrade Scroll (1 in 83)
Silver bar (1 in 62,000)
Blessed Elemental Scroll (1 in 12,400)
Rogue Chitin Boots +1 (1 in 1,240)
Rogue Full Plate Armor Boots +1 (1 in 310)
Crimson Robe +1 (1 in 1,240)
Crystal Robe +1 (1 in 310)
Green Rice Cake (small) (1 in 83)
Crimson Pants +1 (1 in 1,240)
Crystal Pants +1 (1 in 310)
Green Rice Cake (middle) (1 in 83)
Crimson Helmet +1 (1 in 1,240)
Crystal Helmet +1 (1 in 310)
Green Rice Cake (large) (1 in 83)
Crimson Gloves +1 (1 in 1,240)
Crystal Gloves +1 (1 in 310)
Glutinous Rice Cake (1 in 83)
Crimson Boots +1 (1 in 1,240)
Crystal Boots +1 (1 in 310)
Stone of life (1 in 83)
Priest Chitin Armor Pauldron +1 (1 in 1,240)
Priest Full Plate Armor Pauldron +1 (1 in 310)
Bezoar (1 in 83)
Priest Chitin Armor Pads +1 (1 in 1,240)
Priest Full Plate Armor Pads +1 (1 in 310)
Priest Chitin Helmet +1 (1 in 1,240)
Priest Full Plate Armor Helmet +1 (1 in 310)
Priest Chitin Gauntlets +1 (1 in 1,240)
Priest Full Plate Armor Gauntlet +1 (1 in 310)
Priest Chitin Boots +1 (1 in 1,240)
Priest Full Plate Armor Boots +1 (1 in 310)";
$xx=explode("
",$x);
$xcx=array();

foreach($xx as $c => $y)
{
$yy = arasi(" in ",")",$y);
$yy = str_replace(",","",$yy);
$xcx[]=$yy;
#echo $yy."<br>";
$itemisim = explode("(",$y);
$itemisim=$itemisim[0];
$xcx[isim][]=$itemisim;
}

for($i=0;$i<=count($xcx)-1;$i++)
{
$prExample->add( $xcx[isim][$i], $xcx[$i] );
}
print $prExample->get();
?>



lib.probabilityRandom.php

>

<?php
/******************************************************
- DEVELOPER -------------------------------------------
Jonas Raoni Soares Silva
------------------------
Applications Developer
jonasraoni@xxxxxxxxx
http://www.joninhas.ath.cx:666
- CLASS -----------------------------------------------
My user account at phpclasses.org
http://www.phpclasses.org/browse.html/author/84147.html
Get the latest version of this class at:
http://www.phpclasses.org/browse.html/package/1940.html
- VERSION & HISTORY -----------------------------------
v1.0
  2004-10-31 - Class creation

-
******************************************************/

class probabilityRandom {
 #private vars
 var
  $data = array(),
  $universe = 0;
 #add an item to the list and defines its probability of beeing chosen
 function add( $data, $probability ){
  $this->data[ $x = sizeof( $this->data ) ] = new stdClass;
  $this->data[ $x ]->value = $data;
  $this->universe += $this->data[ $x ]->probability = abs( $probability );
 }
 #remove an item from the list
 function remove( $index ){
  if( $index > -1 && $index < sizeof( $this->data ) ) {
   $item = array_splice( $this->data, $index, 1 );
   $this->universe -= $item->probability;
  }
 }
 #clears the class
 function clear(){
  $this->universe = sizeof( $this->data = array() );
 }
 #return a randomized item from the list
 function get(){
  if( !$this->universe )
   return null;
  $x = round( mt_rand( 0, $this->universe ) );
  $max = $i = 0;
  do
   $max += $this->data[ $i++ ]->probability;
  while( $x > $max );
  return $this->data[ $i-1 ]->value;
 }
}
?>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux