Игра «Ну, погоди!» на Arduino

Наверняка многим из вас известна популярная советская электронная игра «Электроника ИМ-02» производимая с 1984 года, в которой волк из мультфильма «Ну, погоди!» ловит яйца в корзину. Так вот, наткнулся я на статью, в которой описан процесс создания такой игры на Arduino и решил повторить проект со своими изменениями. Что у меня получилось, смотрите ниже.

_ymwjmb0c-b4na9mgrp53groc8c.jpeg
Несколько слов об игре: яйца скатываются поочерёдно с четырех сторон, игрок, управляя волком, должен ловить яйца в корзину, располагая её напротив скатываемых яиц. За каждое пойманное яйцо игроку начисляется одно очко, за каждое разбитое — начисляется штрафное очко. При наборе трёх штрафных очков игра завершается. Игра имеет четыре уровня сложности, которые зависят от кол-ва пойманных яиц, чем больше поймали — тем быстрее яйца начинают скатываться.

oxhogdv2fwjo2ybsuifp9sgbku8.jpeg

Мои изменения: управление волком переделал на кнопки; добавил звуки; добавил штрафные очки; добавил ведение рекорда с записью в EEPROM и добавил небольшую анимацию при завершении игры, если было набрано необходимое кол-во очков.

Необходимые детали:

Arduino Nano
OLED дисплей 128×64
Кнопка без фиксации — 4 шт.
Пассивный зуммер
Макетная плата
Провода


Схема подключения
e4d4imjvqk2uthzz_jbaon1oeh8.jpeg


Несколько моментов в скетче:

  1. Уровни сложности в зависимости от кол-ва пойманных яиц — строки 304–307
  2. Кол-во разбившихся яиц для завершения игры — строка 320
  3. Кол-во пойманных яиц для показа анимации — строка 547


Ссылка на скетч и библиотеки

© Habrahabr.ru