需要帮助保存地图

时间:2011-07-15 17:29:47

标签: c# map

我需要帮助我的地图编辑器,我一直坚持保存它。当我保存后,我在地图上放了一些草,它在地图文件中到处都是草。 这是变量:

mapMaximumX:X中地图的最大值(设置为500)

mapMaximumY:Y中地图的最大值(也设为500)

mapTiles [index]:这是一个带有类的列表,每个类都有ID(0 =空,1 =草,2 =水),X和Y

        if (Keyboard.GetState().IsKeyDown(Keys.F1))
        {
            for(int y = 0; y < mapMaximumY; y++) 
            {
                for (int x = 0; x < mapMaximumX; x++)
                {

                    if (MapTiles[i3].X == x && MapTiles[i3].Y == y)
                    {

                    }

                    else
                    {
                        MapTiles.Add(new Class1(0, x * 32, y * 32));
                    }

                    if (i3 < MapTiles.Count)
                    {
                        i3++;
                    }
                }
            }

            TextWriter file = new StreamWriter("map1.MAP");
            for (int y = 0; y < mapMaximumY; y++)
            {
                for (int x = 0; x < mapMaximumX; x++)
                {
                    file.Write(MapTiles[i2].ID + ", ");
                }
                file.Write(file.NewLine);
            }
            i2 = 0;
            System.Windows.Forms.MessageBox.Show("Saved!");
            file.Close();
        }

完整代码在这里,如果你需要它:

http://pastebin.com/qrWbuPtb

感谢名单。

1 个答案:

答案 0 :(得分:3)

file.Write(MapTiles[i2].ID + ", ");

i2永远不会在你的循环中发生变化,所以无论i2是什么,都将是用于编写输出的东西。

您需要在循环中使用X和Y来确定要写出的单元格。