listo, este fue el mejor algoritmo que se me ocurrio.. esta funcional solo modifica los valores de arriba, (los que estan comentados)
Código PHP:
Ver original<?php
$total_a_repartir = 20; // puntos a repartir
$cantidad_habilidades = 5; // cantidad de habilidades
$minimo_asignacion = 2; // cantidad minima que se le da a cada habilidad (evita el cero)
for($i = 1; $i <= $cantidad_habilidades; ++$i){
$habilidad[$i] = $minimo_asignacion;
$total_a_repartir -= $minimo_asignacion;
}
for($max=$total_a_repartir;$max>0;$max--){
$punto_random = rand(1,$cantidad_habilidades); $habilidad[$punto_random]++;
}
?>
saludos y suerte con eso!