comparison demos/shooter/scripts/ships/enemies.py @ 454:bd7e8f708adf

Time is now managed by the Scene object. Enemy projectiles are now a bit slower.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Tue, 06 Apr 2010 21:25:10 +0000
parents cf53848fb187
children 302a69c5141d
comparison
equal deleted inserted replaced
453:cf53848fb187 454:bd7e8f708adf
22 # #################################################################### 22 # ####################################################################
23 23
24 from fife import fife 24 from fife import fife
25 from scripts.ships.shipbase import Ship 25 from scripts.ships.shipbase import Ship
26 from scripts.common.helpers import Rect 26 from scripts.common.helpers import Rect
27 from scripts.weapons import Weapon 27 from scripts.weapons import *
28 28
29 29
30 class Saucer1(Ship): 30 class Saucer1(Ship):
31 def __init__(self, scene, name, findInstance=True): 31 def __init__(self, scene, name, findInstance=True):
32 super(Saucer1, self).__init__(scene, name, findInstance) 32 super(Saucer1, self).__init__(scene, name, findInstance)
34 self._time = 500 34 self._time = 500
35 self.width = 0.075 35 self.width = 0.075
36 self.height = 0.075 36 self.height = 0.075
37 self.velocity.x = -0.5 37 self.velocity.x = -0.5
38 38
39 self.weapon = Weapon(self._scene, self, 1000) 39 self.weapon = Cannon(self._scene, self, 1000)
40 self.weapon.projectilevelocity = 0.4
40 41
41 def update(self, timedelta): 42 def update(self):
42 if self._dir == 1: 43 if self._dir == 1:
43 self.applyThrust(fife.DoublePoint(0,-0.5), timedelta) 44 self.applyThrust(fife.DoublePoint(0,-0.5))
44 elif self._dir == 0: 45 elif self._dir == 0:
45 self.applyThrust(fife.DoublePoint(0,0.5), timedelta) 46 self.applyThrust(fife.DoublePoint(0,0.5))
46 47
47 if self._time >= 1000: 48 if self._time >= 1000:
48 if self._dir == 1: 49 if self._dir == 1:
49 self._dir = 0 50 self._dir = 0
50 elif self._dir == 0: 51 elif self._dir == 0:
51 self._dir = 1 52 self._dir = 1
52 53
53 self._time = 0 54 self._time = 0
54 55
55 self._time += timedelta 56 self._time += self._scene.timedelta
56 57
57 super(Saucer1, self).update(timedelta) 58 super(Saucer1, self).update()
58 59
59 class Saucer2(Ship): 60 class Saucer2(Ship):
60 def __init__(self, scene, name, findInstance=True): 61 def __init__(self, scene, name, findInstance=True):
61 super(Saucer2, self).__init__(scene, name, findInstance) 62 super(Saucer2, self).__init__(scene, name, findInstance)
62 self._dir = 0 63 self._dir = 0
63 self._time = 1000 64 self._time = 1000
64 self.width = 0.2 65 self.width = 0.2
65 self.height = 0.2 66 self.height = 0.2
66 self.velocity.x = -0.1 67 self.velocity.x = -0.1
67 68
68 self.weapon = Weapon(self._scene, self, 2000) 69 self.weapon = Cannon(self._scene, self, 2000)
70 self.weapon.projectilevelocity = 0.4
69 71
70 def update(self, timedelta): 72 def update(self):
71 if self._dir == 1: 73 if self._dir == 1:
72 self.applyThrust(fife.DoublePoint(0,-0.25), timedelta) 74 self.applyThrust(fife.DoublePoint(0,-0.25))
73 elif self._dir == 0: 75 elif self._dir == 0:
74 self.applyThrust(fife.DoublePoint(0,0.25), timedelta) 76 self.applyThrust(fife.DoublePoint(0,0.25))
75 77
76 if self._time >= 2000: 78 if self._time >= 2000:
77 if self._dir == 1: 79 if self._dir == 1:
78 self._dir = 0 80 self._dir = 0
79 elif self._dir == 0: 81 elif self._dir == 0:
80 self._dir = 1 82 self._dir = 1
81 83
82 self._time = 0 84 self._time = 0
83 85
84 self._time += timedelta 86 self._time += self._scene.timedelta
85 87
86 super(Saucer2, self).update(timedelta) 88 super(Saucer2, self).update()