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

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

Шарики / Шарики. Логика игры

  • На этом уроке мы реализуем логику программы.
    Вся логика программы реализуется в отдельном классе.
    Сделаем, чтобы программа отрабатывала все состояния.
    Шарики можно будет выбирать, пермещать,
    будут появляться следущие шарики.
  • Дата отправки отчёта: 18 июня
  • Задание выполнено: за 2 час. 45 мин.
  • Чему научился: Передавать функцию делегатом в класс. Познакомился со способом управления программой при помощи универсальной функции (Step).  Научился выбирать следующие шарики, перемещать их, обрабатывать различные ситуации (перевыбор шарика, отображение следующего, если на него поставили большой).
  • Что было сложным: Самым сложным было понять некоторые вещи:

    1} (rand.Next(1, max_colors + 1));  - почему нужно +1. ведь от 1 до 6, всё норм. зачем нам от 1 до 7??

    2} функция public void ClickBox (int x, int y) - в ней                    if (status == Status.ball_mark)
                            Show(marked_ball, Item.ball); - долго думал, чтобы понять, почему это работает.
  • Комментарии:     Ваще дать возможность проработать такой сложный курс бесплатно - это нереально круто. До сих пор не могу поверить, что я что то здесь даже понял. Огромное спасибо, Евгений Витольдович, что учите нас, хотя и мне кажется, что тут надо всё по-другому делать.
        Очень сложно следить за ходом мысли. Может для облегчения стоит выписывать все переменные и указывать рядышком их типы, потому как лично для меня, если видеть такую информацию перед глазами, легче понимать, что происходит.
        "Да, эта программа оказалась значительно сложнее, чем я думал изначально..." CopiRight ЕВ.    Я тоже......
  • Оценка видео-уроку:
Отчёт от 1901 за Шарики / Шарики. Логика игры




Оцени работу

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

1901. Neverwinter 2
Neverwinter 2
ответить
→  Елена  # Шарики / Шарики. Логика игры / 2016-06-19 10:39

Спасибо, Елена. Я понял, хотя мне кажется страным этот ход разработчиков языка, все время нужно помнить, что -1 от второй границы отнимать.  Ладно бы был один аргумент - скажем 7 - это с 0 получается 0-6... всё окей. Но когда конкретно написано от 1 до 6... блин. А про ход мысли неправильно выразился: сложно не за ходом следить (блок схема есть), а некоторые вещи понимать, что я описал во втором пункте сложностей. Вот там и помогает список переменных, как вспомнишь, что скрывается за этим словом - становится понятнее, что мы делаем.


1901. Neverwinter 2
Neverwinter 2
ответить
→  Евгений Витольдович  # Шарики / Шарики. Логика игры / 2016-06-19 10:36

Это да.... Исчезнет. Но мне вот в голову пришла мысль (и почему она не пришла сразу же???) ЭТО ЖЕ НЕ ШАРИКИ!!! Это линии!! Шарики - это другая игра - там всё поле сразу заполнено, менять соседние местами и новые падают сверху (как пример самых лучших - сокровища монтесумы).


6203. Николай (nick27m)
Николай (nick27m)
ответить
→  Neverwinter 2  # Шарики / Шарики. Логика игры / 2016-06-18 22:40

Потому, что отсчет начинается от нуля, если бы ты написал 7, то было бы 0,1,2,3,4,5,6, т.е. 7 цифр, а тут ты указал диапазон от 1 до 7, т.е. получается 6 цифр.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Neverwinter 2  # Шарики / Шарики. Логика игры / 2016-06-18 21:02

Если пять раз переписать программу - то придёт и понимание и структура будет вылизана.
Вся беда в том, что если давать такой идеальный вариант - ощущение разработки исчезает.


4004. Елена
Елена
ответить
→  Neverwinter 2  # Шарики / Шарики. Логика игры / 2016-06-18 20:49

Вторым аргументом функции rand.Next() является граница, которая не входит в дапазон генерируемых значений.
А для того чтобы было легче следить за ходом мысли мы и составляли блок-схему на первом уроке


  • Отчёт оценивали:
    9237Mais+1   6614Александр+1   4467Alcatraz+1   689Igorenzia+1   10233Виталий+1   6452Lik_Kirill+1   7119Новопашин Владимир+1   5649Максим Лапшинов+1   4004Елена+1   1Евгений Витольдович+1   4992Николай+1   6987MichGar+1   6203Николай (nick27m)+1   4736Евгений+1   9457Дмитрий+1   10494Алексей В.0   10162Дмитрий0   2912Игорь+1   4485Vlad Yakovlev+1   9263Андрей Н.+1   9567Максим+1   8027Юрий0   6391Владимир+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Закрепляем полученные ранее знания.
Трудности: полный рассинхрон звука и видео. пришлось смотреть без звука.!!!!!!!!
Урок отличный , но техника подвела и Я не рад.!!!!!!!!!!!!!!!!!!!!!!!!!!
Научился: Повторил работу со структурами.
Трудности: Найти время.
я играл в другие "Шарики" в детстве: там надо было 4 одинаковых шарика на одну клетку загнать, после чего исчезали все шарики этого цвета. Есть идея напистаь такое :)