Pick one of the following problems to do for your interclass problem. Some of them use the Mosaic scenario.

1. Mosaic Madness - Using the Mosaic scenario, complete the program so that when the user clicks on a tile next to the open space, that tile moves to the open spot, leaving it's previous spot vacant. Use Greenfoot.getMouseInfo() in an act method in MosaicBoard to direct the motion. If they click on something that isn't next to an open spot, nothing should happen. You will need to manually call setTileImages() before you click run to set up the board or add a call to that method into the constructor.

2. Paint by Numbers - Using the images from the image directory in the Mosaic scenario, create a new method that will place each image tile onto the correct Greenfoot grid location. Images are named according to their relative position to the other tiles (e.g. Tile_01 should be placed in the first spot, Tile_02 in the next spot, etc.) The correct order is right to left, one row at a time. The trick is that you can't simply hard code it. You have to use a for loop (or two) to solve this.

3. Multiple Requirements - One of the limitations of our method right now is that it will only schedule one class for each requirement. Modify the code to fix this. Note that this requires that somewhere the program knows how many courses to allow for each requirement. You can decide to do that however you want.

4. Multiple Blocks - While adding start and end times across days of the week goes beyond what we want to do, we can get most of that functionality by allowing classes to cover multiple blocks. In the spreadsheet has it so that under time block the data can be a space separated list of numbers. Use the split method of string to break it up much like the readCSVFile method. Note that you can't make it a comma separated list of numbers or else the readCSVFile method won't work.