Пример #1
0
    def test_save_load_level( self ):
        level = Level()
        level_loaded = Level()

        level.set_tile( Tile( Vec3D(0,0,0), Tile.Type.FLAT ) )
        level.set_tile( Tile( Vec3D(0,1,0), Tile.Type.SOUTH_SLOPE_TOP ) )
        assert level.get_tile(0,1).trail.type == Trail.Type.HILL
        level.set_tile( Tile( Vec3D(1,3,0), Tile.Type.SOUTH_SLOPE_BOT ) )
        assert level.get_tile(0,1).trail.type == Trail.Type.HILL
        level.set_tile( Tile( Vec3D(1,0,0), Tile.Type.WEST_SLOPE_TOP ) )

        assert level.get_tile(0,0).get_neighbor( Direction.SOUTH ) is not None
        assert level.get_tile(0,0).get_neighbor( Direction.SOUTH ).type == Tile.Type.SOUTH_SLOPE_TOP

        level.save("saveloadtest.lvl");
        level_loaded.set_tile( Tile( Vec3D(2,2,0), Tile.Type.NORTH_SLOPE_TOP ) )
        level_loaded.load("saveloadtest.lvl");

        assert level_loaded.get_tile( 0, 0 ) is not None
        assert level_loaded.get_tile( 0, 0 ).type == Tile.Type.FLAT
        assert level_loaded.get_tile( 0, 1 ) is not None
        assert level_loaded.get_tile( 0, 1 ).type == Tile.Type.SOUTH_SLOPE_TOP
        assert level_loaded.get_tile( 1, 3 ) is not None
        assert level_loaded.get_tile( 1, 3 ).type == Tile.Type.SOUTH_SLOPE_BOT
        assert level_loaded.get_tile( 1, 0 ) is not None
        assert level_loaded.get_tile( 1, 0 ).type == Tile.Type.WEST_SLOPE_TOP
        assert level_loaded.get_tile( 1, 1 ) is None

        # check neighbors
        assert level_loaded.get_tile(0,0).get_neighbor( Direction.SOUTH ) is not None
        assert level_loaded.get_tile(0,0).get_neighbor( Direction.SOUTH ).type == Tile.Type.SOUTH_SLOPE_TOP

        os.remove("saveloadtest.lvl")
Пример #2
0
    def test_save_load_level(self):
        level = Level()
        level_loaded = Level()

        level.set_tile(Tile(Vec3D(0, 0, 0), Tile.Type.FLAT))
        level.set_tile(Tile(Vec3D(0, 1, 0), Tile.Type.SOUTH_SLOPE_TOP))
        assert level.get_tile(0, 1).trail.type == Trail.Type.HILL
        level.set_tile(Tile(Vec3D(1, 3, 0), Tile.Type.SOUTH_SLOPE_BOT))
        assert level.get_tile(0, 1).trail.type == Trail.Type.HILL
        level.set_tile(Tile(Vec3D(1, 0, 0), Tile.Type.WEST_SLOPE_TOP))

        assert level.get_tile(0, 0).get_neighbor(Direction.SOUTH) is not None
        assert level.get_tile(0, 0).get_neighbor(
            Direction.SOUTH).type == Tile.Type.SOUTH_SLOPE_TOP

        level.save("saveloadtest.lvl")
        level_loaded.set_tile(Tile(Vec3D(2, 2, 0), Tile.Type.NORTH_SLOPE_TOP))
        level_loaded.load("saveloadtest.lvl")

        assert level_loaded.get_tile(0, 0) is not None
        assert level_loaded.get_tile(0, 0).type == Tile.Type.FLAT
        assert level_loaded.get_tile(0, 1) is not None
        assert level_loaded.get_tile(0, 1).type == Tile.Type.SOUTH_SLOPE_TOP
        assert level_loaded.get_tile(1, 3) is not None
        assert level_loaded.get_tile(1, 3).type == Tile.Type.SOUTH_SLOPE_BOT
        assert level_loaded.get_tile(1, 0) is not None
        assert level_loaded.get_tile(1, 0).type == Tile.Type.WEST_SLOPE_TOP
        assert level_loaded.get_tile(1, 1) is None

        # check neighbors
        assert level_loaded.get_tile(0, 0).get_neighbor(
            Direction.SOUTH) is not None
        assert level_loaded.get_tile(0, 0).get_neighbor(
            Direction.SOUTH).type == Tile.Type.SOUTH_SLOPE_TOP

        os.remove("saveloadtest.lvl")