Nothing Special   »   [go: up one dir, main page]

Skip to content

glouw/dungen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delaunay Triangulation Dungeon Generator.

>> Inspired by Tiny Keep's dungeon generator.

Use case:

#include "Map.h"

int main()
{
    const Map map = xmgen(80, 120, 10, 40);
    xmprint(map);
    xmclose(map);
}

Where the map generation function is defined as:

Map xmgen(
        number of columns,
        number of rows,
        size of grid,
        max number of rooms);

Generated map is stored as a 2D array of characters.

Here's what it looks like:

#############################################################
###########         #         #         #         ###########
##       ##         #         #         #         ###########
##       ##         #         #         #         #         #
##       ##         #         #         #         #         #
##                                                          #
##       ##         #         #         #         #         #
##       ##         #         #         #         #         #
##       ##         #         #         #         ##### #####
###########         #         #         #         ##### #####
############### ################### ################### #####
############### ###############         #         ##       ##
#############     #############         #         ##       ##
###########         ###########         #         #         #
###########         ###########         #         #         #
###########         ###########                             #
###########         ###########         #         #         #
###########         ###########         #         #         #
#############     #############         #         ##       ##
############### ###############         #         ##       ##
############### ############################# ######### #####
###     #####     ########################       ####     ###
###     #####     ####       #############       ###       ##
###     ###         ##       #############       ##         #
###     ###         ##       #############       ##         #
###                          #############                  #
###     ###         ##       #############       ##         #
###     ###         ##       #############       ##         #
###     #####     ####       #############       ###       ##
###     #####     ####### ################       ####     ###
##### ######### ######### ############################# #####
#         #         ##### ######       ###       ####     ###
#         #         ##       ###       ###       ####     ###
#         #         ##       ###       ###       ####     ###
#         #         ##       ###       ###       ####     ###
#                   ##                                    ###
#         #         ##       ###       ###       ####     ###
#         #         ##       ###       ###       ####     ###
#         #         ##       ###       ###       ####     ###
#         #         ############       ###       ####     ###
##### #######################################################
##### ######       ###       ################################
##       ###       ###       ################################
##       ###       ###       ################################
##       ###       ###       ################################
##                           ################################
##       ###       ###       ################################
##       ###       ###       ################################
##       ###       ###       ################################
############       ###       ################################
############### ######### ###################################
############       ###       ##############     #############
############       ###       ##############     #####     ###
############       ###       ##############     ####       ##
############       ###       ##############     ####       ##
############       ###       ##############                ##
############       ###       ##############     ####       ##
############       ###       ##############     ####       ##
############       ###       ##############     #####     ###
############       ###       ##############     ####### #####
############### ######### ################### ######### #####
#         ###     ####       ##############     ####### #####
#         ##       ##         #         ###     ####       ##
#         ##       ##         #         ##       ###       ##
#         ##       ##         #         ##       ###       ##
#                                       ##       ###       ##
#         ##       ##         #         ##       ###       ##
#         ##       ##         #         ##       ###       ##
#         ##       ##         #         ###     ####       ##
#         ###     ####       ###### #######     ####### #####
##### ############################# ######### ######### #####
#         ######################### ######### #####         #
#         #######################     #####     ###         #
#         #######################     ####       ##         #
#         #######################     ####       ##         #
#         #######################                           #
#         #######################     ####       ##         #
#         #######################     ####       ##         #
#         #######################     #####     ###         #
#         #########################################         #
##### ################################################# #####
##### #####         ###     #####     #############         #
#         #         ##       ####     #############         #
#         #         ##       ####     #############         #
#         #         ##       ####     #############         #
#                                     #############         #
#         #         ##       ####     #############         #
#         #         ##       ####     #############         #
#         #         ##       ####     #############         #
###########         ###     #####     #############         #
############### ######### ######### ################### #####
###########         ##### #####         #         ##### #####
###########         ##       ##         #         ##       ##
###########         ##       ##         #         ##       ##
###########         ##       ##         #         ##       ##
###########         ##       ##                            ##
###########         ##       ##         #         ##       ##
###########         ##       ##         #         ##       ##
###########         ##       ##         #         ##       ##
###########         ###########         #         ###########
#############################################################

Credit to Phi Dinh for the awesome algorithm.