X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=erdslangetjie%2F__main__.py;h=5cd9b7fcc39de69995406e7b4f8615fe7ab6edde;hb=9a655ff853ee8a039e194725f3d10c6950c26a97;hp=9a609c610d75dc7e5c96edeb41fe27d2d0c26af8;hpb=2ad071b3c1f081127003d1581bc3bbd2f5b485ca;p=erdslangetjie.git diff --git a/erdslangetjie/__main__.py b/erdslangetjie/__main__.py index 9a609c6..5cd9b7f 100644 --- a/erdslangetjie/__main__.py +++ b/erdslangetjie/__main__.py @@ -1,6 +1,4 @@ -import pygame - -from erdslangetjie.constants import TILE_SIZE +from erdslangetjie.constants import TILE_SIZE, LEFT, RIGHT, UP, DOWN from kivy.app import App from kivy.uix.widget import Widget @@ -27,6 +25,7 @@ class GameWindow(RelativeLayout): def __init__(self, level_list, app): self.level_list = level_list self.level_obj = self.level_list.get_current_level() + self.level_obj.validate() self.level_obj.load_tiles() self.tiles = {} self.view = app.root @@ -164,15 +163,15 @@ class GameWindow(RelativeLayout): self.keyboard.unbind(on_key_down=self._on_key_down) def _on_key_down(self, keyboard, keycode, text, modifiers): - # FIXME - likely portablity issues direction = None - if keycode[0] == pygame.K_UP: + letter = keycode[1].lower() + if letter in UP: direction = (0, 1) - elif keycode[0] == pygame.K_DOWN: + elif letter in DOWN: direction = (0, -1) - elif keycode[0] == pygame.K_LEFT: + elif letter in LEFT: direction = (-1, 0) - elif keycode[0] == pygame.K_RIGHT: + elif letter in RIGHT: direction = (1, 0) if direction: self.do_move(direction) @@ -208,6 +207,7 @@ class GameWindow(RelativeLayout): self.remove_widget(self.nemesis_tile) self.nemesis.reset_pos() if self.level_obj: + self.level_obj.validate() self.level_obj.load_tiles() self.player.pos = self.level_obj.enter_pos self.remove_widget(self.player_tile)