@Alkrip

Как сделать гексогональную сетку в pygame?

Решил написать игру на питоне, пошаговую стратегию. Хочется реализовать гексогональную сетку по которой будут ходить фигуры. Суть проблемы заключается в том что я вовсе не знаком с гексогональними картами и не представляю как это можно осуществить. Можете что нибудь посоветовать, подкинуть идей. Желательно с использованием csv файлов поскольку у меня уже есть опыт работы с ними. Вот пример моего кода для квадратичной тайловой сетки:
import pygame
from csv import reader
from settings import tile_width, tile_height
from os import walk

def import_folder(path):
    surface_list = []

    for folder_name, sub_folders, image_files in walk(path):
        for image in image_files:
            full_path = path + '/' + image
            image_surf = pygame.image.load(full_path).convert_alpha()
            surface_list.append(image_surf)

    return  surface_list

def import_csv_layout(path):
    terrain_map = []
    with open(path) as map:
        level = reader(map, delimiter = ',')
        for row in level:
            terrain_map.append(list(row))
        return terrain_map

def import_cut_graphics(path):
    surface = pygame.image.load(path).convert_alpha()
    tile_num_x = int(surface.get_size()[0] / tile_width)
    tile_num_y = int(surface.get_size()[1] / tile_height)

    cut_tiles = []
    for row in range(tile_num_y):
        for col in range(tile_num_x):
            x = col * tile_width
            y = row * tile_height
            new_surf = pygame.Surface((tile_width, tile_height))
            new_surf.blit(surface, (0,0), pygame.Rect(x, y, tile_width, tile_height))
            cut_tiles.append(new_surf)

    return cut_tiles


В целом результат должен быть похож на етот:
626d625a37205493458097.png
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
@0Z0SK0
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы