assets/js/app.js
// Effectue la rotation d'un block
Effectue la rotation d'un block
Effectue la rotation d ' un block
function rotate(container){
    for(var k = 0; k < container.blocks.length; k++){
        for(var u = 0; u < container.blocks[k].length; u++){
            copy[3 - u][k] = container.blocks[k][u];
        }
    }
    for(var k = 0; k < container.blocks.length; k++){
        for(var u = 0; u < container.blocks[k].length; u++){
            var x = container.position.x + u;
            var y = container.position.y + k;
            if(copy[k][u] == 1 && map[y][x-1] == 1){
                return true;
            }
        }
    }
    for(var k = 0; k < container.blocks.length; k++){
        for(var u = 0; u < container.blocks[k].length; u++){
            var x = container.position.x + u;
            var y = container.position.y + k;
            if(x <= 0 || x >= (width+1)){
                return true;
            }
        }
    }
    for(var k = 0; k < container.blocks.length; k++){
        for(var u = 0; u < container.blocks[k].length; u++){
            container.blocks[k][u] = copy[k][u];
        }
    }
}
function rotate ( container ) { for ( var k = 0 ; k < container . blocks . length ; k ++ ) { for ( var u = 0 ; u < container . blocks [ k ] . length ; u ++ ) { copy [ 3 - u ] [ k ] = container . blocks [ k ] [ u ] ; } } for ( var k = 0 ; k < container . blocks . length ; k ++ ) { for ( var u = 0 ; u < container . blocks [ k ] . length ; u ++ ) { var x = container . position . x + u ; var y = container . position . y + k ; if ( copy [ k ] [ u ] == 1 && map [ y ] [ x - 1 ] == 1 ) { return true ; } } } for ( var k = 0 ; k < container . blocks . length ; k ++ ) { for ( var u = 0 ; u < container . blocks [ k ] . length ; u ++ ) { var x = container . position . x + u ; var y = container . position . y + k ; if ( x <= 0 || x >= ( width + 1 ) ) { return true ; } } } for ( var k = 0 ; k < container . blocks . length ; k ++ ) { for ( var u = 0 ; u < container . blocks [ k ] . length ; u ++ ) { container . blocks [ k ] [ u ] = copy [ k ] [ u ] ; } } }
Effectue la rotation d'un block
Effectue la rotation d ' un block
// Deplace les blocks dans un tableau de copie // Verifie qu il n y a pas de collision avec les blocks deja poses // Verifie si la rotation est possible (a cause des murs) // Met à jour le tableau grâce à la copie