extern void object::Solution( )
{
	errmode(0);
	int    table[5];
	float  dir = 90;    // direction où poser

	// première action, chercher les éléments
	for ( int i=1 ; i<6 ; i=i+1 )
	{
		move(5);  // avance au prochain
		grab();  // le prend
		if ( load == null )
		{
			table[i-1] = 0;  // s'il n'y a rien
		}
		else
		{
			// le place dans le tableau
			table[i-1] = load.category;

			// recule à la plateforme
			move(-i*5);
			turn(dir);
			drop();  // le pose
			turn(-dir);
			dir += 90;
			if ( i == 5 )  break;
			// revient si c'est pas la fin
			move(i*5);
		}
	}

	errmode(1);
	// seconde action, les remettre inversé
	for ( int i=0 ; i<5 ; i=i+1 )
	{
		if ( table[i] == 0 )  continue;

		// retrouve l'objet
		object item = radar(table[i]);
		dir = direction(item.position);
		turn(dir);      // se retourne vers lui
		grab();         // le prend
		turn(-dir);     // face au couloir
		move(5*(5-i));  // avance à la position
		drop();         // dépose l'objet là-bas
		move(5*(i-5));  // revient.
	}
}
