def checkAttack(self): if self.init_flag == True: self.init_flag = False self.last_time = time.time() mypose = Blackboard.myrobot.pose enpose = Blackboard.enemy.pose dist = Helpers.CalcDist(mypose, enpose) isblock = Helpers.CheckBlock(mypose, enpose) if dist < 2 and dist > 1: if (time.time() - self.last_time) > 0.1: self.last_time = time.time() if not isblock: if Blackboard.myrobot.bullet > 0 and Blackboard.myrobot.enableShoot: Blackboard.enemy.blood -= 20 Blackboard.myrobot.bullet -= 1 if Blackboard.enemy.bullet > 0: if Blackboard.myrobot.istwist == True: Blackboard.myrobot.blood -= 10 else: Blackboard.myrobot.blood -= 20 Blackboard.enemy.bullet -= 1 cv.setTrackbarPos("Target Blood", "Game Panel", Blackboard.enemy.blood) cv.setTrackbarPos("Target Bullet", "Game Panel", Blackboard.enemy.bullet) cv.setTrackbarPos("Self Blood", "Game Panel", Blackboard.myrobot.blood) cv.setTrackbarPos("Self Bullet", "Game Panel", Blackboard.myrobot.bullet) elif dist <= 5 and dist >= 2: if (time.time() - self.last_time) > 0.1: self.last_time = time.time() if not isblock: if Blackboard.myrobot.bullet > 0 and Blackboard.myrobot.enableShoot: Blackboard.enemy.blood -= 10 Blackboard.myrobot.bullet -= 1 if Blackboard.enemy.bullet > 0: if Blackboard.myrobot.istwist == True: Blackboard.myrobot.blood -= 5 else: Blackboard.myrobot.blood -= 10 Blackboard.enemy.bullet -= 1 cv.setTrackbarPos("Target Blood", "Game Panel", Blackboard.enemy.blood) cv.setTrackbarPos("Target Bullet", "Game Panel", Blackboard.enemy.bullet) cv.setTrackbarPos("Self Blood", "Game Panel", Blackboard.myrobot.blood) cv.setTrackbarPos("Self Bullet", "Game Panel", Blackboard.myrobot.bullet) else: pass
def Update(self): if Helpers.CheckBlock(Blackboard.myrobot.pose, Blackboard.enemy.pose): self._status = "SUCCESS" else: self._status = "FAILURE" return self._status