Programmatically find a route between the start and end points of a 2-dimensional maze.
What exactly should my program do?
You need to download the attached project, and fill out the class MazeTracer
with code. The 3 required methods SeeAdjacent
are already defined and must be included, all you need to do is fill them with code to move through the maze.
class is included in a project which can be used to test it using the three maps provided. Data on each tile is provided in an Integer and details can be extracted by using a bitmask. Details on how to do this are included in the project.
What is my code being judged on?
Your code will be tested with 16 mazes:
- 4 simple mazes with one path to the exit
- 4 mazes with multiple paths to the exit
- 4 wraparound mazes
(when you leave from the west side you appear again at the east side and when you leave from the north side you reappear again at the south side)
- 4 trick/unusual mazes
Your entries will be judged primarily on the number of calls to GetMove
it takes to reach the exit. In the case of a tie, the actual speed of the algorithms will be compared. If an entry has not reached the exit after 10,000 moves or 5 minutes (whichever comes sooner) it will be disqualified from that particular maze.
Who can enter?
All registered members of VisualBasicForum.com are eligible, however only non-badged members will be recognized.
During the period from now until the contest has closed, no discussion of techniques or algorithms used to complete the task will be allowed either on the forum or on IRC.
Where do I submit my entry?
Send your entry along with your forum username to firstname.lastname@example.org
by 11:59 PM GMT on March 20, 2003. Do NOT
post your entry publically. All submissions must be attached within a valid .zip file. Submissions that do not contain a .cls file which meets the specifications above will be disqualified. This is a contest for Visual Basic versions 6 and below. Entries written in any other language, including VB.Net, will be disqualified. Multiple entries per person are allowed.
What does the winner receive?
To be determined