.NET 4.x Загрузка карты для игры змейка из текста - C#
Формулировка задачи:
Здравствуйте, короче сделал что б карта считывалась из файла , но почему то не хочет отображать одну стену ( изначально ваще косо рисовало, но я ее выпрямил ). Вообщем вот код .... Помогите христа ради. Я понятия не имею что тут .
вот все что в txt файле.
111111111111111111111111111111
100000000000000000000000000001
100000000000000000001100000001
100000000000000000001100000001
101111100000000000001100000001
100000000000000000001100000001
100000000000000000001100000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000001100000001
100000000000000000001100000001
101111100000000000001100000001
100000000000000000001100000001
100000000000000000001100000001
100000001000000000000000000001
100000000000000000000000000001
111111111111111111111111111111
Скрин того ............ которое отображается в итоге ( как видим - в левом углу, почему то, нет боковой стены )
// игровое поле private int[,] Field = new int[MR + 3, MC + 3]; private string[] Map = System.IO.File.ReadAllText(@"C:\Users\Олег\Desktop\WriteLines2.txt").Split(new[] { ' ' }); private void MapLoad() { string buf = Map[0]; int i = 1, j = 1; for (int k = 0; k < buf.Length; k++) if (char.IsNumber(buf[k])) if (j <= MC) { if (j == 2) { j = 1; Field[i, j] = Convert.ToInt16(buf[k]); j++; Field[i, j] = Convert.ToInt16(buf[k]); j++; } else { Field[i, j] = Convert.ToInt16(buf[k]); j++; } } else if (i < MR) { i++; j = 2; } } // рисует поле private void showField() { for (int row = 0; row <= MR; row++) for (int col = 0; col <= MC; col++) this.cell(row, col); } // рисует клетку private void cell(int row, int col) { int x, y;// координаты левого верхнего угла клетки x = (col - 1) * W + 1; y = (row - 1) * H + 1; //цвет клетки - серые switch(Field[row, col]) { case 0: g.FillRectangle(Brushes.Yellow, x - 1, y - 1, W, H); break; case 48: g.FillRectangle(Brushes.Blue, x - 1, y - 1, W, H); break; case 49: g.FillRectangle(Brushes.Black, x - 1, y - 1, W, H); break; default: g.FillRectangle(SystemBrushes.ControlLight, x - 1, y - 1, W, H); break; } // рисуем границу клетки g.DrawRectangle(Pens.Black, x - 1, y - 1, W, H); }
Решение задачи: «.NET 4.x Загрузка карты для игры змейка из текста»
textual
Листинг программы
int i = 1, j = 1;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д