diff --git a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt index 84a8a17..d7d92cd 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt @@ -1,9 +1,35 @@ package fr.iut.sciencequest.ViewModels +import android.os.Handler +import android.os.Looper +import android.util.Log import androidx.lifecycle.ViewModel import fr.iut.sciencequest.ViewModels.UiStates.KahootUIState +import fr.iut.sciencequest.stub.StubQuestionWithReponses2 import kotlinx.coroutines.flow.MutableStateFlow class KahootViewModel: ViewModel() { var uiState = MutableStateFlow(KahootUIState()) + + private val handler = Handler(Looper.getMainLooper()) + + fun lancerPartie() { + var nbPoints: Int + var tpsReponse = 10_000 + handler.postDelayed( + { + Log.d("KahootViewModel","J'actualise les questions") + nbPoints = if(uiState.value.reponseChoisie) { + 10_000 - tpsReponse + } else { + 0 + } + uiState.value = KahootUIState(StubQuestionWithReponses2, + duréePartie = uiState.value.duréePartie, + nbPoints = uiState.value.nbPoints + nbPoints, + reponseChoisie = false) + }, + uiState.value.duréePartie * 1000 + ) + } } \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt index 72ebffa..06d7332 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt @@ -5,5 +5,9 @@ import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO import fr.iut.sciencequest.stub.StubQuestionWithReponses data class KahootUIState ( - val question: QuestionWithSimpleResponseDTO = StubQuestionWithReponses + val question: QuestionWithSimpleResponseDTO = StubQuestionWithReponses, + val reponseChoisie: Boolean = false, + // NOTE : Supposé en secondes, à changer si besoins + val duréePartie: Long = 10, + val nbPoints: Int = 0 ) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/PartieDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/PartieDTO.kt index c551b59..64df64c 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/PartieDTO.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/PartieDTO.kt @@ -7,5 +7,5 @@ class PartieDTO ( val codeInvitation: String, val joueurs: List, val jeu: JeuDTO, - val thematiques: List + val thematiques: List ) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt index 6bb7c56..e2cae06 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt @@ -9,8 +9,19 @@ object StubQuestionWithReponses: QuestionWithSimpleResponseDTO( reponses = listOf( ReponseSimpleDTO(id=0, "Reponse 1"), ReponseSimpleDTO(id=1, "Reponse 2"), - ReponseSimpleDTO(id=1, "Reponse 3"), - ReponseSimpleDTO(id=1, "Reponse 4"), + ReponseSimpleDTO(id=2, "Reponse 3"), + ReponseSimpleDTO(id=3, "Reponse 4"), ) ) -{} \ No newline at end of file +{} + +object StubQuestionWithReponses2: QuestionWithSimpleResponseDTO( + id = 1, + question = "Ceci est une autre question ?", + reponses = listOf( + ReponseSimpleDTO(id = 4, "Moi une reponse?"), + ReponseSimpleDTO(id = 5, "La réponse A"), + ReponseSimpleDTO(id = 6, "Je suis faux"), + ReponseSimpleDTO(id = 5, "Toutes les réponses") + ) +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt index 2c8efbe..06ae77f 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt @@ -31,6 +31,7 @@ fun KahootScreen(viewModel: KahootViewModel = viewModel(), goToAccount: () -> Unit, goToHome: () -> Unit) { val state = viewModel.uiState.collectAsState() + viewModel.lancerPartie() Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) KahootPlayer(state.value.question)