Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/10/2011, 02:51
odin_spain
 
Fecha de Ingreso: febrero-2007
Mensajes: 58
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Conversión desde Javascript no da lo mismo

Espero que quede muy lioso y sobretodo que sirva de algo, gracias anticipadas

Codigo JS (he quitado valores inciales y accesorios) Bucles:


function work(){ // bucle1
tiempo+=1;
var x;

for(x in pesti){ // el que miro
var r;
for(r in pesti){
if(r!=x ){ // el otro
if (pesti[r].vida<1) {pesti[r].bando=0;};

var dx=pesti[r].x-pesti[x].x;
var dy=pesti[r].y-pesti[x].y;
var d=Math.sqrt(dx*dx+dy*dy);


if (d>0 && pesti[x].bando!==0 && pesti[r].bando!==0) {

if(pesti[r].bando==pesti[x].bando){
if(d<40){
pesti[x].vx+=velpez*(-dx/(d*d));
pesti[x].vy+=velpez*(-dy/(d*d));
}else if(d<100){
pesti[x].vx+=0.07*(dx/d);
pesti[x].vy+=0.07*(dy/d);
}
}
else { //huye de los otros
if(d<60){
pesti[x].vx-=(velpez/3)*(-dx/(d*d));
pesti[x].vy-=(velpez/3)*(-dy/(d*d));
}
};

if(d<70 && pesti[x].bando!==pesti[r].bando && pesti[r].bando!==0 ){
pesti[r].vida-=5;
}



};

}
}
};



Y mismo en PHP:


$c=0;
while ($c<$tiempofinal){ // ciclo principal
$c++;
$x=-1;
while ($x<$cantipez-1){ // ciclo mi pez
++$x;
//echo "($c) $xy $xvida<br>";

if ($nave[$x][6]<1) {$nave[$r][5]=0;};

$r=-1;
while ($r<$cantipez-1){ // ciclo otro pez r
++$r;
//echo "y $r <br>";
if($r!==$x ){ // no soy yo

if ($nave[$r][6]<1) {$nave[$r][5]=0;};

$dx=$nave[$r][1]-$nave[$x][1];
$dy=$nave[$r][2]-$nave[$x][2];
$d=sqrt($dx*$dx+$dy*$dy);
//dist=50;
if ($d>0 and $nave[$x][5]!==0 and $nave[$r][5]!==0) {



if($nave[$x]5]==$nave[$r][5]){
if($d<40){
$nave[$x][3]+=$velpez*(-$dx/($d*$d));
$nave[$x][4]+=$velpez*(-$dy/($d*$d));
}elseif($d<100){
$nave[$x][3]+=0.07*($dx/$d);
$nave[$x][4]+=0.07*($dy/$d);
};

}
else { //huye de los otros
if($d<60){
$nave[$x][3]-=($velpez/3)*(-$dx/($d*$d));
$nave[$r][4]-=($velpez/3)*(-$dy/($d*$d));
};
}; //fin comport 2




if($d<70 and $nave[$x][5]!==$nave[$r][5] and $nave[$r][5]!==0 )
{

$nave[$r][6]=$nave[$r][6]-5;
};


};


}; // fin no soy yo mismo

}; //fin otros y

// pestisor move x
if($nave[$x][3]>$velmax) {$nave[$x][3]=$velmax;};
if($nave[$x][3]<-1*$velmax) {$nave[$x][3]=-1*$velmax;};
if($nave[$x][4]>$velmax) {$nave[$x][4]=$velmax;};
if($nave[$x][4]<-1*$velmax) {$nave[$x][4]=-1*$velmax;};


$nave[$x][1]+=$nave[$x][3];
$nave[$x][2]+=$nave[$x][4];
$nave[$x][3]=$nave[$x][3]*0.9;
$nave[$x][4]=$nave[$x][4]*0.9;

//tendenci to go towards center;)
$nave[$x][1]=($nave[$x][1]*500+500)/501;
$nave[$x][2]=($nave[$x][2]*500+300)/501;

// guardando sus valores
//echo "($c) $x ($xvx,$xvy) ($xx,$xy)<br>";

$vx=$nave[$x][3];
$vy=$nave[$x][4];
$cx=(int) ($nave[$x][1]);
$cy=(int) ($nave[$x][2]);
echo "<br>($c) $d ($cx,$cy)";

}; ///fin yo x


};