[FIX] Refactor entrée dans pendu pour code + lisible

RepositoryAndroid
Renaud BEURET 1 year ago
parent 5bf379ad61
commit d9ccdad5cb

@ -35,15 +35,7 @@ fun PenduScreen(viewModel: PenduViewModel = viewModel(),
{
Text(text = state.value.motATrou)
TextField(value = "",
onValueChange = {
if (it.isNotEmpty()) {
viewModel.PlayAction(it[0])
if ((!state.value.isWon) && (state.value.nbViesRestantes == 0)) {
goToHome()
} else if (state.value.isWon) {
Toast.makeText(context,"Vous avez gagné !",Toast.LENGTH_LONG).show()
}
}},
onValueChange = { onLetterEntered(it, viewModel, context, goToHome) },
modifier = Modifier.padding(20.dp))
afficherVies(state.value.nbViesRestantes)
Button(onClick = { viewModel.InitPartie() }) {
@ -53,6 +45,21 @@ fun PenduScreen(viewModel: PenduViewModel = viewModel(),
}
}
fun onLetterEntered(entered: String,
vm: PenduViewModel,
context: Context,
goToHome: () -> Unit) {
val state = vm.uiState
if (entered.isNotEmpty()) {
vm.PlayAction(entered[0])
if ((!state.value.isWon) && (state.value.nbViesRestantes == 0)) {
goToHome()
} else if (state.value.isWon) {
Toast.makeText(context,"Vous avez gagné !",Toast.LENGTH_LONG).show()
}
}
}
@Preview
@Composable
fun afficherVies(nbVies : Int = 10) {

Loading…
Cancel
Save