예제 #1
0
 public Move(Move mv) {
   startingLocation = mv.startingLocation;
   endingLocation = mv.endingLocation;
   becomeKing = mv.becomeKing;
   captures = mv.captures;
   whoseTurn = mv.whoseTurn;
   theSteps = new java.util.ArrayList<Step>();
   int howManySteps = mv.theSteps.size();
   for (int i = 0; i < howManySteps; i++) { // loop and copy
     Step myStep = new Step();
     Step oldStep = mv.theSteps.get(i);
     myStep.startLocation = oldStep.startLocation;
     myStep.endLocation = oldStep.endLocation;
     myStep.rankAtStart = oldStep.rankAtStart;
     myStep.rankAtEnd = oldStep.rankAtEnd;
     theSteps.add(myStep); // with check is ok, but takes unnecessary time, because starting is ok
   }
   rankAtStart = mv.rankAtStart;
   rankAtEnd = mv.rankAtEnd;
 }