Ejemplo n.º 1
0
  public void run() {
    DEBUG.enableDebugMode(System.getProperty("robot.debug", "true").equals("true"));

    // Creates a knowledge base
    createKnowledgeBase();
    DEBUG.message("KBase created");

    // COLORS
    setBodyColor(Color.blue);
    setGunColor(Color.white);
    setRadarColor(Color.red);
    setScanColor(Color.white);
    setBulletColor(Color.red);

    // Make any movement from tank, radar or gun independent
    setAdjustGunForRobotTurn(true);
    setAdjustRadarForGunTurn(true);
    setAdjustRadarForRobotTurn(true);

    while (true) {
      DEBUG.message("TURN BEGINS");
      loadRobotState();
      loadBattleState();

      // Fire rules
      DEBUG.message("Facts in active memory");
      DEBUG.printFacts(ksession);
      DEBUG.message("firing rules");
      ksession.fireAllRules();
      cleanAnteriorFacts();

      // Get Actions
      Vector<Action> actions = loadActions();
      DEBUG.message("Resulting Actions");
      DEBUG.printActions(actions);

      // Execute Actions
      DEBUG.message("firing actions");
      executeActions(actions);
      DEBUG.message("TURN ENDS\n");
      execute();
    }
  }