проект Танчики
|
|
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
| Создашь сколь угодно тхт файлов это и будут уровни. Ну и например когда все враги будут убиты, естественно нужно будет загружаться из другого тхт.
|
|
| |
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
| Почему то не компилится когда движение подключаешь.
|
|
| |
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.
|
|
| |
12121 | Дата: Понедельник, 05.10.2009, 15:20 | Сообщение # 43 |
Программист
Группа: Проверенные
Сообщений: 357
| Следы во время стрельбы остаются из за того что цвет переключается. В процедуре 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
| У тебя много раз экран перерисовывается. Лучше если бы все танки сдвинулись а потом 1 раз все нарисовать. Чтобы быстрее было можно сдвигать танки на 2 пикселя. Каким эмулятором пользуешься ?
|
|
| |