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(); } }