Пример #1
0
function ft_incantation($socket, $lvl, $current, $move)
{
    ft_inventaire($socket);
    echo "lvl : " . $lvl . "\n";
    $nb_joueur = 0;
    foreach ($current as $data) {
        foreach ($data as $obj) {
            if ($obj == "joueur") {
                $nb_joueur++;
            }
        }
    }
    if ($GLOBALS['leveling'][$lvl - 1]["nb_joueur"] <= $nb_joueur) {
        ft_pose($socket, $lvl);
        socket_write($socket, "incantation\n");
        echo "incantation\n";
        $tmp = get_next_line_socket($socket, "incantation");
        if ($tmp != "ko\n") {
            get_next_line_socket($socket, "incantation");
            foreach ($GLOBALS['leveling'][$lvl - 1] as $key => $value) {
                if (isset($GLOBALS['stack'][$key])) {
                    $GLOBALS['stack'][$key] -= $value;
                }
            }
            return $lvl + 1;
        }
    }
    if ($move) {
        ft_move($socket, $current);
    }
    return $lvl;
}
Пример #2
0
function ft_play($socket, $map, $tbl)
{
    $pos = array("x" => 0, "y" => 0, "d" => 0);
    $lvl = 1;
    $current = 0;
    $i = 0;
    ft_inventaire($socket);
    while (42) {
        $tmp = ft_connect_nbr($socket);
        if ($tmp == 0 && $i == 0) {
            ft_fork($socket);
            $i++;
        } else {
            if ($tmp != 0 && $i < 2) {
                ft_dedouble($socket, $tbl);
                $i++;
            }
        }
        if ($current == 0) {
            $current = ft_see($socket);
        }
        ft_search($socket, $current, $lvl, "nourriture");
        ft_check_objectif($socket, $lvl, $current);
        if (ft_search_up($socket, $current, $lvl) == TRUE) {
            $lvl = ft_incantation($socket, $lvl, $current, TRUE);
        } else {
            ft_move($socket, $current);
        }
        $current = 0;
    }
}
Пример #3
0
function ft_search($socket, $current, $lvl, $object)
{
    foreach ($current[0] as $data) {
        if ($data == $object) {
            socket_write($socket, "prend " . $object . "\n");
            echo "prend " . $object . "\n";
            if (($tmp = get_next_line_socket($socket, "prend")) == "ok\n") {
                $GLOBALS['inventaire'][$data]++;
            } else {
                if ($tmp == "ko\n") {
                    ft_inventaire($socket);
                    return false;
                }
            }
        }
    }
    ft_inventaire($socket);
    return true;
}