projects
/
erdslangetjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor reset code. Add extra move to speed up nemesis a bit
[erdslangetjie.git]
/
erdslangetjie
/
__main__.py
diff --git
a/erdslangetjie/__main__.py
b/erdslangetjie/__main__.py
index ad07468b327a48859cb6bd7ad109985cccfd7e84..b4c25c2814b7e60d9e02470dbd0d1b4e19dead0a 100644
(file)
--- a/
erdslangetjie/__main__.py
+++ b/
erdslangetjie/__main__.py
@@
-49,6
+49,7
@@
class GameWindow(RelativeLayout):
self.player_tile = None
self.nemesis_tile = None
self.timer_set = False
self.player_tile = None
self.nemesis_tile = None
self.timer_set = False
+ self.move_counter = 0
self.player.pos = self.level_obj.enter_pos
if platform() != 'android':
self.player.pos = self.level_obj.enter_pos
if platform() != 'android':
@@
-183,12
+184,15
@@
class GameWindow(RelativeLayout):
def do_move(self, direction):
if not self.level_obj:
return
def do_move(self, direction):
if not self.level_obj:
return
- self.player.move(direction, self.level_obj)
+ # Do nothing on null moves
+ if not self.player.move(direction, self.level_obj):
+ return
self.check_state()
self.do_nemesis_move()
def do_nemesis_move(self):
self.check_state()
self.do_nemesis_move()
def do_nemesis_move(self):
- self.nemesis.move(self.level_obj)
+ self.nemesis.move(self.level_obj, self.player.pos)
+ self.move_counter += 1
self.check_state()
self.reset_timer()
self.draw_nemesis()
self.check_state()
self.reset_timer()
self.draw_nemesis()
@@
-202,7
+206,12
@@
class GameWindow(RelativeLayout):
def reset_timer(self):
self.timer_set = True
Clock.unschedule(self.timed_move)
def reset_timer(self):
self.timer_set = True
Clock.unschedule(self.timed_move)
- Clock.schedule_once(self.timed_move, 0.5)
+ if self.move_counter > 4:
+ self.move_counter = 0
+ # The superhero is faster than the player
+ Clock.schedule_once(self.timed_move, 0.02)
+ else:
+ Clock.schedule_once(self.timed_move, 1)
def check_caught(self):
return self.nemesis.pos == self.player.pos
def check_caught(self):
return self.nemesis.pos == self.player.pos
@@
-210,9
+219,12
@@
class GameWindow(RelativeLayout):
def reset_level(self):
Clock.unschedule(self.timed_move)
self.timer_set = False
def reset_level(self):
Clock.unschedule(self.timed_move)
self.timer_set = False
+ self.move_counter = 0
if self.nemesis_tile:
self.remove_widget(self.nemesis_tile)
self.nemesis.reset_pos()
if self.nemesis_tile:
self.remove_widget(self.nemesis_tile)
self.nemesis.reset_pos()
+
+ def load_level(self):
if self.level_obj:
self.level_obj.load_tiles()
self.player.pos = self.level_obj.enter_pos
if self.level_obj:
self.level_obj.load_tiles()
self.player.pos = self.level_obj.enter_pos
@@
-229,13
+241,16
@@
class GameWindow(RelativeLayout):
if not self.level_obj:
return
if self.level_obj.at_exit(self.player.pos):
if not self.level_obj:
return
if self.level_obj.at_exit(self.player.pos):
+ self.reset_level()
# Jump to next level
self.level_obj = self.level_list.advance_to_next_level()
# Jump to next level
self.level_obj = self.level_list.advance_to_next_level()
- if not self.
reset
_level():
+ if not self.
load
_level():
self.app.game_over(True)
return
elif self.check_caught():
# Caught
self.app.game_over(True)
return
elif self.check_caught():
# Caught
+ self.reset_level()
+ self.load_level()
self.app.game_over(False)
return
elif self.level_obj.is_button(self.player.pos):
self.app.game_over(False)
return
elif self.level_obj.is_button(self.player.pos):