Mathwar

Артиллерия на декартовой плоскости. Оружие — функция y = f(x).

или

Как играть

Каждый ход вы пишете функцию. Снаряд летит по её графику от вашего солдата в сторону противника.

Главное: график сдвигается по вертикали так, чтобы пройти через вашего солдата. Значит любая константа в функции бессмысленна: 2*x+3 и 2*x — одно и то же.

Ось x: от −25 до +25, ось y: от −15 до +15. Ваши солдаты всегда на отрицательных x, поэтому sqrt(x) взорвётся сразу — нужно sqrt(abs(x)).

x^2 при x=−15 даёт 225 — это далеко за потолком, график встанет почти вертикально. Делите: (x^2)/50.

Траектория прошивает солдат насквозь — своих тоже. Слишком длинный график (например sin(100*x)) обрывается сам.

Край поля — такая же стена: ушедший за верхнюю границу снаряд взрывается о неё, а не возвращается. Перелететь «над экраном» нельзя.

Приёмы против препятствий. Считайте x по сетке от центральной оси в сторону противника — у обеих команд он растёт к врагу, жирная линия каждые 5. Ниже — реальные траектории, просчитанные тем же кодом, что стреляет в игре.

Гора посреди поля. -x^2/50 — парабола с вершиной в центре: снаряд поднимается на 6–7 клеток к середине и снижается к чужому краю.

Траектория -x^2/50 дугой перелетает круглое препятствие в центре поля и попадает в солдата справа

cos(x/6)*5 берёт выше — около 10 клеток — и начинает подъём сразу от вашего солдата.

Траектория cos(x/6)*5 высокой дугой проходит над препятствием в центре

Стена в известной точке. 6/(((x-10)/4)^2+1) — холм высотой 6 с центром в x=10 и полушириной 4, а на остальном пути траектория остаётся прямой. Меняете три числа под конкретную стену: высоту, точку, ширину.

Почти прямая траектория с одиночным холмом ровно над препятствием, стоящим в точке x=10

Со знаком минус — -9/(((x-10)/4)^2+1) — тот же горб становится подкопом и обходит препятствие снизу.

Траектория ныряет под препятствие в точке x=10 и возвращается на прежнюю высоту

Острый гребень. -abs(x-5)/2: ровный подъём до x=5 и такой же спуск. Делитель задаёт крутизну — -abs(x) без него уводит снаряд в потолок.

Траектория поднимается прямой линией до пика в точке x=5 и такой же прямой спускается к цели

Узкая щель. x/20 — почти прямая с небольшим наклоном; чем больше делитель, тем ровнее.

Пологая прямая проходит в узкий просвет между двумя большими препятствиями

Стена вплотную к цели. 50/(28-x) — пологий разгон и резкий набор высоты у самого края поля.

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

Горб должен быть шире препятствия, иначе снаряд врежется в бок раньше, чем начнёт подниматься: 6/(x^2+1) слишком узкий и разбивается о край круга, хотя над его центром прошёл бы с запасом.

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

Доступно: + - * / ^, sqrt log ln abs sin cos tan exp, pi, e. Знак умножения можно опускать: 3sin(5x), 2pi, 2(x+1). Но x2 — ошибка, а не x*2: скорее всего вы имели в виду x^2.

Команды чата: -skip (общий голос за новую карту), -sayfunc / -stopsayfunc.

Комната

Дайте код или ссылку остальным — они на той же машине в сети.

Mathwar
—
y =