Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Сборник программ на C#

Игры со Спрайтами / Домино. Динамическая пирамида

  • На этом уроке мы нарисуем пирамидку из доминошек.
    Для отображения каждой плашки используется Label.
    Label'ы мы будем создавать динамически, как в сказке.
  • Дата отправки отчёта: 20 мая 2015 г.
  • Задание выполнено: за 50 мин.
  • Чему научился: Повторил порйденное
  • Что было сложным: В какой то момент при выводе массива лейблов на панель случился затык в понимании, почему же i и j меняются местами при определении координат лейбла. Пока не нарисовал , не разобрался в чем там дело. А дело в том, как мы двойной цикл задаем.
  • Комментарии: Строго говоря, для соответствия массива доминошек нормальной системе координат нам нужно писать не
    for (int x = 0; x <= maxPoints; x++)
                    for (int y = 0; y <= x; y++)
                        map[x, y] = new Plate(x, y);

    А наоборот:

    for (int y = 0; y <= maxPoints; y++)
                    for (int x = 0; x <= y; x++)
                        map[x, y] = new Plate(x, y);

    Применять это как к логике , так и к графике.
  • Оценка видео-уроку:
Отчёт от 4342 за Игры со Спрайтами / Домино. Динамическая пирамида




Оцени работу

 
Сохранить страницу:

24. Олюшка
Олюшка
ответить
→  Алекс  # Новые мини игры / Домино. Динамическая пирамида. / 2015-05-20 12:19

Молодец, что разобрался и все понятно, это главное!


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Алекс  # Новые мини игры / Домино. Динамическая пирамида. / 2015-05-20 12:08

Я знаю об этом. Но так удобнее.



Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: В C# оочень не хватает явных ссылочных типов данных
Трудности: Изменить значение элемента массива не обращаясь к массиву напрямую
• Мне из прошлого урока жутко не понравилась сортировка и двумерный массив, в которых мы всё пихали, так что я реализовал функцию GetPlateByNum, которая получает элемент массива с указанным номером (0-27 в нашем случае), кстати, интересная получилась задачка для 3-х часов ночи =) И нормально-таки перемешал доминошки (на скриншоте самая верхняя функция). И заменил массив на ступенчатый. Честно, не понимаю, чем его неудобно использовать (вы так говорили)? Почему вы так не делали? За одно и практика с таким типом массивов была бы и задачку по нахождению элемента массива в виде пирамидки по его порядковому номеру (для нормального перемешивания), да и алгоритм перемешивания массива пригодился бы (ну, может алгоритм - это сильно сказано, но менять рандомные доминошки местами 100 - точно не он) • Кстати, пока это всё дело реализовывал, столкнулся с проблемой, что в C# не видно, хранится ли в переменной сам объект или ссылка на него, и это очень затрудняет написание кода.. Например: в переменных string, ArrayList, да и вообще любого класса храниться ссылка, а в bool. int и остальных struct - сам объект. Нужно какую-то статью на эту тему почитать... • Зачем создавать две переменные plateWhdth и plateHeight, если есть такой тип данных, как Size, как раз для таких случаев и предназначенный?? • И зачем всё-таки вы в прошлом уроке делали protected методы, а не privat?
Научился: Динамическое создание лейблов.
Трудности: Формулы для расчета.
Урок очень понравился, как и все остальные уроки.