Skip to content

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!