forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на MidletPascal (http://forum.boolean.name/forumdisplay.php?f=88)
-   -   Игра BERKUT (http://forum.boolean.name/showthread.php?t=11876)

Mig-29 08.02.2010 14:39

Игра BERKUT
 
Вложений: 1
Привет, народ!
Представляю игрушку "Беркут", которую написал на MidletPascal 2.02 за 3 дня.

Описание: 2D стрелялка, где на чёрном фоне Ваш самолёт(Су-47 Беркут) должен сбивать самолёты противника, летящие на него сверху экрана.
За каждый сбитый самолёт игроку начисляется 100 очков, после набора 2000 и 4000 очков самолёты противника увеличивают скорость.
Наш самолётик, Беркут, бессмертен, т.е. ему ничего в игре не грозит.
Самолёты противника не стреляют, а просто летят себе вниз с рандомных позиций.

Управление: джойстик, клавиши 2, 4, 5, 6, 8, правая и левая софт-клавиши (вызывают меню).

Протестирована на: Siemens CX75, Siemens CF75, Sony Ericsson Z520i - полёт нормальный! Заставка заточена под экран 132x176, а вообще игра должна работать на всех моделях с MIDP1 и MIDP2.

Никакой принципиальной новизны в игре нет, это моя практика с мидлетпаскалем. Паскаль знаю давно, а о самом MP узнал именно с вашего ресурса.
Большое спасибо GRAY_WOLF и odd за полезные посты на форуме, составленный Help и список скан-кодов.
Также спасибо сайту http://mobilepascal.ru/ (как я понял, вашему подшефному ресурсу) за пример создания меню в игре.
Ну и, конечно, всем вам, кто принял MP в свои руки и развивает его на радость программерам =)

Исходник хорошо задокументировал, так что если у кого появится желание улучшить игру, будет легко разобраться.
Рад, что нашёл такой форум :speaking: =)

Spiderman 09.02.2010 11:43

Ответ: Игра BERKUT
 
Сорри, но очень сыро и пока не играбельно. Хороших стрелялок полно и все ими уже давно сыты, так что советую внести в игру какую-то оригинальную изюминку :mad:
Я продержался 30 секунд

Mig-29 10.02.2010 23:42

Ответ: Игра BERKUT
 
Как просто ты оградил игру от просмотра другими участниками форума:)
Тем не менее, согласен.
>Никакой принципиальной новизны в игре нет, это моя практика с мидлетпаскалем.

Mig-29 19.02.2010 02:06

Ответ: Игра BERKUT
 
Вложений: 1
Представляю Беркут v2.0 - теперь играбельный!

Изменения по сравнению с предыдущей версией:

- добавлена заставка при загрузке игры
- добавлена картинка местности, на фоне которой идёт воздушный бой
- при попадании по вражеским самолётам они взрываются
- введены 2 бонуса: мгновенный взрыв всех врагов на экране и доп.
оружие(ракеты)
- код раздулся из-за проверочных if'ов :)

Примечания: заставка и картинка местности имеют разрешение 132x176

Mig-29 19.02.2010 18:24

Ответ: Игра BERKUT
 
Вложений: 1
Беркут v2.1

Изменения:
- добавлен новый самолёт, летящий поперёк экрана
- исправлен баг с системой бонусов (их можно было "брать" с прежнего места на экране даже спустя некоторое время после их исчезновения)
- малая оптимизация кода

Mig-29 20.02.2010 15:52

Ответ: Игра BERKUT
 
Вложений: 1
Представляю Беркут v3.0
Переработано и добавлено столько, что всё описывать лень.
Серьёзно повышена играбельность;)
Игра стала красивее и зрелищнее.

P.S. Изначальная ориентация на прямоугольные экраны, у которых высота больше ширины.

Sk.MaCh 23.02.2010 01:25

Ответ: Игра BERKUT
 
Мдя, ну как уже было сказано выше - сыро! Поиграл минутку... Снес... Посмотрел исходник, чето ты там слишком намудрил!на большом экране выглядит ужасно, так что лучше делай под свой... Кстати, есть такая полезная функция: setclip(начало х,начало у,длина х,высота у) - устанавливает регион, в котором происходит отрисовка. В твоем случае setclip(0,0,132,176); лучше добавить в начало программы. Ну и графу неплохо былобы подправить, анимацию сделать... Вобщем я ничего плохого говорить не хотел, просто советы...

Mig-29 23.02.2010 13:20

Ответ: Игра BERKUT
 
Вы бы лучше багрепорты оставляли, а не пустые "ужасно".
Так, совет:)

Что касается большого экрана.. Пока ничего умнее, чем повторная отрисовка фоновой фотки справа и 2 раза внизу, не придумал (тихо, уберите топор, это я тоже не реализовывал, только 1 раз справа фотку дорисовал) :)
Возможно, добавлю повторяющуюся местность маленькими кусочками или спрайтами.
А так, весь код заточен под то, чтобы игралось нормально на любом разрешении.
"Изначальная ориентация на прямоугольные экраны" из предыдущего поста - это намёк на суть игры (на прямоугольных традиционной ориентации смотрится зрелищнее, чем на квадратных и тем более на прямоугольных нетрадиционной).
И, кстати, играется.

У себя на большом эмуляторовском разрешении заметил только горизонтальную полосу внизу. http://i2.fastpic.ru/big/2010/0223/0...b28f94c309.png

Это баг (в ближайшем будущем исправлю), но играбельность он особо не затрудняет - все объекты поверх полосы рисуются. Особо страшного в этом ничего нет:)

Так что, кто хочет помочь, пусть оставляет скрины со своего телефона, где "ужасно", и/или пишет подробный багрепорт, потому что в начале кода я перечислил минимум 3 модели разных производителей и разных разрешений экрана, на которых игра идёт нормально.

Sk.MaCh 23.02.2010 20:34

Ответ: Игра BERKUT
 
Вложений: 1
у мя тело(k790) скрины не делает, Кстати, если хочешь, чтобы можно было делать скриншоты, добавь либу http://forum.boolean.name/showthread.php?t=6254 и впиши в главный цикл:
if (KC)=X then SaveImageToFile(imagefromcanvas(0,0,getwidth,gethe ight),100,'/c:/other/scr.jpg');
последняя строчка написана для сониерика, т.е. '/c:/other/scr.jpg' нужно менять на путь фс, зависящий от модели телефона. Что касается фона, думаю лучше сделать несколько, травку там, горы, воду... так будет гораздо лучше смотреться, естественно он должен двигаться. Да кстати, в начало главного цикла лучше добавить
fillrect(0,0,getwidth,getheight);
а то у меня всё накладывалось друг на друга.
И под конец ещё один совет: информацию(т.е. очки,жизни...) лучше писать непосредственно перед repaint; а то получается самолёт накладывается на них и ничего не видно.
Ну раз ты так просишь, вот скрин с эмулятора)))

Sk.MaCh 23.02.2010 20:58

Ответ: Игра BERKUT
 
Вложений: 1
Да, кстати, если хочешь, могу немного помочь... скажем как тебе такое меню?

Mig-29 24.02.2010 00:09

Ответ: Игра BERKUT
 
Вложений: 1
Скрин с эмулятора, конечно, хорош, но ничего особо страшного там не вижу=)
Добавил бы 2 фоновые фотки внизу, было б у тебя на эмуле красиво =)
А на самом K790 как отображается? Хотя, думаю, в пределах (132+132)x176 всё нормально.

Кстати, я имел в виду сделать скрин сторонней прогой, подключив телефон через шнур (у меня для сименсов ShootX65).

>Что касается фона, думаю лучше сделать несколько, травку там, горы, воду...
Всё будет в скором времени. Фон поменяется.

Промах насчёт вывода очков с наложением учту.
С FillRect тоже попробую. Спасибо =)

Твой вариант меню хорош, я тоже так вначале делал. Попробуй его протестить на телефонах с почти квадратным экраном =)
Орёл наложится или уйдёт за границу в любом случае, и на разных разрешениях будет выглядеть это по разному. Поэтому пока оставляю как есть. Текущий вариант не идеален, но хотя бы всё более-менее по центру.
(И вообще, можно сделать вывод в GetWidth/2, GetHeight/2)

Если всё же решусь на ориентацию на прямоугольные экраны, вероломно отступив от принципа универсальности, точно возьму твой вариант.

А пока так.
P.S. Благодарю за тестирование

LLI.T.A.L.K.E.R. 28.07.2010 00:48

Ответ: Игра BERKUT
 
Поиграл Беркут v3.0. На телефонах лучше ставить авто-огонь. А то нажмёшь влево или вправо и огонь прекращается.

Когда стреляешь двойными выстрелами (2-й уровень улучшения оружия) то все враги стоят, пока пули не улетят.

Igor 28.07.2010 12:32

Ответ: Игра BERKUT
 
Нельзя отключить звук. Картинка выглядит как-то стремно, на разных размерах экрана не совсем корректно работает.
P.S. прошло пять месяцев...


Часовой пояс GMT +4, время: 02:06.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot