//RED & BLUE par Walter Siracusa //Initialisation LG_GRILLE=5; HT_GRILLE=4; LG_BALL=50; HT_BALL=50; VT_BALL=10; //Multiple de LG_BALL et HT_BALL EMPTY=0; RED=1; BLUE=2; WALL=3; RIGHT=1; LEFT=2; UP=3; DOWN=4; Finish=false; //Etat du jeu (true=fini mais pas forcément réussi) Score=1500; score_txt.text=Score; //Création et initialisation de la grille Tab=new Array(LG_GRILLE); for(i=0;i0 && Tab[posi-1][posj]==EMPTY){ Boule.moving=LG_BALL; swapCase(posi,posj,posi-1,posj); }break; case UP: if(posj>0 && Tab[posi][posj-1]==EMPTY){ Boule.moving=HT_BALL; swapCase(posi,posj,posi,posj-1); }break; case DOWN: if(posj=LG_GRILLE) mouse_i=LG_GRILLE-1; if(mouse_j<0) mouse_j=0; else if(mouse_j>=HT_GRILLE) mouse_j=HT_GRILLE-1; //N'autorise que les déplacements horizontaux ou verticaux if((ball_i!=mouse_i && ball_j==mouse_j) || (ball_i==mouse_i && ball_j!=mouse_j)){ if(mouse_i>ball_i) moveBall(RIGHT,ball_i,ball_j); else if(mouse_iball_j) moveBall(DOWN,ball_i,ball_j); } }else if(Boule.moving>0){ //Le bouton est peut-être relaché mais une boule se déplace clip=_root["ball_mc"+Boule.id]; switch(Boule.dir){ case RIGHT: clip._x+=VT_BALL;break; case LEFT: clip._x-=VT_BALL;break; case UP: clip._y-=VT_BALL;break; case DOWN: clip._y+=VT_BALL;break; } Boule.moving-=VT_BALL; } if(!Finish) checkGrille(); } id_timing=setInterval(timing,700);