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

📄 memoption.c

📁 RoboCup 2D 仿真组冠军源代码之1998年冠军队——CMUnited98源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
      {"use_new_position_based_vel",  (void *)&CP_use_new_position_based_vel, V_BOOL},    {"opt_ctrl_dist",               (void *)&CP_opt_ctrl_dist,      V_FLOAT},    {"KickTo_err",                  (void *)&CP_KickTo_err,         V_FLOAT},    {"closest_margin",              (void *)&CP_closest_margin,     V_FLOAT},    {"dokick_factor",               (void *)&CP_dokick_factor,      V_FLOAT},    {"max_turn_kick_pow",           (void *)&CP_max_turn_kick_pow,  V_FLOAT},    {"kick_time_space",             (void *)&CP_kick_time_space,    V_INT},    {"max_ignore_vel",              (void *)&CP_max_ignore_vel,     V_FLOAT},    {"max_est_err",                 (void *)&CP_max_est_err,        V_FLOAT},    {"hard_kick_margin",            (void *)&CP_hard_kick_margin,   V_FLOAT},    {"hard_kick_err",               (void *)&CP_hard_kick_err,      V_FLOAT},    {"hard_kick_factor",            (void *)&CP_hard_kick_factor,   V_FLOAT},    {"max_hard_kick_angle_err",     (void *)&CP_max_hard_kick_angle_err, V_INT},		    {"max_go_to_point_angle_err",   (void *)&CP_max_go_to_point_angle_err, V_INT},		    {"max_int_lookahead",           (void *)&CP_max_int_lookahead,  V_INT},		    {"intercept_close_dist",        (void *)&CP_intercept_close_dist,  V_FLOAT},		    {"intercept_step",              (void *)&CP_intercept_step,     V_INT},		    {"hardest_kick_angle_disp",     (void *)&CP_hardest_kick_angle_disp,  V_INT},		    {"hard_kick_end_turn_dist",     (void *)&CP_hard_kick_end_turn_dist,  V_FLOAT},		    {"turnball_opp_worry_dist",     (void *)&CP_turnball_opp_worry_dist,V_FLOAT},		    {"collision_buffer",            (void *)&CP_collision_buffer,  V_FLOAT},    {"behind_angle",                (void *)&CP_behind_angle, V_FLOAT},    {"ball_invalidation_dist_err",  (void *)&CP_ball_invalidation_dist_err , V_FLOAT},    {"time_for_full_rotation",      (void *)&CP_time_for_full_rotation, V_INT},    {"dribble_ball_dist",           (void *)&CP_dribble_ball_dist,  V_FLOAT},		    {"dribble_ignore_opp_dist",     (void *)&CP_dribble_ignore_opp_dist, V_FLOAT},		    {"dribble_worry_opp_dist",      (void *)&CP_dribble_worry_opp_dist, V_FLOAT},		    {"dribble_angle_norm",          (void *)&CP_dribble_angle_norm, V_FLOAT},		    {"dribble_dodge_max_dist",      (void *)&CP_dribble_dodge_max_dist, V_FLOAT},		    {"dribble_dodge_angle_err",     (void *)&CP_dribble_dodge_angle_err, V_FLOAT},		    {"dribble_exp_angle_buffer",    (void *)&CP_dribble_exp_angle_buffer, V_FLOAT},		    {"dribble_angle_ignore_buffer", (void *)&CP_dribble_angle_ignore_buffer, V_FLOAT},		    {"dribble_dodge_close_dist",    (void *)&CP_dribble_dodge_close_dist, V_FLOAT},    {"can_dribble_cone_ratio",      (void *)&CP_can_dribble_cone_ratio, V_FLOAT},    {"dribble_towards_length",      (void *)&CP_dribble_towards_length, V_FLOAT},    {"dribble_sideline_buffer",     (void *)&CP_dribble_sideline_buffer, V_FLOAT},    {"dribble_sphere_rad",          (void *)&CP_dribble_sphere_rad, V_FLOAT},     {"move_imp_1v1_initial",        (void *)&CP_move_imp_1v1_initial, V_FLOAT},    {"move_imp_1v1_inc",            (void *)&CP_move_imp_1v1_inc, V_FLOAT},    {"move_imp_1v1_threshold",      (void *)&CP_move_imp_1v1_threshold, V_FLOAT},    {"at_point_buffer",             (void *)&CP_at_point_buffer, V_FLOAT},    {"overrun_dist",                (void *)&CP_overrun_dist, V_FLOAT},    {"def_block_dist",              (void *)&CP_def_block_dist, V_FLOAT},    {"def_block_dist_ratio",        (void *)&CP_def_block_dist_ratio, V_FLOAT},    {"overrun_buffer",              (void *)&CP_overrun_buffer, V_FLOAT},    {"cycles_to_kick",              (void *)&CP_cycles_to_kick, V_FLOAT},    {"breakaway_buffer",            (void *)&CP_breakaway_buffer, V_FLOAT},    {"breakaway_kickable_buffer",   (void *)&CP_breakaway_kickable_buffer, V_FLOAT},    {"static_kick_dist",            (void *)&CP_static_kick_dist, V_FLOAT},    {"static_kick_ang",             (void *)&CP_static_kick_ang, V_FLOAT},    {"static_kick_ang_err",         (void *)&CP_static_kick_ang_err, V_FLOAT},    {"static_kick_dist_err",        (void *)&CP_static_kick_dist_err, V_FLOAT},    {"static_kick_overrun_dist",    (void *)&CP_static_kick_overrun_dist, V_FLOAT},    {"goalie_baseline_buffer",      (void *)&CP_goalie_baseline_buffer, V_FLOAT},    {"goalie_scan_angle_err",       (void *)&CP_goalie_scan_angle_err, V_FLOAT},    {"goalie_at_point_buffer",      (void *)&CP_goalie_at_point_buffer, V_FLOAT},    {"goalie_vis_angle_err",        (void *)&CP_goalie_vis_angle_err, V_FLOAT},    {"goalie_max_shot_distance",    (void *)&CP_goalie_max_shot_distance, V_FLOAT},    {"goalie_min_pos_dist",         (void *)&CP_goalie_min_pos_dist, V_FLOAT},    {"goalie_max_pos_dist",         (void *)&CP_goalie_max_pos_dist, V_FLOAT},    {"goalie_max_forward_percent",  (void *)&CP_goalie_max_forward_percent, V_FLOAT},    {"goalie_ball_ang_for_corner",  (void *)&CP_goalie_ball_ang_for_corner, V_FLOAT},    {"goalie_max_come_out_dist",    (void *)&CP_goalie_max_come_out_dist, V_FLOAT},    {"goalie_ball_dist_for_corner", (void *)&CP_goalie_ball_dist_for_corner, V_FLOAT},    {"goalie_ball_dist_for_center", (void *)&CP_goalie_ball_dist_for_center, V_FLOAT},    {"goalie_free_kick_dist",       (void *)&CP_goalie_free_kick_dist, V_FLOAT},    {"goalie_go_to_ball_cone_ratio",(void *)&CP_goalie_go_to_ball_cone_ratio, V_FLOAT},    {"goalie_warn_space",           (void *)&CP_goalie_warn_space, V_INT},    {"goalie_comes_out",            (void *)&CP_goalie_comes_out, V_ONOFF},    {"clear_ball_ang_step",         (void *)&CP_clear_ball_ang_step, V_FLOAT},    {"clear_ball_cone_ratio",       (void *)&CP_clear_ball_cone_ratio, V_FLOAT},    {"clear_ball_max_dist",         (void *)&CP_clear_ball_max_dist, V_FLOAT},    {"clear_offensive_min_horiz_dist", (void *)&CP_clear_offensive_min_horiz_dist, V_FLOAT},    {"clear_offensive_min_angle",   (void *)&CP_clear_offensive_min_angle, V_FLOAT},    {"hardest_kick_shot_distance",  (void *)&CP_hardest_kick_shot_distance, V_FLOAT},    {"moderate_kick_shot_distance", (void *)&CP_moderate_kick_shot_distance, V_FLOAT},    {"good_shot_distance",          (void *)&CP_good_shot_distance, V_FLOAT},    {"shot_distance",               (void *)&CP_shot_distance, V_FLOAT},    {"cycles_to_kick_buffer",       (void *)&CP_cycles_to_kick_buffer, V_INT},    {"breakaway_shot_distance",     (void *)&CP_breakaway_shot_distance, V_FLOAT},		    {"formation",                   (void *)&FP_initial_formation,  V_STRING},    {"formation_when_losing",       (void *)&FP_formation_when_losing,  V_STRING},    {"formation_when_losing_lots",  (void *)&FP_formation_when_losing_lots,  V_STRING},    {"formation_when_winning",      (void *)&FP_formation_when_winning,  V_STRING},    {"formation_when_tied",         (void *)&FP_formation_when_tied,  V_STRING},    {"home_change",                 (void *)&FP_initial_hc_method,  V_STRING},    {"mark_change",                 (void *)&FP_initial_mc_method,  V_STRING},    {"player_1_pos",                (void *)&FP_initial_player_1_pos,  V_INT},    {"player_2_pos",                (void *)&FP_initial_player_2_pos,  V_INT},    {"player_3_pos",                (void *)&FP_initial_player_3_pos,  V_INT},    {"player_4_pos",                (void *)&FP_initial_player_4_pos,  V_INT},    {"player_5_pos",                (void *)&FP_initial_player_5_pos,  V_INT},    {"player_6_pos",                (void *)&FP_initial_player_6_pos,  V_INT},    {"player_7_pos",                (void *)&FP_initial_player_7_pos,  V_INT},    {"player_8_pos",                (void *)&FP_initial_player_8_pos,  V_INT},    {"player_9_pos",                (void *)&FP_initial_player_9_pos,  V_INT},    {"player_10_pos",               (void *)&FP_initial_player_10_pos, V_INT},    {"player_11_pos",               (void *)&FP_initial_player_11_pos, V_INT},    {"goalie_number",               (void *)&FP_goalie_number        , V_INT},    {"version",        		(void *)&SP_version,          V_FLOAT},    {"team_size",        		(void *)&SP_team_size,          V_INT},    {"half",        		(void *)&SP_half,          V_INT},    {"host",             		(void *)&SP_host,               V_STRING},    {"goal_width",   		(void *)&SP_goal_width,         V_FLOAT},    {"player_size",   		(void *)&SP_player_size,	V_FLOAT},    {"player_decay",   	        (void *)&SP_player_decay,    	V_FLOAT},    {"player_rand",   		(void *)&SP_player_rand,	V_FLOAT},    {"player_weight",   	        (void *)&SP_player_weight,	V_FLOAT},    {"player_speed_max",            (void *)&SP_player_speed_max,	V_FLOAT},    {"stamina_max",   		(void *)&SP_stamina_max,	V_FLOAT},    {"stamina_inc_max",   	        (void *)&SP_stamina_inc,	V_FLOAT},    {"recover_dec_thr",   	        (void *)&SP_recover_dec_thr,	V_FLOAT},    {"recover_min",   		(void *)&SP_recover_min, 	V_FLOAT},    {"recover_dec",   		(void *)&SP_recover_dec, 	V_FLOAT},    {"effort_dec_thr",   	        (void *)&SP_effort_dec_thr,	V_FLOAT},    {"effort_min",   		(void *)&SP_effort_min, 	V_FLOAT},    {"effort_dec",   		(void *)&SP_effort_dec, 	V_FLOAT},    {"effort_inc_thr",   	        (void *)&SP_effort_inc_thr,	V_FLOAT},    {"effort_inc",   		(void *)&SP_effort_inc,	        V_FLOAT},    {"ball_size",   		(void *)&SP_ball_size,		V_FLOAT},    {"ball_decay",   		(void *)&SP_ball_decay, 	V_FLOAT},    {"ball_rand",   		(void *)&SP_ball_rand,		V_FLOAT},    {"ball_weight",   		(void *)&SP_ball_weight,	V_FLOAT},    {"ball_speed_max",   	        (void *)&SP_ball_speed_max,	V_FLOAT},    {"dash_power_rate",   	        (void *)&SP_dash_power_rate,	V_FLOAT},    {"kick_power_rate",   	        (void *)&SP_kick_power_rate,	V_FLOAT},    {"kickable_margin",   	        (void *)&SP_kickable_margin,	V_FLOAT},    {"catch_probability",   	(void *)&SP_catch_prob, 	V_FLOAT},    {"catchable_area_l",            (void *)&SP_catch_area_l,	V_FLOAT},    {"catchable_area_w",            (void *)&SP_catch_area_w,	V_FLOAT},    {"maxpower",   		        (void *)&SP_max_power,		V_FLOAT},    {"minpower",   		        (void *)&SP_min_power,		V_FLOAT},    {"maxmoment",   		(void *)&SP_max_moment,		V_FLOAT},    {"minmoment",   		(void *)&SP_min_moment,		V_FLOAT},    {"visible_angle",   	        (void *)&SP_visible_angle,	V_FLOAT},    {"visible_distance",            (void *)&SP_visible_dist,	V_FLOAT},    {"audio_cut_dist",   	        (void *)&SP_audio_cut_dist,	V_FLOAT},    {"quantize_step",   	        (void *)&SP_dist_qstep, 	V_FLOAT},    {"quantize_step_l",   	        (void *)&SP_land_qstep, 	V_FLOAT},    {"ckick_margin",   	        (void *)&SP_ckmargin,   	V_FLOAT},    {"wind_dir",   		        (void *)&SP_wind_dir,   	V_FLOAT},    {"wind_force",   		(void *)&SP_wind_force,  	V_FLOAT},    {"wind_rand",   		(void *)&SP_wind_rand,  	V_FLOAT},    {"wind_none",   		(void *)&SP_wind_none,  	V_BOOL},    {"wind_random",   		(void *)&SP_wind_random,	V_BOOL},    {"half_time",   		(void *)&SP_half_time,  	V_INT},    {"port",   			(void *)&SP_port,       	V_INT},    {"coach_port",   		(void *)&SP_coach_port,  	V_INT},    {"simulator_step",   	        (void *)&SP_simulator_step,	V_INT},    {"send_step",   		(void *)&SP_send_step,  	V_INT},    {"recv_step",   		(void *)&SP_recv_step,  	V_INT},    {"say_msg_size",   	        (void *)&SP_say_msg_size,	V_INT},    {"hear_max",   		        (void *)&SP_hear_max,   	V_INT},    {"hear_inc",   		        (void *)&SP_hear_inc,   	V_INT},    {"hear_decay",   		(void *)&SP_hear_decay,  	V_INT},    {"catch_ban_cycle",             (void *)&SP_catch_ban_cycle,	V_INT},    {"coach",   			(void *)&SP_coach_mode,  	V_BOOL},    {"coach_w_referee",   	        (void *)&SP_coach_w_referee_mode,V_BOOL},    {"use_offside",   		(void *)&SP_use_offside,	V_ONOFF},    {"forbid_kick_off_offside",     (void *)&SP_forbid_kickoff_offside, V_ONOFF},    {"log_file",		        (void *)&SP_logfile,		V_STRING},    {"record",			(void *)&SP_recfile,		V_STRING},    {"record_log",		        (void *)&SP_rec_log,		V_BOOL},    {"record_version",	        (void *)&SP_rec_ver,		V_INT},    {"send_log",	        (void *)&SP_send_log,		V_BOOL},    {"replay",			(void *)&SP_replay,		V_STRING},    {"verbose",                     (void *)&SP_verbose,		V_ONOFF},    {"offside_active_area_size",    (void *)&SP_offside_area,	V_FLOAT},    {"inertia_moment",      	(void *)&SP_inertia_moment,     V_FLOAT},    {"\0",				NULL, 			       	0}  } ;  /* skip command name */  argv++ ; argc-- ;  /* first, search option '-file' */  int i ;  FILE *fp ;  for(i = 0 ; i < argc ; i++) {    if (!strcmp(*(argv + i),"-file")) {      if ((fp = fopen(*(argv+i+1),"r")) == NULL) {	cerr << "cat't open config file " << *(argv+i+1) << endl ;	break ;      }			      char buf[100] ;      while(fgets(buf,100,fp) != NULL) {				/* ignore remark line */	if (buf[0] == '#' || buf[0] == '\n')	  continue ;				/* replace from ':' to ' ' */	char *t = buf ;	while(*t != NULLCHAR) {	  if (*t == ':') *t = ' ' ;	  t++ ;	}	int n, p ;	char com[256] ;	char onoff[16] ;	n = sscanf(buf,"%s", com) ;	if (n < 1) {	  cerr << "Illegal line : " << buf ;	  continue ;	}	for (p = 0 ; opt[p].vptr != NULL ; p++) {	  if (strcmp(com, opt[p].optname))	    continue ;	  /* match */	  switch(opt[p].vsize) {	  case V_INT:	    n = sscanf(buf, "%s %d", com, (int *)opt[p].vptr) ;	    break ;	  case V_STRING:	    n = sscanf(buf, "%s %s", com, (char *)opt[p].vptr) ;	    break ;	  case V_FLOAT:	    n = sscanf(buf, "%s %f", com, (float *)opt[p].vptr) ;	    break ;	  case V_BOOL:	    n = 2 ;	    *((Bool *)opt[p].vptr) = TRUE ;	    break ;	  case V_ONOFF:	    n = sscanf(buf, "%s %s", com, onoff) ;	    *((Bool *)opt[p].vptr) = (!strcmp(onoff, "on")) ? TRUE :FALSE;	    break ;	  }	  if (n < 2)	    cerr << "Illegal line (" << com << ") " << endl ;	  break ;	}					if (opt[p].vptr == NULL)	  cerr << "Illegal line (" << com << ") " << endl ;      }      fclose(fp) ;      /* break ; */   // Without this, more than one file can be read    }  }  /* next, analyze command line option */  int p ;  while (argc) {    if (!strcmp(*argv, "-file")) {      argv += 2 ;      argc -= 2 ;      continue ;    }			    for (p = 0 ; opt[p].vptr != NULL ; p++) {      if (strcmp(*argv + 1, opt[p].optname))	continue ;      /* match */      argv++ ;      argc-- ;      switch(opt[p].vsize) {      case V_INT:	*((int *)opt[p].vptr) = atoi(*argv) ;	break ;      case V_STRING:	strcpy((char *)opt[p].vptr, *argv) ;	break ;      case V_FLOAT:	*((float *)opt[p].vptr) = atof(*argv) ;	break ;      case V_BOOL:	*((Bool *)opt[p].vptr) = TRUE ;	argv-- ;	argc++ ;	break ;      case V_ONOFF:	*((Bool *)opt[p].vptr) = (!strcmp(*argv, "on")) ? TRUE : FALSE ;	break ;      }      break ;    }    if (opt[p].vptr == NULL)      cerr << "Unrecognized Option : " << *argv << endl ;    argv++ ;    argc-- ;  }  SP_half_time = SP_half_time * 1000 / SP_simulator_step ;  SP_kickable_area = SP_kickable_margin + SP_ball_size + SP_player_size ;}

⌨️ 快捷键说明

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