Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
7
Shkuba is an Android card game application built with modern Android development technologies. The app implements a traditional card game with an intuitive user interface, multiple language support, and theme customization options.
Sign in to like and favorite skills
Shkuba is an Android card game application built with modern Android development technologies. The app implements a traditional card game with an intuitive user interface, multiple language support, and theme customization options.
app/ ├── src/ │ ├── main/ │ │ ├── java/com/shkuba/ │ │ │ ├── MainActivity.kt # Main entry point │ │ │ ├── GameUI.kt # Game UI components and logic │ │ │ └── ui/theme/ # Theme and styling │ │ └── res/ │ │ ├── values/ # String resources (English) │ │ ├── values-iw/ # Hebrew string resources │ │ ├── values-hi/ # Hindi string resources │ │ └── drawable/ # Image assets │ ├── test/ # Unit tests │ └── androidTest/ # Instrumented tests └── build.gradle.kts # Module build configuration
remember and mutableStateOf for local stateMainActivity: Entry point and main state containerGameScreen: Main game interface with card displayMainMenu: Primary navigation menuOptionsScreen: Settings and preferencesInGameMenu: Pause menu during gameplay// Core game data structures data class Card(val value: String, val suit: Suit) sealed class Suit(val symbol: String) data class Player(val name: String, val hand: List<Card>) data class GameState(val players: List<Player>, val tableCards: List<Card>, val currentPlayerIndex: Int)
remember for expensive computationsLazyColumn/LazyRow for scrollable listsstrings.xmlMainScreenvalues/strings.xml (English)values-iw/strings.xml (Hebrew)values-hi/strings.xml (Hindi)stringResource(R.string.key) in composablesGameState data class for new game featuresui/theme/Color.ktui/theme/Theme.kt./gradlew test # Unit tests ./gradlew connectedAndroidTest # Instrumented tests
./gradlew assembleDebug # Debug build ./gradlew assembleRelease # Release build ./gradlew installDebug # Install debug on device
./gradlew clean # Clean build artifacts ./gradlew build # Full build with tests ./gradlew lint # Run static analysis
@Composable fun MyScreen() { val state = remember { mutableStateOf(initialValue) } MyScreenContent( state = state.value, onAction = { state.value = newValue } ) }
@Composable fun LocalizedText() { Text( text = stringResource(R.string.my_key), style = MaterialTheme.typography.titleMedium ) }
@Composable fun ThemedCard() { Card( colors = CardDefaults.cardColors( containerColor = MaterialTheme.colorScheme.surface ) ) { // Content } }
LazyColumn/LazyRow for large listsderivedStateOf for computed valuesLaunchedEffect for side effectsConsider these areas for future development:
This file should be updated as the project evolves to maintain accurate guidance for contributors.