/**
Utilitaires pour la recherche des menaces :
**/
function tester_menaces_vecteur($jeu, $i, $j, $di, $dj, $trait)
{
    // Fonction permettant de gérer les menaces des pièces pouvant parcourir des lignes entières (fou, tour ,dame)
    // Les variables $di et $dj permettent de choisir le sens de déplacement ainsi :
    // $di = 1 et $dj = 0 correspond à un déplacement vertical vers la droite
    // $di = 0 et $dj = 1 correspond à un déplacement horizontale vers le haut
    // ...etc
    $cases = '';
    // Tant qu'il n'y a pas de pièce et que ce n'est pas le bord on continue
    $d = 1;
    $stop = false;
    while (!$stop) {
        // On récupère les informations sur la case
        $info = info_case($jeu, $i + $di * $d, $j + $dj * $d, $trait);
        //Fonction dans utilitaires.php
        if ($info[0] & ($info[1] == 'ennemi' || $info[1] == 'vide')) {
            $cases .= Vec2Str([$i + $di * $d, $j + $dj * $d]);
            // Fonction définit dans utilitaires
        }
        if ($info[0] == false || $info[1] != 'vide') {
            $stop = true;
        }
        // Stop si la case bloque
        $d++;
    }
    return $cases;
}
Пример #2
0
function menace_roi($jeu, $trait, $i, $j)
{
    // Initialisation :
    $cases = '';
    // Le roi peux se déplacer d'une case dans l'ensemble des directions :
    for ($di = -1; $di <= 1; $di++) {
        for ($dj = -1; $dj <= 1; $dj++) {
            $cases .= Vec2Str(prendrePce($jeu, $i + $di, $j + $dj, $trait));
        }
    }
    return $cases;
}