예제 #1
0
 public static ACommand makeCommand(List<String> tokens) {
   if (tokens.size() == 0) return Empty.fromEmptyEntryInGameState(tokens);
   switch (tokens.get(0)) {
     case ("GameEnd"):
       return GameEnd.fromEmptyEntryInGameState();
     case ("PickUp"):
       return Pick.fromPickEntryInGameState(tokens);
     case ("Discard"):
       return Discard.fromThrowEntryInGameState(tokens);
     case ("Peng"):
       return Peng.fromPengEntryInGameState(tokens);
     case ("Chi"):
       return Chi.fromChiEntryInGameState(tokens);
     case ("Gang"):
       return Gang.fromGangEntryInGameState(tokens);
     case ("RefusePeng"):
       return RefusePeng.fromRefusePengEntryInGameState(tokens);
     case ("RefuseGang"):
       return RefuseGang.fromRefuseGangEntryInGameState(tokens);
     case ("RefuseChi"):
       return RefuseChi.fromRefuseChiEntryInGameState(tokens);
     case ("WaitForChi"):
       return WaitForChi.fromWaitForChiEntryInGameState(tokens);
     case ("WaitForPeng"):
       return WaitForPeng.fromWaitForPengEntryInGameState(tokens);
     case ("WaitForGang"):
       return WaitForGang.fromWaitForGangEntryInGameState(tokens);
     case ("WaitForHu"):
       return WaitForHu.fromWaitForHuEntryInGameState(tokens);
     case ("Hu"):
       return Hu.fromHuEntryInGameState(tokens);
     case ("RefuseHu"):
       return RefuseHu.fromRefuseHuEntryInGameState(tokens);
   }
   return null;
 }