JavaRacing1 / BA-INT-Online-Game

PVP game for INT
0 stars 0 forks source link

Terrain-Generation und Spieler-Spawns hinzufügen #16

Closed JavaRacing1 closed 4 months ago

JavaRacing1 commented 4 months ago

Fügt einen Level-Generator sowie einen Generator für Spielerpositionen hinzu. Diese können aktuell nur per Code benutzt werden, eine UI kommt zu einem späteren Zeitpunkt hinzu.

Nutzung des Level-Generators:

//Generator erstellen
LevelGenerator levelGenerator = new();  

//Optional: Speichert alle Zwschenschritte der Generierung in Bildform unter "output/[TerrainTyp]/[Schritt].png"
//Das fertige Terrain kann unter "6_erosion.png" gefunden werden.
levelGenerator.EnableDebugMode();

//Form des Terrains auswählen
levelGenerator.SetTerrainType(TerrainType.OneIslandMedium); 

//Optional: Zufälligen Startwert generieren
int seed = new Random().Next();

//Terrain generieren und in Bild speichern
Image image = generator.Generate(seed);

Nutzung des Positions-Generator:

//Generator erstellen
PlayerPositionGenerator spawnGenerator = new();

//Generator initialisieren
spawnGenerator.Init(image, TerrainType.OneIslandMedium);

//Zufälligen Startwert generieren
double spawnSeed = new Random().NextDouble();

//Spawnpunkt generieren -> Mittelpunkt des Charakters
(double, double) pos = spawnGenerator.GetSpawnPosition(spawnSeed);