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

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

Игры со Спрайтами / Домино. Ура! Победа!

  • На этом уроке мы допишем пасьянс из Домино.
    Напишем методы IsWinner() и IsLooser().
    Добавим метки для оповещения о результате игры
    и попытаемся наконец-таки разложить этот пасьянс.
    Не забудьте добавить эту программу в своё портфолио!

    Внимание! В конце видео можно посмотреть на весь код целиком.
  • Дата отправки отчёта: 21 мая 2015 г.
  • Задание выполнено: за 2 час. 10 мин.
  • Чему научился: уффф... терпению
  • Что было сложным: 1. Функции IsWinner, IsLooser Чувствуется, был уже поздний вечер. Функция получилась не такая изящная и несколько непонятная вначале.
    2. Я снова для проверки победа/неудача реализовал событие. На победу срабатывало нормально, на поражение перманентный глюк. В конце концов победил. Работает.
  • Комментарии: Откровенно говоря, увидев в начале какую задачу и какую игру мы будем решать был разорован. Домино? Скукотище! Ну ладн, решать то все равно надо. И надо сказать, мои ожидания полностью.... не оправдались. Урок получился удивительно интересный. Сам не знаю почему (тему то по прежнему скучно считаю :-)). Возможно, нестандартная математическая задача (по крайней мере, отличающаяся от ранее решаемых здесь), "скособоченный" массив, красивый и  местами лаконичный алогоритм решения - вот в чем секрет. Получил реальное удовольствие от решения.
  • Оценка видео-уроку:
Отчёт от 4342 за Игры со Спрайтами / Домино. Ура! Победа!


Отчёт от 4342 за Игры со Спрайтами / Домино. Ура! Победа!




Оцени работу

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


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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился меньше страшиться кода.
Трудности:  public bool IsLooser() { int[] sum = new int[sumDrop + 1]; for (int x = 0; x <= maxPoints; x++) for (int y = 0; y <= x; y++) if (map[x, y].state == PlateStates.open || map[x, y].state == PlateStates.marked) sum[map[x, y].Sum()]++; for (int j = 0; j < sumDrop / 2; j++) if (sum[j] > 0 && sum[sumDrop - j] > 0) return false; if (sum[sumDrop / 2] >= 2) return false; return true; } Не понял эту строчку sum[map[x, y].Sum()]++;
Все отлично.
Научился: Алгоритму определения проигравшего и победившего
Трудности: Не совсем поняла сразу алгоритм определения возможности хода isLooser() и допустила ошибку. Пришлось довольно долго ее искать.
Все получилось!