- do {
- int i1 = idx(d, false);
- int i2 = idx(-d,false);
+ [todo]
+ decide not to print rest if too crowded?
+ */
+
+ // no rests to collide
+ if (!rest_l_arr_.size())
+ return;
+
+ // no partners to collide with
+ if (rest_l_arr_.size() + ncol_l_arr_.size () < 2)
+ return;
+
+ // meisjes met meisjes
+ if (!ncol_l_arr_.size())
+ {
+ int dy = rest_l_arr_.size() > 2 ? 6 : 4;
+
+ rest_l_arr_[0]->translate_rests (rest_l_arr_[0]->dir () *dy);
+ // top is last element...
+ rest_l_arr_.top()->translate_rests (rest_l_arr_.top ()->dir ()* dy);
+ }
+ // meisjes met jongetjes
+ else
+ {
+ // int dir_i = - ncol_l_arr_[0]->dir_;
+ Direction dir = rest_l_arr_[0]->dir ();
+
+ // minimum move
+ int minpos = 4;