картинка игра волк ловит яйца
Электронная игра Ну погоди в Scratch
Советская игра где волк ловит яйца отлично подойдет для начинающего программиста Scratch. Достаточно легкий программный код и уже подготовленная графика (скачать можно в конце статьи) позволит ребенку от 6 до 9 лет за один за одно занятие по программированию написать базу игры. На втором уроке можно будет заняться украшением написанной игрушки. И так поехали …
Программируем игру где волк ловит яйца в scratch
Для написания игры нам понадобится два спрайта (персонажа): волк и яйцо и сцена для заднего фона. Загружаем фон и сразу же добавляем два спрайта. Далее заходим в персонажа волк и загружаем 4 костюма. Для яйца так же придется загрузить один костюм. Вот собственно и вся графика — согласитесь не сложно!
После добавления графики в среду программирования Scratch для персонажа Волк из игры Ну погоди придется на краешки корзины нарисовать фиолетовый кружочек. За счет соприкосновения спрайта с другим цветом в дальнейшем мы будем вести подсчет очков и настраивать взаимодействие персонажей в игре. Вот как должно получиться:
Программный код для персонажей игры Ну погоди в Скрейч
Программируем спрайта: ВОЛК.
Начинаем настройку движения волка путем смены костюма при нажатии на запрограммированные клавиши управления. Я выбрал латинские буквы: Z — костюм внизу и слева; A — костюм вверху и слева; M — костюм внизу и справа; K — костюм вверху и справа. Код scratch будет выглядеть следующим образом:
Так же размещаем волка в центре экрана и задаем ему первым костюмом в начале игры: слева — внизу:
Проверяем работу программного кода для спрайта Волк. Если все нормально, то переходим к программированию движения яиц.
Программируем спрайта: Яйца
С яйцам все немного сложнее, но от того интереснее! первым делом нужно сделать так, чтобы наши яйца появлялись случайным образом из 4 различных мест и плавно двигались до точки попадания в корзину Волка или падения вниз. Для этого нам понадобится переместить спрайт яйцо в первую позицию — рядом с правой верхней курицей и написать следующий код:
Данный код представлен для правой части фона. Для левой части подумай, как изменить значения самостоятельно! Если не получится, то в конце материала будет полный код программы.
Данный кусок кода подходит для верхнего правого положения яйца. Для остальных положений додумай программный код самостоятельно!
Теперь возвращаемся в спрайт волка. Если удалось написать код для четырех положений появления яиц в игре Ну погоди, то все отлично! Большей спрайт яйца не пригодится. Следующий код можно разместить внутри любого из спрайтов или даже в фоне. Он будет обрабатывать начальное положение персонажей игры и значения переменных. Перед стартом зададим количество жизней равное 3, а значение пойманных яиц обнулим. Поставим волка на исходную позицию. И напишем код для еще одного условия игры: если жизней стало 0, то сказать — Проиграл …, если яиц поймано 20, то сказать — Победа!
Материалы для скачивания графики и кода игры Ну погоди
Чтобы немного облегчить задачу ученикам и педагогам предлагаю скачать спрайты и фон целиком, а в Скретч все это взять и загрузить. Сделать загрузку можно выбрав соответствующий пункт в меню фона и спрайта:
Домашним заданием будет немного украсить игру, для этого скачайте остальную графику электронной игры Ну погоди! и постарайтесь довершить начатое. Экспортированные персонажи сжаты в ZIP-архив, понадобиться разархивировать и только потом загрузить в формате *.sprite3 в среду разработки Scratch. Для этого урока графика есть в полном объеме, а так же материалы для улучшения игры. Немного попозже я выложу видео урок по программированию Ну погоди. А после Новогодних праздников появится первый полный цикл по изучению Scratch!
Готовая игра Ну погоди!
Для ЗАПУСКА игры нажмите на ЗЕЛЕНЫЙ ФЛАЖОК, а потом на ПРОБЕЛ, управление происходит с помощью кнопок назад, вперед, вверх и вниз на клавиатуре компьютера.
Игра «Ну, погоди!» на Arduino
Наверняка многим из вас известна популярная советская электронная игра «Электроника ИМ-02» производимая с 1984 года, в которой волк из мультфильма «Ну, погоди!» ловит яйца в корзину. Так вот, наткнулся я на статью, в которой описан процесс создания такой игры на Arduino и решил повторить проект со своими изменениями. Что у меня получилось, смотрите ниже.
Несколько слов об игре: яйца скатываются поочерёдно с четырех сторон, игрок, управляя волком, должен ловить яйца в корзину, располагая её напротив скатываемых яиц. За каждое пойманное яйцо игроку начисляется одно очко, за каждое разбитое — начисляется штрафное очко. При наборе трёх штрафных очков игра завершается. Игра имеет четыре уровня сложности, которые зависят от кол-ва пойманных яиц, чем больше поймали — тем быстрее яйца начинают скатываться.
Мои изменения: управление волком переделал на кнопки; добавил звуки; добавил штрафные очки; добавил ведение рекорда с записью в EEPROM и добавил небольшую анимацию при завершении игры, если было набрано необходимое кол-во очков.
Arduino Nano
OLED дисплей 128х64
Кнопка без фиксации — 4 шт.
Пассивный зуммер
Макетная плата
Провода
Несколько моментов в скетче:
Картинка игра волк ловит яйца
На экране — волк из «Ну, погоди!», по бокам от него — схематически изображённые насесты с курочками, от которых по желобкам скатываются яйца. Цель игрока — управлять волком, который обязан поймать в лукошко каждое яйцо, чтобы ни одно не разбилось. Суть очень проста, а принцип примитивен (вовремя нажимать кнопки влево, вправо, вверх, вниз).
Но из-за того, что скорость движения яиц по желобкам постоянно растёт, а количество их постепенно увеличивается, играть от уровня к уровню становится всё сложнее. Эта игра требует хорошей реакции и концентрации, хотя начальные уровни легко может освоить даже маленький ребёнок.
Разумеется, такая забава пришлась по душе советским детям и взрослым. Однако, мало кто из них мог узнать тогда, что знаменитая отечественная «Электроника» — это копия японской игры «Game & Watch» от японской компании «Nintendo».
Эта серия портативных игровых устройств выпускалась Nintendo в период с 1980 по 1991 год. Её разработкой занимался Gunpei Yokoi.
Лирическое отступление
Мой знакомый, увидев старую добрую игру «Ну, погоди!» (электроника им-02) в интернете начал ностальгировать по тем временам и решил ее купить. Но шло время, а маленькая мечта оставалась мечтой.
Тут мне в руки попал «наглухо» умерший телефон Samsung GT-S5230. Данный телефон имеет TFT дисплей 3.0′ размером 400х240 пикселей, 8-ми битной шиной и шлейфом “шириной” 31 пин.
Дисплей оказался жив и мне пришла идея накидать программку для микроконтроллера (далее МК) а-ля «эхо 80-х – волк ловит яйца».
Как вы уже догадались речь пойдет о разработке собрата игры «Ну, погоди!» и никакой пользы человечеству не несет кроме «фо фан».
Электроника им-02 «Ну, погоди!» начала выпускаться в 1984 г. (по началу не имела порядкового номера 02) и являлась точной копией Nintendo “ Game&watch EG-26 EGG” 1981 года (Только там волк со шляпой). «Начинкой» игры являлись: пьезокерамический звонок ЗП, часовой кварц, однокристальная 4-х разрядная ЭВМ КБ1013ВК1-2, дисплей ИЖМ2-71 и немного «рассыпухи». Однокристальная ЭВМ КБ1013ВК1-2 представляет собой законченное устройство с контроллером жидкокристаллических дисплеев, центральным процессором и т.д.. Программа для него была написана на ассемблере длинной около 2000 строк. Контроллер не особо был трудягой, т к дисплей ИЖМ2-71 представлял из себя жидкокристаллический мнемонический индикатор (с уже нанесенным рисунком) работающим при освещении. Т. е. прорисовки каждого пикселя от него не требовалось. Да и частота в 32кГц не способствовала этому (часы важнее:)).
Поехали.
В нашей схеме используется PIC18F2455 производительностью 12 MIPS.
Чтобы «прорисовать» картинку 400х240 пикселей с глубиной цвета 16 бит (к слову сказать дисплей от S5230 на пару сантиметров по более дисплея ИЖМ2-71), требуется объем памяти 192000 байт, что для нашего МК непозволительная роскошь, а усложнять устройство добавлением внешней памяти нам не нужно. PIC18F2455 имеет 24 кБ памяти программ и 2 кБ данных. Для того, чтоб вся картинка поместилась в память МК – она была разбита на блоки. Блок представляет собой массив, где каждый пиксель описан не двумя байтами цвета, а одним битом. Массив ссылается на свою палитру цветности (2 цвета.) Чтоб прорисовка динамических объектов была менее заметна глазу, в особенности больших объектов типа волка, создана функция вывода с «зацикливанием» байта (не бита).
Код этой части программы получился более объемный, чем с побитным «зацикливанием», но и «выигрыш» в скорости прорисовки получается около десяток тактов МК на каждый цикл, коих несколько тысяч. Данный код можно было организовать ассемблерной вставкой, но дизасм показывает нам четкое выполнение команд без лишней шелухи за исключением NOP:
Как отмечалось ранее – картинка разбита на блоки, в том числе и динамические объекты на ней. Так волк, оставаясь на месте, меняя только положение корзины, прорисовывается только частично. Так же из-за специфики алгоритма корзина тоже разделена на части.
Так же для вывода изображения используются функции:
для рисования линий, основанной на алгоритме Брезенхема и:
для вывода массивов с двухбайтными значениями.
Выбор лотка, на котором появится очередное яйцо осуществляется генератором псевдослучайных чисел:
запись «%3» ограничивает случайное число максимальным значением 2. Т. е. результат операции – это остаток от деления на 3, а как известно из математики остаток не может быть больше делителя или равен ему. Таким образом, можно получить значения 0,1,2, что соответствует порядковому номеру лотка. Если лоток №0 (левый нижний, далее по «часовой стрелке») в данный момент не может быть задействован (что видно при старте оригинальной игры), то он автоматически заменяется на лоток №3 (правый нижний).
В оригинальной игре кол-во яиц одновременно находящихся на экране не превышает 5 шт. Для хранения информации о яйцах на экране создан массив размером 5х2. (Data_b[5][2]). Каждая строчка массива содержит номер лотка (0,1,2 или 3), по которому катится яйцо и позиция самого яйца до попадания в корзину (от курицы до корзины 5 позиций). Каждое вновь появившееся яйцо записывается в предыдущую свободную ячейку массива (т. к. в очереди оно будет последним). Указатель на массив позволяет отслеживать очередность движения каждого яйца. Исключение составляет случай, когда на одном лотке несколько яиц: они, если обратить внимание на оригинал игры, двигаются синхронно.
В итоге весь код занял практически всю память программ, хотя при желании можно еще «ужать»
Биты конфигурации МК так же прописаны программно.
Звук с RC2/CCP1 выводится на старый добрый звонок пьезокерамический (ЗП-3) примененный все в той же серии игр «электроника». ШИМ – режим формирования звука позволяет освободить дополнительное время МК для выполнения других задач, но не так гибок в подборе «звукового оформления».
Информация на дисплей, как уже отмечалось, выводится по 8-ми битной шине. При инициализации применен альбомный режим.
Ниже приведена электрическая схема девайса:
При 3В устройство потребляет около 70мА. Львиную долю конечно «съедает» дисплей, т. к. дисплеи от сотовых очень прожорливы.
Волк ловит яйца корзинкой, а дальше что? Как заканчивались популярные у советских детей игры «Ну, погоди!» и «Супермарио»? Ответ на вопрос, который мучил вас всю взрослую жизнь
Игра «Ну, погоди!» появилась в 1984 году, и тогда торговая марка «Электроника» взорвала всем советским детям мозги — до того необычной была эта игрушка! Первая портативная игра с жидкокристаллическим экраном — это где такое видано-то? Ну ладно, ностальгия ностальгией, но у нас важный вопрос: вы помните, чем эта игра заканчивалась? То-то же! Сейчас расскажем.
Кто придумал?
Вообще-то, американцы. Ведь «Ну, погоди!» являлось почти точной копией Nintendo EG-26 Egg из серии Nintendo Game & Watch 1981 года. Волк со шляпой из оригинальной игры был заменён Волком из мультфильма «Ну, погоди!» с корзиной. Петух, выглядывающий из домика, — Зайцем.
Что нужно было делать?
На насестах сидят четыре курицы, которые без остановки несут яйца, скатывающиеся по четырем лоткам. Волк должен их поймать — его можно передвигать по четырем положениям напротив каждого лотка. Цель — наловить как можно больше яиц, ведь за каждое пойманное игроку прибавляется по одному очку. Сначала они катятся медленно, потом всё быстрее. В случае, если яйцо разобьется, игроку прибавляется штрафное очко, обозначаемое цыплёнком. Если падение произошло в присутствии высунувшегося из окна домика Зайца, игроку добавляется половина штрафного очка, изображение цыплёнка при этом мигает. При наборе в корзину 200 и 500 яиц штрафные очки аннулировались.
Сколько стоила?
По тем временам, очень дорого. Розничная цена составляла 25 рублей (позднее — 23 рубля).
Так чем же всё-таки игра заканчивалась?
Среди детей ходил миф, что при достижении 1000 очков игра показывает мультфильм «Ну, погоди!», но это не так — технически это было бы невозможно. На самом деле, с каждым рекордом — по достижении 999 очков — счет в игре обнулялся, но темп становился энергичнее. Игра имела две степени сложности, которые можно было регулировать кнопками «Игра А» и «Игра Б», расположенными в правом верхнем углу игры. Игра А означала, что яйца начинают катиться только по трём лоткам одновременно, в Игре Б — по всем четырём. Неиспользуемый лоток в Игре А зависел от количества штрафных очков: при 0 очков не используется нижний левый лоток, при 0,5 и 1 штрафном очке — нижний правый лоток, при 1,5 и 2 штрафных очках — верхний левый лоток, а при 2,5 штрафных очках — верхний правый лоток. Всё серьезно!
И еще секретик
Оказывается. игра также выполняла функцию настольных часов с будильником. Когда будильник подавал звуковые сигналы, на экране из окна домика высовывался Заяц из «Ну, погоди!» и звонил в колокольчик. На задней стороне игры была также расположена складывающаяся металлическая ножка, позволявшая ставить игру на стол по аналогии с фоторамкой.
А это видео для тех, кто мечтал пройти до конца игру «Супермарио», но так и застрял в туре 8-1. Вот как все закончилось, сейчас у вас дрогнет сердце!
Под копирку
В других версиях игры (и американской, и советской) Волка сменяли Микки-Маус, «Веселый повар», осьминог. «Электроника» практически под копирку «слизывала» все гаджеты западных коллег.