projects
/
koperkapel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ctpug.org.za:koperkapel
[koperkapel.git]
/
koperkapel
/
gamelib
/
level.py
diff --git
a/koperkapel/gamelib/level.py
b/koperkapel/gamelib/level.py
index 3df9fe03598dc598db85666491d342370c7b2eee..7641fbcd3de7b29ded0b1ad631c43eab74b16470 100644
(file)
--- a/
koperkapel/gamelib/level.py
+++ b/
koperkapel/gamelib/level.py
@@
-46,6
+46,14
@@
class Level(object):
def can_crawl(self, x, y, layer):
return 'crawl' in self.tiles[y][x][layer]['behaviour']
def can_crawl(self, x, y, layer):
return 'crawl' in self.tiles[y][x][layer]['behaviour']
+ def can_bullet(self, x, y, layer):
+ if self.tiles[y][x][layer]['behaviour']:
+ for door in self.doors:
+ if (x, y) == door.game_pos and door.is_closed():
+ return False
+ return True
+ return False
+
def is_keypad(self, x, y):
for keypad in self.keypads:
if (x, y) == keypad.game_pos:
def is_keypad(self, x, y):
for keypad in self.keypads:
if (x, y) == keypad.game_pos:
@@
-57,10
+65,10
@@
class Level(object):
return True
return False
return True
return False
- def press_keypad(self, x, y,
roaches
):
+ def press_keypad(self, x, y,
smart
):
for keypad in self.keypads:
if (x, y) == keypad.game_pos:
for keypad in self.keypads:
if (x, y) == keypad.game_pos:
- keypad.activate(
roaches
)
+ keypad.activate(
smart
)
def get_friends(self):
return self._friends[:]
def get_friends(self):
return self._friends[:]
@@
-87,7
+95,7
@@
class Level(object):
def get_exit_level(self):
return self.exit["next level"]
def get_exit_level(self):
return self.exit["next level"]
- def
is_on_enemy
(self, x, y):
+ def
enemy_at
(self, x, y):
for enemy in self.enemies:
if (x, y) == enemy.game_pos:
return True
for enemy in self.enemies:
if (x, y) == enemy.game_pos:
return True
@@
-99,17
+107,21
@@
class Level(object):
return enemy
return None
return enemy
return None
+ def remove_enemy(self, enemy):
+ self.enemies.remove(enemy)
+ for generator in self.enemy_generators:
+ generator.killed(enemy)
+
def add_enemy(self, enemy, x, y):
"""Add an enemy to an empty floor space near x, y"""
added = False
while not added:
if self.can_walk(x, y, 'floor'):
def add_enemy(self, enemy, x, y):
"""Add an enemy to an empty floor space near x, y"""
added = False
while not added:
if self.can_walk(x, y, 'floor'):
- if not self.
is_on_friend
(x, y):
- if not self.
is_on_enemy
(x, y):
+ if not self.
friend_at
(x, y):
+ if not self.
enemy_at
(x, y):
added = True
enemy.game_pos = (x, y)
self.enemies.append(enemy)
added = True
x += random.randint(-1, 1)
y += random.randint(-1, 1)
added = True
enemy.game_pos = (x, y)
self.enemies.append(enemy)
added = True
x += random.randint(-1, 1)
y += random.randint(-1, 1)
-