Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 13.12.2007, 11:47   #1
BaD RaNDoM
AnyKey`щик
 
Регистрация: 12.08.2007
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос помогите отимизировать код

Вобщем, вот вам мой исходник, укажите на ошибки, что можно сделать лучше.
У меня там основная проблема это немогу создать больше двух ботов.
Подскажите все что сможете по логике ботов.
воть исходник http://www.boolean.name/attachment.php?attachmentid=5298&stc=1&d=119753184 2

Всем заранее спасибо!!!
(Offline)
 
Ответить с цитированием
Старый 13.12.2007, 17:54   #2
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: помогите отимизировать код

У меня там основная проблема это немогу создать больше двух ботов.
точно 2 ??
эта чтрока свидетельствует о том, что их должно быть 3:
CreateBot(Rand(10),2,Rand(50),3)

оптимизировать здесь можно много чего !!
вот например параметры юзаеш типа с точкой:
CreateBot(x#,y#,z#,count)
хотя устанавливаеш целые:
CreateBot(Rand(10),2,Rand(50),3)
и т.д. !!

Подскажите все что сможете по логике ботов.
у тебя есть функция UpdateBot(), вот туда и пичкай все что можеш !!
например у тебя уже есть, что бот постояно направлен на плеера и идет к нему:
PointEntity b\entity,plr
MoveEntity b\entity,0,0,v
можеш придумать что-то типа:
если растояние между ботом и плеером меньше 100, то только тогда бот идет к плееру:
If EntityDistance(plr,b\entity)<100 then
PointEntity b\entity,plr
MoveEntity b\entity,0,0,v
endif
ну и т.д. !!
(Offline)
 
Ответить с цитированием
Старый 13.12.2007, 21:46   #3
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: помогите отимизировать код

у тя 3 бота)
просто один входит в другого )
и его не видно

создай всех ботов подальше друг от друга
и включи колизию , или проверяй чтоб растояние от бота до другого бота было в норме

да и нах писать функцию которая сразу несколько ботов писать
это по мойму не удобно (

CreateBot(100,2,0)
CreateBot(0,2,0)
CreateBot(-100,2,0)

Function CreateBot(x#,y#,z#)
b.Tbot=New Tbot
b\entity=LoadAnimMesh("mario\mariorun.x")
Animate b\entity,1,0.5,0
ScaleEntity b\entity,.2,.2,.2
PositionEntity b\entity,x,y,z
EntityType b


так нормально 3 бота создалось по разным углам
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 12:07   #4
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: помогите отимизировать код

помогите отимизировать код
Тут дейвствует выражение: "Спасение утопающих - дело самих утопающих".
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 12:55   #5
kortesfil
Знающий
 
Регистрация: 16.10.2005
Сообщений: 310
Написано 7 полезных сообщений
(для 0 пользователей)
Re: помогите отимизировать код

Ты бы мог хоть повежлевей попросить
(Offline)
 
Ответить с цитированием
Старый 18.12.2007, 09:19   #6
BaD RaNDoM
AnyKey`щик
 
Регистрация: 12.08.2007
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение от kortesfil
Ты бы мог хоть повежлевей попросить
Любезный товарищ немоглибы вы указать на ошибки в этом коде и помоч мне его оптимизировать.

еще один вопросик.
как организовать обход ботами препядствий?
(Offline)
 
Ответить с цитированием
Старый 18.12.2007, 10:44   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: помогите отимизировать код

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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com