Andy0903 / Dungeon-Clearer

Dungeon Clearer
2 stars 0 forks source link

Look into graph grammar #41

Closed Andy0903 closed 6 years ago

Andy0903 commented 6 years ago

Potentials; http://www.info.uni-karlsruhe.de/software/grgen/ https://designengrlab.github.io/GraphSynth/

Denied; https://github.com/YaccConstructor/QuickGraph

(Will be edited)


No

Andy0903 commented 6 years ago

bl = boss (level) bm = boss (mini) C = Chain CF = Chain (Final) CL = Chain (Linear) CP = Chain (Parallel) e = entrance F = Fork G = Gate g = goal H = Hook //ib = item (bonus) //iq = item (quest) k = key kf = key (final) km = key (multi piece) --->Döda enemies i rummet för att lighta 4 lights etc (sid 64) Limit to 1 per dungeon eller ögr flera olika kms som inte kan vara SAMMA sorts km? (sid 65) l = lock lf = lock (final) lm = lock (multi) n = nothing/exploration S = Start

t = test ti = test (item) ts = test (secret) --- spräng upp med bomb, FÖRE bomb baggen ((tsb)) ---variation på ts så att bomb baggen inte låg inne i ett bomb only room någonsin, dessa kom alltid EFTER

---> vill vi göra att man kan hitta bomber i dungeons som kan spränga grejer? Inget som man får behålla efteråt men typ en dungeon spell man tappar bort sen ingen? Sid 64 i ZDG boken

Andy0903 commented 6 years ago

3.2.3 Graph Structure ZDG Graphs are implemented as a list of nodes which themselves contain a list of edges. Nodes contain information such as their mission symbol, unique ID, and their temporary rule node identifier needed for steps 2 to 6 of the rewrite process (see section 2.6.1.1). Edges contain the unique ID of the target node and whether or not the connection is a tight coupling. A rule consists of two graphs (left and right hand side) of the same described structure. An alphabet is a dictionary of string symbols (such as ‘bl’) and bools specifying whether or not the corresponding symbol is a terminal one

Andy0903 commented 6 years ago

Gör metoder för DFS och Topology search i någon klass som tar en lista med nodes som graf och vad mer de än behöver

Andy0903 commented 6 years ago

Generera en liten mission graf: Gör enum för de olika symbolerna (ist för strings)

Grafstruktur: List där Node innehåller en List och Edge har den andra nodens ID (index i listan) 0 tight coupling bool Noden innehåller variabel av enumtypen (alfabetet)

Rule som egen klass som innehåler vikten, mönstret den matchar och vad den procuderar. Vet inte riktigt hur man uttrycker möster/resultat bäst. egentligen är det ju två grafer. (Lite jobbigt att jobba med men blir nog bäst som bara 2 grafer i den.)

Eget namespace? Typ; Grammars:: """" skit i space tills du har detta på plats men du skapar dig en S-nod så hittar du en random regel som matchar den och gör ersättningen så väljer du nån av dem och gör samma sak repeat tills detbara finns terminal nodes """"