diff --git a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt index ad6c327..3ea7785 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt @@ -25,7 +25,7 @@ class MainActivity : ComponentActivity() { modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { - NavHost(this) + NavHost() } } } 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 5a1cc93..f9a9df3 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 @@ -27,10 +27,10 @@ class KahootViewModel: ViewModel() { } // NOTE : tpsReponse en ms - fun ajouterPoints(tpsReponse: Int) { + fun ajouterPoints(tpsReponse: Long) { - val nbPoints = if(uiState.value.reponseChoisie) { - 10_000 - tpsReponse + val nbPoints: Int = if(uiState.value.reponseChoisie) { + (10_000 - tpsReponse).toInt() } else { 0 } @@ -38,6 +38,6 @@ class KahootViewModel: ViewModel() { duréePartie = uiState.value.duréePartie, nbPoints = uiState.value.nbPoints + nbPoints, reponseChoisie = false) - Log.d("KahootViewModel","Le joueur à ${uiState.value.reponseChoisie}") + Log.d("KahootViewModel","Le joueur à ${uiState.value.nbPoints}") } } \ 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 06d7332..3048aa3 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 @@ -7,7 +7,7 @@ import fr.iut.sciencequest.stub.StubQuestionWithReponses data class KahootUIState ( val question: QuestionWithSimpleResponseDTO = StubQuestionWithReponses, val reponseChoisie: Boolean = false, - // NOTE : Supposé en secondes, à changer si besoins - val duréePartie: Long = 10, + // NOTE : Supposé en millisecondes + val duréePartie: Long = 10_000, val nbPoints: Int = 0 ) \ 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 06ae77f..24f874a 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 @@ -25,6 +25,7 @@ import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO import fr.iut.sciencequest.stub.StubQuestionWithReponses import fr.iut.sciencequest.view.TopBar +import java.util.Timer @Composable fun KahootScreen(viewModel: KahootViewModel = viewModel(), @@ -34,7 +35,9 @@ fun KahootScreen(viewModel: KahootViewModel = viewModel(), viewModel.lancerPartie() Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) - KahootPlayer(state.value.question) + KahootPlayer(state.value.question) { + viewModel.ajouterPoints(it) + } } } @@ -48,16 +51,22 @@ fun KahootScreenPreview(){ @Preview @Composable fun KahootPlayerPreview(){ - KahootPlayer(question = StubQuestionWithReponses) + val i = 0 + KahootPlayer(question = StubQuestionWithReponses) {} } @Composable -fun KahootPlayer(question: QuestionWithSimpleResponseDTO){ +fun KahootPlayer(question: QuestionWithSimpleResponseDTO, + sendReponse: (Long) -> Unit){ val context = LocalContext.current; + val currTime = System.currentTimeMillis() Column (horizontalAlignment = Alignment.CenterHorizontally){ KahootQuestion(question = question.question) - KahootReponses(reponses = question.reponses) {Toast.makeText(context, it.reponse, Toast.LENGTH_SHORT).show()} + KahootReponses(reponses = question.reponses) { + sendReponse(currTime - System.currentTimeMillis()) + Toast.makeText(context, it.reponse, Toast.LENGTH_SHORT).show() + } } } diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt index 6e1f57f..265d7e1 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt @@ -13,6 +13,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -23,10 +24,10 @@ import fr.iut.sciencequest.view.TopBar @Composable fun PenduScreen(viewModel: PenduViewModel = viewModel(), - context: Context, goToAccount: () -> Unit, goToHome: () -> Unit) { val state = viewModel.uiState.collectAsState() + val context = LocalContext.current; Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.pendu)) //Text(text = stringResource(id = R.string.pendu), modifier = Modifier.padding(top=10.dp))