Giter VIP home page Giter VIP logo

mazechallenge's Introduction

MAZERUNNER challenge

Welcome to this code challenge !

What is expected ?

Write code to find your way through a maze, while only getting feedback through a 13x13 line of sight array
that is returned after each move

Basicly you start by:

  • running: GraphicalLauncher.java
  • implement: ChallengeImpl.java (current code will only run to see something moving on the screen)
  • repeat until done

What will happen with it ?

I will compare the code with others by:

  • cpu benchmark
  • minimum moves average
  • maybe memory

Where do I start ?

  • clone and import into IntelliJ idea (others not tested)
  • GraphicalLauncher: starts the code with a view (the view won't be there when I bench it)
    • try this first just to get a feel what it does
  • HeadlessLauncher: is there for you to test faster, and is more similar to the way I run it
    • try this seconds and see it's the same as first, but headless
  • Test both to get a feel of what it does
  • open mc.renamebeforepr package
    • open the ChallengeImpl within that package
    • public void handleLineOfSightUpdate(CellType[][] los) {
      • is called after every move supplying you with the current 360 degree line of sight with you in the middle
      • create you own datastructure and process the (CellType[][] los) that is given
    • public Direction getMove()
      • is called before every move
      • needs you to choose/return a Direction enum (NORTH, SOUTH, EAST, WEST)
  • The ChallengeImpl should be the only file you need to change
    • You can add other files within the same package

What should it do ?

You will be presented a maze, every iteration a 'Direction' (enum) will be asked from you as response.
You must choose your new direction by storing and computing input from : maze.getLineOfSight.
That input will be : a 13x13 grid with 'your' position in the middle. The values are enums(CellType)

Now you must find your way from Start to finish tile !

When i am done

Rename your folder to something with your (fake)name preferably Best would be if you could leave a Pull Request to github If you are really not able you could send me your renamed package with the file implementing Challenge

Important

  • The mazes are random and not tested that thoroughly. If you get an exception (rare) just restart
  • Customize the runners in the : Configuration file you can specify:
    • pixel size: so that you can see more or better
    • Screensize
    • FPS to control the speed of the simulation (Frames Per Second)
    • some more
    • Choose what example mazes are run so that you can try and test/debug better.

I hope you will enjoy this challenge ! For questions you can ask 'deboder'

mazechallenge's People

Contributors

dbder avatar boxbeam avatar yuripourre avatar jasonthekitten avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.