Skip to content

rmobis/dreamers-challenge-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Dreamer's Challenge Solver

Since the first time I played through this Tibia quest I felt intrigued by the little pillow puzzles it had on Mission 2. I started to code a few years later and ever since I've felt the need to find a way to solve it programatically. After years of postponing it, telling myself it was too difficult, I've finally managed to do it. This is the result.

Usage

Here's a little example that uses the DreamersSolver class to solve a DramersBoard created from a predefined tiles table and then prints the amount of steps taken to solve it:

function callback(step)
    print(sept.dir, step.n)
end

local b = DreamersBoard:new({
    {1, 2, 3, 4, 1, 2},
    {3, 4, 1, 2, 3, 4},
    {1, 2, 3, 4, 1, 2},
    {3, 4, 1, 2, 3, 4},
    {1, 2, 3, 4, 1, 2},
    {3, 4, 1, 2, 3, 4}
}, callback)

local s = DreamersSolver:new(b, {
    {1, 2},
    {3, 4}
})

s:solveBoard()

if s:checkBoard() then
    print('Board solved!')
end

Contributing

If you have any code to add, please make a pull request. If you have any suggestion, please open an issue. You can take a look at the todo list below for anything that needs to be done. Any contribution is welcome.

Todo

  • Add an implementation with synchronize for other bots.
  • Add algorithm details for each quarter.
  • Improve algorithm.

License

Dreamer's Challenge Solver is open-sourced software licensed under the MIT license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages