package icpc.challenge.link; import icpc.challenge.world.Move; import icpc.challenge.world.World; import java.io.PrintStream; import java.util.Scanner; public class ExternalPlayerAdapter { private static void usage(String paramString) { if (paramString != null) System.err.println(paramString); System.err.println("usage: ExternalPlayerAdapter"); System.err.println(" [-player <player class>]"); System.exit(-1); } public static void main(String[] paramArrayOfString) { Object localObject; InternalPlayerBase localInternalPlayerBase = null; try { int i = 0; while (i < paramArrayOfString.length) { int j = 0; if ((paramArrayOfString[i].equals("-player")) && (i + 1 < paramArrayOfString.length)) { localObject = Class.forName(paramArrayOfString[(i + 1)]); localInternalPlayerBase = (InternalPlayerBase)((Class)localObject).newInstance(); j = 2; } if (j == 0) usage(null); i += j; } } catch (Exception localException1) { System.err.println(localException1); usage(null); } try { World localWorld = new World(); Scanner localScanner = new Scanner(System.in); TextCoder.decodeWorld(localScanner, localWorld); localObject = localInternalPlayerBase.chooseMove(localWorld); TextCoder.encodeMove(System.out, (Move)localObject); System.out.flush(); } catch (Exception localException2) { System.err.println(localException2); } } }