Welcome to the third Coding Challenge.
Here I will post a coding challenge every few days that you can solve. There will be easy ones and hard ones, pretty mixed.
How does it work?
Try to solve the challenge in ruby, you learn a bit if you have not heard of the language
Post a comment with a link to your code (use https://repl.it ) and some info on how the code works or what is remarkable
Optional: Create a post with the tag #coding-solution
In that post walk other users through the process of solving your challenge. That way they can learn and try it out on the next one
Optional: Read and review other peoples code, try to find bugs, give feedback and learn
Why even bother?
Training is everything, the more you train your mind to think in code, the better you are prepared
You may learn a few new tricks from reading other solutions
I will send tips for really good solutions (and use the liquid rewards of this post for it too)
You may get recruited if someone likes your code (f.e. I am looking for talents)
Challenge #3 – An AI to solve a maze
This challenge will be a bit more complicated and hands on. See the starting code here: https://repl.it/KWPT/1
Implement an AI class that solves a maze:
the repl.it link gives you a starting point and implements the game.
Only use what repl.it can execute
All code that you need is documented to ensure nothing is unclear, please ping me if you have any more question.
You fill in the step method and everything else you need to get out of the maze.
Each step you get the current maze and possible directions and you return the direction you want to walk in.
You will probably have to remember where you are. A visual representation of the board is given, but that is not easy to parse to encourage you to remember the board yourself.
? ? ? ? ? ? + - - + - - + - - +
? ? ? ? ? ? | AI |
? ? ? ? ? ? + - - + - - + +
? ? ? ? ? ? ? ? ? |
? ? ? ? ? ? ? ? ? + - - + - - +
The game code should not be edited (everything under DO NOT EDIT DOWN HERE!)
Remarks:
As a sample implementation you can try out, a random walker is already implemented.
Try solving a maze with the smallest amount of steps possible.
Try exploring the whole map before you leave the maze.
Bonus points for:
good coding practices and modularity
beautiful (readable, self-documenting) code
Please keep the #coding-challenge tag clean of solutions.