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

Формула программиста
основатель — Волосатов Евгений Витольдович
Приходи на 3-дневный мастер-класс по C#

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

  • На этом уроке мы нарисуем пирамидку из доминошек.
    Для отображения каждой плашки используется Label.
    Label'ы мы будем создавать динамически, как в сказке.
  • Дата отправки отчёта: 22 мая 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Позиционировать лейблы) Пытался делать это не подсматривая в урок, но признаюсь пару раз подсмотрел, время к сдаче урока поджимает, а еще половины толком не сделал.
  • Что было сложным: Разобраться с нужным позиционированием лейблов.
  • Комментарии: Спешу сделать вовремя
  • Оценка видео-уроку:
Отчёт от 5027 за Игры со Спрайтами / Домино. Динамическая пирамида


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




Оцени работу

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


  • Отчёт оценивали:
    4378Александр+1  

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




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

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

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

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