DEV Community

Cover image for Solve the Cretan maze
Leonora Der
Leonora Der

Posted on • Edited on

Solve the Cretan maze

UPDATE:
06.26. I added a winners section! :)
07.01. You can now specify the level of your maze (BEGINNER - 7, ADVANCED - 15, EXPERT - 31)

Last week I had an idea and today it became reality.
It is a "game" in which you are in a maze and you have to get out of it. I know it sounds simple, so to be able to see the exit, first, you have to collect 3 golden coins. Is it still easy? You control the game through a REST API.

So your job is to write a program that gets out of the maze. Simple, huh? :)

I was so excited that today I had time to make some progress, and I guess it is in a really good shape now. There are a lot of missing features I dreamt of for the first time, but I think it's time to go live.

Expect some bugs... but I hope you will still find it interesting and fun! :)

Here you can find the details: cretan maze
You can check the code here: git repository

Planned features:

  • winners
  • levels
  • moving walls

I used Spring Boot and Thymeleaf and I published on Heroku so I use PostgreSQL.

Please feel free to contact me! :)
One more thing: I would love to hear your thoughts about it! :)

Top comments (22)

Collapse
 
alexbender profile image
Alex Bender

Hello Leonora!
Thanks for that game, it's really great!
I'm going to try it out;
Is it allowed to get old mazed and play there?

Collapse
 
leonorader profile image
Leonora Der

hi, thanks! :)
if i understand your question right, at the moment it has only one mode, so there is not any 'sandbox' like environment where you can try out stuff, but you are allowed to create as many mazes as you like! :)

Collapse
 
alexbender profile image
Alex Bender

Thanks!
I've explored little bit, really nice!
Would it be possible in the nearest future to generate non only 15X15 mazes?
Like POST /api/mazes with parameter like size

Thread Thread
 
leonorader profile image
Leonora Der

Yes, it is planned, just the way you said! I'm having exams in the next 2 days, but after that I will have time again to work on it! :) I promise, I will let you know! :)

Thread Thread
 
alexbender profile image
Alex Bender

I've started already python client implementation for that, haha! Looking forward for the updates!
Thank you for game and wish you luck with your exams!

Thread Thread
 
leonorader profile image
Leonora Der

Hi again! I do have some time to make some updates now. I planning the following levels: BEGINNER(7), ADVANCED(15) and EXPERT(31). What do you think?

Thread Thread
 
alexbender profile image
Alex Bender

Yeah, different levels are great! Also I'm thinking about custom one, to let user specify size explicitly (if server allows users to)

Thread Thread
 
leonorader profile image
Leonora Der

I updated the challenge so one can choose from those levels. I thought that you might be interested where the user could specify the size, but I do not really feel like it would be great. I mean it would need validations, also if there would be a very big maze like 250 x 250, 3 coins would be too few I think... :)

Thread Thread
 
alexbender profile image
Alex Bender

I didn't think about number of coins vs size. You're right

Collapse
 
katafrakt profile image
Paweł Świątkowski

I just love the idea. Thanks for creating it!

If I may suggest something, it would be nice to have some example responses in the documentation of the API. Unless, of course, you think that figuring that our it a part of the game too. Then that's ok, I think ;)

I hope I will have some time to play with it in near future.

Collapse
 
leonorader profile image
Leonora Der

haha! :) i will think about it! :) but thanks a lot! :) hoping you will enjoy it! :)

Collapse
 
katafrakt profile image
Paweł Świątkowski

Now I noticed there is a link to swagger docs, however it asks me for password...

Thread Thread
 
leonorader profile image
Leonora Der

Yes, the same user/pass you registered with! :)

Collapse
 
alexbender profile image
Alex Bender

Hi Leonora!
Here is the first post from series on exploring your maze!
Going to make it fun soon.
Thanks!

Collapse
 
leonorader profile image
Leonora Der

Thanks for your effort and time! :) I'm looking forward to the upcoming posts in the series! :) I am not a Python developer myself, but I like to play with Python code, but mainly on the domain of data science. Go on, I will stay tuned! :)

Collapse
 
alexbender profile image
Alex Bender

Thanks!
Really coming sooon!

Collapse
 
theodesp profile image
Theofanis Despoudis

Actually, there was a Cretan Labyrinth which is not the same as the maze.

See the difference here:

english.stackexchange.com/question...

Collapse
 
leonorader profile image
Leonora Der

Yeah, I know that! :) But I was about the create a maze and I wanted to give it some context, a good story... and I guess it would have been too easy if I made a lot simpler labyrinth.... what do you think? :)

Collapse
 
maxart2501 profile image
Massimo Artizzu

This is nice.
One question: if I make a step, what's the "ON" direction?
And another: are coins automatically collected as I step on a cell?

Collapse
 
leonorader profile image
Leonora Der • Edited

hi, thanks! :)
ON is what you are standing on so for example you can see that you are standing on a coin... and no not automatically collected, there is a 'pick up a coin' endpoint working only if you are standing on one! :)

Collapse
 
bias profile image
Tobias Nickel

It is great, I had a lot of fun with it. and I already have let it solve by one of our interns, so he has a cool task and learning python.

thanks

Collapse
 
leonorader profile image
Leonora Der

Nice to hear! :)