Skip to content

Fibonacci dungeon - #32

Open
ComputerOracle wants to merge 2 commits into
BlockheaderWeb3-Community:mainfrom
ComputerOracle:fibonacci-dungeon
Open

Fibonacci dungeon#32
ComputerOracle wants to merge 2 commits into
BlockheaderWeb3-Community:mainfrom
ComputerOracle:fibonacci-dungeon

Conversation

@ComputerOracle

Copy link
Copy Markdown

Implements the fibonacci dungeon

…ation

- src/dungeon.rs: build_fib_tree constructs a recursive Fibonacci call
  tree as rooms/nodes; print_tree draws the branching structure with
  tree-style connectors; evaluate_tree computes fib(n) bottom-up and
  caches each room's result; count_rooms / count_sealed_chambers /
  longest_path report structural stats on the tree.
- Memory Ward: build_fib_tree now uses a HashMap to reuse an existing
  room instead of rebuilding one for a value already seen, turning the
  structure into a DAG (Rc for shared ownership, RefCell for interior
  mutability on the cached result). count_distinct_rooms shows the
  payoff: n+1 distinct rooms instead of the tree's exponential
  2*F(n+1)-1 corridor count.
- src/main.rs: reads n from stdin and wires all of the above together.
- src/guess.rs: earlier number-guessing game, kept but no longer wired
  into main (main.rs now runs the dungeon instead).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant