This repository contains a class library and a console application for generating random maps of planets and their interconnecting edges. The class library provides domain models for Map, Planets, and Edges, as well as the logic to generate a random map based on various properties, such as the number of planets and the size of the map.
The Map model represents the overall map and holds a collection of Planet and Edge models. The Planet model represents a planet with its unique ID, name, and coordinates. The Edge model represents an edge connecting two planets and holds the distance between them.
The Planets and Edges models can be used to define custom maps. Additionally, the library includes a MapGenerator class that can generate a random map based on the desired properties. The generator accepts input parameters such as the number of planets, the minimum and maximum distances between planets, and the size of the map. It outputs a randomly generated map that satisfies the specified constraints.
The repository includes a console application that utilizes the class library to generate a map and save it as a PNG image file. The application prompts the user to enter the desired properties for the map, such as the number of planets and the size of the map. It then generates and saves the map as an image file.
The repository provides examples of maps created using various algorithms. These maps demonstrate the capabilities of the map generation logic. Below are a few sample images: