Пример #1
0
 def __init__(self, frame, game, value, tile_name, vertical=False):
     self.frame = frame
     self.map = TiledMap(game, frame=frame)
     self.value = value
     self.tile_name = tile_name
     self.vertical = vertical
     self.redraw()
Пример #2
0
 def __init__(self, frame, game, value, tile_name, vertical=False):
     self.frame = frame
     self.map = TiledMap(game, frame=frame)
     self.value = value
     self.tile_name = tile_name
     self.vertical = vertical
     self.redraw()
Пример #3
0
 def show(self):
     tmap = TiledMap(self.frame, self.gf.tile_factory)
     tmap.fill_map(str(self.level))
     tmap.cache_map()
     while self.snake.is_moving():
         self.snake.update()
         tmap.draw()
         self.snake.draw()
         pygame.display.update()
         time.sleep(0.03)
Пример #4
0
class BarDisplay:
    def __init__(self, frame, game, value, tile_name, vertical=False):
        self.frame = frame
        self.map = TiledMap(game, frame=frame)
        self.value = value
        self.tile_name = tile_name
        self.vertical = vertical
        self.redraw()

    def redraw(self):
        if self.vertical:
            self.map.set_map('\n'.join([self.tile_name] * self.value))
        else:
            self.map.set_map(self.tile_name * self.value)
        self.frame.clear()
        self.map.draw()

    def increase(self):
        self.value += 1
        self.redraw()

    def decrease(self):
        if self.value > 0:
            self.value -= 1
        self.redraw()
Пример #5
0
class BarDisplay:

    def __init__(self, frame, game, value, tile_name, vertical=False):
        self.frame = frame
        self.map = TiledMap(game, frame=frame)
        self.value = value
        self.tile_name = tile_name
        self.vertical = vertical
        self.redraw()

    def redraw(self):
        if self.vertical:
            self.map.set_map('\n'.join([self.tile_name] * self.value))
        else:
            self.map.set_map(self.tile_name * self.value)
        self.frame.clear()
        self.map.draw()

    def increase(self):
        self.value += 1
        self.redraw()

    def decrease(self):
        if self.value > 0:
            self.value -= 1
        self.redraw()
Пример #6
0
 def test_display(self):
     gf = GameFactory("data/settings.txt")
     frame = Frame(gf.screen, Rect(0, 0, 512, 256))
     gf.tile_factory.add_tile_synonyms(TILE_SYNONYMS)
     self.level.place_fruit(Vector(2, 2), "b")
     tmap = TiledMap(frame, gf.tile_factory)
     tmap.fill_map(str(self.level))
     tmap.cache_map()
     tmap.draw()
     pygame.display.update()
     time.sleep(1)
Пример #7
0
 def setUp(self):
     frame = Frame(TEST_GAME_CONTEXT.screen, Rect(90, 50, 128, 128))
     self.tm = TiledMap(frame, TEST_GAME_CONTEXT.tile_factory)
Пример #8
0
class TiledMapTests(TestCase):

    def setUp(self):
        frame = Frame(TEST_GAME_CONTEXT.screen, Rect(90, 50, 128, 128))
        self.tm = TiledMap(frame, TEST_GAME_CONTEXT.tile_factory)

    def test_fill_map(self):
        self.tm.set_map(TEST_MAP)

    def test_caching(self):
        bigmap = ["." * 50 for i in range(50)]
        self.tm.set_map('\n'.join(bigmap))
        for i in range(10):
            self.tm.cache_map()

    def test_win_size(self):
        self.tm.set_map(TEST_MAP)
        self.assertEqual(self.tm.win_size.x, 4)
        self.assertEqual(self.tm.win_size.y, 4)

    def test_is_visible(self):
        self.tm.set_map(TEST_MAP)
        self.assertTrue(self.tm.is_visible(Vector(0, 0)))
        self.assertTrue(self.tm.is_visible(Vector(1, 1)))
        self.assertFalse(self.tm.is_visible(Vector(5, 1)))
        self.assertFalse(self.tm.is_visible(Vector(1, 5)))
        self.assertFalse(self.tm.is_visible(Vector(-5, -1)))

    def test_check_position(self):
        self.tm.set_map(TEST_MAP)
        self.assertFalse(self.tm.check_position(Vector(-1, -1)))
        self.assertFalse(self.tm.check_position(Vector(5, 1)))
        self.assertFalse(self.tm.check_position(Vector(1, 5)))
        self.assertTrue(self.tm.check_position(Vector(0, 0)))
        self.assertTrue(self.tm.check_position(Vector(1, 1)))
        self.assertTrue(self.tm.check_position(Vector(4, 4)))

    def test_check_move(self):
        self.tm.set_map(TEST_MAP)
        self.assertFalse(self.tm.check_move(Vector(-1, -1)))
        self.assertTrue(self.tm.check_move(Vector(1, 1)))
        self.tm.zoom_to(Vector(1, 1))
        self.assertFalse(self.tm.check_move(Vector(1, 1)))
        self.assertTrue(self.tm.check_move(Vector(-1, -1)))

    def test_zoom_to(self):
        self.tm.set_map(TEST_MAP)
        self.tm.zoom_to(Vector(1, 1))
        self.assertEqual(self.tm.map_pos.x, 1)
        self.assertEqual(self.tm.map_pos.y, 1)

    # def test_load_map(self):
    #     self.tm.load_map(SAMPLE_MAP_FILE)
    #     self.assertEqual(len(self.tm.map), 10)
    #     self.assertEqual(len(self.tm.map[0]), 10)

    @showdoc
    def test_draw(self):
        """Draws two 5x5 locations of a map with boxes."""
        self.tm.set_map(open(SAMPLE_MAP_FILE).read())
        self.tm.draw()
        pygame.display.update()
        time.sleep(DELAY)
        self.tm.zoom_to(Vector(4, 4))
        self.tm.draw()
        pygame.display.update()