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

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши

Шарики / Шарики. Поиск линий

  • Реализация последнего алгоритма.
    Поиск линий из 5+ шариков и анимация их удаления.
  • Дата отправки отчёта: 18 февраля 2016 г.
  • Задание выполнено: за 45 мин.
  • Чему научился: писать алгоритм по поиску линий
  • Что было сложным: ничего
  • Комментарии: все супер
  • Оценка видео-уроку:
Отчёт от 6195 за Шарики / Шарики. Поиск линий




Оцени работу

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

  • Отчёт оценивали:
    6195sergey+1   6925Артём+1   2639Морозов Юрий Александрович+1   8886Михаил Ермишин+1   4992Николай+1   4467Alcatraz+1   7226Наталья+1   2912Игорь+1   459Сергей Сергеевич+1   791Валерий Жданов+1   5760Мариша +1   1Евгений Волосатов+1   1537Сергей+1   8946inward+1   5649Максим Лапшинов+1   7157muxasio+1   8275Tekashnik+1   8380zhikharevav0   7645Александр Львович+1   6080annaka+1   689Igorenzia+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Очень много всего, вроде ничего нового, но все вместе собирается в довольно сложный код.
Трудности: Реализовать придуманные улучшения.
Практически все улучшения получились недоделанными (долго пытался решить с очками и отменой хода, но потом оставил по принципу "лучше сделать как-то, чем никак"): 1. Подсчет очков. Ровно по 50, независимо от количества шаров. Т.к. реализованная StripLines() на 6 шаров срабатывает 2 раза, на 7 шаров 3 раза и так далее, то получается умножение очков с каждым шаром (100 за 6, 150 за 7). При привязке очков к strips примерно тот же эффект. Поэтому оставил так. 2. Сохранение рекорда. Но он хранится в переменной и сбрасывается при выходе из игры. Хранение в файле делать не стал. 3. Кнопка перезапуска игры. Вынес содержимое Status.init в отдельный метод StartGame() и сделал его вызов по кнопке и при заполнении поля. 4. Кнопка отмены хода. Возвращает состояние шаров. Но только тех, что уже есть на карте (в нормальном состоянии), без следующих. Следовательно остаются только актуальные следующие, а не сбрасываются на предыдущее состояние (видно на скриншотах). Конечно добавляет определенный игровой момент, но кривовато. Ограничил количество отмен хода тремя.
Научился: Поиску решений (то что не обязательно в "ромашку" искать, достаточно только вправо и вниз, остальные будут искаться из других точек карты). Обязательно буду его использовать в дальнейших своих работах
Трудности: Придумать ещё какие есть варианты.
Так и не смог найти, почему, если у нас линия более 5 шариков, пропадают и остальные шарики(того же цвета, на этой же линии, только дальше)? Добавил от себя что следующий шарик всё-равно показывается даже если попадает по пути, а когда на него заходит "путешествующий" шарик, то отображается "путешествующий", а затем когда он уйдет, снова следующий. и с помощью делегата сделал Конец игры. Когда поле заполнено делегатом запускается СтопИгра, останавливается таймер и выдается сообщение об окончании. Для продолжения можно нажать Новая игра. В планах добавить Счет и отмену прыгающего шарика когда по нему кликнешь второй раз (а не когда выберешь другой шарик)