El código es un poco largo pero ando mal en expresiones regulares....
Código PHP:
<?php
ini_set ("display_errors","1" );
error_reporting(E_ALL);
function dame_num($min, $max){
$num = rand($min, $max);
return $num;
}
function dame_posiciones(){
$resultado='';
$nums=array();
for($i=1; $i<=12; $i++){
$num = dame_num(1, 27);
if(in_array($num, $nums) || in_array($num+9, $nums) || in_array($num-9, $nums))
$i--;
else
$nums[$i]=$num;
}
foreach($nums as $valor){
$resultado .= $valor."-";
}
return $resultado;
}
$nums = dame_posiciones();
$posiciones=explode('-', $nums);
$sum=4;
$p=1;
for($i=1;$i<=3;$i++){//filas
$sum--;
for($j=0;$j<=8;$j++){//columnas
if($j==0){
$min = $sum*3;
$max = $sum*3-3;
}
else{
$min = $j.$sum*3;
$max = $j.$sum*3-3;
}
$num = dame_num($min, $max);
if(in_array($p, $posiciones))
$arr[$i][$j]='00';
else
$arr[$i][$j]=$num;
$p++;
}
}
echo "..........modo1........................<br />";
for($i=1;$i<=3;$i++){
for($j=0;$j<=8;$j++){
echo $arr[$i][$j];
echo " - ";
}
echo "<br />";
}
echo "..........modo2........................<br />";
for($i=1;$i<=3;$i++){
for($j=0;$j<=8;$j++){
if($i==1 || $i==2){
if($arr[$i+1][$j]>$arr[$i][$j]){
$mayor = $arr[$i+1][$j];
$menor = $arr[$i][$j];
$arr[$i][$j]= $mayor;
$arr[$i+1][$j]= $menor;
}
}
echo $arr[$i][$j];
echo " - ";
}
echo "<br />";
}
?>
Podrias comentar para que sirve?? es un juego de azar??
saludos,