//第三回 PBL //サンプルプログラム #include "robot_simulator.h" #include #define OBJECT_NUM 5 typedef struct{ int index; Position position; ColorRGB color; double radius; double weight; } Object; typedef enum{ MEASURE, SEARCH, APPROACH, PICKUP, MOVE, PLACE, FINISH } TaskState; TaskState task_state = MEASURE; //最小サイズの物体番号を返す関数 int minimum_object_number(Object *object) { int i; int min_num = 0; double min_value = object[0].radius; for(i=1; i object[i].radius){ min_value = object[i].radius; min_num = i; } } return min_num; } //object[n].positionにある物体をtarget_posに移動する関数 void object_move(Object *object, int *n, Position target_pos) { int i; //課題の達成状況(task_state)で場合分け switch(task_state){ case MEASURE: //物体の位置情報の取得 for(i=0; i