ViewModel and State in Compose - Tugas 7
Nama : Muhammad Naufal Fawwaz Ramadhan
NRP : 5025211223
Kelas : PPB F
Tugas 7
1. Mendownload Starter Code:
Unduh kode awal dari link
2. WordsData.kt:
Buat file WordsData.kt untuk menyimpan daftar kata yang akan digunakan dalam game.
3. GameScreen.kt:
Buat GameScreen.kt dengan komponen-komponen berikut:
kotlin
@Composable
fun
GameStatus(score: Int, modifier: Modifier = Modifier) {
Card(
modifier =
modifier
) {
Text(
text =
stringResource(R.string.score, score),
style =
typography.headlineMedium,
modifier = Modifier.padding(8.dp)
)
}
}
@Composable
fun GameLayout(
letters:
List<Char>,
instruction:
String,
onUserInput:
(String) -> Unit
) {
// Implementasi
tampilan huruf acak dan panduan
}
@Composable
fun
FinalScoreDialog(
score: Int,
onPlayAgain: ()
-> Unit,
onQuit: ()
-> Unit
) {
// Implementasi
dialog hasil akhir permainan
}
4. Timer Logic di GameViewModel:
Implementasikan
logika timer pada GameViewModel:
kotlin
init {
resetGame()
startTimer()
}
private fun
startTimer() {
timer?.cancel()
timer = object
: CountDownTimer(15000, 1000) {
override
fun onTick(millisUntilFinished: Long) {
_timerValue.value = (millisUntilFinished / 1000).toInt()
}
override
fun onFinish() {
skipWord()
}
}.start()
}
- Sesuaikan gambar di res/drawable dan kalimat afirmasi di res/values/strings.xml sesuai kebutuhan.
- Implementasikan penggabungan komponen-komponen game dalam DataSource.kt.
Comments
Post a Comment