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 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)
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()
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)
def setUp(self): frame = Frame(TEST_GAME_CONTEXT.screen, Rect(90, 50, 128, 128)) self.tm = TiledMap(frame, TEST_GAME_CONTEXT.tile_factory)
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()