Example #1
0
const ts::cup::Stage_data& ts::server::Stage_assembler::Impl::initialize_stage_data()
{
    stage_data_ = {};

    stage_data_.track = cup_controller_->current_track();
    stage_data_.script_resources = cup_controller_->loaded_resources();

    car_id_ = 0;
    for (const auto& stage_player : cup_controller_->stage_players())
    {
        const auto& player = stage_player.player;
        const auto& car = stage_player.car;

        if (player)
        {
            // This can proceed even if there is no car available, because it might be set later.
            // And if it's not set, we have to start without this player.

            resources::Player_definition player_def;
            player_def.name = player->nickname;
            player_def.id = player->id;

            player_def.color = player->color;

            add_car(player_def, car, player, stage_player.start_pos);
        }
    }    

    return stage_data_;
}
Example #2
0
/*************************************************
Function:       int check_putin()
Description:    检测用户输入的指令,并执行该功能函数
Calls:          int add_car()
                int get_car()
                int display_park()
                void menu()
Called By:      void menu()    
Input:          NO
Return:         NO    
*************************************************/ 
int check_putin(int fd)
{
    char check[MAX];
    
    setbuf(stdin,NULL);                        //清空输入缓冲

    printf("\t\t\033[47;31mplease input conmand:\033[0m   ");

    gets(check);                               //读入输入的命令

    if(my_strcmp(check,"1") == 0)              //若输入的为3 则调用add_car
    {
        add_car(fd);
    }

    else if(my_strcmp(check,"2") == 0)         //若输入为2 调用get_car函数
    {
        get_car(fd);
    }

    else if(my_strcmp(check,"3") == 0)         //若输入为3 调用display_park函数
    {
        display_park(fd);
    }
    
    else if(my_strcmp(check,"4") == 0)         //若输入为4 程序退出
    {
        system("clear");
        printf("\n");
        printf("\t\t\tTHANKS FOR USEING!\n");

        getchar();
        system("clear");
        exit(1);
    }

    /*若错误输入 则继续调用menu函数 提示错误并重新输入*/
    else
    {
        printf("\t\t\033[47;31m输入错误,请重新输入!\033[0m");

        scanf("%*[^\n]");
        system("clear");
        
        menu(fd);
    }


}