Example #1
0
 public void move() {
   csCount = us.getCount() - base;
   // System.out.println(csCount);
   // move to first nest
   if (csCount < 20) {
     x2 += (xdes1[0] - x1) / 20;
     y2 += (ydes1[0] - y1) / 20;
     g.setPosition((int) x2, (int) y2);
     // add part to gripper
     if (csCount == 19) {
       g.addPart(holdObj[0]);
       us.lm.removePart(nest[0].index);
     }
     g.updateParts();
     csCount++;
   }
   // move to second nest
   else if (csCount >= 20 && csCount < 40) {
     if (totalParts >= 2) {
       x2 += (xdes1[1] - xdes1[0]) / 20;
       y2 += (ydes1[1] - ydes1[0]) / 20;
       g.setPosition((int) x2, (int) y2);
       if (csCount == 39) {
         g.addPart(holdObj[1]);
         us.lm.removePart(nest[1].index);
       }
       g.updateParts();
       csCount++;
     }
     // if no more parts to pick up go back to part robot center
     else csCount = 80;
   } else if (csCount >= 40 && csCount < 60) {
     // move to third nest
     if (totalParts >= 3) {
       x2 += (xdes1[2] - xdes1[1]) / 20;
       y2 += (ydes1[2] - ydes1[1]) / 20;
       g.setPosition((int) x2, (int) y2);
       if (csCount == 59) {
         g.addPart(holdObj[2]);
         us.lm.removePart(nest[2].index);
       }
       g.updateParts();
       csCount++;
     }
     // if no more parts to pick up go back to part robot center
     else csCount = 80;
   } else if (csCount >= 60 && csCount < 80) {
     // move to fourth nest
     if (totalParts >= 4) {
       x2 += (xdes1[3] - xdes1[2]) / 20;
       y2 += (ydes1[3] - ydes1[2]) / 20;
       g.setPosition((int) x2, (int) y2);
       if (csCount == 79) {
         g.addPart(holdObj[3]);
         us.lm.removePart(nest[3].index);
       }
       g.updateParts();
       csCount++;
     }
     // if no more parts to pick up go back to part robot center
     else csCount = 80;
   }
   // go back to part robot center
   else if (csCount >= 80 && csCount < 100) {
     x2 += (x1 - xdes1[totalParts - 1]) / 20;
     y2 += (y1 - ydes1[totalParts - 1]) / 20;
     g.setPosition((int) x2, (int) y2);
     g.updateParts();
     csCount++;
   }
   // go to kit index
   else if (csCount >= 100 && csCount < 120) {
     x2 += (xdes2[0] - x1) / 20;
     y2 += (ydes2[0] - y1) / 20;
     g.setPosition((int) x2, (int) y2);
     g.updateParts();
     csCount++;
     // m.repaint();
   }
   // go back to robot center
   else if (csCount >= 120 && csCount < 140) {
     if (csCount == 120) {
       for (int j = 0; j < totalParts; j++) {
         s2.getKit().addPart(holdObj[j], kitIndex[j]);
         g.removePart(j).setPosition((int) xdes2[j], (int) ydes2[j]);
       }
     }
     // s2.getKit().setIsComplete(true);
     x2 += (x1 - xdes2[0]) / 20;
     y2 += (y1 - ydes2[0]) / 20;
     g.setPosition((int) x2, (int) y2);
     g.updateParts();
     csCount++;
     // m.repaint();
   }
   // reset everything
   else if (csCount == 140) {
     csCount = 0;
     isMoving = false;
   }
 }