forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Пишу Танки, есть вопросы! (http://forum.boolean.name/showthread.php?t=14188)

mishanya00 06.02.2011 16:49

Пишу Танки, есть вопросы!
 
Здравствуйте форумчане!
При написании игры Танки постоянно сталкиваюсь с проблемами.
1) Как хранить карты в телефоне и подгружать их потом? интересует, минимальный размер карты!
у меня карта представлена двухмерным массивом 15х15.
2) Как работать с софткнопками?
3) как посчитать ФПС?

Помогите. ;)

IGR 06.02.2011 16:54

Ответ: Пишу Танки, есть вопросы!
 
оу, ну с такими вопросами тебе в фак нужно !!

mishanya00 06.02.2011 17:11

Ответ: Пишу Танки, есть вопросы!
 
с ФПС разобрался :-)
Код:

...
var
  lastfpstime,tmpfps,fps: integer;
begin
 lastfpstime := GetRelativeTimeMs;
 tmpfps := 0;
 fps := 0;
 repeat

 FillRect(0,0,50,16);
 SetColor(255,0,0);
 DrawText(IntegerToString(fps),20,2);

 if (GetRelativeTimeMs-lastfpstime>=1000) then
  begin
  lastfpstime := GetRelativeTimeMs;
  fps := tmpfps;
  tmpfps := 0;
 end else
  tmpfps+1;
 
  until GetKeyClicked = KE_KEY0;
 end.


Жека 06.02.2011 17:14

Ответ: Пишу Танки, есть вопросы!
 
mishanya00, самое главное сделал, остались сущие пустяки!:)

cherepets 06.02.2011 19:09

Ответ: Пишу Танки, есть вопросы!
 
Коды софткнопок -6 и -7.
Карты лучше хранить в ресурсе.

mishanya00 07.02.2011 21:09

Ответ: Пишу Танки, есть вопросы!
 
Подскажите ктонить как организуется логика вражеских танков. Хотя бы примитивная. Исходник не надо, мну надо понять как!!!!

ЗЫ. кому интересно могут глянуть что уже есть =)
скачать Танчики


Reks888 07.02.2011 21:46

Ответ: Пишу Танки, есть вопросы!
 
Элементарная логика - переть на игрока через весь лабиринт. Если между врагом и игроком нет препятствий - стрелять.
Смотрим волновой алгоритм/алгоритм дейкстры или любую прочую хрень на графах.

Жека 08.02.2011 07:17

Ответ: Пишу Танки, есть вопросы!
 
Для создания карт можно использовать прогу Mappy. Экспортировать из неё в массив, и записать этот массив в бинарном виде в файл. потом в игре считывать из файла. тип данных можно взять byte, должно хватить на все индексы тайлов.

По софт-кнопкам: у разных производителей разные коды софт-кнопок, в j2me я использую такие константы:
для левого софта: 21, -21, -6 (проверка через "или" естественно)
для правого: 22, -22, -7

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

Igor 08.02.2011 11:16

Ответ: Пишу Танки, есть вопросы!
 
Цитата:

Смотрим волновой алгоритм/алгоритм дейкстры или любую прочую хрень на графах.
Не пугайся названий, там главное понять суть.
Предлагаю вариант: создать двухмерный массив. Заполнить его большими числами (1000, например). Потом клетку с твоим танком обозначить за 0. Все доступные клетки (по которым можно ездить, т.е., чёрные), которые рядом (их 4, сверху, снизу, справа, слева) обозначаем как 1. Потом все рядом с единичками обозначаем как 2 и так далее. Если клеток с какой-то длиной пути не найдётся - прекращаем.
Вражеские танки выбирают из 4ёх соседних им клеток ту, у которой меньший путь (число).
Результат-враги бегут к тебе по кратчайшему пути.

P.s. Если не ошибаюсь это волновой алгоритм

Reks888 08.02.2011 17:53

Ответ: Пишу Танки, есть вопросы!
 
Цитата:

Сообщение от Igor (Сообщение 178286)
P.s. Если не ошибаюсь это волновой алгоритм

Не ошибаешься

barsunduk 12.02.2011 22:20

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

mishanya00 27.02.2011 01:13

Ответ: Пишу Танки, есть вопросы!
 
Вот что уже сделал ;-)
Можно сражаться с одним танком и подсчитывает очки. Конечно ошибки есть, но многие скоро уберу и добавлю взрывы и стены будут ломаться=)

cherepets 27.02.2011 01:22

Ответ: Пишу Танки, есть вопросы!
 
молодец =)
продолжай))

mishanya00 07.03.2011 02:07

Ответ: Пишу Танки, есть вопросы!
 
Такой вопрос по загрузке ресурсов. Какой максимальный размер ТХТ файла может загрузить приложение?

RegIon 07.03.2011 10:28

Ответ: Пишу Танки, есть вопросы!
 
Цитата:

Такой вопрос по загрузке ресурсов. Какой максимальный размер ТХТ файла может загрузить приложение?
зависит от оперативки-думаю в 5-10 кб потянут ТОЧНО все


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

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