From 4183a2169ae75e1e9fd1c75d11595b36f6d330cd Mon Sep 17 00:00:00 2001 From: androidmage Date: Sat, 9 Jan 2016 23:36:58 -0500 Subject: [PATCH] Guards stay close to creator and more scouts made --- RobotPlayer.java | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/RobotPlayer.java b/RobotPlayer.java index 9aa776a..6979a87 100644 --- a/RobotPlayer.java +++ b/RobotPlayer.java @@ -143,9 +143,11 @@ public void run() { private class Guard { public MapLocation startLocation; + public int moveCount; public Guard() { startLocation = rc.getLocation(); + moveCount = 0; } public void run() { @@ -154,7 +156,7 @@ public void run() { Signal[] signals = rc.emptySignalQueue(); if(signals.length > 0){ //if == 0, no signals, so not ready for(Signal s: signals){ - if(s.getTeam() == ourTeam && rc.senseRobot(s.getID()).type == RobotType.ARCHON){ + if(moveCount < 1 && s.getTeam() == ourTeam && rc.senseRobot(s.getID()).type == RobotType.ARCHON){ FancyMessage f = FancyMessage.getFromRecievedSignal(s); MapLocation archonLocation = f.senderLocation; Direction archonDirection = rc.getLocation().directionTo(archonLocation); @@ -162,11 +164,25 @@ public void run() { if(rc.isCoreReady()){ if(rc.canMove(oppositeDirection)){ rc.move(oppositeDirection); + moveCount += 1; } } } } } + if(rc.isCoreReady()){ + RobotInfo[] robots = rc.senseNearbyRobots(); + boolean targetFound = false; + for(RobotInfo robot:robots){ + if(robot.location.distanceSquaredTo(startLocation) < 25){ + targetFound = true; + break; + } + } + if(targetFound == false){ + RESOURCE_FUNCTIONS.BUG(startLocation); + } + } if(rc.isWeaponReady()){ RobotInfo[] robots = rc.senseNearbyRobots(); for(RobotInfo robot: robots) { @@ -578,10 +594,13 @@ public static RobotType chooseRobotType() { if(numberOfRobotsInRadiusAndThoseRobots(RobotType.GUARD,3,ourTeam).first == 7){ return RobotType.SCOUT; } - int fate = randall.nextInt(2); - if(fate == 1){ + int fate = randall.nextInt(3); + if(fate == 0){ return RobotType.SOLDIER; } + if(fate == 1){ + return RobotType.SCOUT; + } return RobotType.GUARD; }