Project 7: AMaze: an Android App to explore a Maze 


To Deliver: release 11.0

To Download: 

Due date for submission:    Nov 25, at 5 AM

Drop out date:                     Dec 2, at 5 AM.


Motivation

We want to complete our maze application on Android by integrating the automated maze exploration algorithms, i.e. the various implementations of the RobotDriver.java interfaces. 


The key difference to Project 6 is that the automated maze exploration does not produce a sequence of (user input, screen update, user input, screen update, …) but a sequence of screen updates as an effect of a single user input. So, basically, our robot driver produces a sequence of images much like an animation, a movie. 


This will force us to use a slightly different approach than the one we used in Project 6.


What to learn from this project:

- Experience in difference between the general Java environment and the specific Android Java environment. 

- Working with threads (the maze generation operates in a separate thread to keep the UI responsive)

- Working with simple graphics in Android

- How Android handles graphics and screen updates in its UI thread with a message queue



Notes


When porting Falstad's code to Android, several issues come up:



As a general advice: do not attempt a big bang integration, identify individual steps, e.g. the integration of the maze generation and make this one work before integrating the graphics part etc.


To do list: