[ADD] Va chercher nom dans l'api (va chercher un id inscrit en dur)

RepositoryAndroid
Renaud BEURET 1 year ago
parent 11c1476334
commit bfa62c02a3

@ -2,15 +2,37 @@ package fr.iut.sciencequest.ViewModels
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import fr.iut.sciencequest.ViewModels.UiStates.PenduUIState
import fr.iut.sciencequest.model.buisness.Scientifique.fetchScientifiqueById
import fr.iut.sciencequest.model.buisness.Scientifique.fetchScientifiques
import fr.iut.sciencequest.model.dto.extensions.ToModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
class PenduViewModel : ViewModel() {
var uiState = MutableStateFlow<PenduUIState>(PenduUIState())
var uiState = MutableStateFlow(PenduUIState())
fun InitPartie() {
Log.d("PenduViewModel","Un utilisateur initialise une partie")
viewModelScope.launch {
fetchScientifiqueById(1).collect {
var motATrou = ""
for (chr in it.nom) {
motATrou += "_"
}
uiState.value = PenduUIState(
isActionGood = true,
motATrouver = it.nom,
motATrou = motATrou
)
}
}
}
// mot : mot à trouver
// motAct : état actuel du mot trouvé par l'utilisateur
public fun PlayAction(lettre: Char) {
fun PlayAction(lettre: Char) {
Log.d("PenduViewModel","Un utilisateur joue une action")
if (uiState.value.motATrou.contains(lettre)) {
Log.d("PenduViewModel","L'utilisateur a fait une action invalide")

@ -5,6 +5,7 @@ import android.widget.Toast
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
@ -37,11 +38,14 @@ fun PenduScreen(viewModel: PenduViewModel = viewModel(),
viewModel.PlayAction(it[0])
if ((!state.value.isWon) && (state.value.nbViesRestantes == 0)) {
goToHome()
} else {
} else if (state.value.isWon) {
Toast.makeText(context,"Vous avez gagné !",Toast.LENGTH_LONG).show()
}
}},
modifier = Modifier.padding(20.dp))
Button(onClick = { viewModel.InitPartie() }) {
Text(text = stringResource(id = R.string.reset_game))
}
}
}
}

@ -13,4 +13,5 @@
<string name="continue_no_acc">Continuer sans compte</string>
<string name="no_account_details">Si vous n\'avez pas encore de compte, vous avez deux possibilitées, soit vous continuez sans compte, soit vous vous inscrivez</string>
<string name="coming_soon">Coming soon...</string>
<string name="reset_game">Nouvelle Partie</string>
</resources>
Loading…
Cancel
Save