Разработка игр под NES на C. Главы 17-21. Своя игра
5 мин
Туториал
Перевод
В этой части соберем все вместе и сделаем простую скроллерную стрелялку на космическую тему: корабль летит и лазерами отстреливает врагов

Извращения с кодом
В этой части соберем все вместе и сделаем простую скроллерную стрелялку на космическую тему: корабль летит и лазерами отстреливает врагов
Пора отвлечься от рабочих задач и попрограммировать что-нибудь необычное.
3 марта, в субботу, с 12:00 до 16:00 будем вместе писать ботов для игры.
В ночь на 3 марта на платформе CodinGame.com стартует 10-дневное соревнование по созданию ботов для мультиплеерной игры. Какой именно игры — пока секрет, узнаем после начала соревнования. Пока известно только название — Botters of the galaxy — и тематика оформления:

Похоже, Звёздный Лорд пользуется Linux.

Достопочтенное Ретро! Благо ты или зло?
Вздохом какого ветра к нам тебя занесло?
© Роберт Рождественский


Сегодня я завершаю цикл статей, рассказывающих о возможностях языка ZRF, используемого для разработки игр в Zillions of Games. Поскольку я намеренно двигался от простого к сложному, логично предположить, что сегодняшняя игра (в плане реализации) будет сложнее всех предыдущих. Это действительно так. Дело в том, что ZRF ни в коем случае нельзя отнести к универсальным языкам программирования. Он предназначен для описания игр похожих на Шахматы. Чем более «шахматоподобна» игра, тем более очевидно её описание (если, конечно, не обращать внимание на описание правил таких хитрых ходов как рокировка или взятие на проходе). Описание такой игры может быть довольно большим по объему (в этом случае может помочь PreZRF, о котором я писал ранее), но довольно тривиальным по содержанию.mci 'set cdaudio door open'
mci 'play C:\\temp\\Kalimba.mp3'
mci 'status C:\\temp\\Kalimba.mp3 mode'
mci 'open new type waveaudio alias RecWavFile'
mci 'set RecWavFile bitspersample 16 samplespersec 44100 channels 2'
mci 'record RecWavFile'
mci 'stop RecWavFile'
mci 'save RecWavFile C:\\temp\\RecWavFile.wav'
mci 'close RecWavFile'
mci 'play C:\\temp\\RecWavFile.wav wait'
mci 'play http://some-radio-server.com:80/some-radio-channel.mp3'
void fn(VectorWrapper<int> x)
{
for (size_t i = 0; i < x.size(); ++i)
{
doSomething(x[i]);
}
}
::std::vector<int> sv;
QList<int> qv;
OtherSuperVector<int> ov;
fn(sv);
fn(qv);
fn(ov);