Navegando por internet encontré el siguiente código de el juego del gusanito
Navegando por internet encontre el siguiente código de el juego del gusanito:
beginFill(0xeeeeee);
lineStyle(1);
lineTo(511, 0);
lineTo(511, 256);
lineTo(0, 256);
endFill();
createTextField ("t", 0, 0, 255, 125, 32);
t.text = "Snake Game\t-\tPress SPACE";
f=3;
l=1;
r=0;
m=createEmptyMovieClip( "a"+(f-1), f-1 );
onEnterFrame = function(){
if(Key.getCode()==32) {
onEnterFrame = function(){
if(Key.getCode()==37)r= Math.PI*-.5;
if(Key.getCode()==38)r= 0;
if(Key.getCode()==39)r= Math.PI*.5;
if(Key.getCode()==40)r= Math.PI;
duplicateMovieClip( "a"+(f-1), "a"+f, f );
_root["a"+f]._x += Math.sin(r)*8;
_root["a"+f]._y -= Math.cos(r)*8;
removeMovieClip( _root["a"+(f-l)] );
i=f-1;
while( i-- > f-l-1)
if( _root["a"+i].hitTest(_root["a"+(f-1)]._x,_root["a"+(f-1)]._y)
|| _root["a"+f]._x < 0 || _root["a"+f]._y < 0
|| _root["a"+f]._x > 504 || _root["a"+f]._y > 248){
l += " Juego acabado\t";
delete onEnterFrame;
}
if (b.hitTest(_root["a"+f]._x, _root["a"+f]._y)){
b._x = random(64)*8;
b._y = random(32)*8;
l++;l++;l++;l++;l++;
}
t.text = "Puntaje: " + l;
f++;
}
}
}
m._x = 20*8;
m._y = 8*8;
m.beginFill(0x555588);
m.lineTo(7, 0);
m.lineTo(7,7);
m.lineTo(0,7);
m.endFill();
m=createEmptyMovieClip( "b", 1 );
m._x = random(64)*8;
m._y = random(32)*8;
m.beginFill(0xff0000);
m.lineTo(7, 0);
m.lineTo(7,7);
m.lineTo(0,7);
m.endFill();
Mi duda es la siguiente y te agradeceria si fueras ten amable de contestarme. No entiendo el comportamiento de "i" en la sentencia while. Necesito por favor que me escribas al lado de cada renglón la funcion realizada con ejemplos de valores de "i" en la siguiene parte del codigo:
while( i-- > f-l-1)
if( _root["a"+i].hitTest(_root["a"+(f-1)]._x,_root["a"+(f-1)]._y)
|| _root["a"+f]._x < 0 || _root["a"+f]._y < 0
|| _root["a"+f]._x > 504 || _root["a"+f]._y > 248){
l += " Juego acabado\t";
delete onEnterFrame;
}
beginFill(0xeeeeee);
lineStyle(1);
lineTo(511, 0);
lineTo(511, 256);
lineTo(0, 256);
endFill();
createTextField ("t", 0, 0, 255, 125, 32);
t.text = "Snake Game\t-\tPress SPACE";
f=3;
l=1;
r=0;
m=createEmptyMovieClip( "a"+(f-1), f-1 );
onEnterFrame = function(){
if(Key.getCode()==32) {
onEnterFrame = function(){
if(Key.getCode()==37)r= Math.PI*-.5;
if(Key.getCode()==38)r= 0;
if(Key.getCode()==39)r= Math.PI*.5;
if(Key.getCode()==40)r= Math.PI;
duplicateMovieClip( "a"+(f-1), "a"+f, f );
_root["a"+f]._x += Math.sin(r)*8;
_root["a"+f]._y -= Math.cos(r)*8;
removeMovieClip( _root["a"+(f-l)] );
i=f-1;
while( i-- > f-l-1)
if( _root["a"+i].hitTest(_root["a"+(f-1)]._x,_root["a"+(f-1)]._y)
|| _root["a"+f]._x < 0 || _root["a"+f]._y < 0
|| _root["a"+f]._x > 504 || _root["a"+f]._y > 248){
l += " Juego acabado\t";
delete onEnterFrame;
}
if (b.hitTest(_root["a"+f]._x, _root["a"+f]._y)){
b._x = random(64)*8;
b._y = random(32)*8;
l++;l++;l++;l++;l++;
}
t.text = "Puntaje: " + l;
f++;
}
}
}
m._x = 20*8;
m._y = 8*8;
m.beginFill(0x555588);
m.lineTo(7, 0);
m.lineTo(7,7);
m.lineTo(0,7);
m.endFill();
m=createEmptyMovieClip( "b", 1 );
m._x = random(64)*8;
m._y = random(32)*8;
m.beginFill(0xff0000);
m.lineTo(7, 0);
m.lineTo(7,7);
m.lineTo(0,7);
m.endFill();
Mi duda es la siguiente y te agradeceria si fueras ten amable de contestarme. No entiendo el comportamiento de "i" en la sentencia while. Necesito por favor que me escribas al lado de cada renglón la funcion realizada con ejemplos de valores de "i" en la siguiene parte del codigo:
while( i-- > f-l-1)
if( _root["a"+i].hitTest(_root["a"+(f-1)]._x,_root["a"+(f-1)]._y)
|| _root["a"+f]._x < 0 || _root["a"+f]._y < 0
|| _root["a"+f]._x > 504 || _root["a"+f]._y > 248){
l += " Juego acabado\t";
delete onEnterFrame;
}
1 respuesta
Respuesta de joemakina
1