The Maze Challenge
You’re on a Caribbean Island vacation with some of your friends. It’s all sunshine and fruit drinks, when a mysterious fellow walks up to you on the beach. He offers each of you a week’s stay at the finest resort on the island if you and your friends can solve the resort’s garden maze challenge. After a brief consultation, you and your friends agree. There are some rules, the fellow says, but you all agree anyway and follow him to the resort.
He tells you that you will all be led into the maze while blindfolded. He goes on to say that some time later he will return, and if you and your friends are all together, you will win the challenge. Once you’re blindfolded and led into the maze, he instructs you and your friends to listen for a bell to ring three times at which point each of you may remove the blindfold. Each of you are then blindfolded and led into the maze. You all assume you’re together, but when the blindfolds are removed, you realize that while you are indeed in the maze, you are no longer with your friends - you can see no one. The walls of the maze are too high to see over, and they are too thick with thorns to see through or to climb over. You decide that the best course of action is to go through the maze looking for your friends. You quickly realize that you can call out to them and they can hear you and respond with hints as to where they are. Remembering that you and your friends have a limited amount of time to get back together before the man returns, you dash off through the maze to find them.
The goal of this project is for each team to design, implement, and test a client application that simulates you and your friends searching for each other in a maze that is generated and managed by a separate server application. Each person in the maze will be represented by an Avatar.
The maze is rectangular, and is a “perfect” maze. A perfect maze is defined as a maze which has one and only one path from any point in the maze to any other point. This means that the maze has no inaccessible sections, no circular paths, and no open areas.
Team members will need to collaborate on the design of the client application. How you divide up the work is up to you. The teams will need to produce a design document, code the client, perform unit and subsystem testing of the client components, and full testing of their client with the server provided by the instructors. Depending upon the success of your simulation of the Avatars finding each other in the maze, you may have to refine your client application’s search heuristics a few times.
Once the client is working properly with the server for small, simple mazes, the teams will run their client on increasingly difficult mazes.
For the detailed requirement, please see the Maze Challenge.
Meet Our Teams!
|SudoRMRF||Adam Rinehouse, Alexander Newman, Dat Vo, and Ricardo Taboada||Bob, Vasanta|
|Bashful Brigade||Emma Hobday, Christina Lu, Arun Hari Anand, and Bill Tang||Bob, Sagar|
|Team Grant||Maxwell Coleman, Grant Cook, Grant Barker, Luke Hudspeth, and Patrick Matlin Redondo||Bob, Sagar|
|Best cs50 group||Weiling Huang, Hailey Nicholson, Shiyao Peng, and Mena David||Afnan, Emily|
|Core Dump||Abby Starr, Angela Liu, Andrew Liu, and Linford Zirangwa||Afnan, Caitlyn|
|Jerry?||Joshua Wende, Thomas Young, Andrew Alini, and Kevin Tan||Afnan, Alex|
|Lone Pine||Azhar Hussain, Tianyu Li, Oliver McTammany, and Matthew Kersey||Max, Elisabeth|
|Mongoose||Ruoni Wang, Lisa Oh, Hsuan-Chieh Huang, and Zhenyao Cai||Max, David|
|The C-shells||Jessica Teipel, Isabel Hurley, Tianhang Dong, and Madeleine McDermott||Max, Alexander|