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

Postingan Populer