А вот если взять шестигранных роботов и поставить их на шестигранную карту?

Форум для игроков в войны роботов (RW1, RW2D, RW3D) http://rwar.net

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 25224
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

А вот если взять шестигранных роботов и поставить их на шестигранную карту?

Post by Shaos »

Ещё есть мысль поэкспериментировать с шестигранными роботами, воюющими на карте с шестигранными ячейками :)

Вот прицеплю тут формулу для расчёта координат вершин шестигранника:
Screenshot from 2026-07-09 17-10-37.png
(на самом деле мне надо положить его набок т.к. мне нужно чтобы одно из направлений движения было вверх-вниз)
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 25224
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

А вот если взять шестигранных роботов и поставить их на шестигранную карту?

Post by Shaos »

Шестигранное поле битвы 2 роботов может иметь длину стороны 9 - тогда оно будет состоять из 217 ячеек, что близко к классическому размеру 20x10=200

Картинку такого робота тоже можно сделать шестигранной со стороной 6 - тогда она будет состоять из 91 точки, которые упакуются в 45.5 байт. Оставшийся полубайт можно использовать для того, чтобы закодировать оборудование на двух новых сторонах. Если вдруг классический робот попадёт в такую игру, то можно хитро натянуть его квадратную картинку 8x8 на такой шестигранник - примерно вот так:
HexFace.jpg
Что даст например вот такие вот варианты:
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 25224
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: А вот если взять шестигранных роботов и поставить их на шестигранную карту?

Post by Shaos »

То что у квадратного робота было спереди и сзади останется спереди и сзади. То что было слева и справа станет смотреть чуть вперёд и появятся ещё 2 посадочных места для оборудования слева и справа чуть назад. Для механики робота ничего не меняется - он также будет идти вперёд командой STEP и поворачиваться с помощью LEFT/RIGHT на определённый угол (только теперь не на 90 градусов, а на 60 и полный оборот займёт не 4 поворота, а 6). Ещё для радара надо будет добавить регистр Z, чтобы можно было возвращать 3 координаты искомого объекта относительно робота (и идти к объекту подобным же образом как и в 2D варианте - поворачиваем направо и идём X шагов, потом поворачиваем налево и идём Y шагов, а теперь для 6-угольного варианта ещё раз поворачиваем налево и ещё идём Z шагов):
HexCoord.jpg
P.S. Чтобы эта логика работала и с негативными координатами похоже мне надо реализовать команду "шаг назад" назвав её скажем RETREAT :roll:
You do not have the required permissions to view the files attached to this post.