Skip to main content

Ferramenta para gerar grid de hexágonos, para a criação de mapas de RPG.

Project description

Hexagonos

Ferramenta para gerar grid de hexágonos regulares, para a criação de mapas de RPG.

Classe criada com base nesse artigo

Changelog

  • 1.0.0 - Lançamento

Como criar um mapa hexágonal

  1. O primeiro passo é escolher a orientação do hexágono:
  1. Determine o tipo de layout que pode ser hexágonal ou retangular. Passe o tamanho do mapa.

Esses dois passos vai retornar uma lista com os hexágonos.

Desenhando a grid

Agora é preciso determinar mais dois parâmetros:

  • a medida em pixels de cada hexágono
  • qual a coordenada de início do mapa (lembrando que o centro do hexágono será essa coordenada, se colocar 0, 0 fará com que parte do hexágono não apareça).

Faça um loop na lista com a grid usando vertices_hex para obter os pontos a serem desenhados.

Hex

A classe para criar o hexágono. Ela recebe três parâmetros, que indica as coordenadas cúbicas q, r e s, conforme descritas aqui.

distancia(outro_hex)

Esse método vai medir a distância entre dois hexágonos, retornando um valor inteiro. Um hexágono que esteja encostado no outro vai ter a medida 1.

vizinho(index)

Retorna um hexágono lateral entre os seis possíveis.

id

Essa propriedade é a tupla com as coordenadas e pode ser usado para identificar o hexágono dentro da guia.

Coordenada

Uma tupla nomeada, com x e y (se estiver fazendo uso do pygame pode ser substituída pelo Vector2 que conta com diversos métodos de manipulação).

Medida

Uma tupla nomeada com largura e altura.

vertices_hex

Essa função retorna uma lista com as coordenadas em pixels de cada um dos seis pontos do hexágono.

grid_hexagonal

Essa função retorna uma lista com os hexágonos para montar um mapa em formato hexagonal. O tamanho_grid é o raio do círculo formado ao redor do hexágono central (um grid de tamanho 4 vai ter 4 hexágnos à esquerda, 4 ao topo, 4 abaixo e 4 à direita do hexágono central).

grid_retangular

Essa função retorna uma lista com os hexágonos para montar um mapa em formato retângular. O tamanho da grid é medido por qtd_horizontal e qtd_vertical, que determina a quantidade de retângulos nesses eixos.

filtrar_hex

Essa função retorna um hexágono pelo id dentro de uma grid de hexágonos. Se não houver um hexágono com esse id, retornar None.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hexaag-1.0.0.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file hexaag-1.0.0.tar.gz.

File metadata

  • Download URL: hexaag-1.0.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for hexaag-1.0.0.tar.gz
Algorithm Hash digest
SHA256 67b7ce4a74720bc0aff7b802bdb06a72a36552dd1f59d52b710d00e56ced0a2f
MD5 e26d862f1e080a903dbbfdd208668b6f
BLAKE2b-256 d8019a8bfb9c170a19046b88ed45392d7a0921e09b3295347e08eae12a8e2a14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page