Помнится, в начальной школе и 5-6 классах уроки информатики проходили у нас на компьютерах Yamaha КУВТ-2 (платформа MSX2). Примерно с 5 класса мы начали программировать на встроенном в ROM Basic'е, а до этого (в началке) исключительно играли в различные игры и рисовали (программа для рисования "Художник", вроде бы, называлась... Или что-то в этом роде). Так вот, одной из лучших игр, в которую я играл на КУВТе-2, была "Косилка". Смысл игры заключался в том, чтобы скосить всю траву на карте, причём по уже скошенной траве проехать нельзя. Кроме того, на карте был расположен ряд "мешающих" объектов, которые надо "объезжать".
У вас может возникнуть вполне логичный вопрос: к чему это я всё это рассказываю?
Дело в том, что после традиционного "хеллоуворлда" я решил заняться написанием какой-нибудь простой, но вполне "функциональной" (из скомпилированного хеллоуворлда конечный пользователь пользы извлечёт мало ) программы для Колибри. Этой программкой стала несложная, но, ИМХО, увлекательная игра. Как вы уже догадались, это попытка реализовать подобие той самой "Косилки" из далёкого прошлого. Однако, поскольку оригинала под рукой не было, всё писалось "по памяти", и в точности не соответствует оригиналу. Но, по крайней мере, суть одна и та же.
Итак, вот она, попытка реализовать "Косилку" для Колибри: Косилка для Колибри ОС. Версия 0.01.
Это ОЧЕНЬ ранняя версия. Скажем так, pre-Alpha. Она содержит только 2 уровня, графика крайне условна (по сути, всё состоит из прямоугольников). Однако, суть игры можно "прочувствовать" уже сейчас . Кстати, 2-й уровень пройти не так-то просто ...
Что касается технических деталей, игра пишется на C++. Используется MS Visual C++ 6.0, PE-шник "пропускается" через pe2kos.
P.S. Огромное спасибо diamond'у за статью про использование ЯВУ для написания программ для колибри.
Игра "Косилка"
Dron2004
Насколько я помню, оригинальная Косилка является динамической игрой, хотя пошаговая тоже интересна.
В динамической Косилке за игру начислялась очки: срезал кубик +100, проехал по земле -50, врезался в камень -200 и т. д.
Насчет кода вывода – он неоптимален, перерисовывать все поле при каждом шаге не надо. Нужно перерисовывать только ту область, которая изменилась, причем выводить информацию поверх, не проводя никаких процедур очистки, чтобы не мелькало. Окно вообще нужно перерисовывать лишь при поступлении события перерисовки.
Удачи.
Насколько я помню, оригинальная Косилка является динамической игрой, хотя пошаговая тоже интересна.
В динамической Косилке за игру начислялась очки: срезал кубик +100, проехал по земле -50, врезался в камень -200 и т. д.
Насчет кода вывода – он неоптимален, перерисовывать все поле при каждом шаге не надо. Нужно перерисовывать только ту область, которая изменилась, причем выводить информацию поверх, не проводя никаких процедур очистки, чтобы не мелькало. Окно вообще нужно перерисовывать лишь при поступлении события перерисовки.
Удачи.
Приветствую.
Нет, та, в которую я играл на Ямахе, была именно пошаговой. Но поле было поменьше. Очков, насколько я помню, там не было вообще. Но, в принипе, ничто не мешает ввести понятие "очков" в Косилке для Колибри. Надо над этим подумать.Насколько я помню, оригинальная Косилка является динамической игрой, хотя пошаговая тоже интересна.
В динамической Косилке за игру начислялась очки: срезал кубик +100, проехал по земле -50, врезался в камень -200 и т. д.
Большое спасибо за совет. Я как раз думал как сделать так, чтоб окно не мелькало. Будем работать .Насчет кода вывода – он неоптимален, перерисовывать все поле при каждом шаге не надо. Нужно перерисовывать только ту область, которая изменилась, причем выводить информацию поверх, не проводя никаких процедур очистки, чтобы не мелькало. Окно вообще нужно перерисовывать лишь при поступлении события перерисовки.
Спасибо! Надеюсь, мне удастся довести написание этой игры до конца.Удачи.
Обновление. Скачиваем здесь: Косилка для Колибри. Версия 0.02 (32 Кб).
Изменения в версии 0.02:
- Исправлен жутчайший баг, из-за которого получаемая карта являлась зеркальным отражением задуманной
- Появилась полноценная графика. Можно переключаться между высококачественной графикой и стандартной графикой (прямоугольниками; такая графика была в версии 0.01). По умолчанию режим высококачественной графики включен
- Усовершенствован код вывода графики: теперь в процессе игры окно не мерцает
- Добавлен новый объект - деревья. По сути дела это тот же камень, только выглядит по-другому
- Теперь справа от игрового поля выводится версия игры
Изменения в версии 0.02:
- Исправлен жутчайший баг, из-за которого получаемая карта являлась зеркальным отражением задуманной
- Появилась полноценная графика. Можно переключаться между высококачественной графикой и стандартной графикой (прямоугольниками; такая графика была в версии 0.01). По умолчанию режим высококачественной графики включен
- Усовершенствован код вывода графики: теперь в процессе игры окно не мерцает
- Добавлен новый объект - деревья. По сути дела это тот же камень, только выглядит по-другому
- Теперь справа от игрового поля выводится версия игры
Dron2004
Акселерация разработки. Прогресс рвет все временные рамки.
Акселерация разработки. Прогресс рвет все временные рамки.
Ещё одно обновление! Косилка для Колибри. Версия 0.03 (49 Кб).
Изменения в версии 0.03:
- Исправлен баг: в версии 0.02 не обновлялось показание оставшейся травы. Теперь всё нормально.
- Устранено мерцание меню при переключении режима графики
- Теперь косилка рисуется в том направлении, куда был осуществлён ход (только в режиме высококачественной графики)
- Теперь при проигрыше (когда попыток не осталось) возможно начать играть заново (раньше можно было только выйти из игры)
- Устранена опечатка (точнее, мой "глюк"). "Число оставшихся жизней" теперь отображено как "Lifes left" (раньше было "Lives left" )
Mario79
Изменения в версии 0.03:
- Исправлен баг: в версии 0.02 не обновлялось показание оставшейся травы. Теперь всё нормально.
- Устранено мерцание меню при переключении режима графики
- Теперь косилка рисуется в том направлении, куда был осуществлён ход (только в режиме высококачественной графики)
- Теперь при проигрыше (когда попыток не осталось) возможно начать играть заново (раньше можно было только выйти из игры)
- Устранена опечатка (точнее, мой "глюк"). "Число оставшихся жизней" теперь отображено как "Lifes left" (раньше было "Lives left" )
Mario79
Вторая версия намного интереснее, графика понравилась
Dron2004
Выглядит значительно лучше, чем было, но размер возрос заметно.
Кстати при упаковке KPACK размер уменьшился с 150 Кб до 28,9 Кб, это лучше чем упаковывать в ZIP архив.
ИМХО имеет смысл выбросить низкокачественный режим - все равно память не экономится, а тормоза по идее не должны проявляться и на слабых компах - тут просто нечему тормозить. Хотя надо будет проверить на моему старом Cyrix.
Выглядит значительно лучше, чем было, но размер возрос заметно.
Кстати при упаковке KPACK размер уменьшился с 150 Кб до 28,9 Кб, это лучше чем упаковывать в ZIP архив.
ИМХО имеет смысл выбросить низкокачественный режим - все равно память не экономится, а тормоза по идее не должны проявляться и на слабых компах - тут просто нечему тормозить. Хотя надо будет проверить на моему старом Cyrix.
Отлично! Значит, буду жать kpack'ом.Кстати при упаковке KPACK размер уменьшился с 150 Кб до 28,9 Кб, это лучше чем упаковывать в ZIP архив.
ИМХО тормозить не должно. Низкокачественный режим оставлен просто так, без каких бы то ни было целей. Но убирать жалко, вдруг кто такую минималистичную графику предпочитаетИМХО имеет смысл выбросить низкокачественный режим - все равно память не экономится, а тормоза по идее не должны проявляться и на слабых компах - тут просто нечему тормозить. Хотя надо будет проверить на моему старом Cyrix.
Косилка для Колибри. Версия 0.04 (30 Кб).
Изменения в версии 0.04:
-Добавлена анимация (движение косилки теперь анимируется). Стоит заметить, что анимация доступна как в режиме высококачественной графики, так и в режиме минималистичной прямоугольной графики. Анимацию можно отключить нажатием клавиши <a> в главном меню.
Изменения в версии 0.04:
-Добавлена анимация (движение косилки теперь анимируется). Стоит заметить, что анимация доступна как в режиме высококачественной графики, так и в режиме минималистичной прямоугольной графики. Анимацию можно отключить нажатием клавиши <a> в главном меню.
Dron2004
Между уровнями нужно вставить небольшую паузу, иначе не успеваешь отжать клавиши, а косилка уже шпарит по следующему уровню и шпарит не удачно.
Между уровнями нужно вставить небольшую паузу, иначе не успеваешь отжать клавиши, а косилка уже шпарит по следующему уровню и шпарит не удачно.
Это хорошо, только косилка медленно движется и заметно мигает при движении (тестил в эмуляторе).
А хорошо бы ещё к этой игре звук добавить
А хорошо бы ещё к этой игре звук добавить
Хорошо.Mario79 wrote:Между уровнями нужно вставить небольшую паузу, иначе не успеваешь отжать клавиши, а косилка уже шпарит по следующему уровню и шпарит не удачно.
На реальной системе всё вроде бы нормально работает...Атауальпа wrote:Это хорошо, только косилка медленно движется и заметно мигает при движении (тестил в эмуляторе).
Игра отличная, графика конечно пока что немного примитивна, но всё же оформление и то что уже изпользуюццо бмп-файлы не может не радовать.
Удачи в разработке!
Удачи в разработке!
Итак, Косилка для Колибри. Версия 0.05.
Изменения в версии 0.05:
- Добавлены паузы между уровнями
- Изменено оформление главного меню
Leency
Я очень рад, что игра понравилась .
Изменения в версии 0.05:
- Добавлены паузы между уровнями
- Изменено оформление главного меню
Leency
Я очень рад, что игра понравилась .
Ну, графику можно довольно легко заменить на любом этапе.Leency wrote: графика конечно пока что немного примитивна
Нууу... Там не совсем BMP файлы... Там довольно-таки хитро сделано... Картинки "зашиты" прямо в исходник .Leency wrote: но всё же оформление и то что уже изпользуюццо бмп-файлы не может не радовать.
О звуке позже будем думать... Сначала надо всё остальное реализовать (в т.ч. подготовить уровни)Атауальпа wrote: А хорошо бы ещё к этой игре звук добавить
Who is online
Users browsing this forum: No registered users and 1 guest