/* * 作成日: 2008/12/30 */ package jp.ac.fit.asura.nao.webots; import jp.ac.fit.asura.nao.AsuraCore; import jp.ac.fit.asura.nao.strategy.GameState; import jp.ac.fit.asura.nao.strategy.Team; import com.cyberbotics.webots.controller.Robot; /** * @author sey * * @version $Id: $ * */ public class Webots6Player extends Robot { private static AsuraCore core; public static final int SIMULATION_STEP = 40; public static void main(String args[]) { Webots6Player player = new Webots6Player(); Webots6Driver driver = new Webots6Driver(player); Webots6Camera camera = new Webots6Camera(player); core = new AsuraCore(driver.getEffector(), driver.getSensor(), new Webots6DatagramService(player), camera); String id = args[0]; String team = args[1]; try { if (team.equals("1")) { core.setTeamId(1); core.getRobotContext().getStrategy().setTeam(Team.Red); if (id.equals("0")) { // red goal keeper core.setId(0); } else if (id.equals("1")) { // red player 1 core.setId(1); } else if (id.equals("2")) { // red player 2 core.setId(2); } else if (id.equals("3")) { // red player 3 core.setId(3); } else { System.err.println("unable to recognize player. args[0]: " + id + "\n"); } } else if (team.equals("0")) { core.setTeamId(0); core.getRobotContext().getStrategy().setTeam(Team.Blue); if (id.equals("0")) { // blue goal keeper core.setId(0); } else if (id.equals("1")) { // blue player 1 core.setId(1); } else if (id.equals("2")) { // blue player 2 core.setId(2); } else if (id.equals("3")) { // blue player 3 core.setId(3); } else { System.err.println("unable to recognize player. args[0]: " + id + "\n"); } } else { System.err.println("unable to recognize team. args[1]: " + team + "\n"); } core.init(); core.start(); core.getRobotContext().getStrategy() .setGameState(GameState.PLAYING); } catch (Exception e) { e.printStackTrace(); assert false; return; } Object lock = new Object(); synchronized (lock) { try { lock.wait(); } catch (Exception e) { } } } }