Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Первая игра

Автор: klem4 9.04.2006 23:46

Все на этой планете уже написали змейку кроме меня smile.gif

Это вообще моя первая игра и насколько она плохая получилась ? Ну на 3- я бы ее оценил smile.gif)

Исходник лучьше не смотрите - находка для оптимизатора, торопился хотелось побыстрее закончить smile.gif еще бы надо регулировку скорости добавить, но вот что-то уже сил нет.

Счастливые обладатели FPC могут это сделать, подправив dalay в процедуре Play smile.gif

Так как это моя первая игра, строго не судить и сильно не глумиться smile.gif)


Прикрепленные файлы
Прикрепленный файл  Game.rar ( 59.31 килобайт ) Кол-во скачиваний: 495

Автор: Бравый генерал 10.04.2006 16:22

Ну сам "движок" готов smile.gif Можно приукрасить игру, сделав части змейки спрайтами (чтобы было видно что это змея), и нарисовать всяких там яблок-груш, и камней, об которые змея зубы ломает, и поле побольше!

Автор: GoodWind 10.04.2006 16:32

бесит:
1) моргание
2) исчезание "яблок" перед самым носом
3) такое большое окно и такое маленькое игровое поле
4) high-score записывается по выходу из игры

Автор: klem4 10.04.2006 19:44

Учту, сделаю по интересне наверное дальше ... со спрайтими и яблоками, единственное - моргание, когда змейка уже "выросла" - очень заметно, я и так перерисовыаю только змейку, на стирая весь экран, setactivepage тут поможет ?

Автор: Бродяжник 10.04.2006 20:31

Змейку тоже не нужно перерисовывать (имхо). Все, что нужно, это а) всегда рисовать голову и б) затирать хвост, если змейка не растет.
При этом тело змейки организовываем, как стек - голова все время находится в конце массива, а хвост в начале. Если змейка растет, то просто добавляем в конец стека новые координаты головы. Если не растет - сдвигаем все элементы стека на 1 к началу, теряя текущий хвост, и добавляем в конец стека новые координаты головы.
И чего так мрачно-то? Готика?

Автор: Бравый генерал 10.04.2006 20:43

Ну насчет

Цитата
исчезание "яблок" перед самым носом

по-моему в том и фишка, что игрок так должен действовать точнее, чтобы успеть схватить яблоко! klem4, сделай еще так, что если игрок не успевает взять яблоко, то это запоминается и в конце игры помимо набранных очков в таблице будет фигурировать процент собранных яблок, от общего кол-ва появившихся (типа точность).
А вот
Цитата
моргание

это да, бесит! Все таки 32-битный компилер! Сделай через видеостраницы. Не знаю как на FPC, а на ТурбоПаскале главный цикл через видеостраницы я организовываю так:

Var
v: Byte;

...

v:=0;
SetVisualPage(0);
REPEAT
Inc(v);
if v > 5
then v:=0;
SetActivePage(v);

ClearDevice;
{рисуем все что надо}
SetVisualPage(v)
UNTIL KeyPressed;


Получается что мы сначала отрисовываем все на невидимой странице, а потом делаем ее видимой, и не надо ничего перерисовывать.

Автор: klem4 10.04.2006 20:50

Спасибо всем за мнения и подсказки, постараюсь все реализовать, только вот когда ... сессия приближается sad.gif-+

Автор: Гелла 10.04.2006 21:01

я как совсем начинающий и неопытный программист могу сказать:Так классно!!

Автор: Анна 1.06.2006 14:16

Если не секрет - сколько времени у тебя ушло на написание этой игры?
Начинал писать с нуля? или использовал какие-нибудь исходники?

Автор: Altair 17.06.2006 18:50

Мне очень понравилось!
И еще фирменный стиль клемыча - такое же поле он использовал в жизни smile.gif