Thanks to Cicero Hellmann For giving this cool idea to build Hangman game with Compose for Android.
- Players will be challenged with unique words only.
- Players can view their score/game history.
- Players should know how many unique words can still guess.
- Players can see how many attempts they have to guess the word.
- Players can try out letters in any order they want.
- Players can to know how many points made when I completed a word.
- Players can to know how many points scored by completing all levels.
- Persist the game state at any point of the game.
- Support game in landscape mode.
- Add more guessing categories.
- Players can have hints for each level.
- Improve game user experience.
- Fix issues for smaller screen devices.
- Replace all Shared Preferences with DataStore.
Adjust Difficulty Mode | Game Instructions | Game Exit Modal Sheet |
---|---|---|
Game Won Dialog | Game Lost Dialog | Game Exit |
Rendering times with Compose is slower compared to XML. I've added few references below which could help you improve app performance.
- Change app module to choose build variant Release mode.
- Enable R8 and disable debug to speed up the performance
- Article by William Shelor - Measuring Render Performance with Jetpack Compose.
- Article by Chris Banes - Composable Metrics
val TealColorPalette = lightColors(
primary = tealPrimary,
background = tealBackground,
onBackground = tealOnBackground,
surface = tealSurface,
onSurface = tealOnSurface
)
val RedColorPalette = darkColors(
primary = redPrimary,
background = redBackground,
onBackground = redOnBackground,
surface = redSurface,
onSurface = redOnSurface
)
Jetpack Compose
is Android’s modern toolkit for building native UI. It enables you to quickly
bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
Understanding to implement own Theme
Shape
Typography
Color
has became bit easier by
referring to lot of official jetpack compose samples which are available in GitHub.
Best of all we got to do this in Kotlin
way. Excited and long way to go from here.
- Have a cool idea or feature request? Start a discussion.
- Want to contribute or add new feature to app? Send your pull request.
- Game crashes while playing? Open a new issue, describe the problem.
🔊 Game Sounds - Pixabay.com
PIXABAY LICENSE CERTIFICATE
All sounds used in game are only for user experience purpose.
I do not own any of those audio content. All credit belongs to Music Author
uploaded to Pixabay.
I hold the licenses for audio files used in this app. Verify all license certificates.
This fonts is licensed under the Open Font License, this is the only font I've used in my app.
You can refer to this font from Google Fonts.
For the background images I have used in game, I have modified and used few icons from unDraw and iconscout.
Copyright 2022 Rajasekhar K E
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.