Homework
Homework descriptions and deadlines
HW00
Install Android studio and SDK. Create first app, run it in emulator (and on device if you have one).
HW01
Implement Puzzle15 game (Android).
*** Deadline 2023-10-29 23:59:59 ***
- https://en.wikipedia.org/wiki/15_Puzzle
Support rotation (landscape/portrait) correctly (shifting around UI components, not just scaling) and state save/restore.
Run timer in background sevice, use broadcasts for communication.
Divide screen into 2 sections, gameboard and statistics. Show move count, time spent (suspend timer when ui is not visible).
Support at least 2 steps of undo.
UI made out of buttons, movement solved with changing text/images on buttons (but you are welcomed to use animations, etc).
Support native color schema (dark/light).
Support both full random shuffeling of board (sometimes not solvable) and solvable shuffeling (ie starting from solved board make x random legal moves).
Use ConstraintLayout for everything, use includes for shared components.
Test UI layout (and make it nice) on all possible screen sizes/densities and positions.
No warnings in Android Studio layout editor!
Bonus:
Use a* or any other search algoritm to show user optimal move hints.
HW02
Implement Puzzle15 game (iOS, SwiftUI).
*** Deadline: semester end ***
- https://en.wikipedia.org/wiki/15_Puzzle
Similar to everything in Android task description!