<?
//función para leer elementos de un archivo
function randfile($file) {
$data = file($file);
return $data[rand(0, count($data)-1)];}



//numero de personajes generados simultaneamente
$numero=$_POST["Num"];
$PJ=$_POST["PJ"];
if ($PJ=="segundario")
{
// Cantidad de puntos de características
$PC = 40;
//Cantidad de puntos de generación de personaje
$PG = 30;
//Definición de puntuaciones y parámetros
//máximo en atributos
$maximo=10;
//valor mínimo en atributos.
$minimo=3;
//máximo en habilidades
$maximo2=10;
}
else
{
// Cantidad de puntos de características
$PC = 56;
//Cantidad de puntos de generación de personaje
$PG = 50;
//Definición de puntuaciones y parámetros
//máximo en atributos
$maximo=15;
//valor mínimo en atributos.
$minimo=3;
//máximo en habilidades
$maximo2=15;
}



//definición de habilidades  básicas

  $habibas = file("habilidadesbasicas.txt");

//definición de habilidades  adquiridas
  $habi = file("habilidades.txt");

//definición de equipamiento


for ($cont=0; $cont<$numero; $cont++)
{

//asignaciónde atributos

Do {
$fue=rand($minimo,$maximo);
$con=rand($minimo,$maximo);
$per=rand($minimo,$maximo);
$des=rand($minimo,$maximo);
$vol=rand($minimo,$maximo);
$int=rand($minimo,$maximo);
$hab=rand($minimo,$maximo);
$car=rand($minimo,$maximo);
$sumaAT=($fue+$con+$per+$des+$vol+$int+$hab+$car);
}while($sumaAT!=$PC);

//asignación de habildiades básicas

$P11 = $PG-$totalTr;
$P1= rand (0,$P11);
$maximo3= $maximo2-3;
//shuffle($habibas);
foreach ($habibas as $i => $value)
{
 $valor=rand(0,$maximo3);
 $valor2=3;
 if($valor+$suma1<=$P1)
 {
    $suma1 = $suma1+$valor;
    $valor2= $valor+$valor2;
 }
 $cadenabas=$cadenabas.$habibas[$i].": ".$valor2.", ";
}

//asignación de habilidades adquiridas

$P22=($suma1+$totalTr);
$P2=($PG-$P22);

shuffle($habi);
foreach ($habi as $i => $value)
{
 $valor=rand(0,$maximo2);
 if($valor+$totalseg<=$P2)
 {
  $totalseg = $totalseg+$valor;
  if ($valor!=0) $cadenahab=$cadenahab.$habi[$i].": ".$valor.", ";
 }
}

/*Esto es por si se da la remota posibilidad de que sobra algún PG.
Convertiremos los PG libres en bono a la vitalidad.*/

$P33= ($P22+$totalseg);
$PV=(($PG-$P33)*2);
if($PV>0){$cadenaTR= $cadenaTR . " Bono a la vitalidad: +$PV.";}


//descripción del personaje

$sex=rand(1,2);

if (rand(0,1)) {
	$sexo=1;
        $nombre=" ";
        $nombre=$nombre.trim(randfile("nombres_varon.txt"));
        $cadenaPJ= "Varón ".trim(randfile("raza.txt"))." de unos ".rand(15,55)." años de edad,";
}
else {
	$sexo=0;
        $nombre=" ";
        $nombre=$nombre.trim(randfile("nombres_mujer.txt"));
        $cadenaPJ= "Mujer ".trim(randfile("raza.txt"))." de unos ".rand(15,55)." años de edad,";
}


$nombre=$nombre." ".trim(randfile("apellidos.txt"));
$cadenaPJ=$cadenaPJ." su comportamiento es ".trim(randfile("personalidad.txt"));


//Escritura de la ficha ya terminada
$PH= $suma1+$totalseg;
$totalTr= ($PV/2)+$totalTr;
$cont2=$cont+1;
echo "<table border=1  width=100% colspan=8 cellspacing=0>";
echo"      <tr>
               <th colspan=8> $nombre.</td>
      </tr>";
 echo"      <tr>
               <td colspan=8>  Descripción: $cadenaPJ.   </td>
      </tr>";
 echo "<tr>
         <td align='center'> Fuerza: $fue </td>
         <td align='center'> Constitución: $con </td>
         <td align='center'> Percepción: $per </td>
         <td align='center'> Destreza: $des </td>
         <td align='center'> Voluntad: $vol </td>
         <td align='center'> Inteligencia: $int </td>
         <td align='center'> Habilidad: $hab </td>
         <td align='center'> Carisma: $car </td>
      </tr>";

echo"      <tr>
               <td colspan=8>  Habilidades: $cadenabas $cadenahab   </td>
      </tr>";
echo "</table>";
echo "<BR>";

//limpiando las variables para iniciar de nuevo el bucle

  $totalseg=0;
  $cadenahab= "";
  $cadenabas= "";
  $suma1 = 0;
  $cadenaTR = "";
  $nombre="";
}

?>