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

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

Чашка кофе / VIP урок. Змейка

  • Создаём популярную игру «Змейка».
    На примере простых объектов демонстрация основ ООП.
  • Дата отправки отчёта: 22 февраля
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: повторили кое-что  из ООП + дин отображение картинок
  • Что было сложным: придумать окончание
  • Комментарии: если кто знает как сделать проверку на то, врезалась ли голова в туловище(то есть в змею) или в стену и завершить игру,
    помогите пожалуйста. Около часа сидел и не придумал !
  • Оценка видео-уроку:
Отчёт от 6195 за Чашка кофе / VIP урок. Змейка




Оцени работу

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

1. Евгений Витольдович
Евгений Витольдович
ответить
→  sergey  # Микроигры / VIP урок. Змейка / 2016-02-22 19:20

массив использовать


  • Отчёт оценивали:
    9427Иван Алексеевич0   8886Михаил Ермишин+1   7157muxasio+1   4395Денис+1   6925Артём+1   459Сергей Сергеевич+1   4803Юрий С.+1   4992Николай+1   6644valerys Nikola+1   689Igorenzia+1   1Евгений Витольдович+1   6195sergey+1   791Валерий+1   2639Морозов Юрий Александрович+1   5760Мариша +1   2912Игорь+1   8567Max+1   9160Сергій+1   6458Илья+1   5369Archi+1   7645Александр Львович+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: очень много нового почерпнул в процессе доработки игры
Трудности: найти время на реализацию всего, что задумал =)
как обычно создал уникальную иконку для бинарника и форм помимо базовых, добавил текстуры поворота головы/хвоста размещение змейки на поле случайное змейка поворачивает голову туда куда ползёт, хвост поворачивается за телом в левом-верхнем углу экрана показаны яйца текущей змеиной семьи первый кто вылупился, начинает отъедаться на кроликах, чтобы вырасти и отложить яйца при поедании определённого количества кроликов, появляются дополнительный яйца если змейка врезалась в стену или слопала саму себя, рождается следующая змейка и так до тех пор, пока не окончатся яйца, по окончанию игры будет отображена статистика в правом-верхнем углу показано количество слопаных кроликов текущего змеиного выводка вверху-по центру показан рекорд на протяжении всех попыток игры рекорд сохраняется в файл в папке data при запуске игры, если таковой файл имеется, то загружается рекорд из файла, если же файла нет, то рекорд обнуляется (можно сбросить простым удалением файла) поворачивать голову при движении за 1 такт может только под 90 градусов (защита от того, чтобы не повернуть на 180 и не слопать саму себя) игровая статистика выполнена в игровом стиле, добавлены необходимые текстуры если змея врезалась, но при этом ещё есть яйца, то игра не начинается сначала, появляется новая змейка, а текущий счёт не обнуляется, пока не закончится игра после при этом генерируется новое с новым расположением змейки и кролика добавлена новая форма и активирована как основная, форма самой игры теперь вторична на начальной форме добавлено игровое меню из 3 пунктов: Играть, О игре, Выход пункты меню подсвечиваются в стиле ZX Spectrum при наведении мышью пунктами меню можно управлять и стрелками вверх/вниз на клавиатуре выбор пункта осуществляется клавишей Enter или кликом мыши при выборе пункта "Играть" - открывается форма и начинается игра при выборе пункта "О игре" - открывается профиль на проекте videosharp.info звуковые файлы хранятся в папке data, так же они были конвертированы в форма mp3 для экономии места
Смотреть видеозапись: https://www.youtube.com/watch?v=mhCMxpdP3oA
Научился: Научился разделять проект на несколько кусков, каждый из которых отвечает строго за свою часть, друг другу не мешая, а только дополняя и помогая!
Трудности: Понять перемещение почему происходит от хвоста к голове. Я думаю потому что голову перемещаем в конец массива, замещая её частью "кролика".
УРА! Я наконец-то САМОСТОЯТЕЛЬНО придумал и РЕАЛИЗОВАЛ использование ДЕЛЕГАТА!!! У меня в классе Map() идет подсчет "кроликов", а с помощью делегата я выполняю отображение информации о количестве оставшихся "кроликов" на Форме. Правильное применение? Добавил что нельзя самого себя съедать, нельзя врезаться в стенки. Добавил что при окончании уровня(когда съедены все "кролики", у меня это Сердца, а их опр.количество - 20 + 4 на форме), происходит смена уровня и усложняется тем, что на уровне увеличивается количество стен, которые мешают. Уже после шестого уровня становится довольно-таки сложно, поэтому решил не заморачиваться со скоростью змейки.