Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.04.2010
Сообщений: 16
.NET 4.x

Отрисовка сетки

23.10.2011, 18:01. Показов 1717. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема такая, надо отрисовать сетку по типу:

#########
####O####
###OOO###
##OOOOO##
#OOO*OOO#
##OOOOO##
###OOO###
####O####
#########

Имеется массив level[x, y], являющийся картой уровня.
Значения PosX и PosY отвечают за положение центра (*) сетки.

Из собственных догадок:
Делаю 2 цикла. 1 идет по Y, 2 по X, если некоторое условие выполняется, то level[X, Y] = O, если нет то оставляю #.

Вот с условием собственно и проблема. Никак не могу его сформулировать.

P.S. проект, естественно, не под консольное приложение.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2011, 18:01
Ответы с готовыми решениями:

Смена ячеек сетки путем клика
Хотела сделать режим редактирования, затем первый клик берет значение первой ячейки, второй клик - значение второй, и они менятся. ...

Отрисовка меню
Здравствуйте. Хочу сделать отрисовку кнопок из c# для того, чтобы не отображались кнопки для пользователя с другими правами. Я так...

Отрисовка страницы в .cs
На странице .aspx делаю так <body class="homepage"> <form id="form1" runat="server"> <% Response.Write(GetInfo());...

2
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
23.10.2011, 23:04
Лучший ответ Сообщение было отмечено Alex TGM как решение

Решение

Как то так:
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
  class Program
    {
        static Point PosXY = new Point(11, 11);
        static Point MapSize = new Point(22, 22);
        static int[,] level = new int[MapSize.X, MapSize.Y];
        static int MaxZeroSize = 20;
 
        static bool IsZero(int X, int Y)
        {
            int DX = (PosXY.Y - Y) * 2;
            int DY = (PosXY.X - X) * 2;
            int ZeroCountX = MaxZeroSize - (DX < 0 ? -DX : DX);
            int ZeroCountY = MaxZeroSize - (DY < 0 ? -DY : DY);
            int MinX = PosXY.X - (ZeroCountX - 1) / 2;
            int MinY = PosXY.Y - (ZeroCountY - 1) / 2;
            int MaxX = PosXY.X + (ZeroCountX - 1) / 2;
            int MaxY = PosXY.Y + (ZeroCountY - 1) / 2;
            if (X < MinX || Y < MinY) return false;
            if (X > MaxX || Y > MaxY) return false;
            return true;
        }
 
        static void Main(string[] args)
        {
            for (int Y = 0; Y < MapSize.Y; Y++)
            {
                for (int X = 0; X < MapSize.X; X++)
                {
                    if (X == PosXY.X && Y == PosXY.Y) Console.Write("*");
                    else Console.Write(IsZero(X, Y) ? "0" : "#");
                }
 
                Console.WriteLine();
            }
            Console.ReadKey();
 
        }
    }
1
0 / 0 / 0
Регистрация: 24.04.2010
Сообщений: 16
23.10.2011, 23:47  [ТС]
Спасибо! Код работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2011, 23:47
Помогаю со студенческими работами здесь

Рисование сетки в Image
Как нарисовать сетку в image?

Выравнивания сетки. общая позиция
Есть некий Grid в нем у меня разметка, так вот мне нужно несколько строк и колонок поместить в GroupBox, сразу приходит иждея что нужно...

Создание видимой сетки в Grid
Пример книги демонстрирует как через код xaml создавать в Grid сетку: &lt;Grid HorizontalAlignment=&quot;Left&quot;...

Checkbox растягивается на всю ширину сетки
Доброго времени суток! Посмотрев туториалы, решил создать свой Checkbox в WPF (VS2012). В xaml я 0 и сразу упёрся в &quot;не...

Вывод сетки на графике и привязка к разрешению
Всем привет. Стоит задача реализовать вывод график биомедицинских сигналов на экране на миллиметровую сетку. Важно отобразить сигнал на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru