0.0
No commit activity in last 3 years
No release in over 3 years
This gem aims to offer a very easy to use infinite cellular map allowing movement through vectors and use of zones.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme
=Two dimensional cellular map

This gem helps creating unbounded two-dimensional cellular maps.

==Maps

see CellularMap::Map

Generating a map is as easy as it sounds :
 map = CellularMap::Map.new

You can put things in the cells directly through the map :
 map[12, 7] = :whatever

==Cells

see CellularMap::Cell

Cells are accessed through the [] method :
 cell = map[-1, 5]

A cell have content :
 cell.content
 cell.content = "something"
(an empty cell's content is nil)

Move from one cell to the other using coordinate vectors simply like this :
 cell + [0, 5]
 cell - [-8, 9]

==Zones

see CellularMap::Zone

Zones are also accessed through the [] method, using at least one range for
boundary :
 zone = map[0..7, 18..29]
 zone = map[5, -1..6]
 zone = map[-4..-2, 3]

A zone allow pretty much the same kind of access to cells and other zones as
maps, but the coordinates are relative to the lower coordinates of the zone
instead of the map's :
 zone = map[1..4, 3..7]
 cell = zone[0, -8]
 # same as : cell = map[1, -5]
 other_zone = zone[10..12, 9]
 # same as : zone = map[11..13, 16]

==License

Wanna read, use, reuse, change ? By all means please do, it's under GPL V3.

see link:LICENSE for more details about the GPL V3, it's pretty awesome