|
|
|
@ -39,21 +39,25 @@ class PenduViewModel : ViewModel() {
|
|
|
|
|
// mot : mot à trouver
|
|
|
|
|
// motAct : état actuel du mot trouvé par l'utilisateur
|
|
|
|
|
fun PlayAction(lettre: Char) {
|
|
|
|
|
val lowerCaseLetter = lettre.lowercaseChar()
|
|
|
|
|
Log.d("PenduViewModel","Un utilisateur joue une action")
|
|
|
|
|
if (lettre == ' ' || uiState.value.motATrou.contains(lettre)) {
|
|
|
|
|
if (lettre == ' ' || uiState.value.lettresUtilises.contains(lowerCaseLetter)) {
|
|
|
|
|
Log.d("PenduViewModel","L'utilisateur a fait une action invalide")
|
|
|
|
|
uiState.value = PenduUIState(false,
|
|
|
|
|
false,
|
|
|
|
|
uiState.value.nbViesRestantes,
|
|
|
|
|
uiState.value.motATrouver,
|
|
|
|
|
uiState.value.motATrou
|
|
|
|
|
uiState.value.motATrou,
|
|
|
|
|
uiState.value.lettresUtilises
|
|
|
|
|
)
|
|
|
|
|
} else if (uiState.value.motATrouver.contains(lettre)) {
|
|
|
|
|
return
|
|
|
|
|
} else if (uiState.value.motATrouver.lowercase().contains(lowerCaseLetter)) {
|
|
|
|
|
Log.d("PenduViewModel","L'utilisateur a trouvé une lettre")
|
|
|
|
|
var nvMotATrou = uiState.value.motATrou
|
|
|
|
|
for (index in uiState.value.motATrouver.indices) {
|
|
|
|
|
if (uiState.value.motATrouver[index] == lettre) {
|
|
|
|
|
nvMotATrou = nvMotATrou.replaceRange(index,index + 1, lettre.toString())
|
|
|
|
|
val letterToCheck = uiState.value.motATrouver[index]
|
|
|
|
|
if (letterToCheck.lowercaseChar() == lowerCaseLetter) {
|
|
|
|
|
nvMotATrou = nvMotATrou.replaceRange(index,index + 1, letterToCheck.toString())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var isWon = false
|
|
|
|
@ -64,7 +68,8 @@ class PenduViewModel : ViewModel() {
|
|
|
|
|
true,
|
|
|
|
|
uiState.value.nbViesRestantes,
|
|
|
|
|
uiState.value.motATrouver,
|
|
|
|
|
nvMotATrou
|
|
|
|
|
nvMotATrou,
|
|
|
|
|
uiState.value.lettresUtilises.plus(lowerCaseLetter)
|
|
|
|
|
)
|
|
|
|
|
} else {
|
|
|
|
|
Log.d("PenduViewModel","L'utilisateur s'est trompé de lettre")
|
|
|
|
@ -72,7 +77,8 @@ class PenduViewModel : ViewModel() {
|
|
|
|
|
true,
|
|
|
|
|
uiState.value.nbViesRestantes - 1,
|
|
|
|
|
uiState.value.motATrouver,
|
|
|
|
|
uiState.value.motATrou
|
|
|
|
|
uiState.value.motATrou,
|
|
|
|
|
uiState.value.lettresUtilises.plus(lowerCaseLetter)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|