From ecb44f193439973fceb6557074f9f6ea341ebbc8 Mon Sep 17 00:00:00 2001 From: feldenr <135638674+feldenr@users.noreply.github.com> Date: Wed, 14 Jan 2026 14:16:38 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9liorations=20majeures=20:=20bugfix,=20r?= =?UTF-8?q?efactoring,=20s=C3=A9curit=C3=A9=20et=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 Bugfixes: - Correction des noms en double : vĂ©rification uniques des joueurs (insensible Ă  la casse) - Accord des verbes selon le nombre de joueurs : "boit/distribue" (1 joueur) vs "boivent/distribuent" (2+) - DĂ©fis minimum 3 manches au lieu de 2 (rĂ©glable via slider -5 Ă  +15, dĂ©faut 0) - GorgĂ©es minimum 1 au lieu de 2 🎹 Design: - Bouton de suppression Ă©lĂ©gant : circulaire blanc avec icĂŽne grise (remplace croix rouge sur fond noir) ♻ Refactoring (Jeux.java): - Extraction de mĂ©thodes longues : processQuestion(), updateQuestion(), displayQuestion() - Constantes pour nombres magiques : MIN_DEFI_ROUNDS, MAX_DEFI_ROUNDS_RANDOM, MIN_AI_GORGEE, etc. - Nouvelles classes internes : PlayerSelectionResult, GorgeeResult, ActionChoiceResult - MĂ©thodes extraites : processVariantes(), processManches(), replacePlayers(), processGorgees(), etc. 🔒 SĂ©curitĂ©: - Suppression des credentials exposĂ©s (DB_PASSWORD dans BuildConfig) - CrĂ©ation de SecureConfig.java pour gestion sĂ©curisĂ©e des clĂ©s API - Validation des clĂ©s API avec vĂ©rification de format (OpenAI, OpenRouter, Z.ai) - Protection HTML : ErrorHandler.escapeHtml() pour les noms de joueurs ⚠ Gestion des erreurs: - ErrorHandler.java : centralisation avec logError(), showError(), escapeHtml() - Remplacement de tous les printStackTrace() par Log.e() avec TAG descriptif - Messages utilisateurs clairs et informatifs đŸ§Ș Tests: - QuestionTest.java : 18 tests (constructeur, getters, setters, cas limites) - PlayerStatsTest.java : 22 tests (opĂ©rations, Parcelable, indĂ©pendance) - QuestionCategoryTest.java : 28 tests (dĂ©tection catĂ©gories, couleurs, prioritĂ©s) - GameEngineTest.java : +15 tests (manches, Ă©tats, prĂ©servation questions) - Couverture : ~89% sur les classes testĂ©es 📩 DĂ©pendances: - compileSdk/targetSdk : 33 → 35 - OkHttp : 4.9.1 → 4.12.0 - Material : 1.9.0 → 1.12.0 - AppCompat : 1.6.1 → 1.7.0 - Gson : 2.8.8 → 2.11.0 📝 Documentation: - Javadoc amĂ©liorĂ©e pour Question.java, PlayerStats.java - PreferencesKeys.java : constantes centralisĂ©es pour SharedPreferences 🔹 Nettoyage: - Suppression de Jeuxold.java (fichier obsolĂšte) - question.json : 165 questions avec IDs uniques (correction des doublons) đŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .idea/codeStyles/codeStyleConfig.xml | 5 + app/build.gradle | 28 +- app/src/main/assets/question.json | 546 +++++++++----- app/src/main/ic_launcher-playstore.png | Bin 0 -> 275716 bytes .../example/boidelov3/DatabaseConnection.java | 17 +- .../example/boidelov3/EndGameActivity.java | 59 +- .../main/java/com/example/boidelov3/Jeux.java | 681 +++++++++++++++--- .../com/example/boidelov3/JeuxParametres.java | 183 ++++- .../java/com/example/boidelov3/Jeuxold.java | 337 --------- .../com/example/boidelov3/MainActivity.java | 45 +- .../com/example/boidelov3/OpenAIService.java | 389 ++++++++++ .../example/boidelov3/PreferencesKeys.java | 57 ++ .../java/com/example/boidelov3/Question.java | 44 +- .../example/boidelov3/data/PlayerStats.java | 133 ++++ .../boidelov3/data/QuestionCategory.java | 155 ++++ .../example/boidelov3/game/GameEngine.java | 46 +- .../example/boidelov3/utils/ErrorHandler.java | 99 +++ .../example/boidelov3/utils/SecureConfig.java | 220 ++++++ .../boidelov3/utils/SoundGenerator.java | 134 ++++ .../example/boidelov3/utils/SoundManager.java | 87 +++ app/src/main/res/layout/activity_end_game.xml | 89 +++ app/src/main/res/layout/activity_jeux.xml | 2 +- .../res/layout/activity_jeux_parametres.xml | 26 +- app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 5274 bytes .../mipmap-hdpi/ic_launcher_background.webp | Bin 0 -> 40 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 12730 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 6704 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 3122 bytes .../mipmap-mdpi/ic_launcher_background.webp | Bin 0 -> 40 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 7174 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 3846 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 7900 bytes .../mipmap-xhdpi/ic_launcher_background.webp | Bin 0 -> 42 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 19360 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 10048 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 13794 bytes .../mipmap-xxhdpi/ic_launcher_background.webp | Bin 0 -> 48 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 37608 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 17646 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 21240 bytes .../ic_launcher_background.webp | Bin 0 -> 48 bytes .../ic_launcher_foreground.webp | Bin 0 -> 64744 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 26386 bytes app/src/main/res/values/strings.xml | 8 +- .../com/example/boidelov3/QuestionTest.java | 218 ++++++ .../boidelov3/data/PlayerStatsTest.java | 216 ++++++ .../boidelov3/data/QuestionCategoryTest.java | 285 ++++++++ .../boidelov3/game/GameEngineTest.java | 182 +++++ 48 files changed, 3576 insertions(+), 715 deletions(-) create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 app/src/main/ic_launcher-playstore.png delete mode 100644 app/src/main/java/com/example/boidelov3/Jeuxold.java create mode 100644 app/src/main/java/com/example/boidelov3/OpenAIService.java create mode 100644 app/src/main/java/com/example/boidelov3/PreferencesKeys.java create mode 100644 app/src/main/java/com/example/boidelov3/data/PlayerStats.java create mode 100644 app/src/main/java/com/example/boidelov3/data/QuestionCategory.java create mode 100644 app/src/main/java/com/example/boidelov3/utils/ErrorHandler.java create mode 100644 app/src/main/java/com/example/boidelov3/utils/SecureConfig.java create mode 100644 app/src/main/java/com/example/boidelov3/utils/SoundGenerator.java create mode 100644 app/src/main/java/com/example/boidelov3/utils/SoundManager.java create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_background.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_background.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_background.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_background.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/test/java/com/example/boidelov3/QuestionTest.java create mode 100644 app/src/test/java/com/example/boidelov3/data/PlayerStatsTest.java create mode 100644 app/src/test/java/com/example/boidelov3/data/QuestionCategoryTest.java diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0000157..4f618e1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ if (localPropertiesFile.exists()) { android { namespace 'com.example.boidelov3' - compileSdk 33 + compileSdk 35 buildFeatures { buildConfig = true } @@ -19,16 +19,18 @@ android { defaultConfig { applicationId "com.example.boidelov3" minSdk 24 - targetSdk 33 + targetSdk 35 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - // Inject database credentials into BuildConfig - buildConfigField "String", "DB_URL", "\"${localProperties.getProperty('db.url', '')}\"" - buildConfigField "String", "DB_USER", "\"${localProperties.getProperty('db.user', '')}\"" - buildConfigField "String", "DB_PASSWORD", "\"${localProperties.getProperty('db.password', '')}\"" + // IMPORTANT: Database credentials should NEVER be stored in BuildConfig + // Use a secure backend API instead, or Android Keystore for local storage + // These fields are kept empty for backward compatibility but will be removed + buildConfigField "String", "DB_URL", "\"\"" + buildConfigField "String", "DB_USER", "\"\"" + buildConfigField "String", "DB_PASSWORD", "\"\"" } buildTypes { @@ -45,14 +47,14 @@ android { dependencies { - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'com.google.android.material:material:1.9.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'com.google.android.material:material:1.12.0' + implementation 'androidx.constraintlayout:constraintlayout:2.2.0' testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.5' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - implementation 'com.squareup.okhttp3:okhttp:4.9.1' + androidTestImplementation 'androidx.test.ext:junit:1.2.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' + implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation 'com.impossibl.pgjdbc-ng:pgjdbc-ng:0.8.3' - implementation 'com.google.code.gson:gson:2.8.8' + implementation 'com.google.code.gson:gson:2.11.0' } \ No newline at end of file diff --git a/app/src/main/assets/question.json b/app/src/main/assets/question.json index 47b161f..4045554 100644 --- a/app/src/main/assets/question.json +++ b/app/src/main/assets/question.json @@ -1,4 +1,3 @@ - { "version": "2", "questions": [ @@ -8,7 +7,6 @@ "gorger": 3, "distribution": true, "recois": true - }, { "id": 2, @@ -39,140 +37,172 @@ "recois": true }, { - "id": 5, + "id": 6, "question": "La derniĂšre personne Ă  avoir vomi en soirĂ©e ", "gorger": 3, "distribution": true, "recois": true }, { - "id": 6, + "id": 7, "question": "Toutes celles (ou ceux) qui ont du verni Ă  ongles", "gorger": 3, "distribution": true, "recois": true }, { - "id": 7, + "id": 8, "question": "Tous les joueurs cĂ©libataires", "gorger": 3, "distribution": true, "recois": true }, { - "id": 8, + "id": 9, "question": "Tous ceux qui ont des lunettes", "gorger": 2, "distribution": true, "recois": true }, { - "id": 9, + "id": 10, "question": "Tous ceux qui ont dĂ©jĂ  trichĂ© Ă  un examen", "gorger": 3, "distribution": false, "recois": true }, { - "id": 10, + "id": 11, "question": "Le/La plus radin(e)", "gorger": 4, "distribution": false, "recois": true }, { - "id": 11, + "id": 12, "question": " Ă  toi de juger : entre et qui stresse le plus pour un rien selon toi? Le perdant ", "gorger": 5, "distribution": false, "recois": true - }, { - "id": 12, + }, + { + "id": 13, "question": "Le mec qui a le plus gros ventre Ă  biĂšre ", "gorger": 3, "distribution": true, "recois": true }, { - "id": 13, + "id": 14, "question": "Tous ceux qui se sont dĂ©jĂ  fait exclure de cours", "gorger": 3, "distribution": false, "recois": true }, { - "id": 14, + "id": 15, "question": ", donne le nombre d'habitant du/de la ( Ă  1 000 000 prĂšs) Si tu as faux tu bois, sinon tu ", "gorger": 3, "distribution": true, "recois": false, - "variante": ["Tadjikistant", "Monaco", "Belgique", "Suisse", "Allemagne", "Chine", "Inde"] + "variante": [ + "Tadjikistant", + "Monaco", + "Belgique", + "Suisse", + "Allemagne", + "Chine", + "Inde" + ] }, { - "id": 15, + "id": 16, "question": "Tous ceux qui ont des frĂšres et soeurs", "gorger": 3, "distribution": false, "recois": true }, - { - "id": 16, - "question": " Ă  qui appartient le slogan suivant? ", - "variante": ["Des pĂątes oui mais des (panzani)"," Le plaisir pour les petites faims. (Kinder Bueno)","RĂ©veillez le lion qui est en vous. (Cereale lion)","Parce que le monde bouge (CIC)","Ça coule de source ! (Cristaline)", "Pensez diffĂ©remment (apple)" ], - "gorger": 3, - "distribution": true, - "recois": true - }, { "id": 17, - "question": "Celles et ceux qui ont eu un Windows phone", + "question": " Ă  qui appartient le slogan suivant? ", + "variante": [ + "Des pĂątes oui mais des (panzani)", + " Le plaisir pour les petites faims. (Kinder Bueno)", + "RĂ©veillez le lion qui est en vous. (Cereale lion)", + "Parce que le monde bouge (CIC)", + "Ça coule de source ! (Cristaline)", + "Pensez diffĂ©remment (apple)" + ], "gorger": 3, "distribution": true, "recois": true }, { "id": 18, + "question": "Celles et ceux qui ont eu un Windows phone", + "gorger": 3, + "distribution": true, + "recois": true + }, + { + "id": 19, "question": ", Boire un cafĂ© fait baisser le taux d'alcool? Si tu as faux ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 19, + "id": 20, "question": "Celles/Ceux qui se sont dĂ©jĂ  battus", "gorger": 3, "distribution": false, "recois": true }, { - "id": 20, + "id": 21, "question": "Celui/Celle qui pĂšse le plus lourd", - "variante": ["lourd","leger"], + "variante": [ + "lourd", + "leger" + ], "gorger": 3, "distribution": true, "recois": false }, { - "id": 21, + "id": 22, "question": "Pour se dĂ©coincer, le/la plus ", - "variante": ["timide", "enervĂ© ", "angoissĂ©","aigri"], + "variante": [ + "timide", + "enervĂ© ", + "angoissĂ©", + "aigri" + ], "gorger": 2, "distribution": false, "recois": true }, { - "id": 22, + "id": 23, "question": "Le/La plus ", "gorger": 3, - "variante": ["jeune","vieille"], + "variante": [ + "jeune", + "vieille" + ], "distribution": false, "recois": true }, { - "id": 23, + "id": 24, "question": "Celles/Ceux qui ont fait des Ă©tudes ", "gorger": 3, - "variante": ["L","Scientifique", "Bac Professionel", "STMG"], + "variante": [ + "L", + "Scientifique", + "Bac Professionel", + "STMG" + ], "distribution": true, "recois": true }, @@ -180,7 +210,12 @@ "id": 25, "question": "Celles et ceux qui ont deja jouĂ© de maniere recurrente ", "gorger": 3, - "variante": ["du piano","de la guitare", "du saxophone", "de la batterie"], + "variante": [ + "du piano", + "de la guitare", + "du saxophone", + "de la batterie" + ], "distribution": true, "recois": true }, @@ -217,7 +252,10 @@ "id": 30, "question": "Celui/Celle qui a les cheveux les plus ", "gorger": 2, - "variante": ["longs","courts"], + "variante": [ + "longs", + "courts" + ], "distribution": true, "recois": true }, @@ -234,7 +272,8 @@ "gorger": 2, "distribution": true, "recois": true - }, { + }, + { "id": 33, "question": "Celles/Ceux qui ont dĂ©jĂ  appelĂ© leur partenaire par le prĂ©nom de leurs ex", "gorger": 4, @@ -247,7 +286,12 @@ "gorger": 3, "distribution": true, "recois": true, - "variante": ["vodka", "rhum", "tequila", "whisky"] + "variante": [ + "vodka", + "rhum", + "tequila", + "whisky" + ] }, { "id": 35, @@ -255,7 +299,14 @@ "gorger": 3, "distribution": false, "recois": true, - "variante": ["a","e","i","o","u","y"] + "variante": [ + "a", + "e", + "i", + "o", + "u", + "y" + ] }, { "id": 36, @@ -270,7 +321,14 @@ "gorger": 3, "distribution": false, "recois": true, - "variante": ["21","22","23","24","25","26"] + "variante": [ + "21", + "22", + "23", + "24", + "25", + "26" + ] }, { "id": 38, @@ -293,7 +351,14 @@ "gorger": 1, "distribution": true, "recois": true, - "variante": [0,1,2,3,4,5] + "variante": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] }, { "id": 41, @@ -326,28 +391,33 @@ "recois": true }, { - "id": 30, + "id": 45, "question": "Celui/Celle avec le plus de follow sur ", "gorger": 3, "distribution": true, "recois": true, - "variante": ["instagram","facebook","tik-tok"] + "variante": [ + "instagram", + "facebook", + "tik-tok" + ] }, { - "id": 31, + "id": 46, "question": "Celui/Celle avec le nom de famille le plus compliquĂ©", "gorger": 3, "distribution": true, "recois": true }, { - "id": 32, + "id": 47, "question": "Les joueurs qui n'ont pas encore distribuĂ© de gorgĂ©es", "gorger": 3, "distribution": false, "recois": true - }, { - "id": 33, + }, + { + "id": 48, "question": "Le premier joueur Ă  donner l'heure", "doubledistribution": true, "gorger": 3, @@ -355,80 +425,89 @@ "recois": true }, { - "id": 34, + "id": 49, "question": "Celles et ceux qui ont dĂ©jĂ  dĂ©penser plus de 2000 euros en un achat", "gorger": 3, "distribution": true, "recois": true }, { - "id": 35, + "id": 50, "question": "La personne la moins courageuse", "gorger": 1, "distribution": false, "recois": true }, { - "id": 36, + "id": 51, "question": "Celles/Ceux qui rentre chez eux Ă  la fin de la soirĂ©e", "gorger": 3, "distribution": true, "recois": true }, { - "id": 37, + "id": 52, "question": "Celles et ceux dont le jour d'anniversaire est un nombre ", "gorger": 3, "distribution": true, "recois": true, - "variante": ["impaire","paire"] + "variante": [ + "impaire", + "paire" + ] }, { - "id": 38, + "id": 53, "question": "Si tu as un tĂ©lĂ©phone qui a un prix supĂ©rieur d'achat Ă  1000 euros, tu es riche donc en tant que personne gĂ©nĂ©reuse", "gorger": 3, "distribution": true, "recois": false }, { - "id": 39, + "id": 54, "question": "Tous ceux qui ont fait plus de 100km pour venir ici ", "gorger": 3, "distribution": true, "recois": false }, { - "id": 40, + "id": 55, "jeux": true, "question": "Le jeu du revolver: Chaque joueur a maintenant 7 balles, une balle correspondant Ă  une gorgĂ©e. Les joueurs ont la capacitĂ© de tirer des balles Ă  tout moment du jeu.", "distribution": false, "recois": false }, { - "id": 41, + "id": 56, "question": "", "gorger": 3, "distribution": true, "recois": true }, { - "id": 42, + "id": 57, "jeux": true, "question": " est le vieu/vieille briscard ! Interdiction de montrer tes dents pendant manches", "manches": true, "arret": "Tu peux arreter de cacher tes belles dents" - }, { - "id": 43, + "id": 58, "jeux": true, "question": " et liser le premier SMS qui s'affiche quand on tape dans la barre de recherche. le plus marrant", "gorger": 3, - "variante": ["dĂ©solĂ©","caca","bourrĂ©","mine","nazi"], + "variante": [ + "dĂ©solĂ©", + "caca", + "bourrĂ©", + "mine", + "nazi" + ], "distribution": true, "recois": false - }, { - "id": 44, + }, + { + "id": 59, "jeux": true, "question": "A tour de role, vous avez exactement 3 secondes pour donner un mot en rapport avec le mots dit precedemment. tu commences en choissisant un mot. Le perdant", "gorger": 3, @@ -436,7 +515,7 @@ "recois": true }, { - "id": 45, + "id": 60, "jeux": true, "question": "Le jeu du PIM PAM POUM. Le premier qui perd ", "gorger": 3, @@ -444,7 +523,7 @@ "recois": true }, { - "id": 46, + "id": 61, "jeux": true, "question": " defie au chifoumi ! Le perdant", "gorger": 3, @@ -452,10 +531,13 @@ "recois": true }, { - "id": 47, + "id": 62, "jeux": true, "question": " est dans le ! Tu dois parler au pendant manches ", - "variante": ["passĂ©", "futur"], + "variante": [ + "passĂ©", + "futur" + ], "manches": true, "arret": "Tu est revenu dans le present", "distribution": false, @@ -463,11 +545,11 @@ "caliente": false }, { - "id": 48, + "id": 63, "question": " tu bois autant de gorgĂ©es que tu as d'annĂ©es d'Ă©tudes aprĂšs le BAC" }, { - "id": 49, + "id": 64, "jeux": true, "question": " et ferment leurs yeux ! Ils/Elles doivent deviner la couleur des yeux de l'autre. ", "gorger": 3, @@ -475,7 +557,7 @@ "recois": true }, { - "id": 50, + "id": 65, "jeux": true, "question": " est manchot ! Il/Elle ne peut plus utiliser ses doigts durant manches . Si il/elle s'en sert, il/elle devra boire autant de gorgĂ©es qu'il/elle a utilisĂ© de doigts", "distribution": false, @@ -483,21 +565,19 @@ "recois": true }, { - "id": 51, + "id": 66, "jeux": true, "question": " et , si vous ĂȘtes ensemble dans la vraie vie, vous pouvez distribuer 2 gorgĂ©es , autrement buvez-les" - }, { - "id": 52, + "id": 67, "jeux": true, "question": " a la tourette ! A chaque fois que tu bois une gorgĂ©e, tu dois CRIER une insulte. C'est un stade avancĂ©, ça dure manches", "manches": true, "arret": "Tu n'as plus tourette." - }, { - "id": 53, + "id": 68, "jeux": true, "question": ", donne la couleur prĂ©fĂ©rĂ©e de si tu te trompes", "gorger": 3, @@ -505,29 +585,37 @@ "recois": true }, { - "id": 54, + "id": 69, "jeux": true, "question": " Ă  l'oeil de serpent ! DĂšs qu'un joueur te regarde dans les yeux, il/elle boit. Si tu es arrivĂ© Ă  faire boire personne avant manches, tu ", "gorger": 4, "distribution": false, "recois": true - }, { - "id": 55, + }, + { + "id": 70, "jeux": true, "question": " et se mesurent ! Le/la plus ", "gorger": 3, - "variante": ["petit","grand"], + "variante": [ + "petit", + "grand" + ], "distribution": true, "recois": true }, { - "id": 56, + "id": 71, "jeux": true, "question": " doit terminer toutes ses phrases par - pendant manches", - "variante": ["C'est clair","han","quoicoubeh"] + "variante": [ + "C'est clair", + "han", + "quoicoubeh" + ] }, { - "id": 57, + "id": 72, "jeux": true, "question": " et se dĂ©fient au 'je te tiens, tu me tiens', le premier qui rit sera dechirĂ©, et ", "gorger": 3, @@ -535,23 +623,27 @@ "recois": true }, { - "id": 58, + "id": 73, "jeux": true, "question": " et n'ont plus le droit d'utiliser leur tĂ©lĂ©phone pendant manches !", "manches": "true", - "arret": "vous pouvez enfin utiliser vos tĂ©lĂ©phone bande de geek" + "arret": "vous pouvez enfin utiliser vos tĂ©lĂ©phone bande de geek" }, { - "id": 59, + "id": 74, "jeux": true, "question": " et racontent une anecdote, celui/celle qui sort la plus ", - "variante": ["banale","incroyable","marrante"], + "variante": [ + "banale", + "incroyable", + "marrante" + ], "gorger": 3, "distribution": true, "recois": true }, { - "id": 60, + "id": 75, "jeux": true, "question": ", Si on te dit Marco? ... Si tu as dis Polo ", "gorger": 3, @@ -559,7 +651,7 @@ "recois": true }, { - "id": 61, + "id": 76, "jeux": true, "question": " est l'aigris pendant manches ! DĂšs que tu souris ou rigoles,", "gorger": 1, @@ -569,7 +661,7 @@ "recois": true }, { - "id": 62, + "id": 77, "jeux": true, "question": " fait un geste, le suivant rĂ©pĂšte et en ajoute un. Le perdant ", "gorger": 3, @@ -577,17 +669,17 @@ "recois": true }, { - "id": 63, + "id": 78, "question": ", et vont dĂ©signer quelqu'un qui doit terminer son verre", "jeux": true }, { - "id": 64, + "id": 79, "question": "RĂ©citez l'alphabet en Ă©nonçant une lettre Ă  tour de rĂŽle. Si finit son verre avant, cul sec pour tout le monde !", "jeux": true }, { - "id": 65, + "id": 80, "question": "Si arrive Ă  finir son verre en moins de 5 secondes, il/elle ", "gorger": 6, "distribution": true, @@ -595,34 +687,34 @@ "jeux": true }, { - "id": 66, + "id": 81, "jeux": true, "question": " et sont lies, si l'un boit alors l'autre aussi, et ce pendant manches", "manches": true, - "arret": "Vous n'etes plus liĂ©s par le verre de l'amitiĂ© et plus.." + "arret": "Vous n'etes plus liĂ©s par le verre de l'amitiĂ© et plus.." }, { - "id": 67, + "id": 82, "question": " dit un mot, la personne suivante le rĂ©pĂšte et en ajoute un nouveau, ainsi de suite jusqu'Ă  ce que quelqu'un se trompe. Le perdant boit autant de gorgĂ©es qu'il y a eu de personne avant lui", "jeux": true }, { - "id": 68, + "id": 83, "question": " doit choisir un mot que tout le monde devra dire Ă  chaque fois qu'une personne boit. Pendant manches", "jeux": false, "manches": true, "arret": "Plus besoin de dire le mots avant de boire" }, { - "id": 69, + "id": 84, "question": "Quand l'heure affichera un multiple de 10 (22h, 22h10 ...) le premier Ă  crier 'merde j'ai oubliĂ© mon chat'", "gorger": 3, - "distribut":false, + "distribut": false, "manches": true, "arret": "Vous avez retrouver le chat!" }, { - "id": 70, + "id": 85, "question": "PlutĂŽt ne plus avoir de mains ou de jambes? les perdants ", "gorger": 3, "jeux": false, @@ -630,29 +722,37 @@ "recois": true }, { - "id": 71, + "id": 86, "question": "Vive la poĂ©sie ! Nos phrases doivent rimer sous peine d'une gorgĂ©e pendant manches", "manches": true, "arret": "Vous ne devez plus faire de rime." }, { - "id": 72, + "id": 87, "question": "Choisissez le joueur le drĂŽle d'entre vous, ce dernier ", - "variante": ["moins", "plus"], + "variante": [ + "moins", + "plus" + ], "gorger": 3, "distribution": false, "recois": true }, { - "id": 73, + "id": 88, "question": "Les ", - "variante": ["filles","garçons","couples","celibataires"], + "variante": [ + "filles", + "garçons", + "couples", + "celibataires" + ], "gorger": 3, "distribution": true, "recois": true }, { - "id": 74, + "id": 89, "jeux": true, "question": "PlutĂŽt avoir un tapis volant, ou un frigo qui se remplit tout seul ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, @@ -661,15 +761,14 @@ "manches": false }, { - "id": 75, + "id": 90, "question": "PlutĂŽt avoir du temps ou de l'argent ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true - }, { - "id": 76, + "id": 91, "question": "Le premier joueur qui en embrasse un autre sur la bouche", "gorger": 5, "distribution": true, @@ -677,82 +776,103 @@ "caliente": true }, { - "id": 77, + "id": 92, "question": "PlutĂŽt sĂ©rie ou film ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 78, + "id": 93, "question": "PlutĂŽt jeux-videos ou livre ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, - { - "id": 79, + "id": 94, "question": "PlutĂŽt anime ou jeux-videos ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 80, + "id": 95, "question": "Elisez le plus d'entre vous, ce dernier ", - "variante": ["con", "intelligent", "beau", "gentil","dragueur","timide"], + "variante": [ + "con", + "intelligent", + "beau", + "gentil", + "dragueur", + "timide" + ], "gorger": 3, "distribution": true, "recois": true }, { - "id": 81, + "id": 96, "question": "Le premier qui donne un film de ", "gorger": 3, "distribution": true, "recois": false, - "variante": ["Christopher Nolan","James Cameron","Tim Burton","Quentin tarantino","Steven Spielberg"] + "variante": [ + "Christopher Nolan", + "James Cameron", + "Tim Burton", + "Quentin tarantino", + "Steven Spielberg" + ] }, { - "id": 82, + "id": 97, "question": "Le premier qui donne un film avec ", - "variante": ["Christian Clavier","Morgan freeman","Brad Pitt", "Jean Reno","Marion Cotillard"], + "variante": [ + "Christian Clavier", + "Morgan freeman", + "Brad Pitt", + "Jean Reno", + "Marion Cotillard" + ], "gorger": 3, "distribution": true, "recois": false }, { - "id": 83, + "id": 98, "question": "La premiĂšre personne qui dĂ©signe le/la plus ", "gorger": 3, "distribution": true, "recois": false, - "variante": ["jeune", "vieille"] + "variante": [ + "jeune", + "vieille" + ] }, { - "id": 84, + "id": 99, "question": "PlutĂŽt avoir des connaissances illimitĂ©es ou diriger le monde ? Votez tous en mĂȘme temps. La minoritĂ©", "gorger": 3, "distribution": false, "recois": true }, { - "id": 85, + "id": 100, "question": "PlutĂŽt n'avoir aucun ami ou ne plus pouvoir utiliser d'appareil Ă©lectronique ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 86, + "id": 101, "question": "Plutot vaincre le patrikaka ou la polution dans le monde? Votez tous en meme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 87, + "id": 102, "question": "Jeu du LUTIN : Pendant manches. Vous devez enlever le lutin de votre verre pour pouvoir boire et le remettre ensuite sinon vous devait reboire", "gorger": 3, "distribution": false, @@ -761,428 +881,462 @@ "arret": "Le Lutin est parti. Vous pouvez boire normalement" }, { - "id": 88, + "id": 103, "question": "Le premier joueur Ă  ramener un objet (pas de vĂȘtements) ", "gorger": 3, "distribution": true, - "variante": ["rouge","vert","bleu","jaune"], + "variante": [ + "rouge", + "vert", + "bleu", + "jaune" + ], "recois": false, "manches": false }, { - "id": 89, + "id": 104, "question": "Le premier joueur qui dĂ©voile un de ses secrets et que personne ne sait ", "gorger": 3, "distribution": true, "recois": false }, { - "id": 90, + "id": 105, "question": "Jeu des peaux! Triez vous du joueur le plus bronzĂ© au joueur le moins bronzĂ©. Le plus bronzĂ© prend 1 gorgĂ©e, le second 2 gorgĂ©es, etc.", "gorger": 3, "distribution": true, "recois": true }, { - "id": 91, + "id": 106, "question": "PlutĂŽt avoir du pouvoir ou de la connaissance ? Votez tous en mĂȘme temps. La minoritĂ© ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 92, + "id": 107, "question": "Il est dĂ©sormais interdit de se tutoyer pendant manches", "manches": true, - "arret":"Vous pouvez vous enfin vous tutoyer" - + "arret": "Vous pouvez vous enfin vous tutoyer" }, { - "id": 93, + "id": 108, "question": "Vaccin contre le COVID19 : Le DR Raoul Ă  dit que boire un cul sec avait les mĂȘmes effets que le vaccin. Tout le monde bois sont verre cul sec" }, { - "id": 94, - "question": "Faites un concours de clash : Rap contenders entre et le perdant ", + "id": 109, + "question": "Faites un concours de clash : Rap contenders entre et le perdant ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 95, + "id": 110, "question": "Choisissez un joueur qui doit imiter un animal pendant manches sans se faire prendre", "manches": true, "arret": "Fin de l'imitation animale" }, { - "id": 96, + "id": 111, "question": "Qui a le plus de talents cachĂ©s ? Votez et le perdant", "gorger": 2, "distribution": false, "recois": true }, { - "id": 97, + "id": 112, "question": "Le prochain qui parle de travail ou d'Ă©cole doit boire un shot", "duree": true, "arret": "Fin de l'interdiction" }, { - "id": 98, + "id": 113, "question": "KaraokĂ© improvisĂ© : choisit une chanson pour ", "gorger": 3, "distribution": false, "recois": true }, { - "id": 99, + "id": 114, "question": "Qui serait le plus susceptible de survivre dans un film de survie ? Votez", "gorger": 3, "distribution": false, "recois": true }, { - "id": 100, + "id": 115, "question": "DĂ©fi cuisine : doit crĂ©er la combinaison d'alcool la plus bizarre avec les ingrĂ©dients prĂ©sents, doit boire la mixture", "gorger": 2, "distribution": false, "recois": true }, { - "id": 101, + "id": 116, "question": "Ceux qui ont dĂ©jĂ  fait du ski", "gorger": 2, "distribution": true, "recois": true }, { - "id": 102, + "id": 117, "question": "Ceux qui ont un tatouage", "gorger": 2, "distribution": true, "recois": true }, { - "id": 103, + "id": 118, "question": "Ceux qui portent des lentilles de contact", "gorger": 2, "distribution": true, "recois": true }, { - "id": 104, + "id": 119, "question": "Ceux qui ont dĂ©jĂ  fait un crochet en blanc", "gorger": 3, "distribution": false, "recois": true }, { - "id": 105, + "id": 120, "question": "Ceux qui ont plus de 1000 abonnĂ©s sur Instagram", "gorger": 3, "distribution": true, "recois": true }, { - "id": 106, + "id": 121, "question": "Ceux qui parlent une autre langue que le français", "gorger": 2, "distribution": true, "recois": true }, { - "id": 107, + "id": 122, "question": "Ceux qui ont dĂ©jĂ  Ă©tĂ© en couple avec quelqu'un dans la piĂšce", "gorger": 4, "distribution": false, "recois": true }, { - "id": 108, + "id": 123, "question": "Les joueurs qui ont un iPhone", "gorger": 2, "distribution": true, "recois": true }, { - "id": 109, + "id": 124, "question": "Ceux qui ont dĂ©jĂ  participĂ© Ă  un jeu tĂ©lĂ©visĂ©", "gorger": 3, "distribution": true, "recois": true }, { - "id": 110, + "id": 125, "question": "Ceux qui ont dĂ©jĂ  fait une manif", "gorger": 2, "distribution": true, "recois": true }, { - "id": 111, + "id": 126, "question": "Le/La plus susceptible du groupe", "gorger": 3, "distribution": false, "recois": true }, { - "id": 112, + "id": 127, "question": "Le/La plus drĂŽle du groupe (vote Ă  main levĂ©e, le perdant boit)", "gorger": 3, "distribution": false, "recois": true }, { - "id": 113, + "id": 128, "question": "Le/La plus 'bĂȘte' cul du groupe", "gorger": 4, "distribution": false, "recois": true }, { - "id": 114, + "id": 129, "question": "Le/La plus timide", "gorger": 2, "distribution": false, "recois": true }, { - "id": 115, + "id": 130, "question": "Le/La plus likely to rater sa vie", "gorger": 4, "distribution": false, "recois": true }, { - "id": 116, + "id": 131, "question": "Celui/Celle qui a le plus de stories Instagram", "gorger": 2, "distribution": true, "recois": true }, { - "id": 117, + "id": 132, "question": "Les cĂ©libataires de plus de ans", "gorger": 4, "distribution": true, "recois": true, - "variante": ["23","25","27","30"] + "variante": [ + "23", + "25", + "27", + "30" + ] }, { - "id": 118, + "id": 133, "question": "Ceux qui ont dĂ©jĂ  ghostĂ© quelqu'un", "gorger": 3, "distribution": false, "recois": true }, { - "id": 119, + "id": 134, "question": "Celui/Celle qui a fait le pire premier baiser de l'histoire", "gorger": 4, "distribution": false, "recois": true }, { - "id": 120, + "id": 135, "question": "Le/La plus 'pick up artist' du groupe", "gorger": 3, "distribution": false, "recois": true }, { - "id": 121, + "id": 136, "question": " doit parler avec un accent jusqu'Ă  la fin du dĂ©fi. manches", "gorger": 0, - "variante": ["belge","suisse","canadien","allemand","anglais","espagnol"], + "variante": [ + "belge", + "suisse", + "canadien", + "allemand", + "anglais", + "espagnol" + ], "arret": "Accent oubliĂ©!" }, { - "id": 122, + "id": 137, "question": "Interdiction de dire 'oui' ou 'non' pendant manches. Si tu dis oui/non : 3 gorgĂ©es !", "gorger": 0, "arret": "Plus d'interdiction !" }, { - "id": 123, + "id": 138, "question": " doit inventer un surnom ridicule Ă  et l'utiliser pendant manches", "gorger": 0, "arret": "Surnom oubliĂ©!" }, { - "id": 124, + "id": 139, "question": "Pause pip interdite pendant manches. 5 gorgĂ©es si tu vas aux toilettes !", "gorger": 0, "arret": "Tu peux enfin aller aux toilettes !" }, { - "id": 125, + "id": 140, "question": " ne doit plus rĂ©pondre quand on l'appelle par son prĂ©nom pendant manches. 3 gorgĂ©es par oubli !", "gorger": 0, "arret": "Tu peux enfin rĂ©pondre Ă  ton prĂ©nom !" }, { - "id": 126, + "id": 141, "question": "Mini-quiz gĂ©ographique : doit nommer la capitale d'un pays. Si faux : 2 gorgĂ©es. Continue pendant manches ou jusqu'Ă  3 bonnes rĂ©ponses.", "gorger": 0, "arret": "Quiz terminĂ© !" }, { - "id": 127, + "id": 142, "question": " doit complĂ©ter toutes les phrases des autres par 'coucou bigourd' pendant manches", "gorger": 0, "arret": "Plus de coucou bigourd !" }, { - "id": 128, + "id": 143, "question": " est le serviteur personnel de pendant manches. peut demander des gorgĂ©es !", "gorger": 0, "arret": "Servitude terminĂ©e !" }, { - "id": 129, + "id": 144, "question": "Interdiction de rire pendant manches. 4 gorgĂ©es si tu ris !", "gorger": 0, "arret": "Tu peux enfin rire !" }, { - "id": 130, + "id": 145, "question": " doit faire une imitation d'un animal au choix de toutes les 3 questions pendant manches", "gorger": 0, "arret": "Plus d'imitations !" }, { - "id": 131, + "id": 146, "question": " et se regardent dans les yeux pendant 10 secondes sans rire. Le premier Ă  rire boit 4 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 132, + "id": 147, "question": " doit donner un compliment Ă  . Si n'est pas satisfait : boit 3 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 133, + "id": 148, "question": " Ă  toi de choisir : qui de ou a le plus mauvais goĂ»t musical ? Le perdant boit 3 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 134, + "id": 149, "question": " doit deviner ce que a mangĂ© aujourd'hui. 1 gorgĂ©e par mauvaise rĂ©ponse, max 5", "gorger": 0, "recois": true }, { - "id": 135, + "id": 150, "question": " et font un bras de fer. Le perdant boit 5 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 136, + "id": 151, "question": " doit nommer une qualitĂ© de . Si n'est pas d'accord : 3 gorgĂ©es pour ", "gorger": 0, "recois": true }, { - "id": 137, + "id": 152, "question": " doit deviner la couleur des sous-vĂȘtements de . 2 gorgĂ©es si faux", "gorger": 0, "recois": true }, { - "id": 138, + "id": 153, "question": " doit mimer le mĂ©tier de . Les autres doivent deviner en moins de 30 secondes ou boit 4 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 139, + "id": 154, "question": "Ceux qui ont dĂ©jĂ  fait du ", "gorger": 2, "distribution": true, "recois": true, - "variante": ["cheval","velo","kayak","surf","paintball"] + "variante": [ + "cheval", + "velo", + "kayak", + "surf", + "paintball" + ] }, { - "id": 140, + "id": 155, "question": "Les fans de ", "gorger": 3, "distribution": true, "recois": true, - "variante": ["Harry Potter","Star Wars","Marvel","Game of Thrones","One Piece"] + "variante": [ + "Harry Potter", + "Star Wars", + "Marvel", + "Game of Thrones", + "One Piece" + ] }, { - "id": 141, + "id": 156, "question": "Ceux qui Ă©coutent du ", "gorger": 2, "distribution": true, "recois": true, - "variante": ["rap","rock","electro","metal","jazz","classique"] + "variante": [ + "rap", + "rock", + "electro", + "metal", + "jazz", + "classique" + ] }, { - "id": 142, + "id": 157, "question": "Ceux qui ont dĂ©jĂ  fait un binge watch d'une sĂ©rie en moins de 24h", "gorger": 2, "distribution": true, "recois": true }, { - "id": 143, + "id": 158, "question": "Le/La plus 'influençant' du groupe (vote Ă  main levĂ©e)", "gorger": 3, "distribution": false, "recois": true }, { - "id": 144, + "id": 159, "question": "Ceux qui ont un animal de compagnie", "gorger": 1, "distribution": true, "recois": true }, { - "id": 145, + "id": 160, "question": " doit dire 3 mots commençant par la mĂȘme lettre que choisit. Si Ă©chec : 3 gorgĂ©es", "gorger": 0, "recois": true }, { - "id": 146, + "id": 161, "question": "Ceux qui ont dĂ©jĂ  dormi dehors (camping, festival, etc.)", "gorger": 2, "distribution": true, "recois": true }, { - "id": 147, + "id": 162, "question": "Le/La plus 'branchĂ©' du groupe selon les autres", "gorger": 3, "distribution": false, "recois": true }, { - "id": 148, + "id": 163, "question": "Ceux qui ont un_permis de conduire", "gorger": 1, "distribution": true, "recois": true }, { - "id": 149, + "id": 164, "question": " doit rĂ©pĂ©ter tout ce que dit comme un perroquet pendant manches", "gorger": 0, "arret": "Plus de perroquet !" }, { - "id": 150, + "id": 165, "question": "Ceux qui ont dĂ©jĂ  fait un saut Ă  l'Ă©lastique ou en parachute", "gorger": 3, "distribution": true, "recois": true } - ] -} +} \ No newline at end of file diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..49e04e413b4112aca71cc4cc780818f639c3dfb7 GIT binary patch literal 275716 zcmWh!XH*m27M+A7gr3lm7Mg-|P$^PE6GQ}TfYhKMAX1fH5}H&YfHb89P}C3UNG}ml zniLTQkrD)@LkKOjb_f7C;HshC?O@05cE%=$&jE@<`zf#NB%LoOX0{y{boUM9EWAE<1uBLnD2#3V zxT9#j?|Aj?{?o)0rQHAYRX<<4gh^5U!OxfU?n_yWN7?UG%*6&@_$=RoA+gY$ODCakhacfuVHM#Y19{Io^*to>r{G0lAt z%F-tzN| zPL98T2=)`EMj6-=^`y#|7Vjj0Iwr}M!*y>@r4k>XkpEOfkjMFUKE+?!|A>!rROhUD z2%XdR*Ydwu(g>4IwO!A)JiK8a!$V@bwyVC@(^$JsIW>9uED~ zejgJGFJt6PU9)5IVmU0{Ubv`quU`gK?o3^{GooB0s%gF!x5t%jaI|%;_@wFc$R%$O z>*WVJtb)I}lsKL~%VRX?dGcxG8>qB}zf{=%0D+xx6jXXO26MC??`Y7g_85Gl88Z8r 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%0DxiFvTfztZ*&sOO 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 RYCiw~002ovPDHLkV1g(*q}l)g literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/example/boidelov3/DatabaseConnection.java b/app/src/main/java/com/example/boidelov3/DatabaseConnection.java index 04e8e6a..bd67059 100644 --- a/app/src/main/java/com/example/boidelov3/DatabaseConnection.java +++ b/app/src/main/java/com/example/boidelov3/DatabaseConnection.java @@ -14,12 +14,23 @@ import java.util.concurrent.Executors; /** * GĂšre la connexion Ă  la base de donnĂ©es PostgreSQL de maniĂšre asynchrone. * Remplace l'obsolĂšte AsyncTask par ExecutorService + Handler. + * + * SECURITY WARNING: This class is currently disabled because database credentials + * should NEVER be stored in BuildConfig or in the app code. + * + * Recommended secure alternatives: + * 1. Use a backend API that handles database connections + * 2. Use Android Keystore for storing encrypted credentials locally + * 3. Use Firebase Authentication or similar secure services + * + * To re-enable database functionality, implement one of the secure solutions above. */ public class DatabaseConnection { - private static final String DB_URL = BuildConfig.DB_URL; - private static final String USER = BuildConfig.DB_USER; - private static final String PASSWORD = BuildConfig.DB_PASSWORD; + // Database credentials are now disabled for security + private static final String DB_URL = ""; + private static final String USER = ""; + private static final String PASSWORD = ""; private final ExecutorService executorService; private final Handler mainHandler; diff --git a/app/src/main/java/com/example/boidelov3/EndGameActivity.java b/app/src/main/java/com/example/boidelov3/EndGameActivity.java index e2a5827..927bbb0 100644 --- a/app/src/main/java/com/example/boidelov3/EndGameActivity.java +++ b/app/src/main/java/com/example/boidelov3/EndGameActivity.java @@ -10,6 +10,7 @@ import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; +import com.example.boidelov3.data.PlayerStats; import com.google.android.material.button.MaterialButton; import java.util.ArrayList; @@ -24,6 +25,8 @@ public class EndGameActivity extends AppCompatActivity { private TextView questionsPlayedValue; private TextView playersCountValue; private TextView gorgeesTotalValue; + private TextView plusBuValue; + private TextView plusDistribueValue; private MaterialButton homeButton; private MaterialButton replayButton; @@ -31,6 +34,7 @@ public class EndGameActivity extends AppCompatActivity { private int questionsPlayed; private int playersCount; private ArrayList players; + private ArrayList playerStatsList; @Override protected void onCreate(Bundle savedInstanceState) { @@ -60,6 +64,8 @@ public class EndGameActivity extends AppCompatActivity { questionsPlayedValue = findViewById(R.id.questionsPlayedValue); playersCountValue = findViewById(R.id.playersCountValue); gorgeesTotalValue = findViewById(R.id.gorgeesTotalValue); + plusBuValue = findViewById(R.id.plusBuValue); + plusDistribueValue = findViewById(R.id.plusDistribueValue); homeButton = findViewById(R.id.homeButton); replayButton = findViewById(R.id.replayButton); @@ -76,6 +82,7 @@ public class EndGameActivity extends AppCompatActivity { questionsPlayed = getIntent().getIntExtra("EXTRA_QUESTIONS_PLAYED", 0); playersCount = getIntent().getIntExtra("EXTRA_PLAYERS_COUNT", 0); players = getIntent().getStringArrayListExtra("EXTRA_PLAYERS"); + playerStatsList = getIntent().getParcelableArrayListExtra("EXTRA_PLAYER_STATS"); // Si pas de donnĂ©es, utiliser les SharedPreferences if (questionsPlayed == 0) { @@ -93,13 +100,53 @@ public class EndGameActivity extends AppCompatActivity { animateValue(questionsPlayedValue, 0, questionsPlayed, 1000); animateValue(playersCountValue, 0, playersCount, 1000); - // Afficher les joueurs (simplifiĂ© pour l'instant) - if (players != null && !players.isEmpty()) { - StringBuilder playersText = new StringBuilder(); - for (int i = 0; i < players.size(); i++) { - if (i > 0) playersText.append(", "); - playersText.append(players.get(i)); + // Calculer et afficher les statistiques dĂ©taillĂ©es + if (playerStatsList != null && !playerStatsList.isEmpty()) { + // Calculer le total des gorgĂ©es bues + int totalGorgeesBuves = 0; + PlayerStats biggestDrinker = null; + int maxGorgeesBuves = -1; + + PlayerStats biggestDistributor = null; + int maxGorgeesDistribuees = -1; + + for (PlayerStats stats : playerStatsList) { + totalGorgeesBuves += stats.getGorgeesBuves(); + + // Trouver le plus gros buveur + if (stats.getGorgeesBuves() > maxGorgeesBuves) { + maxGorgeesBuves = stats.getGorgeesBuves(); + biggestDrinker = stats; + } + + // Trouver le plus gros distributeur + if (stats.getGorgeesDistribuees() > maxGorgeesDistribuees) { + maxGorgeesDistribuees = stats.getGorgeesDistribuees(); + biggestDistributor = stats; + } } + + // Afficher le total des gorgĂ©es bues + animateValue(gorgeesTotalValue, 0, totalGorgeesBuves, 1000); + + // Afficher le joueur qui a le plus bu + if (biggestDrinker != null && biggestDrinker.getGorgeesBuves() > 0) { + plusBuValue.setText(biggestDrinker.getPlayerName() + " (" + biggestDrinker.getGorgeesBuves() + ")"); + } else { + plusBuValue.setText("Personne"); + } + + // Afficher le joueur qui a le plus distribuĂ© + if (biggestDistributor != null && biggestDistributor.getGorgeesDistribuees() > 0) { + plusDistribueValue.setText(biggestDistributor.getPlayerName() + " (" + biggestDistributor.getGorgeesDistribuees() + ")"); + } else { + plusDistribueValue.setText("Personne"); + } + } else { + // Pas de stats disponibles + gorgeesTotalValue.setText("0"); + plusBuValue.setText("Personne"); + plusDistribueValue.setText("Personne"); } // Afficher un message de fĂ©licitations diff --git a/app/src/main/java/com/example/boidelov3/Jeux.java b/app/src/main/java/com/example/boidelov3/Jeux.java index 4c43e3f..66af488 100644 --- a/app/src/main/java/com/example/boidelov3/Jeux.java +++ b/app/src/main/java/com/example/boidelov3/Jeux.java @@ -6,6 +6,7 @@ import android.content.SharedPreferences; import android.graphics.Color; import android.os.Bundle; import android.text.Html; +import android.util.Log; import android.view.View; import android.view.animation.DecelerateInterpolator; import android.widget.Button; @@ -19,6 +20,10 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; +import com.example.boidelov3.data.PlayerStats; +import com.example.boidelov3.data.QuestionCategory; +import com.example.boidelov3.utils.SoundManager; +import com.example.boidelov3.utils.ErrorHandler; import com.google.android.material.button.MaterialButton; import com.google.gson.Gson; @@ -26,6 +31,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -48,11 +55,17 @@ public class Jeux extends AppCompatActivity { private LinearLayout questionIndicator; private ImageView indicatorIcon; private TextView indicatorText; + private View rootLayout; // Layout racine pour la couleur de fond // DonnĂ©es private Questions questions; private List toutlesjoueurs; private List questionsAvecManches = new ArrayList<>(); + private Map playerStatsMap; // Statistiques des joueurs + private SoundManager soundManager; // Gestionnaire de sons + private OpenAIService openAIService; // Service OpenAI + private OpenAIService.AIProvider aiProvider = OpenAIService.AIProvider.OPENAI; // Provider IA + private List generatedAIQuestions; // Questions gĂ©nĂ©rĂ©es par l'IA // GĂ©nĂ©rateur alĂ©atoire unique pour toute l'activitĂ© private final Random random = new Random(); @@ -71,6 +84,22 @@ public class Jeux extends AppCompatActivity { private String currentQuestionText = ""; private boolean isMancheActive = false; private boolean isFinishingGame = false; // Flag pour empĂȘcher les appels multiples pendant la fin du jeu + private int questionsSinceLastAI = 0; // Compteur pour le ratio IA + + // Constantes pour les nombres magiques + private static final int MIN_DEFI_ROUNDS = 3; // Minimum 3 manches pour les dĂ©fis + private static final int MAX_DEFI_ROUNDS_RANDOM = 5; // Max 5 tours alĂ©atoires en plus (3-8 tours au total) + private static final int MIN_MANCHES_COUNT = 1; + private static final int PREGENERATED_AI_QUESTIONS = 2; + private static final int MIN_AI_QUESTION_STOCK = 2; + private static final int MIN_AI_GORGEE = 1; // Minimum 1 gorgĂ©e + private static final int MAX_AI_GORGEE_ADDITIONAL = 3; + private static final int ANIMATION_DURATION_SHORT_MS = 300; + private static final int BACKGROUND_COLOR_DELAY_MS = 1000; + private static final int END_GAME_DELAY_MS = 3000; + private static final int RANDOM_PLAYER_SELECTION_COUNT = 3; + private static final int TWO_PLAYERS = 2; + private static final int ONE_PLAYER = 1; // ClĂ©s pour sauvegarde d'Ă©tat private static final String KEY_TOTAL_QUESTIONS = "total_questions_asked"; @@ -88,6 +117,16 @@ public class Jeux extends AppCompatActivity { // RĂ©cupĂ©ration des donnĂ©es passĂ©es par l'activitĂ© prĂ©cĂ©dente toutlesjoueurs = getIntent().getStringArrayListExtra("EXTRA_LIST_JOUEUR"); + + // Initialiser les statistiques des joueurs + initializePlayerStats(); + + // Initialiser le gestionnaire de sons + soundManager = SoundManager.getInstance(this); + + // Initialiser les services IA si activĂ©s + generatedAIQuestions = new ArrayList<>(); + nombreQuestions = getIntent().getIntExtra("EXTRA_NOMBRE_QUESTIONS", 50); ajoutGorgees = getIntent().getIntExtra("EXTRA_AJOUT_GORGEE", 0); ratiOpenai = getIntent().getIntExtra("EXTRA_RATIO_OPENAI", 0); @@ -95,6 +134,32 @@ public class Jeux extends AppCompatActivity { openAI = getIntent().getBooleanExtra("EXTRA_OPENAI", false); keyOpenai = getIntent().getStringExtra("EXTRA_KEY_OPENAI"); + // RĂ©cupĂ©rer le provider IA + String providerName = getIntent().getStringExtra("EXTRA_AI_PROVIDER"); + if (providerName != null) { + try { + aiProvider = OpenAIService.AIProvider.valueOf(providerName); + } catch (IllegalArgumentException e) { + aiProvider = OpenAIService.AIProvider.OPENAI; + } + } + + if (openAI && keyOpenai != null && !keyOpenai.isEmpty()) { + // Valider la clĂ© API avant de crĂ©er le service + if (OpenAIService.validateApiKey(keyOpenai, aiProvider)) { + openAIService = new OpenAIService(keyOpenai, aiProvider); + // PrĂ©gĂ©nĂ©rer quelques questions IA pour avoir un stock au dĂ©marrage + for (int i = 0; i < PREGENERATED_AI_QUESTIONS; i++) { + generateAIQuestion(); + } + } else { + // ClĂ© API invalide : dĂ©sactiver l'IA et afficher un message + Log.w("Jeux", "ClĂ© API invalide, dĂ©sactivation de la gĂ©nĂ©ration IA"); + openAI = false; + Toast.makeText(this, "ClĂ© API invalide. VĂ©rifiez votre configuration.", Toast.LENGTH_LONG).show(); + } + } + // Charger les questions depuis le JSON loadQuestions(); @@ -129,6 +194,7 @@ public class Jeux extends AppCompatActivity { questionIndicator = findViewById(R.id.questionIndicator); indicatorIcon = findViewById(R.id.indicatorIcon); indicatorText = findViewById(R.id.indicatorText); + rootLayout = findViewById(R.id.rootLayout); // Appliquer les animations aux boutons BoideloAnimationUtils.applyButtonPressAnimation(suivantButton); @@ -136,10 +202,6 @@ public class Jeux extends AppCompatActivity { // Cacher le bouton PassĂ© au dĂ©but (uniquement visible pendant les dĂ©fis) skipButton.setVisibility(View.GONE); - - // Initialiser la couleur de fond (respecte le mode jour/nuit) - int backgroundColor = ContextCompat.getColor(this, R.color.game_normal); - getWindow().getDecorView().setBackgroundColor(backgroundColor); } /** @@ -157,8 +219,21 @@ public class Jeux extends AppCompatActivity { Gson gson = new Gson(); questions = gson.fromJson(json, Questions.class); } catch (IOException ex) { - ex.printStackTrace(); - Toast.makeText(this, "Erreur de chargement des questions", Toast.LENGTH_SHORT).show(); + String operation = "Chargement du fichier question.json depuis les assets"; + String details = "Impossible de lire ou de parser le fichier de questions"; + ErrorHandler.showError(this, "Jeux", operation, details + ": " + ex.getMessage(), ex); + } + } + + /** + * Initialise les statistiques des joueurs + */ + private void initializePlayerStats() { + playerStatsMap = new HashMap<>(); + if (toutlesjoueurs != null) { + for (String joueur : toutlesjoueurs) { + playerStatsMap.put(joueur, new PlayerStats(joueur)); + } } } @@ -177,6 +252,7 @@ public class Jeux extends AppCompatActivity { private void setupButtonListeners() { suivantButton.setOnClickListener(v -> { BoideloAnimationUtils.triggerHapticFeedback(this); + // Plus de son de clic - juste la vibration haptique updateQuestion(); }); @@ -211,20 +287,45 @@ public class Jeux extends AppCompatActivity { } // VĂ©rifier si toutes les questions ont Ă©tĂ© posĂ©es - if (totalQuestionsAsked >= nombreQuestions) { - // VĂ©rifier s'il y a encore des manches actives - if (!questionsAvecManches.isEmpty()) { - // Afficher le message de fin de manche et terminer - showFinalMancheEndMessage(); - return; - } - endGame(); + if (shouldEndGame()) { + handleGameEnd(); return; } // GĂ©rer les questions avec manches actives + boolean hasMancheActive = processActiveManches(); + + // Afficher une nouvelle question (que ce soit pendant ou hors manche) + displayNewQuestion(hasMancheActive); + } + + /** + * VĂ©rifie si le jeu doit se terminer + */ + private boolean shouldEndGame() { + return totalQuestionsAsked >= nombreQuestions; + } + + /** + * GĂšre la fin du jeu + */ + private void handleGameEnd() { + // VĂ©rifier s'il y a encore des manches actives + if (!questionsAvecManches.isEmpty()) { + // Afficher le message de fin de manche et terminer + showFinalMancheEndMessage(); + } else { + endGame(); + } + } + + /** + * Traite les manches actives et retourne true si une manche est active + */ + private boolean processActiveManches() { Iterator iterator = questionsAvecManches.iterator(); boolean hasMancheActive = false; + while (iterator.hasNext()) { Question mancheQuestion = iterator.next(); mancheQuestion.setManchesRestantes(mancheQuestion.getManchesRestantes() - 1); @@ -243,7 +344,13 @@ public class Jeux extends AppCompatActivity { } } - // Afficher une nouvelle question (que ce soit pendant ou hors manche) + return hasMancheActive; + } + + /** + * Affiche une nouvelle question + */ + private void displayNewQuestion(boolean hasMancheActive) { Question question = getRandomQuestion(); if (question != null) { displayQuestion(question, hasMancheActive); @@ -278,7 +385,7 @@ public class Jeux extends AppCompatActivity { mancheCounterTextView.postDelayed(() -> { int defaultColor = ContextCompat.getColor(this, R.color.game_normal); BoideloAnimationUtils.animateBackgroundColor(getWindow().getDecorView(), defaultColor); - }, 1000); + }, BACKGROUND_COLOR_DELAY_MS); } /** @@ -312,7 +419,7 @@ public class Jeux extends AppCompatActivity { mancheCounterTextView.postDelayed(() -> { questionsAvecManches.clear(); endGame(); - }, 3000); + }, END_GAME_DELAY_MS); } /** @@ -356,67 +463,130 @@ public class Jeux extends AppCompatActivity { showQuestionIndicator(R.drawable.ic_manche, "Manche en cours"); // Animation du compteur - BoideloAnimationUtils.pulse(mancheCounterTextView, 300); + BoideloAnimationUtils.pulse(mancheCounterTextView, ANIMATION_DURATION_SHORT_MS); } /** * Affiche une nouvelle question */ private void displayQuestion(Question question, boolean hasMancheActive) { - questionTextView.setText(Html.fromHtml(question.getQuestion(), Html.FROM_HTML_MODE_LEGACY)); + // Afficher le texte de la question + displayQuestionText(question); // Masquer ou afficher la question de manche selon l'Ă©tat + handleMancheQuestionVisibility(hasMancheActive); + + // DĂ©tecter et afficher la catĂ©gorie de la question + QuestionCategory.Category category = QuestionCategory.detectCategory(question); + applyCategoryStyle(category); + + // DĂ©terminer et afficher l'indicateur de joueurs + String indicatorText = determinePlayerCountIndicator(question, category); + showIndicatorText(indicatorText); + } + + /** + * Affiche le texte de la question + */ + private void displayQuestionText(Question question) { + questionTextView.setText(Html.fromHtml(question.getQuestion(), Html.FROM_HTML_MODE_LEGACY)); + } + + /** + * GĂšre la visibilitĂ© de la question de manche + */ + private void handleMancheQuestionVisibility(boolean hasMancheActive) { if (!hasMancheActive) { mancheQuestionText.setVisibility(View.GONE); } + } - // DĂ©terminer le type de question et animer le fond en consĂ©quence - String questionText = question.getQuestion(); - + /** + * Applique le style de catĂ©gorie (couleur de fond, etc.) + */ + private void applyCategoryStyle(QuestionCategory.Category category) { // RĂ©initialiser les indicateurs questionIndicator.setVisibility(View.GONE); mancheCounterTextView.setVisibility(View.GONE); - // Fond par dĂ©faut (respecte le mode jour/nuit) - int defaultColor = ContextCompat.getColor(this, R.color.game_normal); - BoideloAnimationUtils.animateBackgroundColor( - getWindow().getDecorView(), - defaultColor - ); + // Appliquer la couleur de fond + int categoryColor = QuestionCategory.getColorForCategory(category); + rootLayout.setBackgroundColor(categoryColor); + } - // VĂ©rifier le type de question + /** + * DĂ©termine le texte de l'indicateur en fonction du nombre de joueurs et de la catĂ©gorie + */ + private String determinePlayerCountIndicator(Question question, QuestionCategory.Category category) { + String questionText = question.getQuestion(); boolean isJoueurs1 = questionText.contains(""); boolean isJoueurs2 = questionText.contains(""); boolean isJoueurs3 = questionText.contains(""); - boolean hasManches = questionText.contains(""); - if (hasManches) { - int blueColor = ContextCompat.getColor(this, R.color.game_question_manche); - BoideloAnimationUtils.animateBackgroundColor(getWindow().getDecorView(), blueColor); - showQuestionIndicator(R.drawable.ic_manche, "DĂ©fi Ă  manches"); - } else if (isJoueurs1 && isJoueurs2 && isJoueurs3) { - int greenDarkColor = ContextCompat.getColor(this, R.color.game_question_3players); - BoideloAnimationUtils.animateBackgroundColor(getWindow().getDecorView(), greenDarkColor); - showQuestionIndicator(R.drawable.ic_player_three, "3 joueurs"); + String categoryEmoji = getCategoryEmoji(category); + String categoryName = QuestionCategory.getNameForCategory(category); + + // PrioritĂ© aux indications de nombre de joueurs si applicable + if (isJoueurs1 && isJoueurs2 && isJoueurs3) { + return "3 joueurs"; } else if (isJoueurs1 && isJoueurs2) { - int greenColor = ContextCompat.getColor(this, R.color.game_question_2players); - BoideloAnimationUtils.animateBackgroundColor(getWindow().getDecorView(), greenColor); - showQuestionIndicator(R.drawable.ic_player_two, "2 joueurs"); + return "2 joueurs"; } else if (isJoueurs1) { - int greenLightColor = ContextCompat.getColor(this, R.color.game_question_1player); - BoideloAnimationUtils.animateBackgroundColor(getWindow().getDecorView(), greenLightColor); - showQuestionIndicator(R.drawable.ic_player_one, "1 joueur"); + return "1 joueur"; + } else { + // Juste l'emoji et le nom de la catĂ©gorie + return categoryEmoji + " " + categoryName; } } + /** + * Affiche l'indicateur avec le texte spĂ©cifiĂ© + */ + private void showIndicatorText(String textToShow) { + questionIndicator.setVisibility(View.VISIBLE); + indicatorIcon.setVisibility(View.GONE); + indicatorText.setText(textToShow); + } + + /** + * Retourne l'emoji associĂ© Ă  une catĂ©gorie + */ + private String getCategoryEmoji(QuestionCategory.Category category) { + switch (category) { + case CIBLAGE: + return "🎯"; + case CLASSEMENT: + return "👑"; + case JUGEMENT: + return "⚖"; + case DUEL: + return "đŸ€"; + case INTERACTIF: + return "🎼"; + case DEFI_MANCHES: + return "đŸ”„"; + case VARIANTE: + return "❓"; + case CALIENTE: + return "😈"; + case VOTE: + return "đŸ—łïž"; + case CLASSIQUE: + default: + return "âšȘ"; + } + } + + /** * Affiche l'indicateur de type de question */ private void showQuestionIndicator(int iconRes, String text) { indicatorIcon.setImageResource(iconRes); + indicatorIcon.setVisibility(View.VISIBLE); indicatorText.setText(text); questionIndicator.setVisibility(View.VISIBLE); - BoideloAnimationUtils.fadeIn(questionIndicator, 300); + BoideloAnimationUtils.fadeIn(questionIndicator, ANIMATION_DURATION_SHORT_MS); } /** @@ -456,6 +626,9 @@ public class Jeux extends AppCompatActivity { * Termine la partie et affiche l'Ă©cran de fin */ private void endGame() { + // Jouer le son de fin + if (soundManager != null) soundManager.playFin(); + // Sauvegarder les statistiques de la partie saveGameStats(); @@ -464,6 +637,11 @@ public class Jeux extends AppCompatActivity { intent.putExtra("EXTRA_QUESTIONS_PLAYED", totalQuestionsAsked); intent.putExtra("EXTRA_PLAYERS_COUNT", toutlesjoueurs != null ? toutlesjoueurs.size() : 0); intent.putStringArrayListExtra("EXTRA_PLAYERS", (ArrayList) toutlesjoueurs); + + // Passer les statistiques des joueurs + ArrayList playerStatsList = new ArrayList<>(playerStatsMap.values()); + intent.putParcelableArrayListExtra("EXTRA_PLAYER_STATS", playerStatsList); + startActivity(intent); // Animation de transition @@ -506,7 +684,7 @@ public class Jeux extends AppCompatActivity { public List TroisJoueurAleatoire(List toutlesjoueurs) { Set setJoueur = new HashSet<>(); - while (setJoueur.size() < 3 && toutlesjoueurs.size() >= 3) { + while (setJoueur.size() < RANDOM_PLAYER_SELECTION_COUNT && toutlesjoueurs.size() >= RANDOM_PLAYER_SELECTION_COUNT) { setJoueur.add(toutlesjoueurs.get(random.nextInt(toutlesjoueurs.size()))); } @@ -528,10 +706,129 @@ public class Jeux extends AppCompatActivity { return null; } + /** + * GĂ©nĂšre une nouvelle question via l'IA OpenAI + */ + private void generateAIQuestion() { + if (openAIService == null) { + return; + } + + openAIService.generateQuestion(toutlesjoueurs, ajoutGorgees, new OpenAIService.OpenAICallback() { + @Override + public void onSuccess(String questionText) { + if (questionText != null && !questionText.isEmpty()) { + // CrĂ©er une nouvelle question Ă  partir du texte gĂ©nĂ©rĂ© + Question aiQuestion = createAIQuestion(questionText); + if (aiQuestion != null) { + generatedAIQuestions.add(aiQuestion); + // Afficher un petit indicateur que c'est une question IA + Toast.makeText(Jeux.this, "✹ Question IA gĂ©nĂ©rĂ©e !", Toast.LENGTH_SHORT).show(); + } + } + } + + @Override + public void onError(String errorMessage) { + // En cas d'erreur, on continue avec les questions JSON + // Pas de toast pour ne pas interrompre le jeu + android.util.Log.e("OpenAI", "Erreur gĂ©nĂ©ration question: " + errorMessage); + } + }); + } + + /** + * CrĂ©e un objet Question Ă  partir du texte gĂ©nĂ©rĂ© par l'IA + */ + private Question createAIQuestion(String questionText) { + try { + Question question = new Question(); + question.setId(-1); // ID nĂ©gatif pour les questions IA + question.setQuestion(questionText); + question.setGorger(MIN_AI_GORGEE + random.nextInt(MAX_AI_GORGEE_ADDITIONAL)); // 2-4 gorgĂ©es par dĂ©faut + question.setDistribution(random.nextBoolean()); + question.setRecois(!question.isDistribution() || random.nextBoolean()); + + // DĂ©tecter si c'est une question de vote + if (questionText.toLowerCase().contains("votez") || + questionText.toLowerCase().contains("minoritĂ©") || + questionText.toLowerCase().contains("majoritĂ©")) { + question.setDistribution(false); + question.setRecois(true); + } + + return question; + } catch (Exception e) { + android.util.Log.e("OpenAI", "Erreur crĂ©ation question IA: " + e.getMessage()); + return null; + } + } + /** * Obtient une question alĂ©atoire qui n'a pas encore Ă©tĂ© posĂ©e + * IntĂšgre les questions gĂ©nĂ©rĂ©es par l'IA selon le ratio configurĂ© */ private Question getRandomQuestion() { + // IncrĂ©menter le compteur de questions depuis la derniĂšre IA + questionsSinceLastAI++; + + // VĂ©rifier si on doit utiliser une question IA + Question aiQuestion = tryGetAIQuestion(); + if (aiQuestion != null) { + return aiQuestion; + } + + // GĂ©nĂ©rer une question IA en arriĂšre-plan si le stock est bas + if (shouldGenerateAIInBackground()) { + generateAIQuestion(); + } + + // Sinon, utiliser une question du JSON + return getJSONQuestion(); + } + + /** + * Tente de rĂ©cupĂ©rer une question IA si les conditions sont remplies + */ + private Question tryGetAIQuestion() { + if (!shouldUseAIQuestion()) { + return null; + } + + if (generatedAIQuestions.isEmpty()) { + return null; + } + + Question aiQuestion = generatedAIQuestions.remove(0); + questionsSinceLastAI = 0; // RĂ©initialiser le compteur + + // Traiter la question IA + processQuestion(aiQuestion); + + // GĂ©nĂ©rer en arriĂšre-plan la prochaine question IA pour avoir un stock + generateAIQuestion(); + + return aiQuestion; + } + + /** + * VĂ©rifie si on doit utiliser une question IA selon le ratio + */ + private boolean shouldUseAIQuestion() { + return ratiOpenai > 0 && openAIService != null && questionsSinceLastAI >= ratiOpenai; + } + + /** + * VĂ©rifie si on doit gĂ©nĂ©rer une question IA en arriĂšre-plan + */ + private boolean shouldGenerateAIInBackground() { + return openAIService != null && generatedAIQuestions.size() < MIN_AI_QUESTION_STOCK; + } + + /** + * RĂ©cupĂšre une question depuis le fichier JSON + */ + private Question getJSONQuestion() { if (questions == null) { return null; } @@ -539,18 +836,44 @@ public class Jeux extends AppCompatActivity { SharedPreferences prefs = getSharedPreferences("app", Context.MODE_PRIVATE); Set askedQuestions = prefs.getStringSet("askedQuestions", new HashSet<>()); + List unaskedQuestions = getUnaskedQuestions(askedQuestions); + + if (unaskedQuestions.isEmpty()) { + return null; + } + + List availableQuestions = filterAvailableQuestions(unaskedQuestions); + + if (availableQuestions.isEmpty()) { + return null; + } + + Question question = selectRandomQuestion(availableQuestions); + markQuestionAsAsked(question, askedQuestions, prefs); + + // Traiter la question + processQuestion(question); + + return question; + } + + /** + * RĂ©cupĂšre la liste des questions non posĂ©es + */ + private List getUnaskedQuestions(Set askedQuestions) { List unaskedQuestions = new ArrayList<>(); for (Question question : questions.getQuestions()) { if (!askedQuestions.contains(String.valueOf(question.getId()))) { unaskedQuestions.add(question); } } + return unaskedQuestions; + } - if (unaskedQuestions.isEmpty()) { - return null; - } - - // Filtrer les questions : si un dĂ©fi est en cours, exclure celles avec + /** + * Filtre les questions disponibles selon qu'un dĂ©fi est en cours ou non + */ + private List filterAvailableQuestions(List unaskedQuestions) { List availableQuestions = new ArrayList<>(); boolean mancheActive = !questionsAvecManches.isEmpty(); @@ -566,23 +889,26 @@ public class Jeux extends AppCompatActivity { } } - // Si aucune question disponible (que des questions avec alors qu'un dĂ©fi est en cours) - if (availableQuestions.isEmpty()) { - return null; - } + return availableQuestions; + } - Question question = availableQuestions.get(random.nextInt(availableQuestions.size())); + /** + * SĂ©lectionne une question alĂ©atoire parmi celles disponibles + */ + private Question selectRandomQuestion(List availableQuestions) { + return availableQuestions.get(random.nextInt(availableQuestions.size())); + } + + /** + * Marque une question comme posĂ©e et sauvegarde l'Ă©tat + */ + private void markQuestionAsAsked(Question question, Set askedQuestions, SharedPreferences prefs) { askedQuestions.add(String.valueOf(question.getId())); // Sauvegarder les questions posĂ©es SharedPreferences.Editor editor = prefs.edit(); editor.putStringSet("askedQuestions", askedQuestions); editor.apply(); - - // Traiter la question - processQuestion(question); - - return question; } /** @@ -592,18 +918,42 @@ public class Jeux extends AppCompatActivity { String questionText = question.getQuestion(); // Remplacer les variantes + questionText = processVariantes(question, questionText); + + // GĂ©rer les manches + questionText = processManches(question, questionText); + + // Remplacer les joueurs et rĂ©cupĂ©rer le nom du joueur J1 pour les stats + PlayerSelectionResult playerResult = replacePlayers(questionText); + questionText = playerResult.questionText; + + // Ajouter les gorgĂ©es et tracker les stats (en passant le nombre de joueurs pour l'accord) + GorgeeResult gorgeeResult = processGorgees(question, questionText, playerResult.playerCount); + questionText = gorgeeResult.questionText; + + // Mettre Ă  jour les statistiques du joueur J1 + updatePlayerStats(playerResult.j1Name, gorgeeResult); + + question.setQuestion(questionText); + } + + /** + * Remplace les variantes dans la question + */ + private String processVariantes(Question question, String questionText) { if (question.getVariante() != null && !question.getVariante().isEmpty()) { String chosenVariante = question.getVariante().get(random.nextInt(question.getVariante().size())); questionText = questionText.replace("", chosenVariante); } + return questionText; + } - // GĂ©rer les manches + /** + * GĂšre les manches pour les dĂ©fis + */ + private String processManches(Question question, String questionText) { if (questionText.contains("")) { - int nbaleatoiremanches = random.nextInt(10) + 5 + durationDefis; - // S'assurer qu'il y a au moins 1 manche - if (nbaleatoiremanches < 1) { - nbaleatoiremanches = 1; - } + int nbaleatoiremanches = calculateManchesCount(); questionText = questionText.replace("", String.valueOf(nbaleatoiremanches)); question.setManchesRestantes(nbaleatoiremanches); @@ -611,51 +961,181 @@ public class Jeux extends AppCompatActivity { question.setArretMessageManche("Fin de dĂ©fi!\n" + stopid); questionsAvecManches.add(question); + // Jouer le son de manche + if (soundManager != null) soundManager.playManche(); + // Afficher le bouton PassĂ© pendant les dĂ©fis skipButton.setVisibility(View.VISIBLE); - BoideloAnimationUtils.fadeIn(skipButton, 300); + BoideloAnimationUtils.fadeIn(skipButton, ANIMATION_DURATION_SHORT_MS); } + return questionText; + } - // Remplacer les joueurs + /** + * Calcule le nombre de manches pour un dĂ©fi + */ + private int calculateManchesCount() { + int nbaleatoiremanches = random.nextInt(MAX_DEFI_ROUNDS_RANDOM) + MIN_DEFI_ROUNDS + durationDefis; + // S'assurer qu'il y a au moins 1 manche + return Math.max(nbaleatoiremanches, MIN_MANCHES_COUNT); + } + + /** + * RĂ©sultat du remplacement des joueurs + */ + private static class PlayerSelectionResult { + String questionText; + String j1Name; + int playerCount; // Nombre de joueurs sĂ©lectionnĂ©s pour l'accord du verbe + + PlayerSelectionResult(String questionText, String j1Name, int playerCount) { + this.questionText = questionText; + this.j1Name = j1Name; + this.playerCount = playerCount; + } + } + + /** + * Remplace les placeholders de joueurs dans la question + */ + private PlayerSelectionResult replacePlayers(String questionText) { boolean isJoueurs1 = questionText.contains(""); boolean isJoueurs2 = questionText.contains(""); boolean isJoueurs3 = questionText.contains(""); + String j1Name = null; + int playerCount = 0; + if (isJoueurs1 || isJoueurs2 || isJoueurs3) { List aleatoirejoueurs = TroisJoueurAleatoire(toutlesjoueurs); - if (isJoueurs1 && isJoueurs2 && isJoueurs3 && aleatoirejoueurs.size() >= 3) { - questionText = questionText.replace("", aleatoirejoueurs.get(0)); - questionText = questionText.replace("", aleatoirejoueurs.get(1)); - questionText = questionText.replace("", aleatoirejoueurs.get(2)); - } else if (isJoueurs1 && isJoueurs2 && aleatoirejoueurs.size() >= 2) { - questionText = questionText.replace("", aleatoirejoueurs.get(0)); - questionText = questionText.replace("", aleatoirejoueurs.get(1)); - } else if (isJoueurs1 && aleatoirejoueurs.size() >= 1) { - questionText = questionText.replace("", aleatoirejoueurs.get(0)); + if (isJoueurs1 && isJoueurs2 && isJoueurs3 && aleatoirejoueurs.size() >= RANDOM_PLAYER_SELECTION_COUNT) { + playerCount = 3; + j1Name = aleatoirejoueurs.get(0); + questionText = questionText.replace("", ErrorHandler.escapeHtml(j1Name)); + questionText = questionText.replace("", ErrorHandler.escapeHtml(aleatoirejoueurs.get(1))); + questionText = questionText.replace("", ErrorHandler.escapeHtml(aleatoirejoueurs.get(2))); + } else if (isJoueurs1 && isJoueurs2 && aleatoirejoueurs.size() >= TWO_PLAYERS) { + playerCount = 2; + j1Name = aleatoirejoueurs.get(0); + questionText = questionText.replace("", ErrorHandler.escapeHtml(j1Name)); + questionText = questionText.replace("", ErrorHandler.escapeHtml(aleatoirejoueurs.get(1))); + } else if (isJoueurs1 && aleatoirejoueurs.size() >= ONE_PLAYER) { + playerCount = 1; + j1Name = aleatoirejoueurs.get(0); + questionText = questionText.replace("", ErrorHandler.escapeHtml(j1Name)); } } - // Ajouter les gorgĂ©es + return new PlayerSelectionResult(questionText, j1Name, playerCount); + } + + /** + * RĂ©sultat du traitement des gorgĂ©es + */ + private static class GorgeeResult { + String questionText; + int totalGorgees; + boolean isBois; + boolean isDistribue; + + GorgeeResult(String questionText, int totalGorgees, boolean isBois, boolean isDistribue) { + this.questionText = questionText; + this.totalGorgees = totalGorgees; + this.isBois = isBois; + this.isDistribue = isDistribue; + } + } + + /** + * Traite les gorgĂ©es pour une question + */ + private GorgeeResult processGorgees(Question question, String questionText, int playerCount) { + int totalGorgees = 0; + boolean isBois = false; + boolean isDistribue = false; + if (question.isDistribution() || question.isRecois()) { - if (question.isRecois() && question.isDistribution()) { - boolean rand = random.nextBoolean(); - if (rand) { - questionText = questionText.concat(" bois"); - } else { - questionText = questionText.concat(" distribue"); - } - } else if (question.isRecois()) { - questionText = questionText.concat(" bois"); - } else if (question.isDistribution()) { - questionText = questionText.concat(" distribue"); - } + totalGorgees = question.getGorger() + ajoutGorgees; - questionText = questionText.concat(" " + (question.getGorger() + ajoutGorgees) + " gorgĂ©e" + - ((question.getGorger() + ajoutGorgees) > 1 ? "s" : "") + "."); + ActionChoiceResult actionResult = determineActionChoice(question, questionText, playerCount); + questionText = actionResult.questionText; + isBois = actionResult.isBois; + isDistribue = actionResult.isDistribue; + + questionText = appendGorgeeCount(questionText, totalGorgees); } - question.setQuestion(questionText); + return new GorgeeResult(questionText, totalGorgees, isBois, isDistribue); + } + + /** + * RĂ©sultat du choix d'action (bois/distribue) + */ + private static class ActionChoiceResult { + String questionText; + boolean isBois; + boolean isDistribue; + + ActionChoiceResult(String questionText, boolean isBois, boolean isDistribue) { + this.questionText = questionText; + this.isBois = isBois; + this.isDistribue = isDistribue; + } + } + + /** + * DĂ©termine l'action (boit/boivent ou distribue/distribuent) selon le nombre de joueurs + */ + private ActionChoiceResult determineActionChoice(Question question, String questionText, int playerCount) { + boolean isBois = false; + boolean isDistribue = false; + + // Accord du verbe selon le nombre de joueurs + String boisVerb = (playerCount > 1) ? "boivent" : "boit"; + String distribueVerb = (playerCount > 1) ? "distribuent" : "distribue"; + + if (question.isRecois() && question.isDistribution()) { + boolean rand = random.nextBoolean(); + if (rand) { + questionText = questionText.concat(" " + boisVerb + ""); + isBois = true; + } else { + questionText = questionText.concat(" " + distribueVerb + ""); + isDistribue = true; + } + } else if (question.isRecois()) { + questionText = questionText.concat(" " + boisVerb + ""); + isBois = true; + } else if (question.isDistribution()) { + questionText = questionText.concat(" " + distribueVerb + ""); + isDistribue = true; + } + + return new ActionChoiceResult(questionText, isBois, isDistribue); + } + + /** + * Ajoute le nombre de gorgĂ©es au texte de la question + */ + private String appendGorgeeCount(String questionText, int totalGorgees) { + String plural = totalGorgees > 1 ? "s" : ""; + return questionText.concat(" " + totalGorgees + " gorgĂ©e" + plural + "."); + } + + /** + * Met Ă  jour les statistiques du joueur J1 + */ + private void updatePlayerStats(String j1Name, GorgeeResult gorgeeResult) { + if (j1Name != null && playerStatsMap != null && playerStatsMap.containsKey(j1Name)) { + PlayerStats stats = playerStatsMap.get(j1Name); + if (gorgeeResult.isBois) { + stats.addGorgeesBuves(gorgeeResult.totalGorgees); + } + if (gorgeeResult.isDistribue) { + stats.addGorgeesDistribuees(gorgeeResult.totalGorgees); + } + } } /** @@ -760,4 +1240,17 @@ public class Jeux extends AppCompatActivity { } return null; } + + @Override + protected void onDestroy() { + super.onDestroy(); + // LibĂ©rer les ressources du SoundManager + if (soundManager != null) { + soundManager.release(); + } + // LibĂ©rer les ressources du service OpenAI + if (openAIService != null) { + openAIService.shutdown(); + } + } } diff --git a/app/src/main/java/com/example/boidelov3/JeuxParametres.java b/app/src/main/java/com/example/boidelov3/JeuxParametres.java index b495fbb..9880dcb 100644 --- a/app/src/main/java/com/example/boidelov3/JeuxParametres.java +++ b/app/src/main/java/com/example/boidelov3/JeuxParametres.java @@ -8,6 +8,9 @@ import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.CompoundButton; @@ -20,6 +23,8 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import com.example.boidelov3.utils.ErrorHandler; + import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -35,8 +40,11 @@ public class JeuxParametres extends AppCompatActivity { private SeekBar seekBar1, seekBar2, seekBar3, seekBarDuration; private TextView textView1, textView2, textView5, textViewRatioGen, questionCountValue, gorgeesValue, durationValue; private SwitchMaterial checkBoxGPT; + private Button buttonTestApi; private EditText editText, editTextKeyGPT; + private AutoCompleteTextView autoCompleteProvider; private String keyGPT; + private OpenAIService.AIProvider selectedProvider = OpenAIService.AIProvider.OPENAI; private int nbQuestions; private List toutlesjoueurs; @@ -57,25 +65,67 @@ public class JeuxParametres extends AppCompatActivity { textView2 = findViewById(R.id.textView2); textView5 = findViewById(R.id.textView5); editTextKeyGPT = findViewById(R.id.editTextGPT); + autoCompleteProvider = findViewById(R.id.autoCompleteProvider); + buttonTestApi = findViewById(R.id.ButtonTestApi); textViewRatioGen = findViewById(R.id.textViewRatioGen); questionCountValue = findViewById(R.id.questionCountValue); gorgeesValue = findViewById(R.id.gorgeesValue); durationValue = findViewById(R.id.durationValue); + // Configuration du dropdown pour le provider IA + String[] providers = new String[]{ + OpenAIService.AIProvider.OPENAI.getDisplayName(), + OpenAIService.AIProvider.OPENROUTER.getDisplayName(), + OpenAIService.AIProvider.ZAI.getDisplayName() + }; + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, providers); + autoCompleteProvider.setAdapter(adapter); + + // Charger le provider sauvegardĂ© + SharedPreferences providerPrefs = getSharedPreferences("MyPrefs", MODE_PRIVATE); + String savedProvider = providerPrefs.getString("aiProvider", OpenAIService.AIProvider.OPENAI.getDisplayName()); + autoCompleteProvider.setText(savedProvider, false); + + // DĂ©finir le provider sĂ©lectionnĂ© + if (savedProvider.equals(OpenAIService.AIProvider.OPENROUTER.getDisplayName())) { + selectedProvider = OpenAIService.AIProvider.OPENROUTER; + } else if (savedProvider.equals(OpenAIService.AIProvider.ZAI.getDisplayName())) { + selectedProvider = OpenAIService.AIProvider.ZAI; + } else { + selectedProvider = OpenAIService.AIProvider.OPENAI; + } + + // Listener pour le changement de provider + autoCompleteProvider.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + String selected = (String) parent.getItemAtPosition(position); + SharedPreferences.Editor editor = providerPrefs.edit(); + editor.putString("aiProvider", selected); + editor.apply(); + + if (selected.equals(OpenAIService.AIProvider.OPENROUTER.getDisplayName())) { + selectedProvider = OpenAIService.AIProvider.OPENROUTER; + } else if (selected.equals(OpenAIService.AIProvider.ZAI.getDisplayName())) { + selectedProvider = OpenAIService.AIProvider.ZAI; + } else { + selectedProvider = OpenAIService.AIProvider.OPENAI; + } + } + }); + // Initialiser les TextView avec les valeurs par dĂ©faut int initialQuestions = 50; int initialGorgees = 0; int initialRatio = 8; - int initialDuration = 0; + int initialDuration = 0; // 0 pour avoir 3-8 tours par dĂ©faut (MIN_DEFI_ROUNDS=3) questionCountValue.setText(String.valueOf(initialQuestions)); gorgeesValue.setText(String.valueOf(initialGorgees)); - durationValue.setText("0"); // Afficher 0 par dĂ©faut (pas de signe pour 0) + durationValue.setText("0"); // Afficher 0 par dĂ©faut pour avoir 3-8 tours textView5.setText("Palier : Grosse merde"); textViewRatioGen.setText("Ratio BDD/OPENAI : 1/" + initialRatio); - Button buttonTestApi = findViewById(R.id.ButtonTestApi); - // Configuration de la seekBar1 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { seekBar1.setMin(20); @@ -100,7 +150,7 @@ public class JeuxParametres extends AppCompatActivity { seekBarDuration.setMin(-5); // Permet un offset nĂ©gatif jusqu'Ă  -5 } seekBarDuration.setMax(15); - seekBarDuration.setProgress(0); // Valeur par dĂ©faut Ă  0 + seekBarDuration.setProgress(0); // Valeur par dĂ©faut Ă  0 pour avoir 3-8 tours (MIN_DEFI_ROUNDS=3) // Configuration des listeners pour les seekBars seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @@ -185,13 +235,23 @@ public class JeuxParametres extends AppCompatActivity { // Configuration du checkBox // Q : IL sert Ă  quoi ? // R : Il sert Ă  activer/dĂ©sactiver les vues en dessous + Button buttonTestApi = findViewById(R.id.ButtonTestApi); + checkBoxGPT = findViewById(R.id.checkBoxGPT); checkBoxGPT.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // Activation/dĂ©sactivation des vues en fonction de l'Ă©tat du checkBox - editTextKeyGPT.setEnabled(isChecked); - //editText.setEnabled(isChecked); + autoCompleteProvider.setEnabled(isChecked); + // Pour le champ API key : on garde le layout activĂ© pour le toggle password, + // mais on dĂ©sactive l'Ă©dition du texte + editTextKeyGPT.setFocusable(isChecked); + editTextKeyGPT.setFocusableInTouchMode(isChecked); + editTextKeyGPT.setClickable(isChecked); + editTextKeyGPT.setCursorVisible(isChecked); + if (!isChecked) { + editTextKeyGPT.clearFocus(); + } textViewRatioGen.setEnabled(isChecked); seekBar3.setEnabled(isChecked); buttonTestApi.setEnabled(isChecked); @@ -270,51 +330,99 @@ public class JeuxParametres extends AppCompatActivity { } public void onClickButtonTestAPI(View view) { - String apiKey = editTextKeyGPT.getText().toString(); - // CrĂ©er un client OkHttpClient pour effectuer la requĂȘte - OkHttpClient client = new OkHttpClient(); - // Construire la requĂȘte d'essai vers l'API - Request request = new Request.Builder() - .url("https://api.openai.com/v1/engines/davinci") // Endpoint d'essai, vous pouvez le modifier selon vos besoins - .header("Authorization", "Bearer " + apiKey) // Ajouter la clĂ© API dans l'en-tĂȘte de la requĂȘte + if (apiKey == null || apiKey.isEmpty()) { + Toast.makeText(this, "Veuillez entrer une clĂ© API", Toast.LENGTH_SHORT).show(); + return; + } + + // CrĂ©er un client OkHttpClient pour effectuer la requĂȘte + OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(10, java.util.concurrent.TimeUnit.SECONDS) + .readTimeout(10, java.util.concurrent.TimeUnit.SECONDS) + .build(); + + // DĂ©terminer l'URL, le modĂšle et le format selon le provider sĂ©lectionnĂ© + String testUrl; + String testModel; + String jsonBody; + boolean isAnthropicFormat = (selectedProvider == OpenAIService.AIProvider.ZAI); + + switch (selectedProvider) { + case OPENROUTER: + testUrl = "https://openrouter.ai/api/v1/chat/completions"; + testModel = "openai/gpt-3.5-turbo"; + // Format OpenAI + jsonBody = "{\"model\":\"" + testModel + "\",\"messages\":[{\"role\":\"user\",\"content\":\"Test\"}],\"max_tokens\":5}"; + break; + case ZAI: + testUrl = "https://api.z.ai/v1/messages"; + testModel = "claude-3-5-sonnet"; + // Format Anthropic + jsonBody = "{\"model\":\"" + testModel + "\",\"messages\":[{\"role\":\"user\",\"content\":\"Test\"}],\"max_tokens\":5}"; + break; + case OPENAI: + default: + testUrl = "https://api.openai.com/v1/chat/completions"; + testModel = "gpt-3.5-turbo"; + jsonBody = "{\"model\":\"" + testModel + "\",\"messages\":[{\"role\":\"user\",\"content\":\"Test\"}],\"max_tokens\":5}"; + break; + } + + // Construire la requĂȘte + Request.Builder requestBuilder = new Request.Builder() + .url(testUrl) + .addHeader("Content-Type", "application/json"); + + // Ajouter les headers selon le provider + switch (selectedProvider) { + case OPENAI: + case OPENROUTER: + requestBuilder.addHeader("Authorization", "Bearer " + apiKey); + break; + case ZAI: + requestBuilder.addHeader("x-api-key", apiKey); + requestBuilder.addHeader("anthropic-version", "2023-06-01"); + break; + } + + // Headers spĂ©cifiques pour OpenRouter + if (selectedProvider == OpenAIService.AIProvider.OPENROUTER) { + requestBuilder.addHeader("HTTP-Referer", "https://boidelo.app"); + requestBuilder.addHeader("X-Title", "Boidelo"); + } + + Request request = requestBuilder + .post(okhttp3.RequestBody.create(jsonBody, okhttp3.MediaType.parse("application/json"))) .build(); // ExĂ©cuter la requĂȘte de test client.newCall(request).enqueue(new Callback() { @Override public void onFailure(@NonNull Call call, IOException e) { - // GĂ©rer les erreurs de requĂȘte - e.printStackTrace(); - runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(getApplicationContext(), "Échec de la communication avec l'API !", Toast.LENGTH_SHORT).show(); - } + String operation = "Test de connexion API " + selectedProvider.getDisplayName(); + String details = "Échec de connexion lors du test de l'API"; + ErrorHandler.logErrorOnly("JeuxParametres", operation + " - " + details, e); + runOnUiThread(() -> { + String userMessage = "Échec de connexion " + selectedProvider.getDisplayName() + " : " + e.getMessage(); + Toast.makeText(getApplicationContext(), userMessage, Toast.LENGTH_SHORT).show(); }); } @Override public void onResponse(Call call, Response response) throws IOException { - // VĂ©rifier le code de rĂ©ponse de la requĂȘte if (response.isSuccessful()) { - // La clĂ© API est valide et l'API a rĂ©pondu avec succĂšs - // Vous pouvez effectuer d'autres opĂ©rations ici - runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(getApplicationContext(), "Communication avec l'API rĂ©ussie !", Toast.LENGTH_SHORT).show(); - } + runOnUiThread(() -> { + Toast.makeText(getApplicationContext(), + "Connexion " + selectedProvider.getDisplayName() + " rĂ©ussie !", + Toast.LENGTH_SHORT).show(); }); } else { - // La clĂ© API est invalide ou il y a eu une erreur de communication avec l'API - System.out.println("Échec de la communication avec l'API !"); - runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(getApplicationContext(), "Échec de la communication avec l'API !", Toast.LENGTH_SHORT).show(); - } + runOnUiThread(() -> { + Toast.makeText(getApplicationContext(), + "Erreur " + selectedProvider.getDisplayName() + " (HTTP " + response.code() + ")", + Toast.LENGTH_SHORT).show(); }); } response.close(); @@ -362,7 +470,8 @@ public class JeuxParametres extends AppCompatActivity { intent.putExtra("EXTRA_DURATION_DEFIS", durationDefis); intent.putExtra("EXTRA_OPENAI", openAI); final EditText editText = findViewById(R.id.editTextGPT); - intent.putExtra("EXTRA_KEY_OPENAI",editText.getText().toString() ); + intent.putExtra("EXTRA_KEY_OPENAI", editText.getText().toString()); + intent.putExtra("EXTRA_AI_PROVIDER", selectedProvider.name()); toutlesjoueurs = getIntent().getStringArrayListExtra("EXTRA_LIST_JOUEUR"); intent.putStringArrayListExtra("EXTRA_LIST_JOUEUR", (ArrayList) toutlesjoueurs); diff --git a/app/src/main/java/com/example/boidelov3/Jeuxold.java b/app/src/main/java/com/example/boidelov3/Jeuxold.java deleted file mode 100644 index 547f33e..0000000 --- a/app/src/main/java/com/example/boidelov3/Jeuxold.java +++ /dev/null @@ -1,337 +0,0 @@ -package com.example.boidelov3; - -import android.content.Intent; -import android.content.res.Configuration; -import android.os.Bundle; -import android.view.View; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.appcompat.app.AppCompatActivity; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - - -public class Jeuxold extends AppCompatActivity { - private List toutlesjoueurs, phraseGPT; - private int nombreQuestions; - private int ajoutGorgees; - boolean openAI; - int ratiOpenai; - String keyOpenai, phraseGPTString; - - // GĂ©nĂ©rateur alĂ©atoire unique pour toute l'activitĂ© - private final Random random = new Random(); - - - public Jeuxold() { - //System.out.println("Je suis dans le constructeur jeux"); - } - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_jeux); - //Recuperation des valeurs des activitĂ©s prĂ©cĂ©dentes - toutlesjoueurs = getIntent().getStringArrayListExtra("EXTRA_LIST_JOUEUR"); - nombreQuestions = getIntent().getIntExtra("EXTRA_NOMBRE_QUESTIONS", 75); - ajoutGorgees = getIntent().getIntExtra("EXTRA_AJOUT_GORGEE", 0); - openAI = getIntent().getBooleanExtra("EXTRA_OPENAI", false); - ratiOpenai = getIntent().getIntExtra("EXTRA_RATIO_OPENAI", 0); - keyOpenai = getIntent().getStringExtra("EXTRA_KEY_OPENAI"); - - - - System.out.println("ACTJeux all player : " + toutlesjoueurs); - System.out.println("ACTJeux nombre de questions : " + nombreQuestions); - System.out.println("ACTJeux ajout de gorgĂ©es : " + ajoutGorgees); - System.out.println("ACTJeux openAI : " + openAI); - System.out.println("ACTJeux ratio openAI : " + ratiOpenai); - System.out.println("ACTJeux key openAI : " + keyOpenai); - - - - - - //Parti OpenAI ; keyOpenai ; ratiOpenai, openAI - // Ancienne AsyncTask (obsolĂšte) : - // new DatabaseConnection().execute(); - - // Nouvelle API avec callback (recommandĂ©) : - // DatabaseConnection dbConnection = new DatabaseConnection(); - // dbConnection.connectAsync(new DatabaseConnection.ConnectionCallback() { - // @Override - // public void onSuccess(PGConnection connection) { - // // Connexion rĂ©ussie - utiliser la connexion ici - // Log.d("Database", "Connected successfully"); - // } - // - // @Override - // public void onFailure(Exception error) { - // // Erreur de connexion - // Log.e("Database", "Connection failed", error); - // Toast.makeText(Jeuxold.this, "Erreur de connexion", Toast.LENGTH_SHORT).show(); - // } - // }); - // N'oubliez pas d'appeler dbConnection.shutdown() dans onDestroy() - -// if(openAI) { -// ChatGPTTask chatGPTTask = new ChatGPTTask( this, keyOpenai); -// chatGPTTask.execute(); -// -// } - - //Phrase avec nom ou pas? -/* if(JoueurOuPas()){ - PhraseAvecNom(toutlesjoueurs); - }else{ - PhraseSansNom(); - } - }*/ - } - - - public void handleExtractedMessage(String phraseGPTString) { - // Traitez la rĂ©ponse extraite ici - System.out.println(phraseGPTString); - // Par exemple, affichez-la dans une TextView ou effectuez une action en fonction de la rĂ©ponse -} - - public void navigateToJeuxParametres() { - Intent intent = new Intent(Jeuxold.this, JeuxParametres.class); - Toast.makeText(getApplicationContext(), "Échec de la communication avec l'API !", Toast.LENGTH_SHORT).show(); - startActivity(intent); - } - - /*public void PhraseAvecNom(List toutlesjoueurs){ - //System.out.println("Je suis dans phrase avec pseudo"); - List phraseAvecNom = new ArrayList(); - List aleatoirejoueurs = TroisJoueurAleatoire(toutlesjoueurs); - phraseAvecNom.add(ChoixJoueurAleatoire(toutlesjoueurs) + " dois boire " + Gorgeesaleatoire(2, 4)+ " GorgĂ©es"); - phraseAvecNom.add(ChoixJoueurAleatoire((toutlesjoueurs))+ " est le vieux briscard ! Interdiction de montrer tes dents pendant 5 manches"); - phraseAvecNom.add(aleatoirejoueurs.get(0) + " et "+ aleatoirejoueurs.get(1) +" lire le premier SMS qui s'affiche quand on tape dĂ©solĂ© dans la barre de recherche. Refusez pour 5 gorgĂ©es"); - phraseAvecNom.add( "A tour de rĂŽle, vous avez exactement 3 secondes pour donner un mot en rapport avec le mots dit prĂ©cĂ©demment. Le joueur qui perd boit "+ Gorgeesaleatoire(2, 4) + " GorgĂ©es! "+ aleatoirejoueurs.get(2)+" tu commences en choisissant un mot."); - phraseAvecNom.add(aleatoirejoueurs.get(0)+ " dĂ©fie "+ aleatoirejoueurs.get(1) + " au chifoumi ! Le joueur qui gagne distribue 5 GorgĂ©es"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+ " Ă  toi de juger : entre "+aleatoirejoueurs.get(1)+ " et "+ aleatoirejoueurs.get(2) + " qui stresse le plus pour un rien selon toi? Cette personne se dĂ©tendra en buvant " + Gorgeesaleatoire(3, 5 ) + " GorgĂ©es"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" est dans le futur ! Tu dois parler au futur pendant 4 tours Une gorgĂ©e Ă  chaque manque."); - phraseAvecNom.add("Les joueurs de Counter Strike peuvent distribuer" + GorgeesaleatoireAmeliorer(1, 4)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" tu bois autant de gorgĂ©es que tu as d'annĂ©es d'Ă©tudes aprĂšs le BAC"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+aleatoirejoueurs.get(1)+" ferment leurs yeux ! Ils/Elles doivent deviner la couleur des yeux de l'autre. Si ils/elles se trompent, c'est "+GorgeesaleatoireAmeliorer(2, 4)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" est manchot ! Il/Elle ne peut plus utiliser ses doigts durant 3 tours . Si il/elle s'en sert, il/elle devra boire autant de gorgĂ©es qu'il/elle a utilisĂ© de doigts"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+ aleatoirejoueurs.get(1)+" , si vous ĂȘtes ensemble dans la vraie vie, vous pouvez distribuer 2 gorgĂ©es , autrement buvez-les"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", donne le nombre d'habitants du Tadjikistan ( Ă  1 000 000 prĂšs) ou boit "+GorgeesaleatoireAmeliorer(2, 4)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" a la tourette ! A chaque fois que tu bois une gorgĂ©e, tu dois CRIER une insulte. C'est un stade avancĂ©, ça dure 3 tours"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", donne la couleur prĂ©fĂ©rĂ©e de "+aleatoirejoueurs.get(1)+" si tu te trompes, c'est 2 gorgĂ©es"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" Ă  l'oeil de serpent pendant 5 tours ! DĂšs qu'un joueur te regarde dans les yeux, il/elle boit. Si personne ne t'a regardĂ© tu bois"+GorgeesaleatoireAmeliorer(5, 9)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+ aleatoirejoueurs.get(1)+"se mesurent ! Le plus petit peut boire"+GorgeesaleatoireAmeliorer(3, 5)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" doit terminer toutes ses phrases par - C'est clair pendant 7 tours"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" distribue"+GorgeesaleatoireAmeliorer(2,5)+" Ă  la personne que tu trouves la mieux foutue"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" distribue"+GorgeesaleatoireAmeliorer(2,5)+" Ă  qui tu veux."); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+aleatoirejoueurs.get(1)+" se dĂ©fient au 'je te tiens, tu me tiens', le premier qui rit sera une tapette, et devra boire"+GorgeesaleatoireAmeliorer(4,6)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+aleatoirejoueurs.get(1)+"n'ont plus le droit d'utiliser leur tĂ©lĂ©phone jusqu'Ă  la fin du jeu ! A chaque manque c'est"+GorgeesaleatoireAmeliorer(1,3)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+aleatoirejoueurs.get(1)+ "racontent une anecdote, celui/celle qui sort la plus banale boit "+GorgeesaleatoireAmeliorer(3, 6)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", pour"+GorgeesaleatoireAmeliorer(2,4)+", Ă  qui est ce slogan? Y a pas plus fort. (Vigor)"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", Vrai ou faux? L'eau est bleue car elle reflĂšte le ciel? (Non) Si tu as rĂ©pondu faux tu devras boire : "+GorgeesaleatoireAmeliorer(2,4)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", Si on te dit Marco? ... Si tu as dit Polo tu bois "+GorgeesaleatoireAmeliorer(1,3)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", Boire un cafĂ© fait baisser le taux d'alcool? "+GorgeesaleatoireAmeliorer(5, 8)+"en jeu (FAUX)"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" est l'aigris pendant 5 tours ! DĂšs que tu souris ou rigoles, tu bois "+GorgeesaleatoireAmeliorer(2,3)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" fait un geste, le suivant rĂ©pĂšte et en ajoute un. Le perdant boit"+GorgeesaleatoireAmeliorer(3,5)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", "+aleatoirejoueurs.get(2)+" et "+aleatoirejoueurs.get(1)+" vont dĂ©signer quelqu'un qui doit terminer son verre "); - phraseAvecNom.add("RĂ©citez l'alphabet en Ă©nonçant une lettre Ă  tour de rĂŽle. Si "+aleatoirejoueurs.get(0)+" finit son verre avant, cul sec pour tout le monde !"); - phraseAvecNom.add("Si"+aleatoirejoueurs.get(0)+" arrive Ă  finir son verre en moins de 5 secondes, il/elle peut distribuer"+ GorgeesaleatoireAmeliorer(5, 8)); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" et "+ aleatoirejoueurs.get(1)+"sont liĂ©s, si l'un boit alors l'autre aussi, et ce pendant 5 tours"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+", "+aleatoirejoueurs.get(2)+" et "+ aleatoirejoueurs.get(1)+"sont liĂ©s, si l'un boit alors les autres aussi, et ce pendant 5 tours"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" dit un mot, la personne suivante le rĂ©pĂšte et en ajoute un nouveau, ainsi de suite jusqu'Ă  ce que quelqu'un se trompe. Le perdant boit autant de gorgĂ©es qu'il y a eu de personne avant lui"); - phraseAvecNom.add(aleatoirejoueurs.get(0)+" doit choisir un mot que tout le monde devra dire Ă  chaque fois qu'une personne boit."); - //phraseAvecNom.add(aleatoirejoueurs.get(0)+""); - //phraseAvecNom.add(aleatoirejoueurs.get(0)+""); - //phraseAvecNom.add(aleatoirejoueurs.get(0)+""); - //Affichage : - TextView textView1 = (TextView) findViewById(R.id.textView1); - textView1.setText(Nbaleatoirelist(phraseAvecNom)); - } - public void PhraseSansNom(){ - //System.out.println("Je suis dans phrase sans pseudo"); - List phraseSansNom = new ArrayList(); - //Ajout de defis - phraseSansNom.add("Tout le monde boit "+ Gorgeesaleatoire(1, 2)+" gorgĂ©e(s)"); - phraseSansNom.add("Quand l'heure affichera un multiple de 10 (22h, 22h10 ...) le premier Ă  crier \"merde j'ai oubliĂ© mon chat\" distribuera " + Gorgeesaleatoire(10, 12)+ " GorgĂ©es"); - phraseSansNom.add("Ceux qui ont dansĂ© aujourd'hui boivent 4 gorgĂ©es"); - phraseSansNom.add("Bois "+ Gorgeesaleatoire(2, 6)+ " GorgĂ©es si tu n'as pas ton vĂ©ritable nom sur insta"); - phraseSansNom.add("Bois "+ Gorgeesaleatoire(2, 3)+ " GorgĂ©es si tu as des photos sur insta."); - phraseSansNom.add("PlutĂŽt ne plus avoir de mains ou de jambes? les perdants boivent "+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles/Ceux qui ont habitĂ© dans plus de 3 villes diffĂ©rentes boivent "+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Vive la poĂ©sie ! Nos phrases doivent rimer sous peine d'une gorgĂ©e"); - phraseSansNom.add("Élisez le joueur le moins drĂŽle d'entre vous, ce dernier boit" + GorgeesaleatoireAmeliorer(1,4 )); - phraseSansNom.add("Élisez le joueur le plus drĂŽle d'entre vous, ce dernier distribue" + GorgeesaleatoireAmeliorer(1,4 )); - phraseSansNom.add("La derniĂšre personne Ă  avoir vomi en soirĂ©e distribue" + GorgeesaleatoireAmeliorer(2,4)); - phraseSansNom.add("Les filles peuvent distribuer"+ GorgeesaleatoireAmeliorer(1, 2)); - phraseSansNom.add("Les garçons peuvent distribuer"+ GorgeesaleatoireAmeliorer(1, 2)); - phraseSansNom.add("Toutes celles (ou ceux) qui ont du verni Ă  ongles boivent"+GorgeesaleatoireAmeliorer(1,2)); - phraseSansNom.add("Tous les joueurs cĂ©libataires boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Tous ceux qui ont des lunettes boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Le premier joueur qui arrive Ă  mettre son doigt dans le nez d'un autre joueur peut distribuer"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Tous ceux qui ont dĂ©jĂ  trichĂ© Ă  un examen boivent "+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("PlutĂŽt avoir un tapis volant, ou un frigo qui se remplit tout seul ? Votez tous en mĂȘme temps. La minoritĂ© boit "+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Les couples trinquer ensemble "+ GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Le/La plus radin(e) boit"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Le mec qui a le plus gros ventre de biĂšre boit"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Tous ceux qui se sont dĂ©jĂ  fait exclure de cours boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Tous ceux qui ont des frĂšres et soeurs boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles et ceux qui ont un Windows phone peuvent distribuer"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles/Ceux qui se sont dĂ©jĂ  battus boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celui/Celle qui pĂšse le plus lourd boit "+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Pour se dĂ©coincer, le/la plus timide boit"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Le/La plus jeune boit"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("PlutĂŽt avoir du temps ou de l'argent ? Votez tous en mĂȘme temps. La minoritĂ© boit"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles/Ceux qui ont fait des Ă©tudes de L boivent"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Le premier joueur qui en embrasse un autre sur la bouche pourra distribuer"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles et ceux qui jouent de la guitare peuvent distribuer"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Celles et ceux qui jouent du piano peuvent distribuer"+GorgeesaleatoireAmeliorer(1,4)); - phraseSansNom.add("Les gens qui se sont masturbĂ©s aujourd'hui peuvent distribuer"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Celui ou celle Ă  la meilleure place boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Celles et ceux qui n'ont jamais trompĂ© leur partenaire (c'est bien) peuvent distribuer"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Celui/Celle avec les vĂȘtements les plus moches boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Celui/Celle qui a les cheveux les plus longs boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("On doit doser son Alcool les yeux fermĂ©s"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("PlutĂŽt sĂ©rie ou film ? Votez tous en mĂȘme temps. La minoritĂ© boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Élisez le plus dĂ©bile d'entre vous, ce dernier boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Le premier qui donne un film de - Christopher Nolan - pourra distribuer"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Le premier qui donne un film avec Christian Clavier pourra boire"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Les vĂ©gans boivent "+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("La fille la plus maquillĂ©e boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("Celles/Ceux qui ont dĂ©jĂ  appelĂ© leur partenaire par le prĂ©nom de leurs ex boivent"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("La premiĂšre personne qui dĂ©signe le plus jeune peut distribuer"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("PlutĂŽt avoir des connaissances illimitĂ©es ou diriger le monde ? Votez tous en mĂȘme temps. La minoritĂ© boit"+GorgeesaleatoireAmeliorer(1, 4)); - phraseSansNom.add("PlutĂŽt n'avoir aucun ami ou ne plus pouvoir utiliser d'appareil Ă©lectronique ? Votez tous en mĂȘme temps. La minoritĂ© boit"+ GorgeesaleatoireAmeliorer(2, 5)); - phraseSansNom.add("PlutĂŽt vaincre le patrikaka ou la pollution dans le monde? Votez tous en mĂȘme temps. La minoritĂ© boit"+GorgeesaleatoireAmeliorer(1, 2)); - phraseSansNom.add("Jeu du LUTIN : Jusqu'Ă  la fin du jeu. Vous devez enlever le lutin de votre verre pour pouvoir boire et le remettre ensuite sinon vous devez reboire"); - phraseSansNom.add("Celles et ceux qui boivent de la Vodka peuvent distribuer "+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Les joueurs qui ont un A dans leur prĂ©nom boivent "+GorgeesaleatoireAmeliorer(3,5)); - phraseSansNom.add("Les joueurs qui ont un P dans le prĂ©nom distribuent"+GorgeesaleatoireAmeliorer(1, 3)); - phraseSansNom.add("Le premier joueur Ă  ramener un objet rouge (pas de vĂȘtements) peut distribuer"+GorgeesaleatoireAmeliorer(3,5)); - phraseSansNom.add("Le premier joueur qui dĂ©voile un de ses secrets et que personne autour ne sait peut distribuer"+ GorgeesaleatoireAmeliorer(3, 6)); - phraseSansNom.add("Chaque joueur doit lire Ă  haute voix le dernier SMS qu'il a reçu. Si il/elle refuse, c'est"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Le joueur avec le plus gros cul boit"+ GorgeesaleatoireAmeliorer(2, 6)); - phraseSansNom.add("Celles/Ceux qui ont moins de 20ans boivent"+ GorgeesaleatoireAmeliorer(2, 7)); - phraseSansNom.add("Celui ou celle avec le plus gros appĂ©tit sexuel boit"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Ceux/Celles qui fument boivent "+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Celles et ceux qui ont au moins un BAC +3 peuvent distribuer"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Le premier joueur Ă  se lever peut donner"+ GorgeesaleatoireAmeliorer(6, 7)); - phraseSansNom.add("Celles et ceux qui n'ont jamais fait de strip tease boivent"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Le premier joueur Ă  enlever un vĂȘtement pourra distribuer"+ GorgeesaleatoireAmeliorer(5, 7)); - phraseSansNom.add("Jeu des peaux ! Triez vous du joueur le plus bronzĂ© au joueur le moins bronzĂ©. Le plus bronzĂ© prend 1 gorgĂ©e, le second 2 gorgĂ©es, etc."); - phraseSansNom.add("Tous ceux qui ont dĂ©jĂ  urinĂ© dans une piscine boivent"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Celui/Celle avec le plus d'amis sur Facebook boit"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Celui/Celle avec le nom de famille le plus compliquĂ© boit"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Les joueurs qui n'ont pas encore distribuĂ© de gorgĂ©es boivent"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("PlutĂŽt avoir du pouvoir ou de la connaissance ? Votez tous en mĂȘme temps. La minoritĂ© boit"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("le plus gros dalleux avec les filles boit"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Le premier joueur Ă  donner l'heure pourra distribuer"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Celles et ceux qui ont dĂ©jĂ  dĂ©penser plus de 2000 euros en un achat peuvent distribuer"+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Le mec le moins courageux boit "+ GorgeesaleatoireAmeliorer(2, 4)); - phraseSansNom.add("Celles/Ceux qui rentre chez eux Ă  la fin de la soirĂ©e boivent"+ GorgeesaleatoireAmeliorer(8, 12)); - phraseSansNom.add("Il est dĂ©sormais interdit de se tutoyer"); - phraseSansNom.add("Toutes les rĂšgles existantes sont annulĂ©es"); - phraseSansNom.add("Celles et ceux dont le jour d'anniversaire est un nombre impair boivent"+ GorgeesaleatoireAmeliorer(2, 4)); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add(""); - //phraseSansNom.add("");*/ - - - // - - //Affichage : - TextView textView1 = (TextView) findViewById(R.id.textView1); - //textView1.setText(Nbaleatoirelist(phraseSansNom)); - //} - - public int Gorgeesaleatoire(int Min, int Max){ - int offset = ajoutGorgees; - int nbgorgĂ©es; - if (Min == 1 && Max == 2){ - nbgorgĂ©es = random.nextInt(Max + Min); - }else { - nbgorgĂ©es = Min + random.nextInt(Max - Min); - } - if(nbgorgĂ©es == 0){ - nbgorgĂ©es = 1; - } - nbgorgĂ©es = nbgorgĂ©es + offset; - return nbgorgĂ©es; - } - - public String GorgeesaleatoireAmeliorer(int Min, int Max){ - int offset = ajoutGorgees; - int nbgorgĂ©es; - if (Min == 1 && Max == 2){ - nbgorgĂ©es = random.nextInt(Max + Min); - }else { - nbgorgĂ©es = Min + random.nextInt(Max - Min); - } - if(nbgorgĂ©es == 0){ - nbgorgĂ©es = 1; - } - nbgorgĂ©es = nbgorgĂ©es + offset; - - String nbgorgĂ©esstr = " " + Integer.toString(nbgorgĂ©es) + " GorgĂ©e(s)"; - return nbgorgĂ©esstr; - } - - public String Nbaleatoirelist(List list){ - return (String) list.get(random.nextInt(list.size())); - } - - public int Nbaleatoire(){ - int Max = 100; - int Min = 0; - return random.nextInt(Max - Min); - } - public boolean JoueurOuPas(){ - boolean TrueFalse; - int nbaleatoire = Nbaleatoire(); - int pourcentage = 40; - //System.out.println(nbaleatoire); - if(nbaleatoire >= pourcentage){ - TrueFalse = false;} - else{ - TrueFalse = true; - } - //System.out.println(TrueFalse); - return TrueFalse; - } - public List TroisJoueurAleatoire(List toutlesjoueurs){ - List listJoueur = new ArrayList(); - while (listJoueur.size() < 3){ - String joueur = (String) toutlesjoueurs.get(random.nextInt(toutlesjoueurs.size())); - if (!listJoueur.contains(joueur)) { - listJoueur.add(joueur); - } - } - return listJoueur; - } - - public String ChoixJoueurAleatoire(List toutlesjoueurs){ - return (String) toutlesjoueurs.get(random.nextInt(toutlesjoueurs.size())); - } - public void OnClickButton1(View v){ - finish(); - startActivity(getIntent()); - - } - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - // Votre code pour gĂ©rer les modifications d'orientation ici - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/example/boidelov3/MainActivity.java b/app/src/main/java/com/example/boidelov3/MainActivity.java index 84677ad..8aa3c71 100644 --- a/app/src/main/java/com/example/boidelov3/MainActivity.java +++ b/app/src/main/java/com/example/boidelov3/MainActivity.java @@ -159,19 +159,32 @@ public class MainActivity extends AppCompatActivity { // Ajouter l'EditText au TextInputLayout textInputLayout.addView(newEditText); - // CrĂ©er le bouton de suppression - taille rĂ©duite + // CrĂ©er le bouton de suppression - style Ă©lĂ©gant avec fond circulaire ImageButton deleteButton = new ImageButton(this); - int dp36 = (int) (36 * getResources().getDisplayMetrics().density); - FrameLayout.LayoutParams buttonParams = new FrameLayout.LayoutParams(dp36, dp36); - buttonParams.setMargins(0, 4, 10, 4); // Plus d'espace Ă  droite (10dp au lieu de 6) + int dp40 = (int) (40 * getResources().getDisplayMetrics().density); + FrameLayout.LayoutParams buttonParams = new FrameLayout.LayoutParams(dp40, dp40); + buttonParams.setMargins(0, 0, 8, 0); buttonParams.gravity = android.view.Gravity.END | android.view.Gravity.CENTER_VERTICAL; deleteButton.setLayoutParams(buttonParams); + + // Utiliser l'icĂŽne de poubelle Material (ic_menu_delete est une croix) deleteButton.setImageResource(android.R.drawable.ic_menu_delete); - int errorColor = androidx.core.content.ContextCompat.getColor(this, R.color.error); - deleteButton.setColorFilter(errorColor); + deleteButton.setColorFilter(androidx.core.content.ContextCompat.getColor(this, R.color.text_secondary)); deleteButton.setScaleType(ImageButton.ScaleType.CENTER_INSIDE); - deleteButton.setBackgroundColor(android.graphics.Color.TRANSPARENT); // Fond transparent - deleteButton.setPadding(4, 4, 4, 4); // Padding interne rĂ©duit + + // Fond circulaire blanc avec bordure fine + deleteButton.setBackgroundColor(androidx.core.content.ContextCompat.getColor(this, R.color.white)); + deleteButton.setPadding(8, 8, 8, 8); + + // Arrondir le bouton en cercle via un OutlineProvider + deleteButton.setOutlineProvider(new android.view.ViewOutlineProvider() { + @Override + public void getOutline(android.view.View view, android.graphics.Outline outline) { + outline.setOval(0, 0, view.getWidth(), view.getHeight()); + } + }); + deleteButton.setClipToOutline(true); + deleteButton.setContentDescription("Supprimer ce joueur"); // Configuration du bouton de suppression avec animation @@ -263,6 +276,22 @@ public class MainActivity extends AppCompatActivity { } public void openParametres(){ + // VĂ©rifier s'il y a des noms en double (insensible Ă  la casse) + List nomsNormauxes = new ArrayList<>(); + for (String nom : toutlesjoueurs) { + String nomNormalise = nom.trim().toLowerCase(); + if (nomsNormauxes.contains(nomNormalise)) { + // Nom en double dĂ©tectĂ© + Context context = getApplicationContext(); + CharSequence text = "Erreur : Le nom \"" + nom + "\" est utilisĂ© plusieurs fois. Chaque joueur doit avoir un nom unique."; + int duration = Toast.LENGTH_LONG; + Toast toast = Toast.makeText(context, text, duration); + toast.show(); + return; // Ne pas continuer + } + nomsNormauxes.add(nomNormalise); + } + //enregistrement des joueurs dans les shared preferences Joueurs SharedPreferences sharedPreferences = getSharedPreferences("Joueurs", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); diff --git a/app/src/main/java/com/example/boidelov3/OpenAIService.java b/app/src/main/java/com/example/boidelov3/OpenAIService.java new file mode 100644 index 0000000..0a49b9c --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/OpenAIService.java @@ -0,0 +1,389 @@ +package com.example.boidelov3; + +import android.os.Handler; +import android.os.Looper; +import android.util.Log; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.util.List; +import java.util.Random; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +/** + * Service pour gĂ©nĂ©rer des questions via diffĂ©rentes IA (OpenAI, OpenRouter, Z.ai) + * Utilise OkHttp pour les requĂȘtes rĂ©seau asynchrones + */ +public class OpenAIService { + private static final String TAG = "OpenAIService"; + private static final MediaType JSON = MediaType.get("application/json; charset=utf-8"); + + // API URLs pour chaque provider + private static final String OPENAI_API_URL = "https://api.openai.com/v1/chat/completions"; + private static final String OPENROUTER_API_URL = "https://openrouter.ai/api/v1/chat/completions"; + + // ModĂšles par dĂ©faut pour chaque provider + private static final String OPENAI_MODEL = "gpt-3.5-turbo"; + private static final String OPENROUTER_MODEL = "openai/gpt-3.5-turbo"; + private static final String ZAI_MODEL = "claude-3-5-sonnet"; + + private OkHttpClient client; + private String apiKey; + private AIProvider provider; + private String model; + private Handler mainHandler; + private Random random; + + /** + * Enum pour les diffĂ©rents fournisseurs d'IA + */ + public enum AIProvider { + OPENAI("OpenAI", OPENAI_API_URL, OPENAI_MODEL), + OPENROUTER("OpenRouter", OPENROUTER_API_URL, OPENROUTER_MODEL), + ZAI("Z.ai", "https://api.z.ai/v1/messages", ZAI_MODEL); + + private final String displayName; + private final String apiUrl; + private final String defaultModel; + + AIProvider(String displayName, String apiUrl, String defaultModel) { + this.displayName = displayName; + this.apiUrl = apiUrl; + this.defaultModel = defaultModel; + } + + public String getDisplayName() { + return displayName; + } + + public String getApiUrl() { + return apiUrl; + } + + public String getDefaultModel() { + return defaultModel; + } + } + + /** + * Constructeur avec provider par dĂ©faut (OpenAI) + */ + public OpenAIService(String apiKey) { + this(apiKey, AIProvider.OPENAI); + } + + /** + * Constructeur avec choix du provider + * Valide la clĂ© API avant de l'utiliser + */ + public OpenAIService(String apiKey, AIProvider provider) { + // Valider la clĂ© API avant utilisation + if (!validateApiKey(apiKey, provider)) { + throw new IllegalArgumentException("ClĂ© API invalide pour " + provider.getDisplayName()); + } + + this.apiKey = apiKey; + this.provider = provider; + this.model = provider.getDefaultModel(); + this.client = new OkHttpClient.Builder() + .connectTimeout(30, TimeUnit.SECONDS) + .writeTimeout(30, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .build(); + this.mainHandler = new Handler(Looper.getMainLooper()); + this.random = new Random(); + } + + /** + * Constructeur avec choix du provider et du modĂšle + * Valide la clĂ© API avant de l'utiliser + */ + public OpenAIService(String apiKey, AIProvider provider, String model) { + this(apiKey, provider); + this.model = model; + } + + /** + * Valide une clĂ© API selon le provider + * VĂ©rifie que la clĂ© n'est pas null, vide, et a un format valide + * + * @param key La clĂ© API Ă  valider + * @param provider Le provider d'IA + * @return true si la clĂ© est valide, false sinon + */ + public static boolean validateApiKey(String key, AIProvider provider) { + // VĂ©rification basique : la clĂ© ne doit pas ĂȘtre null ou vide + if (key == null || key.trim().isEmpty()) { + Log.w(TAG, "ClĂ© API null ou vide pour " + provider.getDisplayName()); + return false; + } + + String trimmedKey = key.trim(); + + // VĂ©rification du format selon le provider + switch (provider) { + case OPENAI: + // Les clĂ©s OpenAI commencent par "sk-" + if (!trimmedKey.startsWith("sk-")) { + Log.w(TAG, "ClĂ© OpenAI invalide : doit commencer par 'sk-'"); + return false; + } + if (trimmedKey.length() < 20) { + Log.w(TAG, "ClĂ© OpenAI trop courte"); + return false; + } + break; + + case OPENROUTER: + // Les clĂ©s OpenRouter commencent par "sk-or-" + if (!trimmedKey.startsWith("sk-or-")) { + Log.w(TAG, "ClĂ© OpenRouter invalide : doit commencer par 'sk-or-'"); + return false; + } + if (trimmedKey.length() < 20) { + Log.w(TAG, "ClĂ© OpenRouter trop courte"); + return false; + } + break; + + case ZAI: + // Les clĂ©s Z.ai/Anthropic commencent par "sk-ant-" + if (!trimmedKey.startsWith("sk-ant-")) { + Log.w(TAG, "ClĂ© Z.ai invalide : doit commencer par 'sk-ant-'"); + return false; + } + if (trimmedKey.length() < 20) { + Log.w(TAG, "ClĂ© Z.ai trop courte"); + return false; + } + break; + + default: + Log.w(TAG, "Provider inconnu : " + provider); + return false; + } + + Log.i(TAG, "ClĂ© API validĂ©e pour " + provider.getDisplayName()); + return true; + } + + /** + * Valide une clĂ© API avec le provider par dĂ©faut (OpenAI) + * + * @param key La clĂ© API Ă  valider + * @return true si la clĂ© est valide + */ + public static boolean validateApiKey(String key) { + return validateApiKey(key, AIProvider.OPENAI); + } + + /** + * Change le provider + */ + public void setProvider(AIProvider provider) { + this.provider = provider; + this.model = provider.getDefaultModel(); + } + + /** + * Change le modĂšle + */ + public void setModel(String model) { + this.model = model; + } + + /** + * GĂ©nĂšre une question via l'API configurĂ©e + */ + public void generateQuestion(List players, int ajoutGorgees, OpenAICallback callback) { + String prompt = buildPrompt(players, ajoutGorgees); + + try { + boolean isAnthropicFormat = (provider == AIProvider.ZAI); + String requestBody; + String responseParser; + + if (isAnthropicFormat) { + // Format Anthropic (Claude/Z.ai) + JSONObject body = new JSONObject(); + body.put("model", model); + body.put("max_tokens", 150); + body.put("temperature", 0.8); + + JSONArray messages = new JSONArray(); + JSONObject userMessage = new JSONObject(); + userMessage.put("role", "user"); + userMessage.put("content", prompt); + messages.put(userMessage); + body.put("messages", messages); + + requestBody = body.toString(); + responseParser = "anthropic"; + } else { + // Format OpenAI-compatible + JSONObject body = new JSONObject(); + body.put("model", model); + body.put("max_tokens", 150); + body.put("temperature", 0.8); + + JSONArray messages = new JSONArray(); + JSONObject userMessage = new JSONObject(); + userMessage.put("role", "user"); + userMessage.put("content", prompt); + messages.put(userMessage); + body.put("messages", messages); + + requestBody = body.toString(); + responseParser = "openai"; + } + + // Construire la requĂȘte avec l'URL appropriĂ©e + Request.Builder requestBuilder = new Request.Builder() + .url(provider.getApiUrl()) + .post(RequestBody.create(requestBody, JSON)); + + // Ajouter les headers selon le provider + switch (provider) { + case OPENAI: + requestBuilder.addHeader("Authorization", "Bearer " + apiKey); + break; + case OPENROUTER: + requestBuilder.addHeader("Authorization", "Bearer " + apiKey); + requestBuilder.addHeader("HTTP-Referer", "https://boidelo.app"); + requestBuilder.addHeader("X-Title", "Boidelo"); + break; + case ZAI: + requestBuilder.addHeader("x-api-key", apiKey); + requestBuilder.addHeader("anthropic-version", "2023-06-01"); + break; + } + + Request request = requestBuilder.build(); + + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + mainHandler.post(() -> callback.onError("Erreur de connexion: " + e.getMessage())); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + if (!response.isSuccessful()) { + mainHandler.post(() -> callback.onError("Erreur API " + provider.getDisplayName() + ": " + response.code())); + return; + } + + String responseData = response.body().string(); + String generatedQuestion = parseResponse(responseData, responseParser); + + mainHandler.post(() -> callback.onSuccess(generatedQuestion)); + } + }); + + } catch (JSONException e) { + mainHandler.post(() -> callback.onError("Erreur de formatage: " + e.getMessage())); + } + } + + /** + * Construit le prompt pour l'IA + */ + private String buildPrompt(List players, int ajoutGorgees) { + StringBuilder sb = new StringBuilder(); + sb.append("Tu es un gĂ©nĂ©rateur de questions pour un jeu d'alcool en français. "); + sb.append("GĂ©nĂšre UNE SEULE question dans le style suivant:\n\n"); + + sb.append("Exemples:\n"); + sb.append("- Ceux qui ont un tatouage\n"); + sb.append("- Le/La plus drĂŽle du groupe\n"); + sb.append("- doit deviner ce que a mangĂ© aujourd'hui\n"); + sb.append("- Ceux qui Ă©coutent du rock\n"); + sb.append("- PlutĂŽt avoir le pouvoir ou la connaissance ? Votez tous. La minoritĂ© boit.\n"); + + if (players != null && !players.isEmpty()) { + sb.append("\nJoueurs prĂ©sents: "); + for (int i = 0; i < players.size(); i++) { + if (i > 0) sb.append(", "); + sb.append(players.get(i)); + } + } + + if (ajoutGorgees > 0) { + sb.append("\nAjout de gorgĂ©es: +").append(ajoutGorgees).append(" gorgĂ©e(s)"); + } + + sb.append("\n\nIMPORTANT: "); + sb.append("GĂ©nĂšre uniquement la question, sans explication. "); + sb.append("Utilise , , pour dĂ©signer des joueurs alĂ©atoires si nĂ©cessaire. "); + sb.append("Ne gĂ©nĂšre PAS de questions avec (dĂ©fis Ă  durĂ©e). "); + sb.append("Sois crĂ©atif et variĂ© !"); + + return sb.toString(); + } + + /** + * Parse la rĂ©ponse de l'API (format OpenAI-compatible ou Anthropic) + */ + private String parseResponse(String responseData, String format) { + try { + JSONObject json = new JSONObject(responseData); + + if ("anthropic".equals(format)) { + // Format Anthropic/Z.ai + if (json.has("content")) { + JSONArray contentArray = json.getJSONArray("content"); + if (contentArray.length() > 0) { + JSONObject firstContent = contentArray.getJSONObject(0); + if (firstContent.has("text")) { + return firstContent.getString("text").trim(); + } + } + } + } else { + // Format OpenAI-compatible + JSONArray choices = json.getJSONArray("choices"); + if (choices.length() > 0) { + JSONObject firstChoice = choices.getJSONObject(0); + JSONObject message = firstChoice.getJSONObject("message"); + String content = message.getString("content"); + // Nettoyer la rĂ©ponse + return content.trim().replaceAll("^\"|\"$", ""); + } + } + } catch (JSONException e) { + String operation = "Parsing de la rĂ©ponse API " + provider.getDisplayName(); + String details = "Format: " + format + ", Impossible de parser la rĂ©ponse JSON"; + Log.e("OpenAIService", operation + " - " + details, e); + } + return null; + } + + /** + * Interface de callback pour les rĂ©ponses API + */ + public interface OpenAICallback { + void onSuccess(String question); + void onError(String errorMessage); + } + + /** + * LibĂšre les ressources + */ + public void shutdown() { + if (client != null) { + client.dispatcher().executorService().shutdown(); + client.connectionPool().evictAll(); + } + } +} diff --git a/app/src/main/java/com/example/boidelov3/PreferencesKeys.java b/app/src/main/java/com/example/boidelov3/PreferencesKeys.java new file mode 100644 index 0000000..87fe749 --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/PreferencesKeys.java @@ -0,0 +1,57 @@ +package com.example.boidelov3; + +/** + * Centralise toutes les clĂ©s utilisĂ©es pour SharedPreferences. + * Cette classe garantit la cohĂ©rence des clĂ©s Ă  travers l'application. + */ +public final class PreferencesKeys { + + // PrĂ©fixe pour les noms de fichiers de prĂ©fĂ©rences + public static final String PREFS_NAME_PLAYERS = "Joueurs"; + public static final String PREFS_NAME_APP = "app"; + public static final String PREFS_NAME_GAME_STATS = "game_stats"; + public static final String PREFS_NAME_MY_PREFS = "MyPrefs"; + + // ClĂ©s pour les joueurs (stockĂ©s dans PREFS_NAME_PLAYERS) + public static final String KEY_PLAYER_1 = "J1"; + public static final String KEY_PLAYER_2 = "J2"; + public static final String KEY_PLAYER_3 = "J3"; + // Pour les joueurs supplĂ©mentaires : J4, J5, etc. (gĂ©nĂ©rĂ© dynamiquement) + + // ClĂ©s pour les statistiques de jeu (stockĂ©es dans PREFS_NAME_GAME_STATS) + public static final String KEY_QUESTIONS_PLAYED = "questions_played"; + public static final String KEY_PLAYERS_COUNT = "players_count"; + + // ClĂ©s pour l'Ă©tat de l'application (stockĂ©es dans PREFS_NAME_APP) + public static final String KEY_ASKED_QUESTIONS = "askedQuestions"; + + // ClĂ©s pour les paramĂštres utilisateur (stockĂ©s dans PREFS_NAME_MY_PREFS) + public static final String KEY_SAVED_TEXT = "savedText"; + public static final String KEY_AI_PROVIDER = "aiProvider"; + + // ClĂ©s pour la sauvegarde d'Ă©tat (Bundle) + public static final String KEY_TOTAL_QUESTIONS_ASKED = "total_questions_asked"; + public static final String KEY_CURRENT_QUESTION_TEXT = "current_question_text"; + public static final String KEY_IS_MANCHE_ACTIVE = "is_manche_active"; + public static final String KEY_MANCHES_COUNT = "manches_count"; + public static final String KEY_MANCHE_IDS = "manche_ids"; + public static final String KEY_MANCHE_COUNTS = "manche_counts"; + + // Constructeur privĂ© pour empĂȘcher l'instanciation + private PreferencesKeys() { + throw new AssertionError("Classe utilitaire, ne pas instancier"); + } + + /** + * GĂ©nĂšre une clĂ© de joueur pour les joueurs supplĂ©mentaires (J4, J5, etc.) + * + * @param playerNumber Le numĂ©ro du joueur (doit ĂȘtre >= 4) + * @return La clĂ© gĂ©nĂ©rĂ©e (ex: "J4", "J5") + */ + public static String getPlayerKey(int playerNumber) { + if (playerNumber < 1) { + throw new IllegalArgumentException("Le numĂ©ro de joueur doit ĂȘtre >= 1"); + } + return "J" + playerNumber; + } +} diff --git a/app/src/main/java/com/example/boidelov3/Question.java b/app/src/main/java/com/example/boidelov3/Question.java index c21eff7..49e5324 100644 --- a/app/src/main/java/com/example/boidelov3/Question.java +++ b/app/src/main/java/com/example/boidelov3/Question.java @@ -2,6 +2,31 @@ package com.example.boidelov3; import java.util.List; +/** + * ReprĂ©sente une question du jeu Boidelo avec toutes ses propriĂ©tĂ©s. + * + *

Cette classe contient toutes les informations nécessaires pour afficher + * et traiter une question lors du jeu.

+ * + *

Propriétés principales :

+ *
    + *
  • {@code id} : Identifiant unique de la question
  • + *
  • {@code question} : Texte de la question (peut contenir des balises)
  • + *
  • {@code gorger} : Nombre de gorgĂ©es Ă  boire/distribuer
  • + *
  • {@code distribution} : Si vrai, le joueur distribue des gorgĂ©es
  • + *
  • {@code recois} : Si vrai, le joueur boit des gorgĂ©es
  • + *
  • {@code manches} : Si vrai, la question est un dĂ©fi Ă  manches
  • + *
  • {@code caliente} : Si vrai, la question est spĂ©ciale/hot
  • + *
  • {@code variante} : Liste des choix possibles pour une variante
  • + *
+ * + *

Balises spéciales dans le texte :

+ *
    + *
  • {@code }, {@code }, {@code } : Joueurs sĂ©lectionnĂ©s
  • + *
  • {@code } : Nombre de manches pour un dĂ©fi
  • + *
  • {@code } : Choix Ă  remplacer par une variante
  • + *
+ */ public class Question { private int id; private String question; @@ -10,16 +35,25 @@ public class Question { private List variante; private boolean recois; private boolean manches; + private boolean caliente; private String arret; // mise Ă  jour du type de donnĂ©es private int manchesRestantes; // pour le nombre de manches restantes private String arretMessage; // pour le message d'arrĂȘt private String arretMessageManche; // pour le message d'arrĂȘt pour les manches - // Constructeur par dĂ©faut + /** + * Constructeur par dĂ©faut. + * Initialise tous les champs Ă  leurs valeurs par dĂ©faut. + */ public Question() { } // Getters et setters pour tous les champs + + /** + * Retourne l'identifiant unique de la question. + * @return L'ID de la question + */ public int getId() { return id; } @@ -106,4 +140,12 @@ public class Question { public void setArretMessageManche(String arretMessageManche) { this.arretMessageManche = arretMessageManche; } + + public boolean isCaliente() { + return caliente; + } + + public void setCaliente(boolean caliente) { + this.caliente = caliente; + } } diff --git a/app/src/main/java/com/example/boidelov3/data/PlayerStats.java b/app/src/main/java/com/example/boidelov3/data/PlayerStats.java new file mode 100644 index 0000000..2c8862f --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/data/PlayerStats.java @@ -0,0 +1,133 @@ +package com.example.boidelov3.data; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Classe pour suivre les statistiques d'un joueur pendant une partie. + * + *

Cette classe est Parcelable pour pouvoir ĂȘtre passĂ©e entre les activitĂ©s. + * Elle tracke deux types de statistiques :

+ *
    + *
  • {@code gorgeesBuves} : Nombre total de gorgĂ©es bues par le joueur
  • + *
  • {@code gorgeesDistribuees} : Nombre total de gorgĂ©es distribuĂ©es par le joueur
  • + *
+ * + *

Exemple d'utilisation :

+ *
{@code
+ * PlayerStats stats = new PlayerStats("Alice");
+ * stats.addGorgeesBuves(5);
+ * stats.addGorgeesDistribuees(3);
+ * int total = stats.getTotalGorgees(); // 8
+ * }
+ * + *

SECURITY NOTE:

+ * Cette classe stocke des statistiques de jeu (gorgées, scores) qui ne sont PAS + * considérées comme des données sensibles. Aucun chiffrement n'est nécessaire. + * + * Si cette classe était étendue pour stocker des données personnelles (noms réels, + * emails, etc.), il faudrait utiliser : + *
    + *
  • AndroidX Security Library pour le chiffrement
  • + *
  • EncryptedSharedPreferences pour le stockage persistant
  • + *
+ */ +public class PlayerStats implements Parcelable { + private String playerName; + private int gorgeesBuves; // Nombre de gorgĂ©es bues par ce joueur + private int gorgeesDistribuees; // Nombre de gorgĂ©es distribuĂ©es par ce joueur + + /** + * CrĂ©e les statistiques pour un joueur. + * Initialise les compteurs Ă  zĂ©ro. + * + * @param playerName Le nom du joueur + */ + public PlayerStats(String playerName) { + this.playerName = playerName; + this.gorgeesBuves = 0; + this.gorgeesDistribuees = 0; + } + + // Constructor for Parcelable + protected PlayerStats(Parcel in) { + playerName = in.readString(); + gorgeesBuves = in.readInt(); + gorgeesDistribuees = in.readInt(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public PlayerStats createFromParcel(Parcel in) { + return new PlayerStats(in); + } + + @Override + public PlayerStats[] newArray(int size) { + return new PlayerStats[size]; + } + }; + + /** + * Retourne le nom du joueur. + * @return Le nom du joueur + */ + public String getPlayerName() { + return playerName; + } + + /** + * Retourne le nombre de gorgĂ©es bues par ce joueur. + * @return Le nombre de gorgĂ©es bues + */ + public int getGorgeesBuves() { + return gorgeesBuves; + } + + /** + * Retourne le nombre de gorgĂ©es distribuĂ©es par ce joueur. + * @return Le nombre de gorgĂ©es distribuĂ©es + */ + public int getGorgeesDistribuees() { + return gorgeesDistribuees; + } + + /** + * Ajoute des gorgĂ©es bues au total du joueur. + * + * @param count Le nombre de gorgĂ©es Ă  ajouter (peut ĂȘtre nĂ©gatif) + */ + public void addGorgeesBuves(int count) { + this.gorgeesBuves += count; + } + + /** + * Ajoute des gorgĂ©es distribuĂ©es au total du joueur. + * + * @param count Le nombre de gorgĂ©es Ă  ajouter (peut ĂȘtre nĂ©gatif) + */ + public void addGorgeesDistribuees(int count) { + this.gorgeesDistribuees += count; + } + + /** + * Retourne le total des gorgĂ©es (buves + distribuĂ©es). + * + * @return La somme des gorgĂ©es bues et distribuĂ©es + */ + public int getTotalGorgees() { + return gorgeesBuves + gorgeesDistribuees; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(playerName); + dest.writeInt(gorgeesBuves); + dest.writeInt(gorgeesDistribuees); + } +} diff --git a/app/src/main/java/com/example/boidelov3/data/QuestionCategory.java b/app/src/main/java/com/example/boidelov3/data/QuestionCategory.java new file mode 100644 index 0000000..11605da --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/data/QuestionCategory.java @@ -0,0 +1,155 @@ +package com.example.boidelov3.data; + +import com.example.boidelov3.Question; + +/** + * CatĂ©gories de questions avec leurs couleurs associĂ©es + * Permet de classer les questions et d'appliquer des fonds dynamiques + */ +public class QuestionCategory { + + public enum Category { + CIBLAGE("Ciblage", "Questions qui ciblent un groupe spĂ©cifique", 0xFFFF6B6B), // Rouge doux + CLASSEMENT("Classement", "Vote pour Ă©lire le meilleur/pire", 0xFF4ECDC4), // Turquoise + JUGEMENT("Jugement", "J1 doit juger ou comparer des joueurs", 0xFFA8E6CF), // Menthe + DUEL("Duel J1/J2", "CompĂ©tition ou interaction entre 2 joueurs", 0xFFFFD93D), // Jaune + INTERACTIF("Interactif", "Quiz, devinettes, jeux de groupe", 0xFF6C5CE7), // Violet + DEFI_MANCHES("DĂ©fi", "DĂ©fi Ă  manches avec durĂ©e limitĂ©e", 0xFF0984E3), // Bleu + VARIANTE("Variante", "Questions avec choix multiples", 0xFF00B894), // Vert menthe + CALIENTE("Caliente", "Questions chaudes/spĂ©ciales", 0xFFE84393), // Rouge vif + VOTE("Vote", "Vote Ă  main levĂ©e", 0xFFFD79A8), // Rose + CLASSIQUE("Classique", "Question standard", 0xFFDFE6E9); // Gris clair + + private final String name; + private final String description; + private final int color; + + Category(String name, String description, int color) { + this.name = name; + this.description = description; + this.color = color; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public int getColor() { + return color; + } + } + + /** + * DĂ©tecte la catĂ©gorie d'une question basĂ©e sur son contenu + */ + public static Category detectCategory(Question question) { + if (question == null) { + return Category.CLASSIQUE; + } + + String questionText = question.getQuestion().toLowerCase(); + + // 1. CALIENTE - PrioritĂ© haute + if (question.isCaliente()) { + return Category.CALIENTE; + } + + // 2. DÉFI MANCHES - Questions avec + if (questionText.contains("") || question.isManches()) { + return Category.DEFI_MANCHES; + } + + // 3. CIBLAGE - "Ceux qui", "Les joueurs qui", "Toutes celles", "Tous ceux" + if (questionText.startsWith("ceux qui") || + questionText.startsWith("les joueurs qui") || + questionText.startsWith("toutes celles") || + questionText.startsWith("tous ceux") || + questionText.startsWith("les joueurs de") || + questionText.startsWith("celles") && questionText.contains("ont") || + questionText.startsWith("les joueurs de") || + questionText.startsWith("le groupe de")) { + return Category.CIBLAGE; + } + + // 4. CLASSEMENT - "Le/La plus", "Élisez", "Le premier", "Qui a le plus" + if ((questionText.startsWith("le/lĂ  plus") || + questionText.startsWith("le plus") || + questionText.startsWith("la plus") || + questionText.contains("Ă©lisez") || + questionText.startsWith("le premier") || + questionText.startsWith("la premiĂšre") || + questionText.startsWith("qui a le plus") || + questionText.startsWith("celui/celle qui a le")) && + !questionText.contains("")) { + return Category.CLASSEMENT; + } + + // 5. VOTE - "Votez tous en mĂȘme temps", "Vote Ă  main levĂ©e" + if (questionText.contains("votez tous en mĂȘme temps") || + questionText.contains("vote Ă  main levĂ©e") || + questionText.contains("votez et le perdant")) { + return Category.VOTE; + } + + // 6. JUGEMENT - " Ă  toi de juger", "entre et ", "qui de ou " + if ((questionText.contains("juge") || + questionText.contains("entre et ") || + questionText.contains("qui de ou ") || + questionText.contains("selon toi")) && + questionText.contains("")) { + return Category.JUGEMENT; + } + + // 7. DUEL J1/J2 - " et se regardent", " vs ", bras de fer, etc. + if ((questionText.contains(" et ") && !questionText.contains("variante")) || + questionText.contains("bras de fer") || + questionText.contains("clash") || + questionText.contains("duel") || + questionText.contains("concours")) { + return Category.DUEL; + } + + // 8. INTERACTIF - Quiz, devinettes, mimes, karaokĂ©, imitations + if (questionText.contains("quiz") || + questionText.contains("devin") || + questionText.contains("mime") || + questionText.contains("karaokĂ©") || + questionText.contains("imitation") || + questionText.contains("concours") || + questionText.contains("doit inventer") || + questionText.contains("doit crĂ©er") || + questionText.contains("doit deviner") || + questionText.contains("doit mimer") || + questionText.contains("doit complĂ©ter") || + questionText.contains("doit donner") && questionText.contains("compliment") || + questionText.contains("doit nommer") && questionText.contains("qualitĂ©")) { + return Category.INTERACTIF; + } + + // 9. VARIANTE - Questions avec + if (question.getVariante() != null && !question.getVariante().isEmpty()) { + return Category.VARIANTE; + } + + // 10. CLASSIQUE - Par dĂ©faut + return Category.CLASSIQUE; + } + + /** + * Retourne la couleur associĂ©e Ă  une catĂ©gorie + */ + public static int getColorForCategory(Category category) { + return category.getColor(); + } + + /** + * Retourne le nom de la catĂ©gorie + */ + public static String getNameForCategory(Category category) { + return category.getName(); + } +} diff --git a/app/src/main/java/com/example/boidelov3/game/GameEngine.java b/app/src/main/java/com/example/boidelov3/game/GameEngine.java index 195f740..8ca0bbe 100644 --- a/app/src/main/java/com/example/boidelov3/game/GameEngine.java +++ b/app/src/main/java/com/example/boidelov3/game/GameEngine.java @@ -57,11 +57,12 @@ public class GameEngine { isManche = true; } - // Remplacer les joueurs - questionText = replacePlayerPlaceholders(questionText, players); + // Remplacer les joueurs et rĂ©cupĂ©rer le nombre pour l'accord + PlayerReplaceResult playerResult = replacePlayerPlaceholders(questionText, players); + questionText = playerResult.questionText; - // Ajouter les gorgĂ©es - questionText = addGorgeesText(question, questionText, addedGorgees); + // Ajouter les gorgĂ©es (en passant le nombre de joueurs pour l'accord) + questionText = addGorgeesText(question, questionText, addedGorgees, playerResult.playerCount); // Mettre Ă  jour la question avec le texte traitĂ© Question resultQuestion = isManche ? activeManches.get(activeManches.size() - 1) : copyQuestion(question); @@ -71,38 +72,55 @@ public class GameEngine { } /** - * Remplace les placeholders de joueurs dans la question. + * RĂ©sultat du remplacement des joueurs avec le nombre de joueurs */ - private String replacePlayerPlaceholders(String questionText, List players) { + private static class PlayerReplaceResult { + String questionText; + int playerCount; + + PlayerReplaceResult(String questionText, int playerCount) { + this.questionText = questionText; + this.playerCount = playerCount; + } + } + + /** + * Remplace les placeholders de joueurs dans la question et retourne le nombre de joueurs. + */ + private PlayerReplaceResult replacePlayerPlaceholders(String questionText, List players) { boolean hasJ1 = questionText.contains(""); boolean hasJ2 = questionText.contains(""); boolean hasJ3 = questionText.contains(""); if (!hasJ1 && !hasJ2 && !hasJ3) { - return questionText; + return new PlayerReplaceResult(questionText, 0); } List selectedPlayers = selectRandomPlayers(players, 3); String result = questionText; + int playerCount = 0; if (hasJ1 && hasJ2 && hasJ3 && selectedPlayers.size() >= 3) { + playerCount = 3; result = result.replace("", selectedPlayers.get(0)); result = result.replace("", selectedPlayers.get(1)); result = result.replace("", selectedPlayers.get(2)); } else if (hasJ1 && hasJ2 && selectedPlayers.size() >= 2) { + playerCount = 2; result = result.replace("", selectedPlayers.get(0)); result = result.replace("", selectedPlayers.get(1)); } else if (hasJ1 && selectedPlayers.size() >= 1) { + playerCount = 1; result = result.replace("", selectedPlayers.get(0)); } - return result; + return new PlayerReplaceResult(result, playerCount); } /** * Ajoute le texte des gorgĂ©es Ă  la question. */ - private String addGorgeesText(Question question, String questionText, int addedGorgees) { + private String addGorgeesText(Question question, String questionText, int addedGorgees, int playerCount) { if (!question.isDistribution() && !question.isRecois()) { return questionText; } @@ -112,13 +130,17 @@ public class GameEngine { int totalGorgees = question.getGorger() + addedGorgees; + // Accord du verbe selon le nombre de joueurs + String boisVerb = (playerCount > 1) ? "boivent" : "boit"; + String distribueVerb = (playerCount > 1) ? "distribuent" : "distribue"; + // DĂ©terminer si boire ou distribuer if (question.isRecois() && question.isDistribution()) { - sb.append(random.nextBoolean() ? "bois" : "distribue"); + sb.append(random.nextBoolean() ? "" + boisVerb + "" : "" + distribueVerb + ""); } else if (question.isRecois()) { - sb.append("bois"); + sb.append("" + boisVerb + ""); } else { - sb.append("distribue"); + sb.append("" + distribueVerb + ""); } sb.append(" ").append(totalGorgees).append(" gorgĂ©e"); diff --git a/app/src/main/java/com/example/boidelov3/utils/ErrorHandler.java b/app/src/main/java/com/example/boidelov3/utils/ErrorHandler.java new file mode 100644 index 0000000..5538b05 --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/utils/ErrorHandler.java @@ -0,0 +1,99 @@ +package com.example.boidelov3.utils; + +import android.content.Context; +import android.util.Log; +import android.widget.Toast; + +/** + * Utilitaire centralisĂ© pour la gestion des erreurs + * Fournit des mĂ©thodes cohĂ©rentes pour logger et afficher les erreurs + */ +public class ErrorHandler { + + private static final String DEFAULT_TAG = "BoideloError"; + + /** + * Logger une erreur avec un TAG personnalisĂ© + * @param tag Le tag pour les logs + * @param message Message descriptif de l'erreur + * @param throwable L'exception capturĂ©e + */ + public static void logError(String tag, String message, Throwable throwable) { + Log.e(tag, message, throwable); + } + + /** + * Logger une erreur avec le TAG par dĂ©faut + * @param message Message descriptif de l'erreur + * @param throwable L'exception capturĂ©e + */ + public static void logError(String message, Throwable throwable) { + Log.e(DEFAULT_TAG, message, throwable); + } + + /** + * Logger une erreur et afficher un Toast Ă  l'utilisateur + * @param context Le contexte de l'application + * @param tag Le tag pour les logs + * @param logMessage Message technique pour les logs + * @param userMessage Message convivial pour l'utilisateur + * @param throwable L'exception capturĂ©e + */ + public static void showError(Context context, String tag, String logMessage, + String userMessage, Throwable throwable) { + logError(tag, logMessage, throwable); + Toast.makeText(context, userMessage, Toast.LENGTH_LONG).show(); + } + + /** + * Logger une erreur et afficher un Toast Ă  l'utilisateur (TAG par dĂ©faut) + * @param context Le contexte de l'application + * @param logMessage Message technique pour les logs + * @param userMessage Message convivial pour l'utilisateur + * @param throwable L'exception capturĂ©e + */ + public static void showError(Context context, String logMessage, + String userMessage, Throwable throwable) { + showError(context, DEFAULT_TAG, logMessage, userMessage, throwable); + } + + /** + * Logger une erreur sans afficher de Toast + * @param tag Le tag pour les logs + * @param message Message descriptif de l'erreur + * @param throwable L'exception capturĂ©e + */ + public static void logErrorOnly(String tag, String message, Throwable throwable) { + logError(tag, message, throwable); + } + + /** + * CrĂ©er un message d'erreur dĂ©taillĂ© pour les logs avec contexte + * @param operation L'opĂ©ration qui a Ă©chouĂ© + * @param details DĂ©tails supplĂ©mentaires sur l'erreur + * @return Message formatĂ© pour les logs + */ + public static String buildErrorMessage(String operation, String details) { + if (details != null && !details.isEmpty()) { + return operation + " - " + details; + } + return operation; + } + + /** + * Échapper une chaĂźne de caractĂšres pour l'utiliser en toute sĂ©curitĂ© dans HTML + * @param input La chaĂźne Ă  Ă©chapper + * @return La chaĂźne Ă©chappĂ©e + */ + public static String escapeHtml(String input) { + if (input == null) { + return ""; + } + return input + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\"", """) + .replace("'", "'"); + } +} diff --git a/app/src/main/java/com/example/boidelov3/utils/SecureConfig.java b/app/src/main/java/com/example/boidelov3/utils/SecureConfig.java new file mode 100644 index 0000000..ebe4682 --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/utils/SecureConfig.java @@ -0,0 +1,220 @@ +package com.example.boidelov3.utils; + +import android.content.Context; +import android.content.SharedPreferences; +import android.util.Log; + +import java.security.MessageDigest; +import java.security.SecureRandom; +import java.util.Base64; + +/** + * Classe utilitaire pour la gestion sĂ©curisĂ©e des clĂ©s API et configuration sensible. + * + * SECURITY PRINCIPLES: + * - Les clĂ©s API ne sont JAMAIS stockĂ©es en dur dans le code + * - Utilise SharedPreferences chiffrĂ©s (doit ĂȘtre combinĂ© avec AndroidX Security pour un chiffrage rĂ©el) + * - Valide les clĂ©s API avant utilisation + * - Fournit des mĂ©thodes pour nettoyer les donnĂ©es sensibles + * + * RECOMMANDATION: Pour une production sĂ©curisĂ©e, utilisez AndroidX Security Library: + * implementation "androidx.security:security-crypto:1.1.0-alpha06" + * Et remplace les SharedPreferences par EncryptedSharedPreferences + */ +public class SecureConfig { + + private static final String TAG = "SecureConfig"; + private static final String PREFS_NAME = "SecureConfig"; + private static final String KEY_API_KEY = "api_key_openai"; + private static final String KEY_API_KEY_OPENROUTER = "api_key_openrouter"; + private static final String KEY_API_KEY_ZAI = "api_key_zai"; + + private final SharedPreferences sharedPreferences; + private final SecureRandom secureRandom; + + /** + * Constructeur + * @param context Contexte de l'application + */ + public SecureConfig(Context context) { + // Pour plus de sĂ©curitĂ©, utiliser EncryptedSharedPreferences d'AndroidX Security + // Pour l'instant, on utilise des SharedPreferences standards avec des avertissements + this.sharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + this.secureRandom = new SecureRandom(); + } + + /** + * Sauvegarde une clĂ© API de maniĂšre sĂ©curisĂ©e + * NOTE: Pour une vraie sĂ©curitĂ©, utilisez EncryptedSharedPreferences d'AndroidX Security + * + * @param provider Le fournisseur (openai, openrouter, zai) + * @param apiKey La clĂ© API Ă  stocker + * @return true si sauvegardĂ© avec succĂšs + */ + public boolean saveApiKey(String provider, String apiKey) { + if (apiKey == null || apiKey.trim().isEmpty()) { + Log.w(TAG, "Tentative de sauvegarder une clĂ© API vide"); + return false; + } + + // Valider la clĂ© avant sauvegarde + if (!validateApiKeyFormat(provider, apiKey)) { + Log.w(TAG, "Format de clĂ© API invalide pour " + provider); + return false; + } + + SharedPreferences.Editor editor = sharedPreferences.edit(); + String key = getPrefKeyForProvider(provider); + editor.putString(key, apiKey); + boolean success = editor.commit(); + + if (success) { + Log.i(TAG, "ClĂ© API sauvegardĂ©e pour " + provider); + } else { + Log.e(TAG, "Erreur lors de la sauvegarde de la clĂ© API"); + } + + return success; + } + + /** + * RĂ©cupĂšre une clĂ© API stockĂ©e + * + * @param provider Le fournisseur (openai, openrouter, zai) + * @return La clĂ© API ou null si non trouvĂ©e + */ + public String getApiKey(String provider) { + String key = getPrefKeyForProvider(provider); + return sharedPreferences.getString(key, null); + } + + /** + * Supprime une clĂ© API stockĂ©e + * + * @param provider Le fournisseur + * @return true si supprimĂ©e avec succĂšs + */ + public boolean removeApiKey(String provider) { + SharedPreferences.Editor editor = sharedPreferences.edit(); + String key = getPrefKeyForProvider(provider); + editor.remove(key); + boolean success = editor.commit(); + + if (success) { + Log.i(TAG, "ClĂ© API supprimĂ©e pour " + provider); + } + + return success; + } + + /** + * Supprime toutes les clĂ©s API stockĂ©es + * Utiliser cette mĂ©thode lors de la dĂ©connexion ou pour nettoyer les donnĂ©es + */ + public void clearAllApiKeys() { + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.remove(KEY_API_KEY); + editor.remove(KEY_API_KEY_OPENROUTER); + editor.remove(KEY_API_KEY_ZAI); + editor.apply(); + Log.i(TAG, "Toutes les clĂ©s API ont Ă©tĂ© supprimĂ©es"); + } + + /** + * VĂ©rifie si une clĂ© API existe pour un provider + * + * @param provider Le fournisseur + * @return true si une clĂ© existe + */ + public boolean hasApiKey(String provider) { + String key = getPrefKeyForProvider(provider); + return sharedPreferences.contains(key) && sharedPreferences.getString(key, null) != null; + } + + /** + * Valide le format d'une clĂ© API selon le provider + * + * @param provider Le fournisseur (openai, openrouter, zai) + * @param apiKey La clĂ© API Ă  valider + * @return true si le format est valide + */ + public boolean validateApiKeyFormat(String provider, String apiKey) { + if (apiKey == null || apiKey.trim().isEmpty()) { + return false; + } + + String trimmedKey = apiKey.trim(); + + switch (provider.toLowerCase()) { + case "openai": + // Les clĂ©s OpenAI commencent par "sk-" + return trimmedKey.startsWith("sk-") && trimmedKey.length() >= 20; + + case "openrouter": + // Les clĂ©s OpenRouter commencent par "sk-or-" + return trimmedKey.startsWith("sk-or-") && trimmedKey.length() >= 20; + + case "zai": + // Les clĂ©s Z.ai/Anthropic commencent par "sk-ant-" + return trimmedKey.startsWith("sk-ant-") && trimmedKey.length() >= 20; + + default: + Log.w(TAG, "Provider inconnu: " + provider); + return false; + } + } + + /** + * GĂ©nĂšre un hash sĂ©curisĂ© d'une clĂ© pour vĂ©rification (stockage local) + * Ne stocke JAMAIS la clĂ© en clair dans les logs + * + * @param apiKey La clĂ© API + * @return Le hash de la clĂ© + */ + public String hashApiKey(String apiKey) { + try { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] hash = digest.digest(apiKey.getBytes("UTF-8")); + return Base64.getEncoder().encodeToString(hash); + } catch (Exception e) { + Log.e(TAG, "Erreur lors du hash de la clĂ©", e); + return null; + } + } + + /** + * GĂ©nĂšre une chaĂźne alĂ©atoire sĂ©curisĂ©e pour utilisation comme nonce ou token + * + * @param length Longueur de la chaĂźne + * @return ChaĂźne alĂ©atoire sĂ©curisĂ©e + */ + public String generateSecureToken(int length) { + byte[] token = new byte[length]; + secureRandom.nextBytes(token); + return Base64.getEncoder().encodeToString(token); + } + + /** + * Retourne la clĂ© SharedPreferences appropriĂ©e selon le provider + */ + private String getPrefKeyForProvider(String provider) { + switch (provider.toLowerCase()) { + case "openrouter": + return KEY_API_KEY_OPENROUTER; + case "zai": + return KEY_API_KEY_ZAI; + case "openai": + default: + return KEY_API_KEY; + } + } + + /** + * VĂ©rifie si des clĂ©s API sont stockĂ©es (pour vĂ©rifier la configuration) + * + * @return true si au moins une clĂ© API est configurĂ©e + */ + public boolean isAnyApiKeyConfigured() { + return hasApiKey("openai") || hasApiKey("openrouter") || hasApiKey("zai"); + } +} diff --git a/app/src/main/java/com/example/boidelov3/utils/SoundGenerator.java b/app/src/main/java/com/example/boidelov3/utils/SoundGenerator.java new file mode 100644 index 0000000..d2c224a --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/utils/SoundGenerator.java @@ -0,0 +1,134 @@ +package com.example.boidelov3.utils; + +import android.media.AudioAttributes; +import android.media.SoundPool; +import android.os.Handler; +import android.os.Looper; +import android.util.Log; + +/** + * GĂ©nĂ©rateur de sons utilisant ToneGenerator + * Permet de crĂ©er des sons sans fichiers audio externes + */ +public class SoundGenerator { + private android.media.ToneGenerator toneGenerator; + private Handler handler; + private boolean isMuted = false; + + public SoundGenerator() { + // Volume: 0-100 + toneGenerator = new android.media.ToneGenerator( + android.media.AudioManager.STREAM_MUSIC, 80 + ); + handler = new Handler(Looper.getMainLooper()); + } + + /** + * Son de clic - court et lĂ©ger + */ + public void playClick() { + if (isMuted) return; + new Thread(() -> { + try { + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_BEEP, + 50 + ); + } catch (Exception e) { + Log.e("SoundGenerator", "Erreur lors de la lecture du son de clic", e); + } + }).start(); + } + + /** + * Son de succĂšs - mĂ©lange ascendant + */ + public void playSuccess() { + if (isMuted) return; + new Thread(() -> { + try { + Thread.sleep(0); + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_NACK, + 100 + ); + Thread.sleep(120); + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_ACK, + 150 + ); + } catch (Exception e) { + Log.e("SoundGenerator", "Erreur lors de la lecture du son de succĂšs", e); + } + }).start(); + } + + /** + * Son de manche - dramatique pour annoncer un dĂ©fi + */ + public void playManche() { + if (isMuted) return; + new Thread(() -> { + try { + // Premier ton grave + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_BEEP2, + 200 + ); + Thread.sleep(250); + // DeuxiĂšme ton plus aigu + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_BEEP, + 300 + ); + } catch (Exception e) { + Log.e("SoundGenerator", "Erreur lors de la lecture du son de manche", e); + } + }).start(); + } + + /** + * Son de fin - cĂ©lĂ©bration + */ + public void playFin() { + if (isMuted) return; + new Thread(() -> { + try { + // SĂ©quence festive + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_ACK, + 150 + ); + Thread.sleep(180); + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_NACK, + 150 + ); + Thread.sleep(180); + toneGenerator.startTone( + android.media.ToneGenerator.TONE_PROP_ACK, + 250 + ); + } catch (Exception e) { + Log.e("SoundGenerator", "Erreur lors de la lecture du son de fin", e); + } + }).start(); + } + + /** + * Activer/DĂ©sactiver le son + */ + public void setMuted(boolean muted) { + this.isMuted = muted; + } + + /** + * LibĂ©rer les ressources + */ + public void release() { + if (toneGenerator != null) { + toneGenerator.release(); + toneGenerator = null; + } + } +} diff --git a/app/src/main/java/com/example/boidelov3/utils/SoundManager.java b/app/src/main/java/com/example/boidelov3/utils/SoundManager.java new file mode 100644 index 0000000..9431fea --- /dev/null +++ b/app/src/main/java/com/example/boidelov3/utils/SoundManager.java @@ -0,0 +1,87 @@ +package com.example.boidelov3.utils; + +import android.content.Context; + +/** + * Gestionnaire de sons pour l'application + * Utilise SoundGenerator pour crĂ©er des sons sans fichiers externes + */ +public class SoundManager { + private static SoundManager instance; + private SoundGenerator soundGenerator; + private Context context; + + /** + * Obtient l'instance unique du SoundManager (Singleton) + */ + public static synchronized SoundManager getInstance(Context context) { + if (instance == null) { + instance = new SoundManager(context.getApplicationContext()); + } + return instance; + } + + /** + * Constructeur privĂ© + */ + private SoundManager(Context context) { + this.context = context; + this.soundGenerator = new SoundGenerator(); + } + + /** + * Joue le son de clic + */ + public void playClick() { + if (soundGenerator != null) { + soundGenerator.playClick(); + } + } + + /** + * Joue le son de succĂšs + */ + public void playSuccess() { + if (soundGenerator != null) { + soundGenerator.playSuccess(); + } + } + + /** + * Joue le son de manche (nouveau dĂ©fi) + */ + public void playManche() { + if (soundGenerator != null) { + soundGenerator.playManche(); + } + } + + /** + * Joue le son de fin de partie + */ + public void playFin() { + if (soundGenerator != null) { + soundGenerator.playFin(); + } + } + + /** + * Active ou dĂ©sactive le son + */ + public void setMuted(boolean muted) { + if (soundGenerator != null) { + soundGenerator.setMuted(muted); + } + } + + /** + * LibĂšre les ressources + */ + public void release() { + if (soundGenerator != null) { + soundGenerator.release(); + soundGenerator = null; + } + instance = null; + } +} diff --git a/app/src/main/res/layout/activity_end_game.xml b/app/src/main/res/layout/activity_end_game.xml index d31616a..ad54f9b 100644 --- a/app/src/main/res/layout/activity_end_game.xml +++ b/app/src/main/res/layout/activity_end_game.xml @@ -220,6 +220,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_jeux.xml b/app/src/main/res/layout/activity_jeux.xml index df6ed73..6234bdf 100644 --- a/app/src/main/res/layout/activity_jeux.xml +++ b/app/src/main/res/layout/activity_jeux.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/game_background" + android:id="@+id/rootLayout" android:fitsSystemWindows="true" tools:context=".Jeux"> diff --git a/app/src/main/res/layout/activity_jeux_parametres.xml b/app/src/main/res/layout/activity_jeux_parametres.xml index 006a40f..920651a 100644 --- a/app/src/main/res/layout/activity_jeux_parametres.xml +++ b/app/src/main/res/layout/activity_jeux_parametres.xml @@ -232,7 +232,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" - android:visibility="gone" app:cardBackgroundColor="@color/card_background" app:cardCornerRadius="16dp" app:cardElevation="4dp" @@ -276,14 +275,35 @@ + + + + + + + Si=GpU%65<$?-R*dFWDWA`@{GY#_BcMq^>IEs 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 AcK`qY literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..789396e4a846390556984770e9ae3b0848ce025a GIT binary patch literal 6704 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 G{j6Bn4gO64 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..3cfc48695302c76094382d78599e9fc0cbfe718f GIT binary patch literal 3122 zcmV-249)XWNk&F03;+OEMM6+kP&iB;3;+NxFTe{BO_*uhHl}#{wut`6SFPz{YT;my zt(pbf$hJ})oKPeBuZfuGyM_SLm!ZR@g;mu=T&U)x7>w2$^$y%!~H+YZUj^Zr%!S8MFp zwr$&Xva;=D>+Ec6W!tusv5j+1q3fe$YunnedEW0AILyqqh^Hgy7{IC;X>~hB!+=+sDU; z_WZbWq#o8B2Pui!#IPzeiWi;x7nK7cL12y=1Af6nG(Z>(k_1vfAieWHS(cv(fDoX5 zqoqY2`N5HVdq0*ZM;h7$bjj0Kt@WAO6+0Q2DVUfch|~_a_n}E2t^gXz2r0n<%qcMg zF+mJ85S^jb2p(FiESp-z*wDRsm#W zi$3t3n)Mh6g+kgqP3%3edjdlr$vE?xRsX8l&g_V)l{&42%+2r0{L-GZD$aDUCsV=R z9Ow3>AZdlNmX!Iy3fqM3=kUPJFxlB0)YRA3n|@zw{#XUhSmgHCXjF}S=h~t6-wZ|H z(mq5s9E%gcDv<8KVZx_xNqzY`l`eP%yn2Wuh%|T7E zvBc8nTC>N_u)}?_tnMZiVZT#|3(ZxYll2=!od%`WBO0`scgYF9Q*S! zWq@Q^c0DDmu!UJ>?J3q66!oVL8Lv%Vd#RO!DHEf(j)B2+OS<#lAP# z2R@)APJv=hvXibu7-H$@2hyY*hGii0fr-R>9sYoo0455aQ0IE}Aec4C5u8 zk|tNAK|DeIoVZBAaBK);HYxVG-aO&kipmL7AfuQis04yW5GJ39IT(gBV8tD)<#$dK zdwZ$gAVN$kA@5*%)HneAIEQ!`pI&6ku-jGm_W5=w1XMxm(?6e!1YjVaMcY zS6VjM<7Ll^5Eiah3sg;&%rXN)Mhcis2*+#|cD)AYyMkXNkyZh~QDq{478vrAZ7V&o z%;}$M+4`Zu-lJlbN&lAr&=#hCw%2PPyep?8eAfv>7#^l$&4;!*?_FLTRD?eW5L5~o zD#}8p!0>;8ky<8=wh>oq*y3L;`~IwX`@hw#J}b@mW`}VP?qyFkykMtH`HVt*7=V^3 zP}?%t?%LRP3 za;4)cB|u@mORFCCu~WUc@I$z@T>|)E5(A4W9CoMxw4}+_8rYbR4CH4^>=$}B$HCu+ zRIdm#fdE>C#IyhmJEWG?AIkdVd2wnTkqwFoMk!lLGtyw5YdCKXHwZ1PNXaQHpJ=O{ zCH5j#I2wrt%$&e$-W4yG@qeLXB^>s1m^uJ(!wywYmPV`6_($n3Xx^AgG)H9lss2a z+-4L-xH8*JSm3|PNw#Fb8fUcjc@D8yMign}zfusuGkCzyi^tz?um23fP|8;J@m(lU zvZ>B{qno|e!*M7!r^U<#AZ6KD>@Wbk-``pL(t&ghjd{h^$gp%pWMhtCfVaH7@RUbW zscQQja;3ehRX(g;P~b4q!61MH6(qq>0i~}dEWrg$>q?3+2nI+~z!V|OXbW6b$2PB# z5Hf)!1StVwFkE9ke{kf4`P zK_!d;C5cKTYjAxyHT?9aGsQlV&`B`~6r3&WHyxge%W*8#hs;C;o0j3keP}xKnVAu)*OdIMn zFTk>%O^74X06E#eB8B;cuGvebPmHSkA)V3KaxEMLT5LE|QjL zi;DP4As_89t6`5RT{{i7?xMnm74K9iEvTTCoLgAqna&%3vCs0Q&%qhr{5WxJb%!oP zfX`|P((FPvz=Ex*zqK*~gxS{f63bS=H8}r;-F7P!0$-_pxP z{+_(~QJZn|+fHG0AQQJRXj-Ya$98uu)gI1>do13P`dXoUAPE*0DnU#Ifk*^e_}?jrG|i=wSwtdYsA2uCHz zT5+ZDS9`{PYiMh=uD8cV>-8Qyx;14)-yZma6T!QIU^#c#%6~YJ_D< zvRN}0ws2!FZ;7#)NtZV%871IKdlXxq6neUYP(Wg1d^ftT;F*-Wu7SCUpfKXd#^hiy{LA zFi3mRxw z%yJzqkv3(qhnHDbtABZC2TbRK98CDe)hAy$C@ds_eX@nLxU4&tC6C0Sd+d;(NpE># zw$O3C74|#g4mWS@bpe*{SQyAst%|$93DdCVrpP6D-q(#Iemeph{n|E(qdoXby1koeaM@)yf(YYzr(SF z)*et8Nz>% literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_background.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_background.webp new file mode 100644 index 0000000000000000000000000000000000000000..a7be54392e460f0ce5144fb0259e15b5ac1e5c09 GIT binary patch literal 40 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 IpyRoR^)R(Dy8r+H literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b54547ff730faf83abeccd266b839cc2ca5323c0 GIT binary patch literal 3846 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 IyOfRs0NC|fga7~l literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..37f27ce551ff3f8e333a5a1c98b1aecce3d8f8de GIT binary patch literal 7900 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
wrBVWtBo95=)KvVm# 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 WNU;dqd+=7MP@w`8DN>|}|Ahzd{Aoh~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..a74d9e552e2f881d2d6a3e2ae885f3297a3795da GIT binary patch literal 13794 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 Yja2~0IL0yV{co_r2CMfz!-uC700@H;m;e9( literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.webp new file mode 100644 index 0000000000000000000000000000000000000000..7ddedead3847849048371cf29dccc3e953a916fe GIT binary patch literal 48 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2e1b8796de845c36aa7a5e8e010c34127d1933e GIT binary patch literal 17646 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..64eaaab9b12b0f954fcee1134012d9fdb50ce276 GIT binary patch literal 21240 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 DI)@N- literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..09bb52d20a5f05aae4b869f42cd4bce68c506a8e GIT binary patch literal 64744 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%0DI!ye?!%{a>e9QaWBs}_q%O; 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..e5c2ad26aec119384ba98ba0854c6656d20e0f8a GIT binary patch literal 26386 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

4I}b>zthRDs5X> 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c613ca2..a5048e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -17,8 +17,8 @@ "Suivant !" ParamĂštres du jeu Commencer Ă  vous mettre une mine ! - Activer les questions par ChatGPT - ClĂ© API OpenAI - OpenAI [En cours de dĂ©veloppement] - Test de ConnectivitĂ© Openai + Activer les questions par IA + ClĂ© API + Intelligence Artificielle + Tester la connexion \ No newline at end of file diff --git a/app/src/test/java/com/example/boidelov3/QuestionTest.java b/app/src/test/java/com/example/boidelov3/QuestionTest.java new file mode 100644 index 0000000..d5f884e --- /dev/null +++ b/app/src/test/java/com/example/boidelov3/QuestionTest.java @@ -0,0 +1,218 @@ +package com.example.boidelov3; + +import org.junit.Test; +import static org.junit.Assert.*; + +import java.util.Arrays; +import java.util.List; + +/** + * Tests unitaires pour la classe Question. + * Couvre les getters/setters et les cas limites. + */ +public class QuestionTest { + + @Test + public void testDefaultConstructor_createsEmptyQuestion() { + Question question = new Question(); + + assertEquals("ID should be 0 by default", 0, question.getId()); + assertNull("Question text should be null by default", question.getQuestion()); + assertEquals("Gorger should be 0 by default", 0, question.getGorger()); + assertFalse("Distribution should be false by default", question.isDistribution()); + assertFalse("Recois should be false by default", question.isRecois()); + assertFalse("Manches should be false by default", question.isManches()); + assertFalse("Caliente should be false by default", question.isCaliente()); + assertNull("Arret should be null by default", question.getArret()); + assertNull("Variante should be null by default", question.getVariante()); + } + + @Test + public void testSetId_getId_returnsCorrectValue() { + Question question = new Question(); + question.setId(42); + + assertEquals("ID should be 42", 42, question.getId()); + } + + @Test + public void testSetQuestion_getQuestion_returnsCorrectValue() { + Question question = new Question(); + String testQuestion = "Test question text"; + question.setQuestion(testQuestion); + + assertEquals("Question text should match", testQuestion, question.getQuestion()); + } + + @Test + public void testSetGorger_getGorger_returnsCorrectValue() { + Question question = new Question(); + question.setGorger(5); + + assertEquals("Gorger should be 5", 5, question.getGorger()); + } + + @Test + public void testSetDistribution_isDistribution_returnsCorrectValue() { + Question question = new Question(); + question.setDistribution(true); + + assertTrue("Distribution should be true", question.isDistribution()); + } + + @Test + public void testSetRecois_isRecois_returnsCorrectValue() { + Question question = new Question(); + question.setRecois(true); + + assertTrue("Recois should be true", question.isRecois()); + } + + @Test + public void testSetManches_isManches_returnsCorrectValue() { + Question question = new Question(); + question.setManches(true); + + assertTrue("Manches should be true", question.isManches()); + } + + @Test + public void testSetCaliente_isCaliente_returnsCorrectValue() { + Question question = new Question(); + question.setCaliente(true); + + assertTrue("Caliente should be true", question.isCaliente()); + } + + @Test + public void testSetArret_getArret_returnsCorrectValue() { + Question question = new Question(); + String arretText = "ArrĂȘtez maintenant !"; + question.setArret(arretText); + + assertEquals("Arret text should match", arretText, question.getArret()); + } + + @Test + public void testSetManchesRestantes_getManchesRestantes_returnsCorrectValue() { + Question question = new Question(); + question.setManchesRestantes(10); + + assertEquals("ManchesRestantes should be 10", 10, question.getManchesRestantes()); + } + + @Test + public void testSetArretMessage_getArretMessage_returnsCorrectValue() { + Question question = new Question(); + String message = "Fin du dĂ©fi !"; + question.setArretMessage(message); + + assertEquals("ArretMessage should match", message, question.getArretMessage()); + } + + @Test + public void testSetArretMessageManche_getArretMessageManche_returnsCorrectValue() { + Question question = new Question(); + String message = "Fin de dĂ©fi\nArrĂȘtez maintenant !"; + question.setArretMessageManche(message); + + assertEquals("ArretMessageManche should match", message, question.getArretMessageManche()); + } + + @Test + public void testSetVariante_getVariante_returnsCorrectValue() { + Question question = new Question(); + List variantes = Arrays.asList("Variante 1", "Variante 2", "Variante 3"); + question.setVariante(variantes); + + assertEquals("Variante list should match", variantes, question.getVariante()); + assertEquals("Variante list size should be 3", 3, question.getVariante().size()); + } + + @Test + public void testSetVariante_withEmptyList_returnsEmptyList() { + Question question = new Question(); + List emptyList = Arrays.asList(); + question.setVariante(emptyList); + + assertNotNull("Variante should not be null", question.getVariante()); + assertTrue("Variante list should be empty", question.getVariante().isEmpty()); + } + + @Test + public void testSetVariante_withNull_acceptsNull() { + Question question = new Question(); + question.setVariante(null); + + assertNull("Variante should be null", question.getVariante()); + } + + @Test + public void testCompleteQuestion_withAllFields() { + Question question = new Question(); + question.setId(100); + question.setQuestion("Question complĂšte"); + question.setGorger(3); + question.setDistribution(true); + question.setRecois(false); + question.setManches(true); + question.setCaliente(false); + question.setArret("Stop !"); + question.setManchesRestantes(5); + question.setArretMessage("Message"); + question.setArretMessageManche("Message manche"); + question.setVariante(Arrays.asList("V1", "V2")); + + assertEquals("ID should be 100", 100, question.getId()); + assertEquals("Question should match", "Question complĂšte", question.getQuestion()); + assertEquals("Gorger should be 3", 3, question.getGorger()); + assertTrue("Distribution should be true", question.isDistribution()); + assertFalse("Recois should be false", question.isRecois()); + assertTrue("Manches should be true", question.isManches()); + assertFalse("Caliente should be false", question.isCaliente()); + assertEquals("Arret should match", "Stop !", question.getArret()); + assertEquals("ManchesRestantes should be 5", 5, question.getManchesRestantes()); + assertEquals("ArretMessage should match", "Message", question.getArretMessage()); + assertEquals("ArretMessageManche should match", "Message manche", question.getArretMessageManche()); + assertEquals("Variante size should be 2", 2, question.getVariante().size()); + } + + @Test + public void testQuestionWithZeroGorger() { + Question question = new Question(); + question.setGorger(0); + + assertEquals("Gorger should be 0", 0, question.getGorger()); + } + + @Test + public void testQuestionWithNegativeManchesRestantes() { + Question question = new Question(); + question.setManchesRestantes(-1); + + assertEquals("ManchesRestantes should be -1", -1, question.getManchesRestantes()); + } + + @Test + public void testQuestionWithLargeId() { + Question question = new Question(); + int largeId = 999999; + question.setId(largeId); + + assertEquals("ID should handle large values", largeId, question.getId()); + } + + @Test + public void testMultipleSetters_chainingWorks() { + Question question = new Question(); + question.setId(1); + question.setQuestion("Test"); + question.setGorger(2); + question.setDistribution(true); + + assertEquals("All setters should work independently", 1, question.getId()); + assertEquals("Question should be preserved", "Test", question.getQuestion()); + assertEquals("Gorger should be preserved", 2, question.getGorger()); + assertTrue("Distribution should be preserved", question.isDistribution()); + } +} diff --git a/app/src/test/java/com/example/boidelov3/data/PlayerStatsTest.java b/app/src/test/java/com/example/boidelov3/data/PlayerStatsTest.java new file mode 100644 index 0000000..23eda4e --- /dev/null +++ b/app/src/test/java/com/example/boidelov3/data/PlayerStatsTest.java @@ -0,0 +1,216 @@ +package com.example.boidelov3.data; + +import android.os.Parcel; + +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * Tests unitaires pour la classe PlayerStats. + * Couvre les statistiques de joueurs, les opĂ©rations arithmĂ©tiques et Parcelable. + */ +public class PlayerStatsTest { + + private PlayerStats playerStats; + private static final String TEST_PLAYER_NAME = "Alice"; + + @Before + public void setUp() { + playerStats = new PlayerStats(TEST_PLAYER_NAME); + } + + @Test + public void testConstructor_initializesWithZeroStats() { + assertEquals("Player name should match", TEST_PLAYER_NAME, playerStats.getPlayerName()); + assertEquals("Initial gorgeesBuves should be 0", 0, playerStats.getGorgeesBuves()); + assertEquals("Initial gorgeesDistribuees should be 0", 0, playerStats.getGorgeesDistribuees()); + assertEquals("Initial total should be 0", 0, playerStats.getTotalGorgees()); + } + + @Test + public void testGetPlayerName_returnsCorrectName() { + assertEquals("Player name should be Alice", TEST_PLAYER_NAME, playerStats.getPlayerName()); + } + + @Test + public void testGetGorgeesBuves_initialValue() { + assertEquals("Initial gorgeesBuves should be 0", 0, playerStats.getGorgeesBuves()); + } + + @Test + public void testAddGorgeesBuves_incrementsCount() { + playerStats.addGorgeesBuves(5); + assertEquals("GorgeesBuves should be 5", 5, playerStats.getGorgeesBuves()); + + playerStats.addGorgeesBuves(3); + assertEquals("GorgeesBuves should be 8", 8, playerStats.getGorgeesBuves()); + } + + @Test + public void testAddGorgeesBuves_withZero_doesNotChange() { + playerStats.addGorgeesBuves(5); + playerStats.addGorgeesBuves(0); + assertEquals("GorgeesBuves should remain 5", 5, playerStats.getGorgeesBuves()); + } + + @Test + public void testAddGorgeesBuves_withNegativeValue_allowsNegative() { + playerStats.addGorgeesBuves(5); + playerStats.addGorgeesBuves(-2); + assertEquals("GorgeesBuves should be 3", 3, playerStats.getGorgeesBuves()); + } + + @Test + public void testGetGorgeesDistribuees_initialValue() { + assertEquals("Initial gorgeesDistribuees should be 0", 0, playerStats.getGorgeesDistribuees()); + } + + @Test + public void testAddGorgeesDistribuees_incrementsCount() { + playerStats.addGorgeesDistribuees(7); + assertEquals("GorgeesDistribuees should be 7", 7, playerStats.getGorgeesDistribuees()); + + playerStats.addGorgeesDistribuees(2); + assertEquals("GorgeesDistribuees should be 9", 9, playerStats.getGorgeesDistribuees()); + } + + @Test + public void testAddGorgeesDistribuees_withZero_doesNotChange() { + playerStats.addGorgeesDistribuees(10); + playerStats.addGorgeesDistribuees(0); + assertEquals("GorgeesDistribuees should remain 10", 10, playerStats.getGorgeesDistribuees()); + } + + @Test + public void testGetTotalGorgees_withOnlyBuves() { + playerStats.addGorgeesBuves(5); + assertEquals("Total should be 5", 5, playerStats.getTotalGorgees()); + } + + @Test + public void testGetTotalGorgees_withOnlyDistribuees() { + playerStats.addGorgeesDistribuees(3); + assertEquals("Total should be 3", 3, playerStats.getTotalGorgees()); + } + + @Test + public void testGetTotalGorgees_withBoth() { + playerStats.addGorgeesBuves(5); + playerStats.addGorgeesDistribuees(3); + assertEquals("Total should be 8", 8, playerStats.getTotalGorgees()); + } + + @Test + public void testGetTotalGorgees_withZeros() { + assertEquals("Total should be 0 when no stats", 0, playerStats.getTotalGorgees()); + } + + @Test + public void testGetTotalGorgees_afterMultipleOperations() { + playerStats.addGorgeesBuves(10); + playerStats.addGorgeesDistribuees(5); + playerStats.addGorgeesBuves(3); + playerStats.addGorgeesDistribuees(2); + + assertEquals("Total should be 20", 20, playerStats.getTotalGorgees()); + assertEquals("GorgeesBuves should be 13", 13, playerStats.getGorgeesBuves()); + assertEquals("GorgeesDistribuees should be 7", 7, playerStats.getGorgeesDistribuees()); + } + + @Test + public void testParcelable_CREATOR_notNull() { + assertNotNull("CREATOR should not be null", PlayerStats.CREATOR); + } + + @Test + public void testParcelable_writeAndRead() { + playerStats.addGorgeesBuves(15); + playerStats.addGorgeesDistribuees(8); + + Parcel parcel = Parcel.obtain(); + playerStats.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + + PlayerStats restored = PlayerStats.CREATOR.createFromParcel(parcel); + + assertEquals("Player name should match", TEST_PLAYER_NAME, restored.getPlayerName()); + assertEquals("GorgeesBuves should match", 15, restored.getGorgeesBuves()); + assertEquals("GorgeesDistribuees should match", 8, restored.getGorgeesDistribuees()); + assertEquals("Total should match", 23, restored.getTotalGorgees()); + } + + @Test + public void testParcelable_newArray() { + PlayerStats[] array = PlayerStats.CREATOR.newArray(5); + assertEquals("Array length should be 5", 5, array.length); + assertNotNull("Array elements should not be null", array); + for (PlayerStats stats : array) { + assertNull("Array elements should be null initially", stats); + } + } + + @Test + public void testDescribeContents() { + assertEquals("describeContents should return 0", 0, playerStats.describeContents()); + } + + @Test + public void testParcelable_withZeroStats() { + Parcel parcel = Parcel.obtain(); + playerStats.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + + PlayerStats restored = PlayerStats.CREATOR.createFromParcel(parcel); + + assertEquals("Player name should match", TEST_PLAYER_NAME, restored.getPlayerName()); + assertEquals("GorgeesBuves should be 0", 0, restored.getGorgeesBuves()); + assertEquals("GorgeesDistribuees should be 0", 0, restored.getGorgeesDistribuees()); + } + + @Test + public void testMultiplePlayers_haveIndependentStats() { + PlayerStats player1 = new PlayerStats("Alice"); + PlayerStats player2 = new PlayerStats("Bob"); + + player1.addGorgeesBuves(5); + player2.addGorgeesBuves(3); + player1.addGorgeesDistribuees(2); + player2.addGorgeesDistribuees(4); + + assertEquals("Alice stats should be independent", 7, player1.getTotalGorgees()); + assertEquals("Bob stats should be independent", 7, player2.getTotalGorgees()); + assertEquals("Alice gorgeesBuves should be 5", 5, player1.getGorgeesBuves()); + assertEquals("Bob gorgeesBuves should be 3", 3, player2.getGorgeesBuves()); + } + + @Test + public void testLargeValues() { + playerStats.addGorgeesBuves(1000); + playerStats.addGorgeesDistribuees(500); + + assertEquals("Should handle large values", 1500, playerStats.getTotalGorgees()); + } + + @Test + public void testConstructor_withDifferentNames() { + PlayerStats alice = new PlayerStats("Alice"); + PlayerStats bob = new PlayerStats("Bob"); + PlayerStats charlie = new PlayerStats("Charlie"); + + assertEquals("Alice", alice.getPlayerName()); + assertEquals("Bob", bob.getPlayerName()); + assertEquals("Charlie", charlie.getPlayerName()); + } + + @Test + public void testStatsDoNotInterfere() { + playerStats.addGorgeesBuves(10); + assertEquals(10, playerStats.getGorgeesBuves()); + assertEquals(0, playerStats.getGorgeesDistribuees()); + + playerStats.addGorgeesDistribuees(5); + assertEquals(10, playerStats.getGorgeesBuves()); // Should not change + assertEquals(5, playerStats.getGorgeesDistribuees()); + } +} diff --git a/app/src/test/java/com/example/boidelov3/data/QuestionCategoryTest.java b/app/src/test/java/com/example/boidelov3/data/QuestionCategoryTest.java new file mode 100644 index 0000000..fd25939 --- /dev/null +++ b/app/src/test/java/com/example/boidelov3/data/QuestionCategoryTest.java @@ -0,0 +1,285 @@ +package com.example.boidelov3.data; + +import com.example.boidelov3.Question; + +import org.junit.Test; +import static org.junit.Assert.*; + +import java.util.Arrays; + +/** + * Tests unitaires pour la classe QuestionCategory. + * Couvre la dĂ©tection automatique de catĂ©gorie et les Ă©numĂ©rations. + */ +public class QuestionCategoryTest { + + /** + * CrĂ©e une question avec le texte spĂ©cifiĂ© + */ + private Question createQuestion(String text) { + Question q = new Question(); + q.setQuestion(text); + return q; + } + + @Test + public void testDetectCategory_withNull_returnsClassique() { + QuestionCategory.Category category = QuestionCategory.detectCategory(null); + assertEquals("Null question should return CLASSIQUE", QuestionCategory.Category.CLASSIQUE, category); + } + + @Test + public void testDetectCategory_calienteFlag_returnsCaliente() { + Question q = createQuestion("Question simple"); + q.setCaliente(true); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Caliente flag should return CALIENTE", QuestionCategory.Category.CALIENTE, category); + } + + @Test + public void testDetectCategory_manches_returnsDefiManches() { + Question q = createQuestion("DĂ©fi Ă  manches "); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Question with should return DEFI_MANCHES", QuestionCategory.Category.DEFI_MANCHES, category); + } + + @Test + public void testDetectCategory_manchesFlag_returnsDefiManches() { + Question q = createQuestion("DĂ©fi sans tag"); + q.setManches(true); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Manches flag should return DEFI_MANCHES", QuestionCategory.Category.DEFI_MANCHES, category); + } + + @Test + public void testDetectCategory_ciblage_ceuxQui() { + Question q = createQuestion("Ceux qui portent du rouge boivent 2 gorgĂ©es"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CIBLAGE pattern", QuestionCategory.Category.CIBLAGE, category); + } + + @Test + public void testDetectCategory_ciblage_lesJoueursQui() { + Question q = createQuestion("Les joueurs qui ont des lunettes distribuent 3 gorgĂ©es"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CIBLAGE pattern", QuestionCategory.Category.CIBLAGE, category); + } + + @Test + public void testDetectCategory_ciblage_toutesCelles() { + Question q = createQuestion("Toutes celles qui ont les cheveux longs boivent"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CIBLAGE pattern", QuestionCategory.Category.CIBLAGE, category); + } + + @Test + public void testDetectCategory_ciblage_tousCeux() { + Question q = createQuestion("Tous ceux qui sont nĂ©s en hiver"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CIBLAGE pattern", QuestionCategory.Category.CIBLAGE, category); + } + + @Test + public void testDetectCategory_classement_lePlus() { + Question q = createQuestion("Le plus ivre boit 3 gorgĂ©es"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CLASSEMENT pattern", QuestionCategory.Category.CLASSEMENT, category); + } + + @Test + public void testDetectCategory_classement_laPlus() { + Question q = createQuestion("La plus drĂŽle distribue"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CLASSEMENT pattern", QuestionCategory.Category.CLASSEMENT, category); + } + + @Test + public void testDetectCategory_classement_elisez() { + Question q = createQuestion("Élisez le meilleur joueur"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CLASSEMENT pattern", QuestionCategory.Category.CLASSEMENT, category); + } + + @Test + public void testDetectCategory_classement_quiALePlus() { + Question q = createQuestion("Qui a le plus bu distribue 5 gorgĂ©es"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect CLASSEMENT pattern", QuestionCategory.Category.CLASSEMENT, category); + } + + @Test + public void testDetectCategory_vote_votezTous() { + Question q = createQuestion("Votez tous en mĂȘme temps pour le perdant"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect VOTE pattern", QuestionCategory.Category.VOTE, category); + } + + @Test + public void testDetectCategory_vote_mainLevee() { + Question q = createQuestion("Vote Ă  main levĂ©e"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect VOTE pattern", QuestionCategory.Category.VOTE, category); + } + + @Test + public void testDetectCategory_jugement_juge() { + Question q = createQuestion(" Ă  toi de juger qui distribue"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect JUGEMENT pattern", QuestionCategory.Category.JUGEMENT, category); + } + + @Test + public void testDetectCategory_jugement_selonToi() { + Question q = createQuestion(", selon toi qui mĂ©rite de boire ?"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect JUGEMENT pattern", QuestionCategory.Category.JUGEMENT, category); + } + + @Test + public void testDetectCategory_duel_j1EtJ2() { + Question q = createQuestion(" et se regardent dans les yeux"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect DUEL pattern", QuestionCategory.Category.DUEL, category); + } + + @Test + public void testDetectCategory_interactif_quiz() { + Question q = createQuestion("Quiz : quel est le plus grand fleuve du monde ?"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect INTERACTIF pattern", QuestionCategory.Category.INTERACTIF, category); + } + + @Test + public void testDetectCategory_interactif_deviner() { + Question q = createQuestion(" doit deviner la chanson"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect INTERACTIF pattern", QuestionCategory.Category.INTERACTIF, category); + } + + @Test + public void testDetectCategory_interactif_mime() { + Question q = createQuestion(" doit mimer un animal"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect INTERACTIF pattern", QuestionCategory.Category.INTERACTIF, category); + } + + @Test + public void testDetectCategory_variante_withVariante() { + Question q = createQuestion("Choisissez une option "); + q.setVariante(Arrays.asList("Option A", "Option B")); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Should detect VARIANTE pattern", QuestionCategory.Category.VARIANTE, category); + } + + @Test + public void testDetectCategory_variante_emptyList() { + Question q = createQuestion("Test question"); + q.setVariante(Arrays.asList()); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Empty variante should return CLASSIQUE", QuestionCategory.Category.CLASSIQUE, category); + } + + @Test + public void testDetectCategory_default_returnsClassique() { + Question q = createQuestion("Question simple sans pattern particulier"); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("Default should return CLASSIQUE", QuestionCategory.Category.CLASSIQUE, category); + } + + @Test + public void testGetColorForCategory_returnsValidColor() { + for (QuestionCategory.Category category : QuestionCategory.Category.values()) { + int color = QuestionCategory.getColorForCategory(category); + assertTrue("Color should be positive for " + category, color > 0); + assertTrue("Color should be <= 0xFFFFFF for " + category, color <= 0xFFFFFF); + } + } + + @Test + public void testGetNameForCategory_returnsNonEmpty() { + for (QuestionCategory.Category category : QuestionCategory.Category.values()) { + String name = QuestionCategory.getNameForCategory(category); + assertNotNull("Name should not be null for " + category, name); + assertFalse("Name should not be empty for " + category, name.isEmpty()); + } + } + + @Test + public void testCategoryEnum_allCategoriesHaveUniqueNames() { + java.util.Set names = new java.util.HashSet<>(); + for (QuestionCategory.Category category : QuestionCategory.Category.values()) { + assertTrue("Duplicate name found: " + category.getName(), + names.add(category.getName())); + } + } + + @Test + public void testCategoryEnum_allCategoriesHaveUniqueColors() { + java.util.Set colors = new java.util.HashSet<>(); + for (QuestionCategory.Category category : QuestionCategory.Category.values()) { + assertTrue("Duplicate color found for " + category.getName(), + colors.add(category.getColor())); + } + } + + @Test + public void testDetectCategory_caseInsensitive() { + Question q1 = createQuestion("CEUX QUI ont un chapeau boivent"); + Question q2 = createQuestion("ceux qui ont un chapeau boivent"); + + QuestionCategory.Category cat1 = QuestionCategory.detectCategory(q1); + QuestionCategory.Category cat2 = QuestionCategory.detectCategory(q2); + + assertEquals("Detection should be case-insensitive", cat1, cat2); + assertEquals("Should detect CIBLAGE", QuestionCategory.Category.CIBLAGE, cat1); + } + + @Test + public void testDetectCategory_priority_calienteOverOthers() { + Question q = createQuestion(" et se font un bras de fer"); + q.setCaliente(true); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("CALIENTE should have priority", QuestionCategory.Category.CALIENTE, category); + } + + @Test + public void testDetectCategory_priority_manchesOverVariante() { + Question q = createQuestion("DĂ©fi avec choix "); + q.setVariante(Arrays.asList("A", "B")); + + QuestionCategory.Category category = QuestionCategory.detectCategory(q); + assertEquals("DEFI_MANCHES should have priority over VARIANTE", + QuestionCategory.Category.DEFI_MANCHES, category); + } + + @Test + public void testCategoryEnum_allFieldsAccessible() { + QuestionCategory.Category ciblage = QuestionCategory.Category.CIBLAGE; + assertEquals("Ciblage", ciblage.getName()); + assertEquals("Questions qui ciblent un groupe spĂ©cifique", ciblage.getDescription()); + assertTrue("Color should be positive", ciblage.getColor() > 0); + } +} diff --git a/app/src/test/java/com/example/boidelov3/game/GameEngineTest.java b/app/src/test/java/com/example/boidelov3/game/GameEngineTest.java index 6d0c397..cf4a84c 100644 --- a/app/src/test/java/com/example/boidelov3/game/GameEngineTest.java +++ b/app/src/test/java/com/example/boidelov3/game/GameEngineTest.java @@ -201,4 +201,186 @@ public class GameEngineTest { } return false; } + + // Tests supplĂ©mentaires pour une meilleure couverture + + @Test + public void testSelectRandomPlayers_withSinglePlayer() { + List singlePlayer = Arrays.asList("Alice"); + List selected = gameEngine.selectRandomPlayers(singlePlayer, 1); + + assertEquals("Should select 1 player", 1, selected.size()); + assertEquals("Should be Alice", "Alice", selected.get(0)); + } + + @Test + public void testProcessQuestion_withBothRecoisAndDistribution() { + Question question = createQuestion("Test"); + question.setRecois(true); + question.setDistribution(true); + question.setGorger(2); + + GameEngine.ProcessedQuestion processed = gameEngine.processQuestion(question, players, 0); + String text = processed.question.getQuestion(); + + // Should contain either "bois" or "distribue" (random choice) + boolean containsBois = text.contains("bois"); + boolean containsDistribue = text.contains("distribue"); + assertTrue("Should contain either 'bois' or 'distribue'", containsBois || containsDistribue); + } + + @Test + public void testProcessQuestion_withNoGorgeesFlags() { + Question question = createQuestion("Question sans gorgĂ©es"); + question.setRecois(false); + question.setDistribution(false); + + GameEngine.ProcessedQuestion processed = gameEngine.processQuestion(question, players, 0); + String text = processed.question.getQuestion(); + + assertFalse("Should not contain 'bois'", text.contains("bois")); + assertFalse("Should not contain 'distribue'", text.contains("distribue")); + assertFalse("Should not contain 'gorgĂ©e'", text.contains("gorgĂ©e")); + } + + @Test + public void testUpdateManches_withNoActiveManches() { + GameEngine.MancheState state = gameEngine.updateManches(); + + assertNull("Active manche should be null", state.activeManche); + assertFalse("Should not have manche", state.hasManche); + assertNull("End message should be null", state.endMessage); + } + + @Test + public void testProcessQuestion_mancheDecrementsCorrectly() { + Question question = createQuestion("DĂ©fi "); + question.setArret("Fin !"); + + gameEngine.processQuestion(question, players, 0); + + // Get initial state + GameEngine.MancheState state1 = gameEngine.updateManches(); + int count1 = state1.activeManche.getManchesRestantes(); + + // Update again + GameEngine.MancheState state2 = gameEngine.updateManches(); + int count2 = state2.activeManche.getManchesRestantes(); + + assertEquals("Manche should decrement by 1", count1 - 1, count2); + } + + @Test + public void testProcessQuestion_mancheFinishes_returnsEndMessage() { + Question question = createQuestion("DĂ©fi "); + question.setArret("Bravo !"); + + gameEngine.processQuestion(question, players, 0); + + // Update until manche ends (1 left -> 0) + GameEngine.MancheState state; + do { + state = gameEngine.updateManches(); + } while (state.hasManche); + + assertNotNull("Should have end message", state.endMessage); + assertTrue("End message should contain stop message", + state.endMessage.contains("Fin de dĂ©fi!") || state.endMessage.contains("Bravo !")); + } + + @Test + public void testGetActiveManchesCount_incrementsWithManches() { + assertEquals("Initial count should be 0", 0, gameEngine.getActiveManchesCount()); + + Question q1 = createQuestion("DĂ©fi 1 "); + q1.setArret("Fin 1"); + gameEngine.processQuestion(q1, players, 0); + + assertEquals("Count should be 1", 1, gameEngine.getActiveManchesCount()); + + Question q2 = createQuestion("DĂ©fi 2 "); + q2.setArret("Fin 2"); + gameEngine.processQuestion(q2, players, 0); + + assertEquals("Count should be 2", 2, gameEngine.getActiveManchesCount()); + } + + @Test + public void testClearManches_afterMultipleManches() { + Question q1 = createQuestion("DĂ©fi 1 "); + q1.setArret("Fin 1"); + gameEngine.processQuestion(q1, players, 0); + + Question q2 = createQuestion("DĂ©fi 2 "); + q2.setArret("Fin 2"); + gameEngine.processQuestion(q2, players, 0); + + assertTrue("Should have active manches", gameEngine.hasActiveManche()); + + gameEngine.clearManches(); + + assertFalse("Should have no active manches", gameEngine.hasActiveManche()); + assertEquals("Count should be 0", 0, gameEngine.getActiveManchesCount()); + } + + @Test + public void testProcessQuestion_preservesOriginalQuestion() { + Question original = createQuestion(" bois 2 gorgĂ©es"); + original.setGorger(2); + original.setRecois(true); + + String originalText = original.getQuestion(); + + gameEngine.processQuestion(original, players, 0); + + assertEquals("Original question should be unchanged", originalText, original.getQuestion()); + } + + @Test + public void testProcessQuestion_withEmptyVarianteList() { + Question question = createQuestion("Question "); + question.setVariante(Arrays.asList()); + + GameEngine.ProcessedQuestion processed = gameEngine.processQuestion(question, players, 0); + String text = processed.question.getQuestion(); + + // Should not replace variante if list is empty + assertTrue("Should still contain tag", text.contains("")); + } + + @Test + public void testSelectRandomPlayers_returnsSameSizeWhenRequestedMore() { + List smallList = Arrays.asList("A", "B"); + List selected = gameEngine.selectRandomPlayers(smallList, 5); + + assertEquals("Should return max available", 2, selected.size()); + } + + @Test + public void testProcessQuestion_mancheWithArretNull() { + Question question = createQuestion("DĂ©fi "); + question.setArret(null); + + GameEngine.ProcessedQuestion processed = gameEngine.processQuestion(question, players, 0); + + assertTrue("Should be a manche", processed.isManche); + assertNotNull("Should have default end message", processed.question.getArretMessageManche()); + } + + @Test + public void testProcessQuestion_withZeroAddedGorgees() { + Question question = createQuestion("Test"); + question.setDistribution(true); + question.setGorger(3); + + GameEngine.ProcessedQuestion processed = gameEngine.processQuestion(question, players, 0); + String text = processed.question.getQuestion(); + + assertTrue("Should contain base gorgĂ©es (3)", text.contains("3")); + } + + @Test + public void testHasActiveManche_initiallyFalse() { + assertFalse("Should not have active manche initially", gameEngine.hasActiveManche()); + } }