summaryrefslogtreecommitdiff
path: root/capturer.py
diff options
context:
space:
mode:
Diffstat (limited to 'capturer.py')
-rw-r--r--capturer.py52
1 files changed, 0 insertions, 52 deletions
diff --git a/capturer.py b/capturer.py
deleted file mode 100644
index 54b0be6..0000000
--- a/capturer.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import random
-
-import robots
-
-from robots.algorithms import distance_relaxer
-from robots.constants import City
-from robots.utils import add_spawns
-
-class CaptureSpawns(object):
- def __init__(self, variance=0.1):
- self.iterations = 10
- self.variance = variance
-
- def __call__(self, whoami, state):
- my_robots = state.robots_by_player[whoami]
-
- # Create a distance matrix.
- distances = []
- for y, row in enumerate(state.cities):
- output = []
- for x, city in enumerate(row):
- d = float('inf')
- if city == City.FACTORY:
- if state.allegiances.get((x, y)) != whoami:
- d = 0
- elif city == City.GHOST:
- d = None
- output.append(d)
- distances.append(output)
-
- # Find the shortest path to a target from each cell.
- predecessors = distance_relaxer(distances)
-
- # Direct the robots to follow those paths.
- results = []
- for x, y, energy in my_robots:
- if random.random() < self.variance:
- result = random.choice('ULDR')
- elif predecessors[y][x]:
- result = random.choice(predecessors[y][x])
- elif state.allegiances.get((x, y)) != whoami:
- result = 'P'
- else:
- result = random.choice('UDLR')
- results.append(result)
- return results
-
-if __name__ == '__main__':
- server = robots.Server()
- server.SERVER_NAME = 'Capturer Server'
- server.add_bot(CaptureSpawns, 'Capture')
- server.run()