public void parseGenome (String genome){ functions = new int [num_boxes][num_events]; inputs1 = new int [num_boxes][num_events]; inputs2 = new int [num_boxes][num_events]; robot_data = new double [num_boxes + num_system_inputs][num_events];
for (int i = 0; i < num_boxes; i++){ switch (functions[i][event_num]){ case 0: //greater than robot_data [i + num_system_inputs][event_num] = robot_data[inputs1[i][event_num]][event_num] > robot_data[inputs2[i][event_num]][event_num]?1f:0f; break; … case 2: //equal to break; case 15: //output handleOutput (inputs1[i][event_num], robot_data [inputs2[i][event_num]][event_num]); break;
此处注意最后是根据写入的操作运算进行输出
4.输出机器人动作命令
public void handleScanOutput (int outputType, double value){ switch (outputType % 16){ case 0: ahead (value); break; case 1: back (value); break; case 2: //maybe shouldn't use mod here fire (value % 3); break; …