📄 memoption.c
字号:
/* -*- 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 + -