⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memoption.c

📁 1999年卡耐基梅陇大学的2D仿真源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/* -*- Mode: C++ -*- *//* MemOption.C * CMUnited99 (soccer client for Robocup99) * Peter Stone <pstone@cs.cmu.edu> * Computer Science Department * Carnegie Mellon University * Copyright (C) 1999 Peter Stone * * CMUnited-99 was created by Peter Stone, Patrick Riley, and Manuela Veloso * * You may copy and distribute this program freely as long as you retain this notice. * If you make any changes or have any comments we would appreciate a message. * For more information, please see http://www.cs.cmu.edu/~robosoccer/ */#include "netif.h"#include "utils.h"#include "MemOption.h"/* setting defaults to match version 4.06 server.conf */OptionInfo::OptionInfo(){  VP_test_l   = FALSE;  VP_test_r   = FALSE;  VP_test     = FALSE;  VP_train_DT = FALSE;  VP_use_DT   = FALSE;  IP_my_score             = 0;  IP_their_score          = 0;  IP_reconnect            = 0;  sprintf(MyTeamName,     "CMUnited");  /* no option flags for these */  SP_pitch_length 	  = 105.0;  SP_pitch_width 	  = 68.0;  SP_pitch_margin	  = 5.0;  SP_penalty_area_length  = 16.5;  SP_penalty_area_width   = 40.32;  SP_goal_area_length	  = 5.5;  SP_goal_area_width	  = 18.32;  SP_penalty_spot_dist    = 11.0;  SP_corner_arc_r	  = 1.0;  SP_free_kick_buffer     = 9.15;  SP_after_goal_wait  	  = 50;  SP_feel_distance        = 3.0;  SP_num_lines            = 4;  SP_num_markers          = 55;  SP_unum_far_length      = 20.0;  SP_unum_too_far_length  = 40.0;  SP_team_far_length      = 40.0;  SP_team_too_far_length  = 60.0;  SP_version              = 4.06;  SP_team_size            = 11;  SP_half                 = 1;  sprintf(SP_host,        "localhost");  SP_goal_width           = 14.02;         SP_player_size          = 0.8;  SP_player_decay         = 0.4;  SP_player_rand 	  = 0.1;  SP_player_weight	  = 60.0;  SP_player_speed_max     = 32.0;  SP_stamina_max	  = 2000.0;  SP_stamina_inc          = 20.0;  SP_recover_dec_thr      = 0.3;	  SP_recover_dec          = 0.05; 	  SP_recover_min          = 0.1; 	  SP_effort_dec_thr       = 0.4;	  SP_effort_min           = 0.1;	  SP_effort_dec           = 0.05;	  SP_effort_inc_thr       = 0.9;	  SP_effort_inc           = 0.05;	  SP_ball_size            = 0.085;		  SP_ball_decay           = 0.96;	  SP_ball_rand            = 0.05;		  SP_ball_weight          = 0.2;;	  SP_ball_speed_max       = 32.0;	  SP_dash_power_rate      = 0.01;	  SP_kick_power_rate      = 0.016;  SP_kickable_margin      = 1.0;	  SP_kickable_area        = SP_kickable_margin + SP_ball_size + SP_player_size;  SP_catch_prob           = 1.0;	  SP_catch_area_l         = 2.0;	  SP_catch_area_w         = 1.0;	  SP_catch_ban_cycle      = 5;  SP_max_power            = 100;		  SP_min_power            = -30;		  SP_max_moment           = 180;		  SP_min_moment           = -180;		  SP_min_neck_angle       = -90.0;  SP_max_neck_angle       = 90.0;  SP_min_neck_moment      = -180.0;  SP_max_neck_moment      = 180.0;  SP_visible_angle        = 90.0;	  SP_audio_cut_dist       = 50.0;	  SP_dist_qstep           = 0.1;	  SP_land_qstep           = 0.01;	  SP_ckmargin             = 1.0;	  SP_wind_dir             = 0.0;	  SP_wind_force           = 0.0;  SP_wind_rand            = 0.0;	  SP_wind_none            = FALSE;  SP_wind_random          = FALSE;  SP_half_time            = 300;  SP_port                 = 6000;  SP_coach_port           = 6001;  SP_olcoach_port         = 6002;  SP_simulator_step       = 100;  SP_send_step            = 150;  SP_recv_step            = 10;  SP_say_msg_size         = 512;  SP_hear_max             = 2;  SP_hear_inc             = 1;  SP_hear_decay           = 2;  SP_coach_mode           = FALSE;  SP_coach_w_referee_mode = FALSE;  SP_say_coach_cnt_max    = 128;  SP_say_coach_msg_size   = 128;  SP_send_vi_step         = 100;  SP_look_step            = 100;  SP_use_offside          = FALSE;  SP_forbid_kickoff_offside = TRUE;  SP_verbose              = TRUE;  SP_offside_area         = 9.15;  SP_inertia_moment       = 5.0;  SP_sense_body_step      = 100;  SP_offside_kick_margin  = 9.15;  SP_record_messages      = FALSE;    CP_goalie               = FALSE;  CP_save_log             = FALSE;  CP_save_freq            = 10;  CP_save_sound_log       = FALSE;  CP_save_sound_freq      = 10;  CP_save_action_log_level = 0; /* 0 means save nothing */  CP_save_action_freq      = 40;  CP_send_ban_recv_step_factor = 3.0;  CP_interrupts_per_cycle = 2;  CP_interrupts_left_to_act = 2;  CP_max_conf             = 1.0;  CP_min_valid_conf       = 0.5;  CP_conf_decay           = 0.98;  CP_player_conf_decay    = 0.99;  CP_ball_conf_decay      = 0.9;  CP_max_player_move_factor = 4;  CP_max_say_interval     = 100;  CP_ball_moving_threshold = .2; /* experimentally checked -- ball still, player fast => .15 ball speed */  CP_dodge_angle_buffer    = 25;  CP_dodge_distance_buffer = 3.5;  CP_dodge_power           = 30;  CP_dodge_angle           = 90;  sprintf(CP_tree_stem,      "pass");  CP_DT_evaluate_interval  = 10;  CP_say_tired_interval    = 20;  CP_tired_buffer          = 10;  CP_set_plays             = FALSE;  CP_Setplay_Delay         = 5;  CP_Setplay_Say_Delay     = SP_hear_decay*5;  CP_Setplay_Max_Delay     = 100;  CP_Setplay_Time_Limit    = 150;  CP_kickable_buffer       = .1;  CP_mark_persist_time     = 100;  CP_track_min_distance    = 0;  CP_track_max_distance    = 15;  CP_pull_offsides         = FALSE;  CP_pull_offsides_when_winning = TRUE;  CP_spar                  = TRUE;  CP_mark                  = TRUE;  CP_communicate           = TRUE;  CP_change_view_for_ball_cycles = 2;  CP_defer_kick_to_teammate_buffer = .05;  CP_scan_overlap_angle    = 2;  CP_pull_offside_threshold = 5;  CP_pull_offside_buffer = 3;  CP_ball_forget_angle_buf = 3;  CP_player_forget_angle_buf = 5;  CP_ball_forget_dist_buf = 1;  CP_player_forget_dist_buf = 1;  CP_beat_offsides_buffer = 20;  CP_beat_offsides_threshold = 30;  CP_beat_offsides_max_x = 25;  CP_congestion_epsilon = .01;  CP_back_pass_opponent_buffer = 10;  CP_back_pass_offside_buffer = 10;  CP_min_less_congested_pass_dist = 7;    /* pat added these */  CP_use_new_position_based_vel = TRUE;  CP_stop_on_error = TRUE;    CP_opt_ctrl_dist        = 1.6;//(SP_player_size + .8 *SP_kickable_margin);  CP_KickTo_err           = 3;  CP_closest_margin       = .97;//(SP_player_size + 2.0*SP_ball_size);  CP_dokick_factor        = .22;  CP_max_turn_kick_pow    = 20;  CP_max_ignore_vel       = .005;  CP_kick_time_space      = 1;  CP_max_est_err          = .3;  CP_max_go_to_point_angle_err = 5;  CP_holdball_kickable_buffer = .1;  CP_stop_ball_power          = 30;  CP_possessor_intercept_space = 4;  CP_can_keep_ball_cycle_buffer = 0;  /* no longer used  CP_hard_kick_margin     = .97;//(SP_player_size + 2.0*SP_ball_size);  CP_hard_kick_factor     = .25;  CP_hard_kick_end_turn_dist = 1.1;//(SP_player_size + .3 *SP_kickable_margin);  */  CP_hard_kick_dist_buffer = .1;   CP_max_hard_kick_angle_err  = 5;  CP_hardest_kick_player_ang = 90; //angle relative to direction of ball  CP_hardest_kick_ball_dist = .831; //kickable_area * .6   CP_hardest_kick_ball_ang = 15; // this is realtive to the direction of travel   CP_max_dash_help_kick_angle = 60;  CP_max_int_lookahead    = 20;  CP_intercept_step       = 2;  CP_my_intercept_step    = 2;  CP_intercept_aim_ahead  = 1;  CP_no_turn_max_cyc_diff = -1;  CP_no_turn_max_dist_diff = 1.0;  CP_turnball_opp_worry_dist = 5;   CP_collision_buffer = .1;  CP_behind_angle  = 80;  CP_time_for_full_rotation = 24; /* average guestimate */  CP_ball_vel_invalidation_factor = 2.0;  CP_dribble_dash_pow = 75;  CP_dribble_ball_dist    = 1.2;  CP_dribble_angle_norm = 60;  CP_dribble_exp_angle_buffer = 10;  CP_dribble_ignore_opp_dist = 15;  CP_dribble_worry_opp_dist = 4;  CP_dribble_dodge_max_dist = 6;  CP_dribble_dodge_angle_err = 15;  CP_dribble_angle_ignore_buffer = 5;  CP_dribble_dodge_close_dist = 2;  CP_dribble_scan_field = TRUE;   CP_can_dribble_cone_ratio = .75;  CP_dribble_towards_length = 10;  CP_dribble_sideline_buffer = 1.5;  CP_dribble_circle_inner_rad = 3;  CP_dribble_circle_outer_rad = 4;  CP_dribble_circle_ang = 90;  CP_move_imp_1v1_initial =  0.0;  CP_move_imp_1v1_inc =       .2;  CP_move_imp_1v1_threshold = 1.0 ;  CP_at_point_buffer = 1;  CP_overrun_dist = 3;  CP_def_block_dist = 2;  CP_def_block_dist_ratio = .5;  CP_overrun_buffer = 2.5;  CP_cycles_to_kick = 4;  CP_breakaway_buffer = 3;  CP_our_breakaway_kickable_buffer = 1.5;  CP_their_breakaway_front_kickable_buffer = 5.0;  CP_their_breakaway_back_kickable_buffer = 2.0;  CP_breakaway_approach_x = 35;  CP_breakaway_approach_y = 8;  CP_breakaway_targ_valid_time = 3;  CP_breakaway_min_goalie_steal_time = 6;  CP_breakaway_kick_run_min_cycles = 7;  CP_breakaway_kick_run_max_cycles = 14;  CP_our_breakaway_min_cone_dist_wid = 18;  CP_their_breakaway_min_cone_dist_wid = 12;  CP_breakaway_middle_buffer = 3;  CP_breakaway_kick_run_worry_dist = 10;  CP_breakaway_mode = 0;    CP_static_kick_dist_err = .3;//old: .14  CP_static_kick_ang_err = 15;//old: 5  //no longer used  //CP_static_kick_dist = .985;  //CP_static_kick_ang = 47;  /* caculated value! */    //CP_static_kick_ang = 42;  /* caculated value!- extar buffer */    //  CP_static_kick_overrun_dist = 4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -