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

CodeTanks 2 (35 стр)

Страницы: 134 35 36 3759 Следующая »
#510
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;
}


#511
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

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

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

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

rusk

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

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

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

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

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

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

-results-file=res.txt

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

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

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

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

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

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

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

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

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

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

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

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

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

entryway

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

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

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

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

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

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

#523
13:04, 13 ноя. 2012

Что-то не сильно они поправили. Рандом на 15 градусов ничего не меняет. Только определяет кто будет на втором месте : )

#524
13:09, 13 ноя. 2012

Megabyte-Ceercop
Откуда цифра в 15 градусов? Я так понимаю, что поворот может быть от [0; 120) градусов.

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

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