This is an Android application written in Java as part of the project for Mobile Devices and Applications at the University of Hull. The application offers a wide range of slide puzzles that are asynchronously fetched from a Rest API in json format. The json data for a specific puzzle describes the placement of the tiles that make up the initial state of the puzzle as well as the other URLs for accessing and downloading the texture for each tile. The application caches the downloaded resources in order to save bandwidth.

Although not required by the project specifications I decided to make use of material design guidelines and elements available in Android Studio. I also implemented landscape functionality, a custom responsive UI and more options to ease with the usage of the app.

The score is set on each puzzle to a fixed amount based on its difficulty. First 40 puzzle start with a score of 50, the next 40 puzzles have 70 and so on. Each move means 1 point of the score is lost. If the score reaches 0 the puzzle is lost and automatically reset.

This was my first app to write in Android Studio and my first encounter with Java programming language and I found this very enjoyable. I explored various Android features such as fragments, snack-bars, sliding headers, etc and I familiarized myself with Java which I found to be very similar in terms of syntax to C#.

The project mark was 98/100.