예제 #1
0
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)
예제 #2
0
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)