Also, hier ist eine Karte von, sagen wir, einem Dungeon ...
##########
# #####
# #####
##########
##########
##########
##########
#### ##
#### ##
##########
Nehmen wir an, der Held befindet sich in Raum A (oben links) und sein Ziel (ein Prinz in Not?) Befindet sich in Raum B (unten rechts). Unsere Karte erlaubt es dem Helden nicht, ihr Ziel zu erreichen.
Wir müssen einen Durchgang hinzufügen ...
##########
# #####
# #####
####.#####
####.#####
####.#####
####.#####
#### ##
#### ##
##########
Dort viel besser!
Regeln
- Ein Programm oder eine Funktion, die eine Dungeon-Map akzeptiert (bestehend aus Hashes und Leerzeichen, wobei die Zeilen durch neue Zeilenzeichen getrennt sind).
- Es wird eine Karte mit Punkten ausgegeben, die Passagen in allen Räumen kennzeichnen, die sich auf einem direkten Pfad zwischen den Leerzeichen befinden.
- Die Zeilenlänge oder die Anzahl der Zeilen wird nicht geändert.
- Passagen verlaufen alle in direkter Linie von Raum zu Raum.
- Durchgänge können nicht um Ecken drehen
- Sie befinden sich nicht zwischen Leerzeichen und dem Rand der Karte.
- Verwenden Sie eine beliebige Sprache.
- Versuchen Sie, die Konvertierung in den wenigsten Bytes durchzuführen.
- Wenn keine Durchgänge gezeichnet werden können, geben Sie die Karte unverändert zurück.
- Die Karte sollte immer um alle Kanten herum mit Hashes versehen sein (Leerzeichen am Rand müssen nicht behandelt werden).
- Eingabe-Maps sind immer rechteckig. Jede Zeile sollte dieselbe Breite haben.
Testfälle
#### ####
# # => # #
# # # #
#### ####
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
########## ####.#####
########## ####.#####
#### ## #### ##
#### ## #### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##########
########## => ##########
########## ##########
########## ##########
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
#### ### #### ###
########## ######.###
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##..######
########## => ##..######
########## ##..######
########## ##..######
## ####### ## .######
## ###### ## ######
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
########## => #.########
########## #.########
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
##### ### => #.### ###
##### ### #.### ###
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
## # ## #
########## ##......##
########## ##......##
########## => ##......##
########## ##......##
########## ##......##
########## ##......##
# ## # ##
########## ##########
########## ##########
#### #### #### ####
####### ## ####..# ##
###### ### ####.. ###
# ### ## # => # ... .. #
# ## ### # # .. ... #
### ###### ### ..####
## ####### ## #..####
#### #### #### ####
########## ##########
#
und verwenden.
?