Страница 5 из 7

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 09:26
Casperovskii
Alazaur
Ну что, научил тебя Саныч не быть "быдлокодером"? :D Интересная у вас переписочка, конечно. А все с банальных крестиков-ноликов началось. Хехе.

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 09:41
Alazaur
Casperovskii, ну я и не быдлокодил вроде. (Во всяком случае тут :D ) А вообще вопрос с оптимизацией сеток очень острый, поскольку они неотъемлемо связаны с алгоритмами поиска пути, а в них каждая миллисекунда дорога.

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 11:17
sanych_dv
"Быдлокод" ни при чем вообще. Тут вопрос предпочтений - кому какой синтаксис удобнее. Я посмотрел - по времени одинарный и двойной циклы выполняются одинаково. А вот цикл с типизированным массивом, конечно, выполняется значительно быстрее, чем с обычным.

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 12:43
Lampy
Совсем запугали вы меня) половина мне пока еще не понятна) но вопрос был в другом) хотелось знать правильно ли я мыслю и двигаюсь ли в нужном направлении)

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 14:18
Casperovskii
Lampy
Ты - в нужном. Работай так, как тебе удобно (тебе же не надо пути искать, да?). В идеале, конечно, можно у gpv123 тупо копирнуть, но лучше самому до такого же дойти. Заодно и приноровишься.

Alazaur
Не хотел обидеть, просто невинная шутка =)
UPD. Ага... Поиск пути - та еще заморочка, я как-то рекурсивно делал в зависимости от агрорадиуса моба. И для каждого моба своя карта путей (он даже препятствия обходил!), для меня это было ух как круть 3 года назад.

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 14:36
Alazaur
Casperovskii, да я понял что пошутил. А вообще я на самом деле быдлокодер еще тот)))
UPD. Ага... Поиск пути - та еще заморочка, я как-то рекурсивно делал в зависимости от агрорадиуса моба. И для каждого моба своя карта путей (он даже препятствия обходил!), для меня это было ух как круть 3 года назад
это на C++? На флеше давать каждому мобу свою карту путей непозволительная роскошь :D Я делаю так. Одна карта для всех и очередность, т.е. моб смотрит, если сейчас кто-то ищет путь то встает в очередь и начинает сам искать только когда тот закончит и карта путей очистится.

Lampy, если, до того как ты станешь профи, после очередного проекта будешь открывать свой предыдущий проект и смотреть на него с ужасом - значит двигаешься в нужном направлении :D

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 14:59
Lampy
Alazaur писал(а): это на C++? На флеше давать каждому мобу свою карту путей непозволительная роскошь :D Я делаю так. Одна карта для всех и очередность, т.е. моб смотрит, если сейчас кто-то ищет путь то встает в очередь и начинает сам искать только когда тот закончит и карта путей очистится.
А как тогда сделано в игре 2056.ru , там они все вместе ходят и обходят все горки и не запутываются

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 15:09
Lampy
Кстати по поводу добавления переменных, мне с ними легче, то есть перед тем как начать писать функцию победы я представил себе, что в каждой ячейке есть переменная, значение которой 0, если ставиться крестик то её значение 1, можно убрать 9 переменных и просто для ноликов сделать значение 2) код тогда будет чуть меньше)

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 15:10
Alazaur
Lampy, ну как там сделано я не знаю. Но я и не говорил что в моем способе кто-то стоит.
Один моб ищет путь 1-5 мс. Поэтому даже очередь из 100 мобов отработает за 1/10 секунды. То есть визуально вы и не увидите что кто-то кого-то ждет, они все будут ходить бродить :D + даже имея на карте 1000 юнитов врятли одновременно запрос на поиск пути сделают больше 20 - 30. Поэтому простои исключены теоретически.
На счет переменных могу сказать, что это очень плохой подход. Но дело ваше.

Re: Criss-Cross или научите быть не быдло кодером

Добавлено: 07 дек 2012, 15:17
Lampy
просто на данный момент такой подход хотя бы понятен, в выложенном коде мне половины не понятно, вот к примеру пара фрагментов
1. что это такое) не понятно)

Код: Выделить всё

e.stopPropagation();
2. Тут по веселее , понято что это обработка победы, но не понятно как оно работает)

Код: Выделить всё

 var f:Array = Main(parent).fields, s:String, t:TextField, b:Boolean;               if (f[0].content && f[0].content == f[1].content && f[1].content == f[2].content ||            f[3].content && f[3].content == f[4].content && f[4].content == f[5].content ||            f[6].content && f[6].content == f[7].content && f[7].content == f[8].content ||            f[0].content && f[0].content == f[3].content && f[3].content == f[6].content ||            f[1].content && f[1].content == f[4].content && f[4].content == f[7].content ||            f[2].content && f[2].content == f[5].content && f[5].content == f[8].content ||            f[0].content && f[0].content == f[4].content && f[4].content == f[8].content ||            f[2].content && f[2].content == f[4].content && f[4].content == f[6].content)