0

我正在开发一个游戏引擎,但我在使用 tile 引擎时遇到了一些问题。

我希望它在一个文本文件中,我首先有 4 行告诉图块的大小和地图的大小,然后是地图/数组本身,例如:

32
32
10
10
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000

当文件被加载(使用流读取器)时,它会遍历文件并检查特殊字符 - 例如:

switch(lineReader)
{
    case '#'
    {
        Solid solid = new Solid(Content.Load<Texture2D>("spr_Wall"), new Rectangle(0, 0, tileWidth, tile Height));
    }
}

我总共尝试了 2 到 3 个月的互联网搜索,但无论哪种方式,我都不擅长谷歌搜索,或者只是一个糟糕的程序员..

好吧,无论如何,我怎样才能使这样的事情成为可能?

4

1 回答 1

1

如果文件具有正确的格式(我的代码中没有错误检查)

private static void Main()
    {
        using (var reader = new StreamReader("filename"))
        {
            var tileSizeX = Convert.ToInt32(reader.ReadLine());
            var tileSizeY = Convert.ToInt32(reader.ReadLine());
            var mapSizeX = Convert.ToInt32(reader.ReadLine());
            var mapSizeY = Convert.ToInt32(reader.ReadLine());

            char[,] map = new char[mapSizeX, mapSizeY];

            for (var i = 0; i < mapSizeY; i++)
            {
                string line = reader.ReadLine();
                for (int j = 0; j < mapSizeX; j++)
                {
                    map[j, i] = line[j];
                }
            }

            for (int i = 0; i < mapSizeX; i++)
            {
                for (int j = 0; j < mapSizeY; j++)
                {
                    Console.Write(map[i, j]);
                }
                Console.WriteLine();
            }
        }
        Console.ReadLine();
    }
于 2013-10-21T15:14:31.860 回答