Example #1
0
function update_oko_ans($glob, $name, $ans)
{
    $last_waiting_ans = find_last_waiting_ans($glob);
    if ($name == "ok") {
        $glob['list_action'][$last_waiting_ans]['waiting_answer'] = 1;
        $glob['time_c'] += 7;
        $glob['bouff_c'] -= 7;
        if ($glob['list_action'][$last_waiting_ans]['nom_action'] == 'send_fork') {
            $glob['time_c'] += 35;
            $glob['bouff_c'] -= 35;
            $arr_f = array("next" => $glob['time_c'] + 601, "done" => 0);
            array_push($glob['time_to_fork'], $arr_f);
        }
    } else {
        if ($name == "ko") {
            $glob['list_action'][$last_waiting_ans]['waiting_answer'] = 2;
            $glob['list_action'][$last_waiting_ans]['pb'] = 1;
            $glob['time_c'] += 7;
            $glob['bouff_c'] -= 7;
            if ($glob['list_action'][$last_waiting_ans]['nom_action'] == 'send_fork') {
                $glob['time_c'] += 35;
                $glob['bouff_c'] -= 35;
            }
        } else {
            aff_error_code("reponse impossible");
        }
    }
    return $glob;
}
Example #2
0
function set_last_waiting_ans($glob, $name, $ans)
{
    $last_waiting_ans = find_last_waiting_ans($glob);
    $name_action_await = name_awaiting_ans($glob);
    if ($name == "ok" || $name == "ko") {
        $glob = update_oko_ans($glob, $name, $ans);
    } else {
        if ($name_action_await == $name) {
            if ($name == "inventaire") {
                $glob['time_c'] += 1;
                $glob['bouff_c']--;
            } else {
                if ($name == "incantation") {
                    $glob['time_c'] += 300;
                    $glob['bouff_c'] -= 300;
                } else {
                    if ($name == "voir") {
                        $glob['time_c'] += +7;
                        $glob['bouff_c'] -= 7;
                    } else {
                        aff_error_code("message recu incomprhenssible: : " . $name);
                    }
                }
            }
            $glob['list_action'][$last_waiting_ans]['waiting_answer'] = 1;
        } else {
            aff_error_code("Decalage entre message serveur attente client");
        }
    }
    return $glob;
}
Example #3
0
function do_action($glob)
{
    for ($i = 0; $glob['list_action'][$i]; $i++) {
        if ($glob['list_action'][$i]['done'] == 0) {
            $action_name = $glob['list_action'][$i]['nom_action'];
            if (substr($action_name, 0, 2) == "b_") {
                $glob['list_action'][$i]['done'] = 1;
                $glob['list_action'][$i]['waiting_answer'] = 1;
                $glob = call_user_func($action_name, $glob);
                $glob['big'] = 1;
                $glob = update_actions($glob);
                return $glob;
            } else {
                $glob['list_action'][$i]['done'] = 1;
                $glob['list_action'][$i]['waiting_answer'] = 0;
                $glob = call_user_func($action_name, $glob);
                $glob['big'] = 0;
                $glob = update_actions($glob);
                return $glob;
            }
        }
    }
    print_r($glob);
    test("action end " . $glob['total_action']);
    // Devrait jamais arrive la
    aff_error_code("end done");
    return $glob;
}
Example #4
0
function init_pars($argv, $glob)
{
    if (count($argv) == 7 && $argv[1] == "-n" && $argv[3] == '-p' && $argv[5] == '-h') {
        $glob['equipe'] = $argv[2];
        $glob['port'] = $argv[4];
        $glob['host'] = $argv[6];
        return $glob;
    } else {
        aff_error_code("usage : ./client.php -n nom -p port -h host");
        exit;
    }
}
Example #5
0
function find_action_where_add($glob, $name_action)
{
    /*
     Trouve l'endroit ou je dois ajouter ce que je dois ajouter
    */
    $cur_list_action = $glob['list_action'];
    for ($i = 0; $cur_list_action[$i]; $i++) {
        if ($cur_list_action[$i]['nom_action'] == $name_action && $cur_list_action[$i]['done'] == 1 && $cur_list_action[$i + 1]['done'] == 0) {
            return $i;
        }
    }
    //  print_r($glob['list_action']);
    test("La c la merde : name action : " . $name_action . "-");
    aff_error_code("A pas trouve ou add l action dans la liste  ");
    return $i;
}
Example #6
0
function b_go_sibur($glob)
{
    $case_to_go = find_shorter_way($glob['vision'], "sibur", $glob['lvl']);
    if ($case_to_go > 0) {
        $glob = build_way_to_go($glob, $case_to_go, "b_go_sibur");
        return $glob;
    } else {
        if ($case_to_go == 0) {
            return $glob;
        } else {
            $glob = error_to_go($glob, 'b_sg_sibur');
            return $glob;
        }
    }
    aff_error_code("Out of go stone");
}
Example #7
0
function b_go_bouf($glob)
{
    /*
     1 cherche le plus cours chemi
     2 Build path vers bouf
    */
    $case_to_go = find_shorter_way($glob['vision'], "nourriture", $glob['lvl']);
    if ($case_to_go > 0) {
        // on vas chercher le chemin pour aller manger
        $glob = build_way_to_go($glob, $case_to_go, "b_go_bouf");
        return $glob;
    } else {
        if ($case_to_go == 0) {
            //On est sur la bonne case
            aff_client("Il y  a de la nourriture sur ma case !");
            return $glob;
        } else {
            $glob = error_to_go($glob, 'b_bouff_20');
            // il n y a pas de bouf sur la case
            return $glob;
        }
    }
    aff_error_code("Out of go bouf");
}