Визуальная электроника

Frogger (яп. フロッガー Фроггeр:) — видеоигра жанра аркада-головоломка, разработанная компанией Konamiи выпущенная компаниями Sega и Gremlin Industries для аркадных автоматов в июне 1981 года в Японии и в октябре того же года в Европе[1][2]. Игра стала очень популярной и продолжает переиздаваться для многих игровых систем и компьютеров[3]. Frogger является римейком классической одноименной игры с аркадных автоматов. Мы с удовольствием взялись за портирование этой замечательной игры на нашу плату VE-EP4CE10E. То что из этого вышло, можно прочитать дальше:

 Геймплей

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

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

Игроку отведено непосредственное управление лягушкой, перемещение её при помощи четырёх клавиш по игровому полю (вперёд-назад, влево-вправо).

Лягушка погибает, если заканчивается отведённое на каждый этап время, а также при столкновении с машиной, крокодилом, выдрой, пауком или змеёй, при падении в воду, при прыжке мимо финишной ячейки или если бревно либо черепаха, на которой сидит лягушка, уплывает за пределы экрана. Конца у игры нет, после каждого этапа начинается новый, более сложный. Итоговой целью игры можно назвать достижение наибольшего количества баллов. Наивысшим официально зарегистрированным результатом на настоящий момент считается 896980 баллов. Рекорд поставил американец Пэт Лафайе (англ. Pat Laffaye) 1 января 2010 года[4].

Исходный проект находится на Github. Для переноса на нашу плату достаточно переопределить пины для модуля верхнего уровня:

Verilog Code:
  1. module frogger_top
  2. (
  3. input wire clk, reset,
  4. input wire ps2c,ps2d,
  5. output wire hsync, vsync,
  6. output wire [2:0] rgb,
  7. //FOR DEGB
  8. output wire [3:0]motion_cmd
  9. );

А также создать модуль синтезатора частоты, с необходимой частотой:

Verilog Code:
  1. //PLL
  2. up_freq pll1(
  3. .inclk0 (clk_in),
  4. .c0 (clk),
  5. .c1 (),
  6. .c2 (),
  7. .c3 ()
  8. );

Хотя понизить частоту с 50 МГц до 25 МГц можно было банальным триггером. Управление лягушонком производится клавишами w,a,s,d с клавиатуры, подключенной к порту ps/2.

Ну и по традиции видео и исходники:

Проект игры Frogger: frogger.zip

Добавить комментарий