C# 需要帮助保存地图吗

C# 需要帮助保存地图吗,c#,map,C#,Map,我需要地图编辑器的帮助,我一直在保存它。当我保存时,当我在地图上放了一些草之后,地图文件中到处都是草。 以下是变量: mapMaximumX:X中地图的最大值(设置为500) mapMaximumY:地图Y的最大值(也设置为500) mapTiles[index]:这是一个包含类的列表,每个类都有ID(0=空,1=草,2=水),X和Y if(Keyboard.GetState().IsKeyDown(Keys.F1)) { 对于(int y=0;y

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

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

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

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

if(Keyboard.GetState().IsKeyDown(Keys.F1))
{
对于(int y=0;y
如果您需要完整的代码,请参阅:

塔克斯

i2永远不会在循环中改变,所以无论i2是什么,都将始终是用来编写输出的

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

i2永远不会在循环中改变,所以无论i2是什么,都将始终是用来编写输出的


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

Ohhh该代码有太多错误。。。全局变量混乱,啊!我看到对模糊变量(
i2
i3
num
)的引用,它们似乎在代码中的任何地方都没有使用,除了处理F1的更新函数,你说它不起作用。我还看到您正在声明全局变量,如
x
y
,然后执行
for(int y=0;I<…
等),这意味着您在不同的范围内再次声明相同的变量名(覆盖初始声明),这是非常令人困惑的。我建议重新考虑一些命名约定,并首先清理一下。我还建议将这个问题转移到一个更专注于此类内容的论坛。哦,那代码有太多错误……全局变量混乱,啊!我看到了对模糊变量的引用(
i2
i3
num
)除了处理F1的更新函数外,代码中的任何地方似乎都没有使用,你说F1不起作用。我还看到你在为(int y=0;i<…
等,这意味着您在不同的范围内再次声明相同的变量名(覆盖初始声明),这很让人困惑。我建议重新考虑一些命名约定,并先清理一下。我还建议将这个问题转移到一个更专注于此类内容的论坛。@Marcus-你需要解决这些问题。@Marcus-你需要解决这些问题。
        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();
        }
file.Write(MapTiles[i2].ID + ", ");