X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;ds=sidebyside;f=erdslangetjie%2F__main__.py;h=45f907db55428f435f20fe21c35dac56391cee3e;hb=001a633b245877d018521fa2749ee621eec751c1;hp=0948e7401cea4df7e647fcf710fc1755c6487a38;hpb=ae83360a244732dabac64083f6915fc301d583f7;p=erdslangetjie.git diff --git a/erdslangetjie/__main__.py b/erdslangetjie/__main__.py index 0948e74..45f907d 100644 --- a/erdslangetjie/__main__.py +++ b/erdslangetjie/__main__.py @@ -13,18 +13,20 @@ from kivy.graphics import Color, Rectangle from erdslangetjie.level import LevelList from erdslangetjie.player import ThePlayer, Nemesis -TILE_SIZE = 24 +TILE_SIZE = 40 class GameWindow(FloatLayout): def __init__(self, level_list): - super(GameWindow, self).__init__(size=(648, 480)) + super(GameWindow, self).__init__(size=(1080, 800)) self.level_list = level_list self.level_obj = self.level_list.get_current_level() self.level_obj.load_tiles() self.tiles = {} + self.mouse_move = False + self.player = ThePlayer() self.nemesis = Nemesis() if not self.level_obj.enter_pos: @@ -100,10 +102,13 @@ class GameWindow(FloatLayout): elif keycode[0] == pygame.K_RIGHT: direction = (1, 0) if direction: - self.nemesis.move(self.level_obj) - self.draw_nemesis() - self.player.move(direction, self.level_obj) - self.draw_player() + self.do_move(direction) + + def do_move(self, direction): + self.nemesis.move(self.level_obj) + self.draw_nemesis() + self.player.move(direction, self.level_obj) + self.draw_player() self.check_state() def check_state(self): @@ -124,6 +129,28 @@ class GameWindow(FloatLayout): print 'You lost!' sys.exit(1) + def _calc_mouse_pos(self, pos): + return (int(pos[0] / TILE_SIZE), int(pos[1] / TILE_SIZE)) + + def on_touch_down(self, touch): + pos = self._calc_mouse_pos(touch.pos) + if pos == self.player.pos: + self.mouse_move = True + self.mouse_start = pos + + def on_touch_up(self, touch): + self.mouse_move = False + + def on_touch_move(self, touch): + if self.mouse_move: + pos = self._calc_mouse_pos(touch.pos) + if (pos[0] - self.mouse_start[0] != 0) or ( + pos[1] - self.mouse_start[1] != 0): + direction = (pos[0] - self.mouse_start[0], + pos[1] - self.mouse_start[1]) + self.do_move(direction) + self.mouse_start = pos + class GameApp(App):