Classic Movie Hangman Game built using Jetpack Compose. This demonstrates Modern Android best practices.
- Compose canvas drawing, Animations
- Kotlin Coroutines with Flow
- Hilt for DI
- Room for Data
- Modular MVVM Architecture with UDF (Inspired by Unscramble and Noty)
Click on any key on the Button Layout sends event to ViewModel to handle. The event handlers in ViewModel take appropriate actions and update the state when required:
- A life is lost on wrong guess, minus score
- Increment the score for guessing it right
- Add a life when a movie is guessed
- Keep playing until all lives lost
- Start a new game
- Game (app) exhausts when no more movie is left to guess
The state changes are passed down to the UI for updates.
The architecture of the app follows recommended App Architecture principles
The classic Hangman is drawn using Compose Animations based on lives left.
Most welcome to file issues, PRs.
Copyright 2023 Varsha Kulkarni
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.