package es.csic.iiia.fabregues.dip.tester.client; import java.util.List; import es.csic.iiia.fabregues.dip.Player; import es.csic.iiia.fabregues.dip.comm.GameBuilder; import es.csic.iiia.fabregues.dip.comm.Order2StringA; import es.csic.iiia.fabregues.dip.orders.Order; import es.csic.iiia.fabregues.utilities.Interface; public class PlayerTester { private Player player; private final static String DEFAULT_SCO = "SCO ( AUS BUD VIE NAP TRI ) ( ENG EDI LON LVP ) ( FRA PAR BRE VEN ) ( GER MUN BER KIE MAR ) ( ITA ROM ) ( RUS MOS WAR SEV STP ) ( TUR ANK CON SMY ) ( UNO SER BEL DEN GRE HOL NWY POR RUM SWE TUN BUL SPA )"; private final static String DEFAULT_NOW = "NOW ( AUT 1911 ) ( AUS AMY BUD ) ( AUS AMY VIE ) ( AUS FLT ADR ) ( AUS FLT ALB ) ( ENG FLT SKA ) ( ENG AMY WAL ) ( ENG FLT LVP ) ( FRA FLT BAR ) ( FRA AMY PIC ) ( FRA AMY PIE ) ( GER AMY BUR ) ( GER AMY GAS ) ( GER AMY MAR ) ( GER FLT LVN MRT ( BAL ( STP SCS ) ) ) ( ITA AMY RUH ) ( RUS FLT GOB ) ( RUS FLT ARM ) ( RUS AMY LVN ) ( RUS AMY PRU ) ( TUR FLT ANK ) ( TUR AMY CON ) ( TUR AMY SMY )"; private final static String DEFAULT_POWER = "FRA"; private String[] sco; private String[] now; private String power; public PlayerTester(Player player){ this.player = player; this.sco = DEFAULT_SCO.split(" "); this.now = DEFAULT_NOW.split(" "); this.power = DEFAULT_POWER; } public void setPower(String power){ this.power = power; } public void setSCO(String sco){ setSCO(sco.split(" ")); } public void setSCO(String[] sco){ this.sco = sco; } public void setNOW(String now){ setNOW(now.split(" ")); } public void setNOW(String[] now){ this.now = now; } public void run(){ try{ player.log = new Interface("playerTester"); player.log.enableDebug(); player.init(); player.setGame(GameBuilder.createGame(sco, now)); player.setMe(power); player.log.printMessage(now); player.log.printMessage(sco); player.start(); List<Order> orders = player.play(); player.log.printMessage(power+" orders are:"); for(Order order: orders){ player.log.printMessage(Order2StringA.getOrderMsg(order)); } }catch (Exception e) { e.printStackTrace(); } } }