+bool Constructor::can_drop(CItem *item, int x, int y)
+{
+ std::list<CItem*>::iterator i = listaItems.begin();
+ while( i != listaItems.end() ) {
+ CItem *temp = *i;
+ if ( temp->get_id() != item->get_id() ) {
+ if ( (temp->is_occupied_area(x, y)) ||
+ ( temp->is_occupied_area(x+item->get_image()->get_width()-1, y+item->get_image()->get_height()-1)) ||
+ ( temp->is_occupied_area(x, y+item->get_image()->get_height()-1)) ||
+ ( temp->is_occupied_area(x+item->get_image()->get_width()-1, y) ) )
+ return false;
+ else i++;
+ }
+ else i++;
+ }
+ return true;
+}
+