Mercurial > fife-parpg
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() |