Войти
ФлеймФорумОбщее

CodeTanks 2 (35 стр)

Страницы: 134 35 36 3759 Следующая »
#510
22:21, 12 ноя. 2012

rusk
покажи че у тебя в intr_circle2line


#511
22:22, 12 ноя. 2012

rusk
> cir_rr = (u.width*u.width + u.height*u.height)/2
там нужен квадратный корень
или функция math.hypot

а вообще формула странная. я просто брал width/2 но потом вернулся к OBB
понял, не странная.
я у себя уменьшил точку для прицеливания, чтоб не стрелять по углам.

#512
6:40, 13 ноя. 2012
def intr_line_2_circle(origin, direction, center, squaredRadius):
    diff = Vec2D(origin.x - center.x, origin.y - center.y)
    a0 = diff.squaredLength() - squaredRadius
    a1 = direction.dot(diff)
    discr = a1*a1 - a0
    if discr < 0.0:
        return False
    return True

Решение квадратного уравнения. За основу взята:

template <typename Real>
bool IntrLine2Circle2<Real>::Find (const Vector2<Real>& origin,
    const Vector2<Real>& direction, const Vector2<Real>& center,
    Real radius, int& rootCount, Real t[2])
{
    // Intersection of a the line P+t*D and the circle |X-C| = R.  The line
    // direction is unit length. The t value is a root to the quadratic
    // equation:
    //   0 = |t*D+P-C|^2 - R^2
    //     = t^2 + 2*Dot(D,P-C)*t + |P-C|^2-R^2
    //     = t^2 + 2*a1*t + a0
    // If two roots are returned, the order is T[0] < T[1].

    Vector2<Real> diff = origin - center;
    Real a0 = diff.SquaredLength() - radius*radius;
    Real a1 = direction.Dot(diff);
    Real discr = a1*a1 - a0;
    if (discr > Math<Real>::ZERO_TOLERANCE)
    {
        rootCount = 2;
        discr = Math<Real>::Sqrt(discr);
        t[0] = -a1 - discr;
        t[1] = -a1 + discr;
    }
    else if (discr < -Math<Real>::ZERO_TOLERANCE)
    {
        rootCount = 0;
    }
    else  // discr == 0
    {
        rootCount = 1;
        t[0] = -a1;
    }

    return rootCount != 0;
}

#513
7:22, 13 ноя. 2012

ud1

Пропустил : )

Спасибо!, мне бы точно не управиться самому.
Только не понял зачем файл class рядом с jar если в командной строке все равно запускается jar?
Пробую запустить. Пока не выходит. : |

PS: получилось стартануть ранер со своими стратегиями : ) ud1 мозг. Спасибо : )
Вот бы еще логинг результатов в файл прикрутить. Что-то если указать параметр -write-to-text-file=c:/f.txt  бой не стартует а просто отключает игроков.


PPS:  если добавть -write-to-text-file=f.txt,  то после коннекта всех стратегий игра останавливается как завершенная с результатом 0:0:0:0:0:0

#514
8:56, 13 ноя. 2012

http://russianaicup.ru/game/view/224226
Вроде бы я не делал его таким умным =)) Некоторые бои действительно поражают (некоторые тупостью, а некоторые гениальностью). Это к слову, что у синих и зеленых не выгодная позиция.

#515
9:10, 13 ноя. 2012

rusk

Красный чувак забыл проверять танки на принадлежность своей команде. Таких грешно не победить. : )

Вот тут я из верхнего угла натянул двоих топовых игроков песочницы : )
http://russianaicup.ru/game/view/224922

#516
9:41, 13 ноя. 2012

я не понимаю, какая тут тактика :( вообще чистый рандом

#517
10:02, 13 ноя. 2012

Нашел как получать результаты боя. Параметр

-results-file=res.txt

#518
10:58, 13 ноя. 2012

ud1
Запуск несколько своих стратегий конечно мощь! спасибо!
Мне скорее всего уже не поможет, но все равно прикольно, попробую поиспользовать. А-то встроенные постоянно себя мочат, хоть и 5 штук тоже можно было выпустить.

#519
12:08, 13 ноя. 2012

собрал из батников песочницу. Которая стартует бои где среди 5 моих текущих стратегий играет одна модифицированная.
Результаты боев складываются в файл. Один бой длится 2 минуты. Выходит что через пару часов я смогу сказать удачно поправил стратегию или нет : )

модифицированная стратегия играет поочередно на всех местах чтобы стартовое место не влияло на исход теста.

через пару часов отпишусь о результатах : )

#520
12:11, 13 ноя. 2012

Megabyte-Ceercop
> Один бой длится 2 минуты. Выходит что через пару часов я смогу сказать удачно
> поправил стратегию или нет
Только если твоя поправка дала очень большой прирост, 50-100 пунктов. Иначе ты ничего не узнаешь по результатам 60-ти боёв.

Нужно объединиться и помогать лидерам проводить тестовые бои между разными стратегиями. Поставил на ночь, с утра сообщил результат.

Желательно в таком стиле:

+ Показать
#521
12:31, 13 ноя. 2012

Megabyte-Ceercop
Аналогичная мысля пришла в голову, тоже скорее всего сделаю вечерком.
Ну конечно так оцениваются улучшения только относительно твоей стратегии, не факт, что она станет играть лучше других. Но это всяко лучше, чем ждать несколько часов на оффициальных тестах.

#522
12:32, 13 ноя. 2012

entryway

Прирост не главное. Тут бы избежать изменений в коде которые резко топят рейтинг. : ) Бывает вроде цифру поправишь. А танк начинает реально тупить и мазать через раз. Это будет заметно сразу.

Первый мой тест - попробую увеличить зону отталкивания от стен. Чтобы более плавно огибал углы и не упирался при опасности. Хочу узнать что победит. Осторожность и максимальная дальность от центра. Или отсутствие столкновений со стенами.

#523
12:40, 13 ноя. 2012

Кажется, все таки решили проблему с победой игрока на 3 часа, теперь общий поворот танков вокруг центра случайный?

#524
12:47, 13 ноя. 2012

Ага, точно. Наверно многие стратегии, заточенные на определение начального положения, полетят в топку.

Страницы: 134 35 36 3759 Следующая »
ФлеймФорумОбщее

Тема в архиве.