IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Первая игра, змейка :))
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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

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

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

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

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

Сообщение отредактировано: klem4 -


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской
Реальное имя: Василий

Репутация: -  -2  +


Ну сам "движок" готов smile.gif Можно приукрасить игру, сделав части змейки спрайтами (чтобы было видно что это змея), и нарисовать всяких там яблок-груш, и камней, об которые змея зубы ломает, и поле побольше!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


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


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


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


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской
Реальное имя: Василий

Репутация: -  -2  +


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

по-моему в том и фишка, что игрок так должен действовать точнее, чтобы успеть схватить яблоко! 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;


Получается что мы сначала отрисовываем все на невидимой странице, а потом делаем ее видимой, и не надо ничего перерисовывать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 84
Пол: Женский

Репутация: -  0  +


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


--------------------
И полусонным стрелкам лень
Ворочаться на циферблате
И дольше века длится день..
И не кончается объятье...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Если не секрет - сколько времени у тебя ушло на написание этой игры?
Начинал писать с нуля? или использовал какие-нибудь исходники?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


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


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 22.08.2017 2:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"