def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] if 'SpinCycle' in args: self.spincycle = self.spincycleMax = args['SpinCycle'] else: self.spincycle = self.spincycleMax = 0 self.triggerIterator = iter(self.triggers) if 'tactic' in args: self.theTactic = args['tactic'] if self.theTactic == "Charge": self.tactics.append(Tactics.Charge(self)) elif self.theTactic == "Ram": self.tactics.append(Tactics.Ram(self)) elif self.theTactic == "Shove": self.tactics.append(Tactics.Shove(self)) elif self.theTactic == "Engage": self.tactics.append(Tactics.Engage(self)) else: self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): SwitchDirRam.__init__(self, **args) tactic = [x for x in self.tactics if x.name == "Ram"] if len(tactic) > 0: self.tactics.remove(tactic[0]) self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.trigger2 = ["Srimech"] self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.sweapons = [] # used to track our secondary weapons self.reloadTime = 0 self.reloadDelay = 3 self.contact = 0 self.spin_range = 3.0 if 'sweapons' in args: self.sweapons = list(args['sweapons']) if 'range' in args: self.spin_range = args.get('range') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self))
def __init__(self, **args): Omni.__init__(self, **args) tactic = [x for x in self.tactics if x.name == "Engage"] if len(tactic) > 0: self.tactics.remove(tactic[0]) self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.reloadTime = 0 self.reloadDelay = 3 self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] if 'triggers' in args: self.triggers = args['triggers'] self.tactics.append(Tactics.Engage(self)) self.tactics.append(Tactics.Reorient(self))
def LostComponent(self, id): # if we lose all our weapons, stop using the Engage tactic and switch to Shove if id in self.weapons: self.weapons.remove(id) if not self.weapons: self.RemoveTactic("Engage") self.tactics.append(Tactics.Shove(self)) self.tactics.append(Tactics.Charge(self)) return AI.SuperAI.LostComponent(self, id)
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.tactics.append(Tactics.Charge(self)) self.tactics.append(Tactics.Shove(self)) self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') self.tactics.append(Tactics.Engage(self))
def LostComponent(self, id): # if we lose all our weapons, stop using the Engage tactic and switch to Shove if id in self.weapons: self.weapons.remove(id) if not self.weapons: tactic = [x for x in self.tactics if x.name == "Engage"] if len(tactic) > 0: self.tactics.remove(tactic[0]) self.tactics.append(Tactics.Shove(self)) self.tactics.append(Tactics.Charge(self)) return AI.SuperAI.LostComponent(self, id)
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone1 = "PrimaryWep" self.triggers1 = ["PrimaryWep"] self.zone2 = "SecondaryWep" self.triggers2 = ["SecondaryWep"] self.zone3 = "OtherWep" self.triggers3 = ["OtherWep"] self.zone4 = "OtherWep2" self.triggers4 = ["OtherWep2"] self.triggers5 = ["Srimech"] self.sweapons = [] # used to track our secondary weapons self.tweapons = [] # used to track our tertiary weapons self.spin_range = 3.0 if 'sweapons' in args: self.sweapons = list(args['sweapons']) if 'tweapons' in args: self.tweapons = list(args['tweapons']) if 'range' in args: self.spin_range = args.get('range') if 'zone' in args: self.zone = args['zone'] if 'triggers' in args: self.triggers1 = args['triggers'] if 'triggers' in args: self.triggers2 = args['triggers'] if 'triggers' in args: self.triggers3 = args['triggers'] self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.zone2 = "alsoweapon" self.sweapons = [] # used to track our secondary weapons self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.retractTime = 15 self.botinzone = 0 self.delaycount = 0 self.initdelay = 3 self.stopcheck = 0 self.stopFunction = self.Stop if 'sweapons' in args: self.sweapons = list(args['sweapons']) if 'reload' in args: self.reloadDelay = args['reload'] if 'firedelay' in args: self.initdelay = args['firedelay'] if 'retract' in args: self.retractTime = args['retract'] if 'zone' in args: self.zone = args['zone'] if 'triggers' in args: self.triggers = args['triggers'] self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.reloadTime = 0 self.reloadDelay = 4 self.mayFire = True self.range = 6 self.delta = 0.5 #tolerance between full Aim self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.stopFunction = self.Stop self.spin_range = 3.0 self.firing = 0 self.retracting = 0 self.fireTime = 4 self.retractTime = 8 self.didFire = 0 if 'range' in args: self.spin_range = args.get('range') if 'FiringTime' in args: self.fireTime = args.get('FiringTime') if 'RetractingTime' in args: self.retractTime = args.get('RetractingTime') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.triggers1 = ["ServoFire"] self.mayFire = True self.servospeed = 100 # speed of servo motor self.armlength = 3 # not used, self.delta = 0.2 #tolerance between full Aim self.Motor = 1 self.servoNose = 1 # servoNose is a factor from -1 to 1 that take into account the fact that the components attached to the # servo motor are not always attached to its straight heading self.spin_range = 3.0 # used if you mount a spin motor onn your servo motor self.servo_range = 3.5 # use if you want to use the servoFire trigger if 'range' in args: self.spin_range = args.get('range') if 'zone' in args: self.zone = args['zone'] if 'servospeed' in args: self.servospeed = args['servospeed'] if 'delta' in args: self.delta = args['delta'] if 'servorange' in args: self.servo_range = args['servorange'] if 'mayfire' in args: self.mayFire = args['mayfire'] if 'servonose' in args: self.servoNose = args['servonose'] # to display the current angle of the servo motor uncomment thoses lines : self.debug = False AI.SuperAI.debugging = False self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "Zone1" self.triggers = ["Fire1"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Engage(self)) # Main Tactic here. self.Timer_A = 10 # NOTE that this timer is starting at '10'. self.Timer_B = 0 self.An_Enemy = 5 self.Enemy_1 = 5 self.Enemy_2 = 5 self.Enemy_3 = 5 self.Bot_ID_Locker_A = False self.Bot_ID_Locker_B = False self.Bot_ID_Locker_C = False self.Bot_ID_Locker_D = False self.List_Of_Bots = [] self.ALLY = 5
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "whipzone" self.tactics.append(Tactics.Engage(self)) self.whipTimer = 0 self.whipDir = 1 self.whipDirCount = 2 self.ImmobileCounter = 0 self.ThisAI_bImmobile = 0 self.BU_ImmobileTimer_A = 0 self.BU_ImmobileTimer_B = 0 self.ReMobilizeRoutineTime = 40 self.ThisAIBot_XFactorA = 0 self.ThisAIBot_ZFactorA = 0 self.ThisAIBot_XFactorB = 0 self.ThisAIBot_ZFactorB = 0 self.whipFunction = self.WhipAround if 'zone' in args: self.zone = args['zone'] if 'whip' in args: if args['whip'] != "around": self.whipFunction = self.WhipBackAndForth
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers = ["Fire"] self.trigger2 = ["Srimech"] self.reloadTime = 0 self.reloadDelay = 3 self.stopFunction = self.Stop self.waittime = 0.5 self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') if 'waittime' in args: self.waittime = args.get('waittime') if 'triggers' in args: self.triggers = args['triggers'] if 'reload' in args: self.reloadDelay = args['reload'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Ram(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone1 = "PrimaryWep" self.triggers1 = ["PrimaryWep"] self.zone2 = "SecondaryWep" self.triggers2 = ["SecondaryWep"] self.zone3 = "OtherWep" self.triggers3 = ["OtherWep"] self.zone4 = "OtherWep2" self.triggers4 = ["OtherWep2"] self.triggers5 = ["Srimech"] self.spin_range = 3.0 if 'range' in args: self.spin_range = args.get('range') if 'zone' in args: self.zone = args['zone'] if 'triggers' in args: self.triggers1 = args['triggers'] if 'triggers' in args: self.triggers2 = args['triggers'] if 'triggers' in args: self.triggers3 = args['triggers'] self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): Tank.__init__(self, **args) self.secondary = ["Shoot"] if 'secondary' in args: self.secondary = args['secondary'] tactic = [x for x in self.tactics if x.name == "Annoy"] self.tactics.remove(tactic[0]) self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone1 = "PrimaryWep" self.triggers1 = ["PrimaryWep"] self.zone2 = "SecondaryWep" self.triggers2 = ["SecondaryWep"] self.triggers5 = ["Srimech"] self.sweapons = [] # used to track our secondary weapons self.notMoving = 0 self.botinzone = 0 self.spin_range = 3.0 if 'sweapons' in args: self.sweapons = list(args['sweapons']) if 'range' in args: self.spin_range = args.get('range') if 'zone' in args: self.zone = args['zone'] if 'triggers' in args: self.triggers1 = args['triggers'] if 'triggers2' in args: self.triggers2 = args['triggers2'] self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "weapon" self.triggers1 = ["ServoFire"] self.spin_range = 99 self.reloadTime = 0 self.reloadDelay = 3 self.servospeed = 100 self.servoNose = 1 # servoNose is a factor from -1 to 1 that take into account the fact that the components attached to the # servo motor are not always attached to its straight heading self.servoTimer = 15 # rate of shifting, the higher -> the longer between 2 shifts self.servoCountDown = self.servoTimer # count down before shifting self.servoNumberOfPosition = 2 # number of position self.servoAimAngle = 0 # angle the servo try to aim , each shift change this angle of 2*math.pi / (servoNumberOfPosition) self.delta = 0.05 #; error angle tolerance self.wellPositionned = True #: if True, aiming angle reached : no more servo move until next shift self.Motor = 0 self.flipflop= True if 'range' in args: self.spin_range = args.get('range') if 'zone' in args: self.zone = args['zone'] if 'servodelta' in args: self.delta=args['servodelta'] if 'servospeed' in args: self.servospeed=args['servospeed'] if 'servonose' in args: self.servoNose = args['servonose'] if 'servoNbPos' in args: self.servoNumberOfPosition = args['servoNbPos'] if 'servoTimer' in args: self.servoTimer = args['servoTimer'] # to display the current angle of the servo motor uncomment thoses lines : self.debug = False AI.SuperAI.debugging = False self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.tactics.append(Tactics.Engage(self)) self.spin_range = 50 self.turn_range = 3 self.PreSpinEntrance = 0 if 'PreSpinEntrance' in args: self.PreSpinEntrance = args.get('PreSpinEntrance') self.PreSpinEntranceTimer = 0 self.TimeSinceHit = 0 self.ChaseTime = 60 if 'chase_time' in args: self.ChaseTime = args.get('chase_time') if 'range' in args: self.spin_range = args.get('range') if 'fbs_range' in args: self.turn_range = args.get('fbs_range') self.thwackFunction = self.ThwackLeft if 'right' in args: if args['right'] == "1": self.thwackFunction = self.ThwackRight else: self.thwackFunction = self.ThwackLeft
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "whipzone" self.zone2 = "AxeF" self.triggers2 = ["FireF"] self.zone3 = "AxeB" self.triggers3 = ["FireB"] self.zone4 = "AxeL" self.triggers4 = ["FireL"] self.zone5 = "AxeR" self.triggers5 = ["FireR"] self.zone6 = "under" self.tactics.append(Tactics.Engage(self)) self.whipTimer = 0 self.whipDir = 1 self.whipDirCount = 2 self.whipFunction = self.WhipBackAndForth if 'zone' in args: self.zone = args['zone'] if 'whip' in args: if args['whip'] == "around": self.whipFunction = self.WhipAround else: self.whipFunction = self.WhipBackAndForth if 'triggers' in args: self.triggers2 = args['triggers'] if 'triggers' in args: self.triggers3 = args['triggers'] if 'triggers' in args: self.triggers4 = args['triggers'] if 'triggers' in args: self.triggers5 = args['triggers']
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone1 = "weapon" self.triggers1 = ["Fire"] self.triggers2 = ["Srimech"] self.botinzone = 0 self.compinzone = 0 self.comptimer = 0 self.NoChassisTime = 8 self.motor = 8 self.startangle = math.pi self.retract = 0 self.retracttime = 5 self.hittime = 0 if 'zone' in args: self.zone = args['zone'] if 'triggers' in args: self.triggers1 = args['triggers'] if 'srimech' in args: self.triggers2 = args['srimech'] if 'NoChassisTime' in args: self.NoChassisTime = args.get('NoChassisTime') * 4 if 'MotorID' in args: self.motor = args.get('MotorID') if 'StartAngle' in args: self.startangle = args.get('StartAngle') if 'SwingTime' in args: self.retracttime = args.get('SwingTime') self.retracttimer = self.retracttime self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): Omni.__init__(self, **args) self.tickFactor = 3.75 self.motorID = 2 self.motorID2 = -1 self.RPM = 0 self.RPM2 = 0 self.revolution = 0 self.revolution2 = 0 self.measuring = 0 self.measuring2 = 0 self.max_RPM = 0 self.RPMhist = [] self.avg_RPM = 0 self.display = 0 self.targetRPM = 100 self.spin_reverse = 0 self.jamTimer = 0 self.raspberry = 1.5 if 'ticks' in args: self.tickFactor = args['ticks'] if 'MotorID' in args: self.motorID = args['MotorID'] if 'Motor2ID' in args: self.motorID2 = args['Motor2ID'] if 'DisplayRPM' in args: self.display = args['DisplayRPM'] if 'TargetRPM' in args: self.targetRPM = args['TargetRPM'] if 'JamTime' in args: self.raspberry = args['JamTime'] self.triggerIterator = iter(self.triggers) self.tactics.append(Tactics.Engage(self))
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone = "whipzone" self.tactics.append(Tactics.Engage(self)) self.whipTimer = 0 self.whipDir = 1 self.whipDirCount = 4 self.botinzone = 0 self.compinzone = 0 self.comptimer = 0 self.NoChassisTime = 8 self.canFire = 0 self.ImmobileCounter = 0 self.ThisAI_bImmobile = 0 self.BU_ImmobileTimer_A = 0 self.BU_ImmobileTimer_B = 0 self.ReMobilizeRoutineTime = 40 self.ThisAIBot_XFactorA = 0 self.ThisAIBot_ZFactorA = 0 self.ThisAIBot_XFactorB = 0 self.ThisAIBot_ZFactorB = 0 self.whipFunction = self.WhipBackAndForth if 'zone' in args: self.zone = args['zone'] if 'whip' in args: if args['whip'] != "around": self.whipFunction = self.WhipBackAndForth if 'NoChassisTime' in args: self.NoChassisTime = args.get('NoChassisTime') * 4
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.tactics.append(Tactics.Engage(self)) self.spin_range = 50 self.turn_range = 3 self.PreSpinEntrance = 0 self.turnreset = 0 if 'PreSpinEntrance' in args: self.PreSpinEntrance = args.get('PreSpinEntrance') self.PreSpinEntranceTimer = 0 self.timeOfLastBadHit = 0 self.TimeSinceHit = 0 self.ChaseTime = 60 self.cycle = 0 self.cycletime = 16 if 'chase_time' in args: self.ChaseTime = args.get('chase_time') if 'range' in args: self.spin_range = args.get('range') if 'fbs_range' in args: self.turn_range = args.get('fbs_range') if 'SRcycle' in args: self.cycletime = args.get('SRcycle') self.thwackFunction = self.ThwackLeft if 'clockwise' in args: self.thwackFunction = self.ThwackRight self.pulsetime = 0 if 'Pulse' in args: self.pulsetime = args.get('Pulse') self.pulse = self.pulsetime if 'Coast' in args: self.pulsetime2 = args.get('Coast')
def __init__(self, **args): AI.SuperAI.__init__(self, **args) self.zone1 = "weapon" self.zone2 = "underweapon" self.sweapons = [] # used to track our secondary weapons self.tweapons = [] # used to track our tertiary weapons self.qweapons = [] # used to track our quaternary weapons self.triggers1 = ["PrimaryWep"] self.triggers2 = ["SecondaryWep"] self.triggers3 = ["Srimech"] self.triggers4 = ["HitUnder"] self.botinzone = 0 self.botinzone2 = 0 self.compinzone = 0 self.comptimer = 0 self.NoChassisTime = 8 if 'sweapons' in args: self.sweapons = list(args['sweapons']) if 'tweapons' in args: self.tweapons = list(args['tweapons']) if 'qweapons' in args: self.qweapons = list(args['qweapons']) if 'NoChassisTime' in args: self.NoChassisTime = args.get('NoChassisTime') * 8 self.tactics.append(Tactics.Engage(self))
def LostComponent(self, id): # if we lose all our weapons, stop using the Engage tactic and switch to Shove if id in self.weapons: self.weapons.remove(id) if len(self.weapons) < 3: self.SpinTrigger = "Servo" self.ServoTrigger = "NOP" self.SpinSpeed = 35 #become 35 when switch trigger for servo (all component lost) self.GoServo = False tactic = [x for x in self.tactics if x.name == "Engage"] if len(tactic) > 0: self.tactics.remove(tactic[0]) self.tactics.append(Tactics.Shove(self)) self.tactics.append(Tactics.Charge(self)) return AI.SuperAI.LostComponent(self, id)