А тебе обязательно ромбическая карта? Можно хранить карту в виде двухмерного массива, в котором чередуются ряды со смещением (метод zigzag).
Тогда нарисовать квадратную область можно довольно просто. Для ромбической карты придется использовать массив с высотой и шириной равный диагонали ромбической карты.
Собственно ты можешь хранить копию карты в двух массивах для вычислений и отрисовки... правда это потребует больше памяти.
Если захочешь потом хексы, то их тоже так рисовать можно: