예제 #1
0
    def test_main(self):
        self.init_window(256, 256)
        self.set_map(gen_rect_map([[dict()] * 10] * 10, 32, 32))

        @event(self.w)
        def on_text(text):
            if text == 'o':
                self.view.allow_oob = not self.view.allow_oob
                print('NOTE: allow_oob =', self.view.allow_oob)
                return
            try:
                size = int(25.6 * float(text))
                if size == 0:
                    size = 256
                c = self.view.camera
                c.width = c.height = size
                c.x = c.y = (256 - size) / 2
            except:
                return EVENT_UNHANDLED

        print('NOTE: allow_oob =', self.view.allow_oob)

        self.show_focus()

        self.run_test()
예제 #2
0
    def test_main(self):
        self.init_window(256, 256)
        self.set_map(gen_rect_map([[{}]*10]*10, 32, 32))

        def on_text(text):
            if text == 'o':
                self.view.allow_oob = not self.view.allow_oob
                print 'NOTE: allow_oob =', self.view.allow_oob
                return
            return pyglet.window.event.EVENT_UNHANDLED
        print 'NOTE: allow_oob =', self.view.allow_oob

        self.w.push_handlers(on_text)
        self.show_focus()

        self.run_test()
예제 #3
0
    def test_main(self):
        self.init_window(256, 256)
        self.set_map(gen_rect_map([[dict()] * 10] * 10, 32, 32))

        def on_text(text):
            if text == 'o':
                self.view.allow_oob = not self.view.allow_oob
                print('NOTE: allow_oob =', self.view.allow_oob)
                return
            return pyglet.window.event.EVENT_UNHANDLED

        print('NOTE: allow_oob =', self.view.allow_oob)

        self.w.push_handlers(on_text)
        self.show_focus()

        self.run_test()
예제 #4
0
 def test_rect_pixel(self):
     # test rectangular tile map
     # +---+---+---+
     #    | d | e | f |
     #    +---+---+---+
     #    | a | b | c |
     #    +---+---+---+
     m = gen_rect_map(rmd, 10, 16)
     t = m.get(0, 0)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     t = m.get(9, 15)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     t = m.get(10, 15)
     assert (t.x, t.y) == (1, 0) and t.properties['meta'] == 'b'
     t = m.get(9, 16)
     assert (t.x, t.y) == (0, 1) and t.properties['meta'] == 'd'
     t = m.get(10, 16)
     assert (t.x, t.y) == (1, 1) and t.properties['meta'] == 'e'
예제 #5
0
 def test_rect_pixel(self):
     # test rectangular tile map
     #    +---+---+---+
     #    | d | e | f |
     #    +---+---+---+
     #    | a | b | c |
     #    +---+---+---+
     m = gen_rect_map(rmd, 10, 16)
     t = m.get(0,0)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     t = m.get(9,15)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     t = m.get(10,15)
     assert (t.x, t.y) == (1, 0) and t.properties['meta'] == 'b'
     t = m.get(9,16)
     assert (t.x, t.y) == (0, 1) and t.properties['meta'] == 'd'
     t = m.get(10,16)
     assert (t.x, t.y) == (1, 1) and t.properties['meta'] == 'e'
예제 #6
0
 def test_rect_neighbor(self):
     # test rectangular tile map
     # +---+---+---+
     #    | d | e | f |
     #    +---+---+---+
     #    | a | b | c |
     #    +---+---+---+
     m = gen_rect_map(rmd, 10, 16)
     t = m.get_cell(0, 0)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     assert m.get_neighbor(t, m.DOWN) is None
     assert m.get_neighbor(t, m.UP).properties['meta'] == 'd'
     assert m.get_neighbor(t, m.LEFT) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'b'
     t = m.get_neighbor(t, m.UP)
     assert (t.x, t.y) == (0, 1) and t.properties['meta'] == 'd'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'a'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.LEFT) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'e'
     t = m.get_neighbor(t, m.RIGHT)
     assert (t.x, t.y) == (1, 1) and t.properties['meta'] == 'e'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'b'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'f'
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'd'
     t = m.get_neighbor(t, m.RIGHT)
     assert (t.x, t.y) == (2, 1) and t.properties['meta'] == 'f'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'c'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.RIGHT) is None
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'e'
     t = m.get_neighbor(t, m.DOWN)
     assert (t.x, t.y) == (2, 0) and t.properties['meta'] == 'c'
     assert m.get_neighbor(t, m.DOWN) is None
     assert m.get_neighbor(t, m.UP).properties['meta'] == 'f'
     assert m.get_neighbor(t, m.RIGHT) is None
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'b'
예제 #7
0
 def test_rect_neighbor(self):
     # test rectangular tile map
     #    +---+---+---+
     #    | d | e | f |
     #    +---+---+---+
     #    | a | b | c |
     #    +---+---+---+
     m = gen_rect_map(rmd, 10, 16)
     t = m.get_cell(0,0)
     assert (t.x, t.y) == (0, 0) and t.properties['meta'] == 'a'
     assert m.get_neighbor(t, m.DOWN) is None
     assert m.get_neighbor(t, m.UP).properties['meta'] == 'd'
     assert m.get_neighbor(t, m.LEFT) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'b'
     t = m.get_neighbor(t, m.UP)
     assert (t.x, t.y) == (0, 1) and t.properties['meta'] == 'd'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'a'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.LEFT) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'e'
     t = m.get_neighbor(t, m.RIGHT)
     assert (t.x, t.y) == (1, 1) and t.properties['meta'] == 'e'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'b'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.RIGHT).properties['meta'] == 'f'
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'd'
     t = m.get_neighbor(t, m.RIGHT)
     assert (t.x, t.y) == (2, 1) and t.properties['meta'] == 'f'
     assert m.get_neighbor(t, m.DOWN).properties['meta'] == 'c'
     assert m.get_neighbor(t, m.UP) is None
     assert m.get_neighbor(t, m.RIGHT) is None
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'e'
     t = m.get_neighbor(t, m.DOWN)
     assert (t.x, t.y) == (2, 0) and t.properties['meta'] == 'c'
     assert m.get_neighbor(t, m.DOWN) is None
     assert m.get_neighbor(t, m.UP).properties['meta'] == 'f'
     assert m.get_neighbor(t, m.RIGHT) is None
     assert m.get_neighbor(t, m.LEFT).properties['meta'] == 'b'
예제 #8
0
    def test_rect_coords(self):
        # test rectangular tile map
        # +---+---+---+
        #    | d | e | f |
        #    +---+---+---+
        #    | a | b | c |
        #    +---+---+---+
        m = gen_rect_map(rmd, 10, 16)

        # test tile sides / corners
        t = m.get_cell(0, 0)
        assert t.top == 16
        assert t.bottom == 0
        assert t.left == 0
        assert t.right == 10
        assert t.topleft == (0, 16)
        assert t.topright == (10, 16)
        assert t.bottomleft == (0, 0)
        assert t.bottomright == (10, 0)
        assert t.midtop == (5, 16)
        assert t.midleft == (0, 8)
        assert t.midright == (10, 8)
        assert t.midbottom == (5, 0)
예제 #9
0
    def test_rect_coords(self):
        # test rectangular tile map
        #    +---+---+---+
        #    | d | e | f |
        #    +---+---+---+
        #    | a | b | c |
        #    +---+---+---+
        m = gen_rect_map(rmd, 10, 16)

        # test tile sides / corners
        t = m.get_cell(0,0)
        assert t.top == 16
        assert t.bottom == 0
        assert t.left == 0
        assert t.right == 10
        assert t.topleft == (0, 16)
        assert t.topright == (10, 16)
        assert t.bottomleft == (0, 0)
        assert t.bottomright == (10, 0)
        assert t.midtop == (5, 16)
        assert t.midleft == (0, 8)
        assert t.midright == (10, 8)
        assert t.midbottom == (5, 0)
예제 #10
0
    def test_main(self):
        self.init_window(256, 256)
        self.set_map(gen_rect_map([[{}] * 10] * 10, 32, 32))
        self.w.push_handlers(self.view)
        self.view.allow_oob = False

        @event(self.view)
        @for_cells()
        def on_mouse_enter(cells):
            for cell in cells:
                e = TintEffect((1, .5, .5, 1))
                cell.properties['hover'] = e
                cell.add_effect(e)

        @event(self.view)
        @for_cells()
        def on_mouse_leave(cells):
            for cell in cells:
                cell.remove_effect(cell.properties['hover'])

        @event(self.view)
        @for_cells()
        @for_sprites()
        def on_mouse_press(objs, x, y, button, modifiers):
            for obj in objs:
                if 'clicked' in obj.properties:
                    obj.remove_effect(obj.properties['clicked'])
                    del obj.properties['clicked']
                else:
                    e = TintEffect((.5, 1, .5, 1))
                    obj.properties['clicked'] = e
                    obj.add_effect(e)
                return

        self.show_focus()
        self.run_test()
예제 #11
0
    def test_main(self):
        self.init_window(256, 256)
        self.set_map(gen_rect_map([[dict()] * 10] * 10, 32, 32))
        self.w.push_handlers(self.view)
        self.view.allow_oob = False

        @event(self.view)
        @for_cells()
        def on_mouse_enter(cells):
            for cell in cells:
                e = TintEffect((1, .5, .5, 1))
                cell.properties['hover'] = e
                cell.add_effect(e)

        @event(self.view)
        @for_cells()
        def on_mouse_leave(cells):
            for cell in cells:
                cell.remove_effect(cell.properties['hover'])

        @event(self.view)
        @for_cells()
        @for_sprites()
        def on_mouse_press(objs, x, y, button, modifiers):
            for obj in objs:
                if 'clicked' in obj.properties:
                    obj.remove_effect(obj.properties['clicked'])
                    del obj.properties['clicked']
                else:
                    e = TintEffect((.5, 1, .5, 1))
                    obj.properties['clicked'] = e
                    obj.add_effect(e)
                return

        self.show_focus()
        self.run_test()
 def test_main(self):
     self.init_window(256, 256)
     self.set_map(gen_rect_map([[{}]*10]*10, 32, 32))
     self.show_focus()
     self.run_test()
예제 #13
0
 def test_main(self):
     self.init_window(256, 256)
     self.set_map(gen_rect_map([[dict()] * 10] * 10, 32, 32), resize=True)
     self.view.allow_oob = False
     self.run_test()
예제 #14
0
 def test_main(self):
     self.init_window(256, 256)
     self.set_map(gen_rect_map([[dict()] * 10] * 10, 32, 32), resize=True)
     self.view.allow_oob = False
     self.run_test()