hex_grid

Crates.iohex_grid
lib.rshex_grid
version0.2.1
sourcesrc
created_at2018-01-01 23:17:42.428392
updated_at2019-10-28 21:29:55.655544
descriptionA library to easily work with 2d hex grids of arbitrary shapes
homepage
repositoryhttps://github.com/fuchsnj/hex_grid
max_upload_size
id45154
size14,178
Nathan (fuchsnj)

documentation

README

Hex Grid

Build Status crates.io

Documentation

A library to easily work with 2d hex grids of arbitrary shapes. This library currently only supports "Pointy Top" hexagons.

Usage

Add this to your Cargo.toml:

[dependencies]
hex_grid = "*"

and this to your crate root:

extern crate hex_grid;

Quick Start

use hex_grid::*;
use std::collections::HashMap;

struct CustomData{
    //..whatever data you want associated with each tile
}

//empty grid
let mut grid: HashMap<Coordinate, CustomData> = HashMap::new();

//fill the grid with tiles in a hexagon shape of size 3
let coords = CENTER + Offset::fill_hex(3);
for coord in coords {
    let data:CustomData = //...
    grid.insert(coord, data);
}

//get the tile that is to the right 2 tiles from the center tile
let tile:Option<CustomData> = grid.get(CENTER + RIGHT*2);

Commit count: 20

cargo fmt