PPB F Tugas 7
Tugas 7
View Model and State in Compose
Nama : Helmi Abiyu Mahendra
NRP : 5025211061
Kegiatan kali ini adalah pembuatan game Scrambler menggunakan koltin pada Android Studio dengan referensi reff
- Pertama-tama diperlukan untuk mendownload starter code pada link
- Pembuatan WordsData.kt untuk penyimpanan list kata yg dapat digunakan pada game
- File GameScreen.kt dengan rincian isi berupa:
- Composable function GameStatus untuk menampilkan score game:
@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)
)
}
}- GameLayout sebagai fungsi utama yang menampilkan huruf acak, panduan, serta menerima input user.
- FinalScoreDialog yang akan menampilkan hasil akhir serta opsi bermain kembali ataupun berhenti pada akhir sebuah permainan.
- Fitur modifikasi tambahan berupa timer yang menghitung mundur untuk setiap round game:
Text(
text = stringResource(R.string.timer, timerValue),
style = typography.titleLarge,
color = if (timerValue <= 5) Color.Red else Color.Unspecified,
modifier = Modifier.padding(vertical = 16.dp)
)
untuk timer logic pada GameViewModel :
init {
resetGame()
startTimer()
}
// Metode untuk memulai dan mengatur ulang timer
private fun startTimer() {
timer?.cancel()
timer = object : CountDownTimer(15000, 1000) {
override fun onTick(millisUntilFinished: Long) {
_timerValue.value = (millisUntilFinished / 1000).toInt()
}
override fun onFinish() {
//Mengakhiri permainan atau melewati kata
skipWord()
}
}.start()
}
Komentar
Posting Komentar