Playing with Go
Command: go run main.go -stdin
- Will enable direct input for map generation
Command: go run main.go --mapname=gen1
- Will read a saved map (in the example: ./maps/gen1.map)
Command: go run main.go
- Will generate a random 60x20 map, and will include a Rover and a Target
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░ ░░░░░░░░░░░░░░░░
░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░ ░░░
░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░ ░░ ░░░
░░░░░░ ░░░░░░░░░░░░░░░░░ ░░ ░░░░ ░░░
░░░░░░ ░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░ ░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░ ░ ░░░░░░░ ░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░ ░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░ ░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░ ░░░░░░░ ░░░░░░░░░░░░░░ ░░░░░░░░░░░ ░░░
░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░░░ ░░░░░░░ ░░░
░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░ ░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░░🐜░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░░░░ ░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░
░░░░░░░░░░░░░░░ ░░░░░░░░ ░⭙░░░░░░░░░░░░░░░ ░░░
░░░░░░░░░░░ ░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░
Once the main.go is
running with any kind of generation mode,
you can navigate to localhost:8888 and access the HTTP engine interface
Example:
mapGenerator := generators.NewMapGenerator(geo.NewSize(60, 20))
mapGenerator.DefineObstacles(2, geo.NewSize(8, 17))
mapGenerator.DefineObstacles(1, geo.NewSize(8, 8))
worldMap := mapGenerator.Generate()
Example:
worldTaget := generators.GetPointInMap(worldMap)
Example:
ant := actors.NewAnt(worldMap)
ant.Init(*antOrigin, *worldTaget)
Example:
mapGenerator := generators.NewMapGenerator(geo.NewSize(60, 20))
mapGenerator.DefineObstacles(2, geo.NewSize(8, 17))
mapGenerator.DefineObstacles(1, geo.NewSize(8, 8))
mapGenerator.DefineObstacles(1, geo.NewSize(4, 4))
mapGenerator.DefineObstacles(3, geo.NewSize(2, 3))
mapGenerator.DefineObstacles(20, geo.NewSize(1, 1))
worldMap := return mapGenerator.Generate()
worldTaget := generators.GetPointInMap(worldMap)
antOrigin := generators.GetPointInMap(worldMap)
ant := actors.NewAnt(worldMap)
ant.Init(*antOrigin, *worldTaget)
ui.PrintRepresentation(worldMap, worldTaget, ant)