//第四回 PBL //サンプルプログラム #include "robot_simulator.h" #include #define OBJECT_NUM 7 typedef struct{ int index; Position position; ColorRGB color; double radius; double weight; } Object; typedef enum{ MEASURE, SORT, APPROACH, PICKUP, MOVE, PLACE, FINISH, } TaskState; TaskState task_state = MEASURE; //半径の小さい順に物体番号をバブルソート void radius_babble_sort_number(Object *object) { int i, j; Object temp; for(i=0; ii; j--){ if(object[j-1].radius > object[j].radius){ temp = object[j]; object[j] = object[j-1]; object[j-1] = temp; } } } return; } //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