-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathturret.py
27 lines (23 loc) · 913 Bytes
/
turret.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import random, geom, math, entity
from agent import Agent
SHOOT_SPEED = 100
SHOOT_TEST_DIST = 100
class TurretAgent(Agent):
def __init__(self, loc):
self.shootTimer = SHOOT_SPEED
Agent.__init__(self, 5, loc)
def ai(self, level,player):
if not self.turning:
if random.randint(0, 3):
playerAngle = math.degrees(math.atan2(self.getY()- player.getY(), self.getX()- player.getX()))
self.turnTo(round(playerAngle))
else:
self.turnBy(random.randint(-60, 60))
if self.shootTimer == 0:
if self.bulletsFired < self.maxBullets and self.safeToShoot(level, player, 70):
self.shoot()
self.getRandShootTime(75, 100)
return
self.getRandShootTime(5, 10)
else:
self.shootTimer -= 1