Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
1
.NET 4.x

Загрузка карты для игры змейка из текста

04.06.2014, 14:12. Показов 1800. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, короче сделал что б карта считывалась из файла , но почему то не хочет отображать одну стену ( изначально ваще косо рисовало, но я ее выпрямил ). Вообщем вот код .... Помогите христа ради. Я понятия не имею что тут .


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// игровое поле
        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);
        }

вот все что в txt файле.

111111111111111111111111111111
100000000000000000000000000001
100000000000000000001100000001
100000000000000000001100000001
101111100000000000001100000001
100000000000000000001100000001
100000000000000000001100000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000000000000001
100000000000000000001100000001
100000000000000000001100000001
101111100000000000001100000001
100000000000000000001100000001
100000000000000000001100000001
100000001000000000000000000001
100000000000000000000000000001
111111111111111111111111111111

Скрин того ............ которое отображается в итоге ( как видим - в левом углу, почему то, нет боковой стены )
Миниатюры
Загрузка карты для игры змейка из текста  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2014, 14:12
Ответы с готовыми решениями:

Дописать реализацию стратегию выигрыша для игры змейка
Не могу понять как и где дописать строчки кода чтобы можно было реализовать какую-либо стратегию...

Delphi таблица рекордов для игры Змейка
Хочу в игру добавить таблицу рекордов. Чтобы 10 лучших результатов записывались в таблицу....

Создание 2 классов для игры в карты
начал разбираться с классами есть вот такая задача //Написать класс для сущности &quot;игровая карта&quot;...

Реализация карты для игры pacman
Всем доброго времени суток! Пишу курсач - игру pacman. Думаю как запилить карты...Есть идея...

5
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
04.06.2014, 14:45 2
В методе MapLoad:
Цитата Сообщение от good soul Посмотреть сообщение
C#
1
int i = 1, j = 1;
Индексы в массивах с 0 начинаются...
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
04.06.2014, 21:33  [ТС] 3
я знаю. просто изображение отображается со сдвигом. Я не знаю по каким причинам. И эти с виду тупые значения - обеспечивают ровное отображение картинки.Вот скрин - когда int i=0, j=0;

Желтым помечены пустые клетки клетки - в них карта не загрузилась.
Миниатюры
Загрузка карты для игры змейка из текста  
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
04.06.2014, 21:38  [ТС] 4
Если задать i=1 j=0 - получится :
Миниатюры
Загрузка карты для игры змейка из текста  
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
04.06.2014, 21:39  [ТС] 5
а если i=1 j=2
Миниатюры
Загрузка карты для игры змейка из текста  
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
04.06.2014, 21:41  [ТС] 6
как видно что не отобразившееся стена - вылазит, при сдвиге. А когда картинка выровнена - она пропадает в никуда.
0
04.06.2014, 21:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 21:41
Помогаю со студенческими работами здесь

Создание простой карты для игры
Господа, у меня задача. 1 - Для игрушки (простая леталка - стрелялка) нужно нарисовать карту....

Консольная Змейка: фрукт генерируется за пределами карты
Здравствуйте! Я написал консольную змейку на с++. В ней всё работает нормально, но есть один баг....

Восприятие ботами клеток карты, пытаюсь понять логику для игры
Всем привет! Столкнулся с некоторой сложностью при создании простой игры. Описание Вид сверху,...

Составить блок-схему алгоритма и программу для задачи игры в карты
Колода из 36 карт от 6 до туза хорошо перемешана. Картам от Вольта до туза присвоено число очков от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru