npm run build && surge --domain treasure.surge.sh
The aim of this game is to demonstrate the power of binary search algorithms to novice programmers. The user should first try and create a strategy for finding the treasure. Most likely the user will stumble upon a strategy very similar to binary search. Try starting with a one dimensional array first.
Binary search strategy can be summarized by: dividing the grid in half each time until you reach one possible cell. The number of times it takes to divide a number in half until you reach one is the definition of log_base_2(N). Therefore using the binary search strategy, the best number of guesses to find the treasure is log_base_2(totalCells). Checkout the solver tab to see binary search in action.
I would like to turn this in to a talk at some point and using the analogy of advent calendars. Here are the slides.