def __init__(self, obsQueue, predQueue, args, interval): server = ServerProxy(args.url, args.port) # ArtemisAgency(server, args.color, obsQueue, predQueue, interval) ArtemisAgency(server, obsQueue, predQueue, interval)
#!/usr/bin/env python from argparse import ArgumentParser import config from net.server import ServerProxy from agency.blind import BlindAgency def _get_parser(): parser = ArgumentParser(description='Run a BZRFlags client with an imperfect obstacle sensor.') parser.add_argument('url') parser.add_argument('-p', '--port', type=int, required=True) parser.add_argument('-d', '--debuglevel') return parser if __name__ == "__main__": parser = _get_parser() args = parser.parse_args() if args.debuglevel: config.setDebugLevelFromString(args.debuglevel) server = ServerProxy(args.url, args.port) BlindAgency(server, .1)
import time def _get_parser(): parser = ArgumentParser(description='Run a BZRFlags client.') parser.add_argument('url') parser.add_argument('-p', '--port', type=int, required=True) parser.add_argument('-d', '--debuglevel') return parser if __name__ == "__main__": parser = _get_parser() args = parser.parse_args() if args.debuglevel: config.setDebugLevelFromString(args.debuglevel) server = ServerProxy(args.url, args.port) forward = 1 turn = 1 while True: if random.random() < .10: turn *= -1 server.setTurnRate(0, turn) time.sleep(.1) if random.random() < .05: forward *= -1 server.setVelocity(0, forward) time.sleep(.1)
from fields.repulsive import RepulsiveField from math import sqrt def _get_parser(): parser = ArgumentParser(description='Run a BZRFlags client.') parser.add_argument('url') parser.add_argument('-p', '--port', type=int, required=True) return parser if __name__ == "__main__": parser = _get_parser() args = parser.parse_args() server = ServerProxy(args.url, args.port) obstacles = server.listObstacles() obs = [ob.toTupleList() for ob in obstacles] fields = [] flags = server.listFlags() flag = [flag for flag in flags if flag.color == "purple"][0] fields.append(AttractiveField(flag.x, flag.y, 10, 200)) for obstacle in obstacles: x = 0 y = 0 for point in obstacle._points: x += point.x y += point.y x = x / len(obstacle._points) y = y / len(obstacle._points)
from agent.blindpigeon import BlindPigeon def _get_parser(): parser = ArgumentParser(description='Run a BZRFlags client.') parser.add_argument('url') parser.add_argument('-p', '--port', type=int, required=True) parser.add_argument('-d', '--debuglevel') return parser if __name__ == "__main__": parser = _get_parser() args = parser.parse_args() if args.debuglevel: config.setDebugLevelFromString(args.debuglevel) server = ServerProxy(args.url, args.port) agents = [BlindPigeon()] while True: tankData = server.listFriendlyTanks() for i in range(len(agents)): action = agents[i].getAction(tankData[i]) if action is not None: if 'speed' in action: server.setVelocity(i, action['speed']) if 'angle' in action: server.setTurnRate(i, action['angle']) # if 'shoot' in action: # server.shoot(i)
from math import sqrt def _get_parser(): parser = ArgumentParser(description='Run a BZRFlags client.') parser.add_argument('url') parser.add_argument('-p', '--port', type=int, required=True) return parser if __name__ == "__main__": parser = _get_parser() args = parser.parse_args() server = ServerProxy(args.url, args.port) obstacles = server.listObstacles() obs = [ob.toTupleList() for ob in obstacles] fields = [] flags = server.listFlags() flag = [flag for flag in flags if flag.color == "purple"][0] fields.append(AttractiveField(flag.x, flag.y, 10, 200)) for obstacle in obstacles: x = 0 y = 0 for point in obstacle._points: x += point.x y += point.y x = x / len(obstacle._points) y = y / len(obstacle._points)