Как сделать игру морской бой в скретч

Добавил пользователь Евгений Кузнецов
Обновлено: 19.09.2024

Хотите научиться создавать клон одной из самых популярных среди детей игр Among Us в среде программирования Скретч? Следуйте нашим подробным инструкциям.

IT-сфера превратилась в неотъемлемую составляющую жизни подрастающего поколения. Дети активно осваивают навыки программирования, создания игр. Чтобы упростить им задачу, создаются визуальные среды программирования. Наибольшую популярность в последнее время приобрела Scratch, разработанная специалистами Массачусетского технологического института для тех, кто еще только учится кодить и мечтает в будущем стать программистом.

Scratch позволяет детям изучить азы программирования, с его помощью они начинают понимать, что такое циклы, условия, ветвления, переменные и т.д. Также он способствует развитию логического мышления, обретению навыков постановки задач и нахождения решений.

Так как Скретч является онлайн-средой, то для работы с ним не требуется скачивать и устанавливать специальное приложение. Достаточно пройти регистрацию на сайте. Здесь же на платформе можно опубликовать свою игру, чтобы и другие пользователи поиграли в нее.

Яркий, увлекательный дизайн вдохновляет детей на создание собственных проектов. А то, что игру можно продемонстрировать игрокам практически со всего мира, стимулирует к поиску новых интересных идей. С нашей точки зрения, проще всего приобщить ребят к программированию, научив их делать любимые игры. Хотя Скретч и кажется простым, с помощью этой платформы можно разрабатывать игры самых разнообразных жанров: симуляторы, шутеры, аркады, платформеры и т. п. А также создавать клоны пользующихся огромной популярностью игр, в том числе Among Us, Brawl Stars, Friday Night at Freddy’s.

Далее мы пошагово представим создание части игры Among Us. Если вы хотите ознакомиться с подробной видео-инструкцией, демонстрирующей, как создать игру в Скретч, листайте ниже.

Нами будут запрограммированы движения персонажа, смена фонов, а также выполнено одно задание — герой должен устранить неполадки с проводкой в коридоре.

"ИГРА - вид непродуктивной деятельности, мотив которой заключается не в ее результатах, а в самом процессе. В истории человеческого общества переплеталась с магией, культовым поведением и др. . Свойственна также высшим животным".

Советский энциклопедический словарь

Все, кто имеет дело с компьютером, так или иначе сталкивались с компьютерными играми, и подавляющее большинство может сходу назвать несколько игр, которые им особенно понравились. Те, кто уже совсем наигрался, почти наигрался или еше не наигрался, но в процессе общения с компьютером уже начал совмещать игры с чем-нибудь более полезным, возможно, хотели бы придумать какие-нибудь свои, не похожие ни на какие другие игры.

Многое захватывает в таком творчестве. И не сам процесс игры, а разработка игровой вселенной, ее проектирование и реализация. Когда можно слить воедино сценарий, графику, музыку, искусно задуманный и умело запрограммированный алгоритм — создать единый фантастический мир, живущий по законам, которые ты же для него и придумал.

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

Список использованных источников содержит полный перечень технической литературы, использованной для написания данной курсовой работы.


1. ПРОГРАММИРОВАНИЕ ИГР С ИСПОЛЬЗОВАНИЕМ ВИЗУАЛЬНЫХ КОМПОНЕНТОВ

1.1 Аналитический обзор

В последнее время продажи программного обеспечения увеличиваются незначительно, в то время как продажи игровых программ возрастают экспоненциально. Игры для платформы Windows составляют подавляющее большинство. Игровое программное обеспечение – это третья по размерам доходов отрасль индустрии программного обеспечения после текстовых процессоров и электронных таблиц.

До недавнего времени среда Windows использовалась в основном как платформа для создания игр, первоначально разработанных для Macintosh. Это осуществлялось на базе пакета QuickTime фирмы Apple. Примерами таких игр могут быть Mysl (Broderbund/Cyan), Wrath of the Gods (Maxis/Luminaria) и некоторые другие. В ряде случаев использовался пакет Video for Windows, позволяющий отображать оцифрованное видео. Затем появились библиотеки WinG и WinToon, на базе которых фирма Sierra создала игру King's Quest VII. Это были первые попытки использовать Windows как платформу для создания игровых программ. Преимущества такого подхода достаточно очевидны — единый интерфейс, наличие стандартных драйверов для большинства мультимедийных устройств и возможность управления ими стандартными способами. Затем появилась новая версия — Windows 95, в состав которой была включена библиотека WinG (как подсистема GDI), и перед разработчиками открылись более широкие возможности.

Указать точное число компьютерных игр очень трудно. Можно только примерно оценить число различных наименований игр, находящихся на рынке в любое время .

Классификация компьютерных игр может быть следующая:

1. Приключенческие игры. Игры могут быть великолепным средством рассказа истории. Эти игры представляют собой мультиплицированный рассказ, в котором можно видеть и контролировать основной персонаж (а иногда и более одного) в очень детальном повествовании. Это - компьютерные версии обычных повествований, начиная от душещипательных рассказов до технотриллеров, научно-фантастических приключений, фантазий и рассказов, до предела набитых разными обманами и мошенничествами.

Приключенческие игры развиваются вокруг различных загадок и препятствий, которые нужно преодолеть по мере развития рассказа.

3. Имитаторы воздушных и космических сражений. Это не военные игры, в которых может оказаться неограниченное число вооружений и врагов, эти игры пытаются быть точными имитаторами полетов и сражений на реальных боевых самолетах. Эти игры предназначены для тех, кто хочет летать на больших и очень мощных машинах. Кабины пилотов выглядят как настоящие, инструменты работают как в настоящем бою, оружие является имитацией реально существующего, а полетные характеристики самолета (и самолета врага) соответствуют действительным. Имитаторы космических сражений выдуманы, однако они разработаны с целью точно повторить реальные маневры в космосе.

4. Имитаторы наземных и морских сражений. Игры разработаны для военного оборудования и военных машин. Эта категория игр включает в себя симуляторы настоящих подводных лодок, кораблей и танков, и позволяет игрокам испытать реальные сценарии сражений, и выжить для того, чтобы понять, как использовать правильную тактику в следующей игре.

5. Самолеты, поезда и автомобили. В отличие от этих имитаторов, все прочие являются имитаторами военного типа или имеют очень сильный упор на сражение. Эти же игры не относятся к таким имитаторам. Конечно, можно проехать на автомобиле по береговой дороге в Калифорнии со скоростью, вдвое превышающей разрешенную, и потанцевать на всех четырех колесах. Но также можно использовать эти игры, чтобы научиться безопасно летать среди облаков, и получать удовольствие от свободы полета. Даже можно делать такие вещи, как постройка и управление собственной железной дорогой.

6. Спортивные имитаторы. Здесь необходимо обучать профессионалов и управлять ими. Эти игры - нечто большее, чем простое изображение бейсбольных игр в картинках, в некоторых из них можно даже контролировать реальное действие. Спортивные имитаторы дают возможность вести рискованную игру в нужное время, доказать, что можно выиграть с помощью быстроты, иметь в команде Генри Аарона и Теда Вильямса, или переиграть Томми Лазорду.

8. Настольные игры, солитер и салонные игры. Многие старые любимые игры появились в компьютерном варианте. Больше не нужно заниматься поисками партнера, чтобы поиграть в шахматы, бэкграммон и риск. Некоторые из этих игр даже научат мошенничать наедине с монитором, и при этом не придется возвращаться домой с пустым карманом после неудачной ночи.

10. Игры, в которых делаются деньги. Они копируют игровую деятельность и учат высшим формам азартных предприятий: фондовая биржа, торговля недвижимостью. Они также позволят попробовать управлять корпорацией. В эти игры можно играть для удовольствия, или использовать их для того, чтобы научиться карабкаться вверх по лестнице карьеры.

11. Стратегические и военные имитаторы. Здесь можно принимать участие в великих исторических событиях, взять на себя командование немецкой армией у Ленинграда или армией Наполеона у Ватерлоо. Это военные стратегии прошлого, настоящего или будущего.

12. Игры для детей. Если есть домашний компьютер, и чтобы дети научились его использовать, то эти игры достойны внимания. Реальность нашей культуры такова, что, как только малыши станут координированы настолько, чтобы правильно пользоваться клавиатурой или мышью, они хотят сразу приняться за такие игры, как Wing Commander, Populous или Eye of the Beholder. Однако же вокруг существует множество игр, в которые дети могут играть просто чтобы получить удовольствие, или же научиться чему-либо.

14. Игры Shareware. Будет ошибкой предположить, что все компьютерные игры приходят в красивых упаковках. Многие хорошие игры приходят вовсе без упаковок, и стоят от 10 до 30 долларов. Обычно можно их опробовать за очень низкую плату или вовсе бесплатно в течение нескольких дней и, если захочется получить легальную копию, следует послать по почте чек компании или лицу, которые создали игру.

Компьютерные игры — отнюдь не новое изобретение. Их история началась не с конца 1970 годов. Начало лежит гораздо раньше, тогда, когда Джон Кеннеди уже пробыл президентом Соединенных Штатов всего несколько месяцев .

На самом деле все началось с модели железной дороги. Студенты Технологического института в Массачусетсе были немало удивлены количеством способов, с помощью которых можно было разместить органы управления миниатюрной железной дорогой. Позднее, когда они наконец получили возможность работать на больших компьютерах института, их работа в бинарных вычислениях — ведь именно такие вычисления имитируются выключателями железной дороги — позволили им пройти хорошую подготовку в компьютерном деле. Стив Рассел был одним из членов Клуба Моделей Железных дорог Высокой Технологии в Технологическом институте. Будучи хорошим программистом, он летом 1961 года работал

Конечно, общество программистов и взломщиков программ не может удовлетвориться качеством любой программы, независимо от того, насколько она легка или интересна. Изменения были неизбежны. Один из друзей программиста, будучи недовольным случайным образом построенной картой звездного неба, которую Рассел первоначально поместил в игру, взял звездный атлас и ухитрился запрограммировать нашу собственную галактику, вплоть до звезд пятой величины. Другой добавил гравитацию в игру, а третий ввел возможность побега в гиперпространство, при этом, чтобы показать место, где корабль покинул звездную систему, на экране оставался след ускорения.

1.2 Описание операторов, используемых при реализации практической части курсовой работы

В практической части данной курсовой работы используются следующие операторы среды программирования Turbo Pascal.

Оператор if…then… называется условным оператором и имеет вид:

If expression1 then statement1;

Этот оператор является полной версией условного оператора и имеет вид:

If expression then statement1 else statement2;

Для ситуации, где имеется несколько (три или более) альтернатив, больше подходит оператор case. Этот оператор называется оператором выбора и имеет следующий вид:

case expression of

Рассмотрим элементы этой конструкции. Во-первых, это три зарезервированных слова: case, of и end. Между case и of находится выражение expression, принимающее значение, которое, возможно, имеется в одном из списков значений, находящихся слева от двоеточий. Данное выражение называется селектором оператора case. Каждый оператор, идущий за двоеточием, отделяется от следующего списка значений точкой запятой. Ветвь else, отвечающая всем не перечисленным значениям выражения expression, необязательна. При выполнении данного оператора вначале вычисляется значение селектора. Затем выбирается тот список значений, которому принадлежит полученное значение, и выполняется соответствующий оператор.

Оператор цикла while…do…

Оператор цикла является важнейшим оператором и имеется в большинстве современных языков программирования. Цикл позволяет много кратно выполнить некоторое множество действий, задаваемых операторами, составляющими его тело. В Паскале имеется несколько разновидностей оператора цикла. Начнем с оператора цикла с предусловием. Данный оператор имеет вид:

While expression do statement ;

Операторы цикла repeat…until…

Оператор цикла с постусловием имеет вид:

Repeat statement until expression:

Операторы цикла for…to…do… и for…downto…do…

Третий вариант оператора цикла – цикл со счетчиком. Можно считать, что есть две очень похожих друг на друга разновидности цикла со счетчиком. Первый из этих операторов имеет вид:

For j := expression1 to expression2 do statement;

Здесь переменная j, называемая управляющей переменной цикла for, является произвольным идентификатором, который объявляется как переменная любого скалярного типа (к скалярным относится целый, символьный, булев и перечислимые типы).

При выполнении оператора for сначала вычисляется значение выражения expression1, затем вычисляется значение выражения expression2, далее управляющая переменная цикла последовательно пробегает все значения от expression1 до expression2. В том случае, когда значение expression1 оказывается больше значения expression2, тело цикла не будет выполнятся вовсе.


2. РАЗРАБОТКА ПРОГРАММЫ

2.1 Постановка задачи

Раздел: Информатика, программирование
Количество знаков с пробелами: 33102
Количество таблиц: 12
Количество изображений: 1

Обложка: Scratch

IT-сфера давно стала неотъемлемой частью жизни не только взрослых, но и детей. С ранних лет они учатся разрабатывать самые простые программы и игры, а помогают им в этом специальные среды программирования.

Сегодня существует огромное количество сред, но наибольшей популярностью пользуется Scratch. Она разработана специально для детей и начинающих программистов. Среда Scratch отличается простотой и широким набором функций, которые помогают делать первые шаги в программировании.

Scratch знакомит детей с азами программирования. Кроме того, он развивает логическое мышление, учит решать сложные задачи и находить ответы на самые сложные вопросы.

Scratch — это онлайн-среда, то есть вам не нужно устанавливать на свой компьютер никакие программы и приложения. Достаточно открыть браузер, зайти на официальный сайт и зарегистрировать там личный кабинет. Здесь вы можете не только создавать, но и публиковать свои игры, чтобы в них могли сыграть и другие пользователи.

Главные особенности Scratch

Чем привлекает пользователей платформа? Во-первых, это интуитивно понятный интерфейс. Даже неопытный пользователь сможет освоить её в самые сжатые сроки.

Во-вторых, красочный дизайн. Он вдохновляет самых юных программистов создавать свои проекты и настраивает на рабочий лад.

В-третьих, это возможность делиться игрой и получать комментарии от других пользователей. Это мотивирует искать новые идеи и работать дальше, даже если возникают какие-либо трудности.

Вовлекать детей в программирование лучше всего через игры. Такой подход делает процесс обучения более интересным и мотивирующим. Несмотря на свою кажущуюся простоту, онлайн-платформа Scratch позволяет создавать игры практически любых жанров: шутеры, стратегии, симуляторы и многие другие.

Также Scratch​ позволяет создавать клоны популярных игр. Мы заново спроектировали часть игры Among Us и подготовили для вас подробную инструкцию по её созданию. Также мы подготовили полный видеоурок, в котором рассказали обо всех особенностях разработки игры (видео вы найдете в конце статьи).

Добавление материалов

На первом этапе разработки игры необходимо подготовить материалы: в основном это спрайты (картинки). Нам понадобятся изображения главного героя, а также фоновые заставки:

  • карта (по ней наш герой будет перемещаться);
  • запись, которая сигнализирует о запуске игры;
  • фон здания.

Вы можете скачать наши материалы или нарисовать самостоятельно в графическом редакторе на самой платформе.

Мы запрограммируем изменение фонов и игровых карт, движения персонажа и выполнение одного задания — командиру необходимо починить проводку.

Также мы изменим размер героя, чтобы он был пропорционален карте (25). Каждому фону дается свое название — так вы сможете легко ориентироваться между ними.


После всех этих операций мы приступаем непосредственно к самому программированию.

Заставка


Карта



После всех манипуляций наш герой может перемещаться по карте. Однако она пока не чувствует стены. То есть, если на пути героя встречается преграда, он проходит сквозь неё. Чтобы устранить это, к каждой клавише нужно добавить следующую команду: при столкновении с чёрным цветом главный герой будет изменять координаты на противоположное значение.



На завершающем этапе необходимо сделать так, чтобы игровая карта сменялась на фон с заданием. Для этого необходимо добавить ещё один код: когда мы будем получать задание, то карта будет прятаться. Таким образом у вас не возникнет никаких проблем с игровой картой.


Член экипажа




Очень важно, чтобы, когда персонаж закончит выполнять задание и вернётся обратно на карту, он не продолжал стоять на жёлтом кружке. Поэтому необходимо прописать, что после возвращения наш герой переместился по оси y на 15 шагов. Зацикливаем эти действия, чтобы они всегда повторялись.


Задание с проводами

Перейдём на фон задания. В графическом редакторе Scratch необходимо нарисовать спрайты (цветные прямоугольники). Из этих прямоугольников и будут торчать провода.


Иллюстрация: Scratch

Иллюстрация: Scratch

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

Иллюстрация: Scratch

Иллюстрация: Scratch

Создаём код. При нажатии на указатель мыши перо будет меняться: оно будет менять свой цвет на жёлтый, опускаться и менять размер на 15.

Иллюстрация: Scratch

Когда вы будете касаться второго спрайта, то есть второго конца провода, то вам будет начисляться 1 очко. После того как провод будет соединён, перо останавливается. Обратите внимание, что весь скрипт пера зациклен.

Иллюстрация: Scratch

Продублируйте спрайты начала и конца провода и измените цвет на красный, синий и фиолетовый. Они нужны нам для других проводов. Немного измените скрипт, чтобы правильно указать координаты и названия всех спрайтов.

Сыграть в наш Among Us, посмотреть код и другие важные моменты можно на официальном сайте Scratch.

Если же вы хотите получше изучить Скретч и создать несколько новых игр, то посмотрите другие уроки на нашем канале YouTube. Попробуйте создать игры по мотивам Minecraft или Brawl

Рассказываем, как вашему ребенку сделать первый шаг в изучении востребованной профессии и создать простую компьютерную игру на Scratch.

😺 Обучение детей программированию с помощью Scratch

Scratch – одна из лучших платформ для обучения юных программистов в возрасте 8+ через блочное кодирование. Она невероятно универсальна: блоки Scratch можно использовать для чего угодно, от создания анимации до составления интерактивных историй. Платформа поддерживает пользовательский ввод данных и дает ребенку практически неограниченный контроль над кодом. Опишем пошаговый рецепт создания в Scratch несложной видеоигры.

Шаг 1. План

Интерактивные игры должны удовлетворять двум требованиям:

  • Игрок должен что-то контролировать.
  • У игрока должна быть цель, которой нужно достичь.

Чтобы начать разработку игры, необходимо все спланировать. Составление плана – это первый и самый важный шаг. Он кажется тривиальным, однако план задает направления развития проекта. Чтобы его придумать, нужно последовательно пройти три этапа:

  1. Выбрать тему.
  2. Описать схему взаимодействия между персонажами и предметами.
  3. Описать цель, которой игрок должен достичь.

Как только вы разберетесь с тремя базовыми вещами, игра будет развиваться простым и естественным образом.

Шаг 2: Основная механика

Теперь, необходимо подумать, как реализовать главную идею проекта. Давайте попробуем создать простую игру-собиралку.

Тема: игра будет про русалок, а действие будет происходить под водой.

Управление: игрок будет управлять движением персонажа.

Цель: перемещая персонажа, собрать как можно больше предметов.

😺 Обучение детей программированию с помощью Scratch

Шаг 3: Оформление

Один из важнейших аспектов игры – ее внешний вид. Визуальная тема – это комбинация окружения и персонажей. В проектах Scratch персонажи и объекты представлены спрайтами. Они представляют собой изображения и появляются в основной области, где происходит ваша игра (в правом верхнем углу, называемой сценой).

😺 Обучение детей программированию с помощью Scratch

Теперь выберите своего главного героя из готового списка. Вы можете нарисовать новые спрайты самостоятельно во вкладке костюмов или в редакторе красок, а также загрузить свое фото если хотите.

Для этой игры мы выберем спрайт русалки из категории фэнтези.

😺 Обучение детей программированию с помощью Scratch

После выбора вы должны увидеть героя в центре сцены. Кот тоже там будет, но его можно удалить из игры, щелкнув правой кнопкой мыши по значоку корзины на его спрайте.

Когда мы создали новый спрайт, пришло время добавить в проект немного динамики.

Чтобы русалка могла двигаться, используем соответствующие блоки Scratch для создания простого скрипта. Самый легкий способ сделать спрайтовое движение – использовать Event Listeners (Слушателей событий).

😺 Обучение детей программированию с помощью Scratch

Этот блок кода заставляет спрайт двигаться вправо-влево и говорит нам:

Код состоит из желтого блока слушателя событий, за которым следуют два синих блока движения. Блоки движения перемещают спрайт, в то время как блок слушателей событий говорит ему – когда двигаться.

Это работает в любом направлении. Когда мы можем двигать русалку в стороны, давайте создадим больше скриптов, чтобы перемещать ее вверх и вниз.

😺 Обучение детей программированию с помощью Scratch

😺 Обучение детей программированию с помощью Scratch

Теперь у нас есть скрипты для перемещения во всех четырех направлениях.

Цифры в блоках – это градусы поворота. Каждое значение представляет одно из основных направлений (вправо/влево/вверх/вниз). Они указывают спрайту, в какую сторону двигаться. Теперь вам даже не нужно нажимать зеленый флаг – просто нажимайте клавиши со стрелками, и картинка оживет.

Теперь игрок может управлять спрайтом.

Перед добавлением цели давайте сначала укрепим тему, добавив фон. Хотя фоны не являются обязательными для прохождения игры, они, безусловно, добавляют атмосферность и характер в визуальное восприятие продукта.

Выбор забавного фона помогает передать тему игры и делает ее более увлекательной.

😺 Обучение детей программированию с помощью Scratch

Вы также можете нарисовать свои собственные фоны или загрузить любую картинку с компьютера. Чтобы попробовать этот вариант, нажмите соответствующие кнопки в раскрывающемся меню.

Независимо от того, какой вариант вы выберете, постарайтесь согласовать персонаж с фоном.

😺 Обучение детей программированию с помощью Scratch

Шаг 4. Добавляем цель

Теперь давайте добавим в игру цель. Для этого создадим новый спрайт, который будет взаимодействовать с главным героем.

😺 Обучение детей программированию с помощью Scratch

Поскольку в библиотеке Scratch нет жемчужин, сделаем их сами в редакторе спрайтов. Также можно нарисовать новый спрайт или использовать картинку с вашего компьютера.

Когда изображения подготовлены, переходим к динамике. В нашей игре русалка будет собирать жемчуг, и каждый раз после очередной находки необходимо, чтобы новая жемчужина появлялась в случайном месте.

Это легко сделать с помощью блока go to random position.

😺 Обучение детей программированию с помощью Scratch

Хотя здесь всего несколько блоков кода, их может оказаться непросто понять. Давайте шаг за шагом разберем этот код:

  1. Вы нажимаете зеленый флаг – игра начинается.
  2. После нажатия жемчужина проверяет, не коснулась (touching) ли ее русалка.
  3. Если это так, то жемчужина переходит на случайную позицию (random position).
  4. Шаги 2 и 3 будут повторяться бесконечно (forever).

Forever – цикл, повторно запускающий любой помещенный в него код, пока игра не остановится. Он гарантирует, что всякий раз, когда русалка касается жемчужины, та отреагирует. Без цикла жемчужина проверила бы это условие только один раз в начале игры.

Все! Теперь игра готова и неплохо работает, но все же чего-то не хватает.

Шаг 5. Дополнительные расширения

Когда у вас есть управляемый персонаж и рабочая цель, проект отвечает всем основным требованиям, но его можно улучшить.

Попробуйте подключить дополнительные функции:

  1. Счет (количество собранных предметов).
  2. Таймер (количество оставшегося у игрока на сбор жемчужин времени).
  3. Жизни (количество попыток, чтобы набить побольше очков).

Еще вы можете добавить несколько жемчужин на поле, использовать звуковые блоки Scratch для всевозможных шумов, а также включить анимацию для перемещения.

Единственное ограничение для такого рода расширений – ваше воображение!

Используя эту платформу, дети научатся мыслить творчески и рассуждать систематически, а их родители проведут время с пользой. Надеемся, вам понравилось это пошаговое руководство по созданию базовой игры на Scratch!

Посетите сообщество Scratch, чтобы продемонстрировать проект другим энтузиастам или изучить огромную коллекцию созданных ими видеоигр. Удачи!

Читайте также: