![]() |
Re: Countr-Strike
Алгоритм простой, но щас некогда его воплотить в жизнь.
Но это в моем случаи, как у тебя реализован движек я незнаю, я затачивал движек под сетевую игру и координаты всех участников известны. далее координаты персонажа сравниваем с координатами ботов и вычисляем растояние. |
Re: Countr-Strike
а с чево бы кординатам быть неизвестными?
======== я вот не совсем понимаю:неужто сетевые игры популярны? ведь они платны!!! даже я с своим нокиа даже не подключил услугу мобильного инета! bt былибы... но таких мало... видимо я чёт недоганяю... ps пару дней за компом не седел и ничё не сделал |
Re: Countr-Strike
Вложений: 2
Могу помочь с алгоритмом ботов(кол-во можно указывать самому)
Правда писал его еще в школе и на Паскале для Pacman так что не ругать) |
Re: Countr-Strike
Вложений: 2
спасиб
сча посмотрю зацени пока маё |
Re: Countr-Strike
Насчет ботов, предлагаю на карте сделать точки(Вэйпоинт), как в реальном кс, по которым боты двигаются, как бы их путь, на всех нормальных картах их проставляют, иначе любой бот будет просто тупить, упираться в стену или крутиться на месте.
З.Ы.: Вэйпоинт, что это? Waypoint'ы (далее вэйпоинты) - это точки на картах. Боты используют их как навигацию и точно следуют заданному маршруту, что непозволяет им слепо ударяться в стены и хаотично бродить по карте. Чтобы бот начал играть на карте, необходимо заполнить её вэйпоинтами. Без вэйпоинтов бот просто будет крутится вокруг себя, или добежит до первой стены и остановится. Также бот может различать разные типы вэйпоинтов, например точку закладки бомбы или освобождения заложников. :@ |
Re: Countr-Strike
Я поначалу так и хотел, рисовать карту маршрута для ботов, но потом понял что ресурсов телефона не хватит.
Цитата:
Цитата:
|
Re: Countr-Strike
Цитата:
игроку просто: для каждого из врагов { _dx=стреляющий.X-мишень.X; _dy=стреляющий.Y-мишень.Y; _try{tg2=dy*2/dx;}catch(ArithmeticException e){tg2=9;} //отлавливаем деление на ноль //множим на 2 дабы обрабатывать случай tg=1/2 _if((Math.abs(dx)<=88)&&(Math.abs(dy)<=88)) { //если на экране __if((tg2<=1)и(tg2>=-1)и(взгляд направо)и(dx<0)) {мочи();} __if ((tg2<=4)и(tg2>=1)и(направо-вниз)и(dx<0)) {мочи();} __if (((tg2<=-2)или(tg2>=2))и(вниз)и(dy<0)) {мочи();} ... _} } а ботам нужно исчо и взгляд определять думаю пока как стенки непробиваемыми сделать ========= а насчет хождения не знаю( както в школе предлагали это идти по возрастанию обходя препятствия рекурсией(java ето умеет) 000000 00000 000000-10000 000000-100B0 000000-10000 000000-10000 000A00-10000 000000-10000 000000 00000 555555 55567 444444-14567 333333-145B7 322222-14567 321112-14567 321A12-14567 321112-14567 322222 34567 над на карте к точкам старта добавить исчо пару точек и боты радом их выбирают следущюю как тока призодят к нужной по "этому" алгоритму.ктонибудь его знает? |
Re: Countr-Strike
по поиску пути, у меня вот тут книжка лежит. предлагается три варианта:
маршрутный алгоритм алгоритм дейкстры волновой алгоритм Есть еще какой-то А*(A Star) |
Re: Countr-Strike
Самы лучший - последний, по опыту... Но вот не помню что касается ресурсоемкости...
|
Re: Countr-Strike
Цитата:
См тут: http://blitzetc.boolean.name/articles/astar.htm (перевод небезызвестного Morpher-а) |
Re: Countr-Strike
спасиб посмотрю
я устати и показывал волновый |
Re: Countr-Strike
Вложений: 2
думал сделать этот вариант как временный но по-моему всётаки похоже на финальный:dontknow:
путь конечно не самый короткий но зато меньше ключевых точек ставить:@ по краней мере до мента добрался:-) |
Re: Countr-Strike
Ага, добирается)
p.s.: Когда находит на него - игра вываливается с необработанным исключением |
Re: Countr-Strike
carmageddonist
Я смотрю ты уже далеко продвинулся. Молодец. |
Re: Countr-Strike
Вложений: 2
ура сделал!
осталось сделать непробиваемые стены и гама готова! (тестить тока cs_mansion в остальных нет waypointo'в) что скажете? вроде все exeption'ы обработаны.. |
Часовой пояс GMT +4, время: 07:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot