Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: ADMIN, Nextik  
Форум » MidletPascal » Делимся! » проект Танчики (Танчики на мобиле)
проект Танчики
400542333Дата: Пятница, 02.10.2009, 16:19 | Сообщение # 31
Начальный
Группа: Пользователи
Сообщений: 70
Награды: 1
Репутация: « 6 »
Статус: Offline
А м0жете пример дать создания игрового поля.Для исходника tank
 
400542333Дата: Пятница, 02.10.2009, 16:20 | Сообщение # 32
Начальный
Группа: Пользователи
Сообщений: 70
Награды: 1
Репутация: « 6 »
Статус: Offline
Извенити за у меня браузер глючит
 
Yura-007Дата: Суббота, 03.10.2009, 03:02 | Сообщение # 33
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
Там и без примера разобраться не сложно!
Если ты танчики делал по примеру из этого сайта, то нужно следущее:
1. создаешь текстовый документ, например pole1.txt, в него записываешь 15 строк, по 10 символов. 0- будет соответствовать пустой клетке поля, т.е. танк по ней проедет без проблем; 1-препятствие пулепробиваемое;2-непробиваемое, другие символы не вписываешь. Добавляешь его к проекту как ресурс.
2. рисуешь например в пэинте препятствия пробиваемое и не пробиваемое, сохраняешь, добавляешь как ресурс к проекту.
3. создаешь массив для хранения 2-х созданных ранее изображений.
4. в основном коде программы, загружаешь в этот массив эти изображения.
5. создаешь ещё один одномерный массив, строкавый, размером 15.
6. в основном коде программы, в цикле считываешь каждую строку текстового файла в массив.
7. в процедуре которая создает пустое игровое поле, в цикл добавляешь условие: если первый символ первой строки 0, то состоянию этой клетки присвоить 0, если 1, то 1 и в эту клетку загрузить изображение пробиваемого препятствия, если 2, то тоже самое что и с единицей.
8. Удаляешь из проекта ненужные файл с изображением игрового поля и процедуру которая раньше создавала на поле препятствия, она уже ненужна.
Таким образом поле будет загружаться из текстового файла. Можно создать сколько угодно таких файлов, это и будут уровни.
Если будет нужно, то пример выложу, но я думаю алгоритм понятен и так.
 
400542333Дата: Суббота, 03.10.2009, 10:21 | Сообщение # 34
Начальный
Группа: Пользователи
Сообщений: 70
Награды: 1
Репутация: « 6 »
Статус: Offline
Не лучше дай пример
 
Yura-007Дата: Воскресенье, 04.10.2009, 04:16 | Сообщение # 35
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
Создашь сколь угодно тхт файлов это и будут уровни. Ну и например когда все враги будут убиты, естественно нужно будет загружаться из другого тхт.
Прикрепления: TANKI.rar (34.3 Kb)
 
400542333Дата: Воскресенье, 04.10.2009, 08:08 | Сообщение # 36
Начальный
Группа: Пользователи
Сообщений: 70
Награды: 1
Репутация: « 6 »
Статус: Offline
Большое спасибо
 
400542333Дата: Воскресенье, 04.10.2009, 14:16 | Сообщение # 37
Начальный
Группа: Пользователи
Сообщений: 70
Награды: 1
Репутация: « 6 »
Статус: Offline
Хм толька у меня танка нет а так игровое п0ле есть
 
Yura-007Дата: Воскресенье, 04.10.2009, 16:04 | Сообщение # 38
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
На здоровье! Танк я отключил, тебе ж только поле было нужно.
 
Yura-007Дата: Воскресенье, 04.10.2009, 16:31 | Сообщение # 39
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
А вот мне интересно кто как делает врагов?
Я для этого использовал библиотеку Lib_threads, благодаря которой можно создать многопоточность.
Но что-то меня этот способ не особо радует. Постоянные проблемы с компиляцией. Танк и враги, для передвижения и стрельбы используют одни и те же процедуры и наверно из-зa этого при перерисовки экрана остаются следы. А если стрелять в непробиваемое препятствие, то как обычно на нем происходит взрыв и в конце загрузка изображения этого препятствия, так вот, в зависимости от действий врага, это препятствие загружается в разные места на поле.
Возможно нужно создать для вражеского танка отдельно процедуры передвижения и стрельбы, но всё и без того туго компилируется.
 
12121Дата: Воскресенье, 04.10.2009, 17:58 | Сообщение # 40
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Почему то не компилится когда движение подключаешь.
 
Yura-007Дата: Воскресенье, 04.10.2009, 20:19 | Сообщение # 41
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
Ну потому я его и отключил!
Что бы компилилось, нужно поубирать все нули в Fild[0, ...]... вот этот 0 не нужен.
 
Yura-007Дата: Воскресенье, 04.10.2009, 22:54 | Сообщение # 42
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
Прикрепляю проект, в котором 1 бот, убить его пока ещё нельзя, но он уже ездит и почти стреляет.
Не пойму как исправить косяки:
как только начинаешь перемещать танк, скорость бота увеличивается, начинает быстрей ездить;
если начинаешь стрелять, бот оставляет после перемещения следы.
По всей видимости проблемы с перерисовкой, как решить не пойму.
Для работы проекта нужна библиотека threads.
Прикрепления: Tanki.rar (39.7 Kb)
 
12121Дата: Понедельник, 05.10.2009, 15:20 | Сообщение # 43
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
Следы во время стрельбы остаются из за того что цвет переключается. В процедуре movedbot setcolor(0,0,0) убери вначале а поставь перед каждой строкой где затираешь предыдущее изображение.
Не заметил что бы бот ускорялся
 
Yura-007Дата: Вторник, 06.10.2009, 01:54 | Сообщение # 44
Непонятливый
Группа: Пользователи
Сообщений: 25
Награды: 0
Репутация: « 3 »
Статус: Offline
Спасибо. И как я раньше не догнал что дело в этом. В эмуляторе на компе всё отлично, а на телефоне, чуть меньше оставляет следы.
В эмуляторе особенно было заметно, как при движений бот ускоряется. Разрешение эмулятора 176х220, а телефона 352х416. На телефоне не очень заметно. А если убрать последний repaint, то нормально работает, уже разобрался, правда тогда если бот перестанет двигаться, то повороты танка не перересовуются.
В общем я создал 3 бота, которые двигаются, но не стреляют, так вот туговато идет на телефоне, а на компе нормально. А если их стрелять научить, вообще туго идти будет.
 
12121Дата: Вторник, 06.10.2009, 12:06 | Сообщение # 45
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
У тебя много раз экран перерисовывается. Лучше если бы все танки сдвинулись а потом 1 раз все нарисовать. Чтобы быстрее было можно сдвигать танки на 2 пикселя.
Каким эмулятором пользуешься ?
 
Форум » MidletPascal » Делимся! » проект Танчики (Танчики на мобиле)
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: