Вы должны рассмотреть возможность использования двухмерных массивов.Таким образом, вы можете довольно легко представить свои данные визуально.
Начните с инициализации:
//2D array
int[,] array;
Некоторые примеры данных:
array= new int[,]
{
{0, 2, 2, 0},
{3, 0, 0, 3},
{1, 1, 1, 1},
{1, 0, 0, 0},
};
Создайте себеперечисление, которое будет индексировать каждое целое число в вашей карте:
enum Tiles
{
Undefined = 0,
Dirt = 1,
Water = 2,
Rock = 3
}
Затем загрузите ваши текстуры, а что нет, просматривая массив по одному элементу за раз.Исходя из размера текстур, вы можете легко нарисовать текстуры на экране, как показано на вашей карте:
for (int i = 0; i < array.Count; i++)
{
for (int j = 0; j < array[0].Count; j++) //assuming always 1 row
{
if (array[i][j] == (int)Tiles.Undefined) continue;
Texture = GetTexture(array[i][j]); //implement this
spriteBatch.Draw(Texture, new Vector2(i * Texture.Width, j * Texture.Height), null, Color.White, 0, Origin, 1.0f, SpriteEffects.None, 0f);
}
}