gautrais 7 år sedan
förälder
incheckning
0cc9485201

+ 0 - 1
app/app.iml

@@ -84,7 +84,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/applicationId" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />

+ 6 - 2
app/src/main/AndroidManifest.xml

@@ -55,9 +55,13 @@
             android:name=".BombActivity"
             android:label="@string/title_activity_bomb"
             android:theme="@style/AppTheme.NoActionBar" />
-        <activity android:name=".ErrorActivity"
+        <activity
+            android:name=".ErrorActivity"
+            android:theme="@style/AppTheme.NoActionBar.Fullscreen" />
+        <activity
+            android:name=".LoadingActivity"
             android:theme="@style/AppTheme.NoActionBar.Fullscreen" />
-        <activity android:name=".LoadingActivity"
+        <activity android:name=".TutoActivity"
             android:theme="@style/AppTheme.NoActionBar.Fullscreen" />
     </application>
 

BIN
app/src/main/assets/ballon.jpg


BIN
app/src/main/assets/fonts/font.ttf


+ 39 - 345
app/src/main/assets/game_medium

@@ -4,375 +4,70 @@
 	"stages" : [{
 	"name" : "Intro",
 	"challenges" : [],
-	"resources" : ["intro"],
 	"event_end" : { "method" : "armBomb" }
 },
-{
-	"name" : "Bibliotheuqe_intro",
-	"challenges" :
-		[
-			{
-				"type" : "QRCodeTreasure",
-				"name" : "BibQr",
-				"bad_message" : "C'est pas le bon !",
-				"qr_value" : "1",
-				"resource" : "bib",
-				"indices" : [
-					{
-						"type" : "text",
-						"text" : "On ne peut hélas toujours pas rentrer en vélo dans ces structures...",
-						"penality": 1
-					},
-					{
-						"type" : "text",
-						"penality": 1,
-						"text" : "Encore moins dans la bibliothèque !" 
-					}
-				]
-			}
-		],
-	"resources" : ["intro_fin"],
-	"charIndex" : 0
-},
+{"name" : "Intro2", "challenges" : [], "charIndex" : 1},
+{"name" : "Intro3", "challenges" : [], "charIndex" : 2},
+{"name" : "Intro4", "challenges" : [], "charIndex" : 3},
+{"name" : "Intro5", "challenges" : [], "charIndex" : 4},
+{"name" : "Intro5", "challenges" : [], "charIndex" : 5},
+{"name" : "Intro5", "challenges" : [], "charIndex" : 7},
 {
 	"name" : "MPG",
 	"charIndex" : 1,
 	"challenges" :
 		[
-			{
-				"type" : "QRCodeTreasure",
-				"name" : "MPG_Qr",
-				"bad_message" : "C'est pas le bon !",
-				"qr_value" : "1",
-				"resource" : "mpg",
-				"indices" : [
-					{
-						"text" : "Un endroit Merveilleux où les enfants et ados sont Joyeux !",
-						"penality": 1
-					},
-					{
-						"penality": 1,
-						"text" : "[...] [...] Loisirs." 
-					},
-					{
-						"penality": 1,
-						"text" : "Ne pas sonner SVP !" 
-					}
-				]
-			},
 			{
                     "type" : "QCM",
                     "name" : "a1",
-                    "question" : "La première réponse",
-                    "answer" : ["Louis Aragon"],
-                    "choices" : [
-									"Oui !",
-									"Jean-Vincent Placé", 
-									"Zinedine Zidane", 
-									"Patrick Timsit", 
-									"Louis Aragon", 
-									"La réponse D",
-									"Non !",
-									"Kylian M'Bappé",
-									"Des jeux"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a2",
-                    "question" : "La deuxieme réponse",
-                    "answer" : ["Des jeux"],
+                    "question" : "De quelle couleur était le cheval blanc d'Henri IV ?",
+                    "answer" : "Blanc",
                     "choices" : [
-									"Oui !",
-									"Des jeux", 
-									"Rond", 
-									"Des livres", 
-									"Des DVD",
-									"Non !",
-									"Kylian M'Bappé",
-									"Marc Levy"
+									"Blanc",
+									"Rouge", 
+									"Noir", 
+									"Transparent"
 								],
                     "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a3",
-                    "question" : "La troisème réponse",
-                    "answer" : ["Rond", "Carré"],
-                    "choices" : [
-									"Oui !",
-									"Des jeux", 
-									"Rond", 
-									"Carré", 
-									"Losange",
-									"VTT",
-									"Dodécagonal",
-									"Hexagone"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a4",
-                    "question" : "La quatrième réponse",
-                    "answer" : ["D"],
-                    "choices" : [
-									"Oui !",
-									"Des jeux", 
-									"Rond", 
-									"Carré", 
-									"Losange",
-									"VTT",
-									"D",
-									"Hexagone",
-									"W"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a5",
-                    "question" : "La cinquième réponse",
-                    "answer" : ["w", "vv"],
-                    "choices" : [
-									"Oui !",
-									"Des jeux", 
-									"Bob Marley", 
-									"Carré", 
-									"42",
-									"VTT",
-									"D",
-									"Hexagone",
-									"W"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a6",
-                    "question" : "La sixième réponse",
-                    "answer" : "Des DVD",
-                    "choices" : [
-									"Oui !",
-									"Des DVD", 
-									"Bob Marley", 
-									"Carré", 
-									"42",
-									"VTT",
-									"D",
-									"Hexagone",
-									"W"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
-                 },
-                 {
-                    "type" : "QCM",
-                    "name" : "a7",
-                    "question" : "La septième réponse",
-                    "answer" : "Ma Campagne",
-                    "choices" : [
-									"Le Blosne RPZ 35 BZH !!!!",
-									"C'est quoi la question ?", 
-									"Bob Marley", 
-									"Zinedine Zidane", 
-									"42",
-									"Ma Campagne",
-									"D",
-									"Meurs, pourriture communiste !",
-									"W"
-								],
-                    "bad_message" : "T'es nul !",
-					"resource" : "question",
-					 "penality": 1,
-                     "mandatory" : false
+					"resource" : "henri",
+					"indices" : [
+						{ 
+							"text" : "Un indice se cache dans la question...",
+							"penality" : 3.5
+						},
+						{ 
+							"text" : "Ça commence par un B",
+							"penality" : 10
+						}
+					],
+					"penality": 1
                  }
 		]
 },
 {
-	"name" : "Ludothèque",
+	"name" : "Bibliotheuqe_intro",
 	"challenges" :
 		[
 			{
 				"type" : "QRCodeTreasure",
-				"name" : "Jardin ludothèque",
-				"bad_message" : "C'est pas le bon !",
+				"name" : "BibQr",
 				"qr_value" : "1",
-				"resource" : "ludo",
+				"resource" : "tour",
 				"indices" : [
 					{
 						"type" : "text",
-						"text" : "La pelouse est trop verte pour être vrai...",
-						"penality": 1
+						"text" : "On ne peut hélas toujours pas rentrer en vélo dans ces structures...",
+						"penality": 10
 					},
 					{
 						"type" : "text",
-						"text" : "Alors comme ca on est pas du genre à lever les yeux au ciel ?",
-						 "penality": 1
+						"penality": 1,
+						"text" : "Encore moins dans la bibliothèque !" 
 					}
 				]
-			},
-			{
-				"type": "Question",
-				"name" : "QuestionLudo",
-				"bad_message" : "Non !",
-				"question" : "Et maintenant, un petit test de raisonnement : Regardez sur la porte à votre gauche. Vous pouvez essayer de deviner sur quelle place est garé la voiture, mais ca m’étonnerais que vous trouviez !",
-				"good_message" : "Brillant !",
-				"resource" : "ludo",
-				"answer" : "97",
-				"indices" : [
-					{
-						"penality" : 1,
-						"text": "Question de point de vu..."
-					},
-					{
-						"penality" : 1,
-						"text": "Ces places sont bien dans l’ordre !"
-					},
-					{
-						"penality" : 1,
-						"text": "C’est à vous mettre la tête à l’envers hein ?"
-					},
-					{
-						"penality" : 1,
-						"text": "Bon, regardez à l’envers."
-					}
-				],
-				"penality" : 1
-			}
-		],
-	"resources" : ["milieu"],
-	"event_end" : { "method" : "setTimerTo", "args" : [15] },
-	"charIndex" : 2
-},
-{
-	"name" : "JardinDhiver",
-	"challenges" :
-		[
-			{
-				"type" : "Question",
-				"name" : "JardinHiverQuestion",
-				"bad_message" : "Non !",
-				"resource" : "jardin", 
-				"question" : "Rentrez par la porte en face de vous et allez dans le 'jardin d’hiver' de la MJC. Un mot de X lettres est caché dans ce dernier, mais bonne chance pour le découvrir !",
-				"good_message" : "Bravo !",
-				"answer" : "ABBA",
-				"indices" : [
-					{
-						"penality" : 1,
-						"text": "J’ai bien dit X lettres !"
-					},
-					{
-						"penality" : 1,
-						"text": "A force de chercher sans trouver, vous allez finir par voir rouge…"
-					},
-					{
-						"penality" : 1,
-						"text": "Les affiches sont intéressantes ?"
-					},
-					{
-						"penality" : 1,
-						"text": "Des LETTRES en ROUGE sur les AFFICHES"
-					}
-				],
-				"penality" : 1
 			}
 		],
-	"resources" : [],
-	"charIndex" : 3
-},
-{
-	"name" : "Accueil",
-	"challenges" :
-		[
-			{
-				"type" : "Question",
-				"name" : "accueilQuestion",
-				"bad_message" : "Non !",
-				"good_message" : "Bravo !",
-				"resource" : "accueil",
-				"question" : "Comment est votre blanquette ?\nDemandez donc aux personnes les mieux renseignés de la bibliothèque ET de la MJC. Et au passage, la plaquette de la MJC et le facebook de la bibliothèque pourrait être utile !",
-				"answer" : "Trop cuite",
-				"indices" : [
-					{
-						"penality" : 1,
-						"text": "Allez ne faites pas les timides, allez demander !"
-					},
-					{
-						"penality" : 1,
-						"text": "Quand on a une question, on la pose à l’accueil non ?"
-					},
-					{
-						"penality" : 1,
-						"text": "Il va falloir la poser à deux endroits !"
-					},
-					{
-						"penality" : 1,
-						"text": "Poser la question \"Comment est votre blanquette ?\" à l’accueil de la MJC ET à l’accueil de la bibliothèque..."
-					}
-				],
-				"penality" : 1
-			}
-		],
-	"resources" : [],
-	"charIndex" : 4
-},
-{
-	"name" : "Prospectus",
-	"challenges" :
-		[
-			{
-				"type" : "QRCodeTreasure",
-				"name" : "ProspectusQr",
-				"question" : "J'espère que vous avez bien récupérer les documents, car des fois il faut aussi savoir se débrouiller soit-même pour avoir sa réponse... Trouvez la vous même et montrez la moi avec votre caméra !",
-				"bad_message" : "Non !",
-				"resource" : "prospect",
-				"qr_value" : "1",
-				"indices" : [
-					{
-						"penality" : 1,
-						"text": "Je vous avais bien dit de prendre la plaquette et le facebook de la bibliothèque."
-					},
-					{
-						"penality" : 1,
-						"text": "Deux moitiés ça fait un entier  non ?"
-					},
-					{
-						"penality" : 1,
-						"text": "QR quoi ?"
-					},
-					{
-						"penality" : 1,
-						"text": "Le meilleur pour la fin… de la plaquette."
-					},
-					{
-						"penality" : 1,
-						"text": "Une moitié de QR code sur la feuille facebook et une à la fin de la plaquette..."
-					}
-				],
-				"penality" : 1
-			}
-		],
-	"resources" : [],
-	"charIndex" : 5
+	"charIndex" : 0
 },
 {
 	"name" : "Accueil",
@@ -383,21 +78,21 @@
 				"name" : "accueilQuestion",
 				"bad_message" : "Non !",
 				"good_message" : "Bravo !",
-				"resource" : "livre",
-				"question" : "Allez chercher ce roman policier un message codé se trouve à l'intérieur..",
-				"answer" : "Dindon",
+				"resource" : "ballon",
+				"question" : "Quel pays a gagné la Coupe du Monde de Football Masculin 2018 ?",
+				"answer" : "France",
 				"indices" : [
 					{
 						"penality" : 1,
-						"text": "C’est écrit par Sylvie Granotier, le titre est “Double je”"
+						"text": "C'est pas très loin..."
 					},
 					{
 						"penality" : 1,
-						"text": "La Côte est POL GRA"
+						"text": "Leur drapeau est bleu-blanc-rouge"
 					},
 					{
 						"penality" : 1,
-						"text": "Page 150, il y a des nombres... Que peuvent-ils bien signifier, des pages ? des chapitres, des mots ?"
+						"text": "Ça commence par un F"
 					}
 				],
 				"penality" : 1
@@ -411,6 +106,5 @@
 		"text" : "Par Fran\u00e7ois Gautrais !",
 		"useHtml" : true
 	},
-	"map" : "/home/ptitcois/Documents/Angouleme/DemoRA/ressources/carte.png",
 	"name" : "game_medium"
-}
+}

+ 416 - 0
app/src/main/assets/game_medium (copie)

@@ -0,0 +1,416 @@
+{
+    "password" : "12345678",
+    "max_time" : 30,
+	"stages" : [{
+	"name" : "Intro",
+	"challenges" : [],
+	"resources" : ["intro"],
+	"event_end" : { "method" : "armBomb" }
+},
+{
+	"name" : "Bibliotheuqe_intro",
+	"challenges" :
+		[
+			{
+				"type" : "QRCodeTreasure",
+				"name" : "BibQr",
+				"bad_message" : "C'est pas le bon !",
+				"qr_value" : "1",
+				"resource" : "bib",
+				"indices" : [
+					{
+						"type" : "text",
+						"text" : "On ne peut hélas toujours pas rentrer en vélo dans ces structures...",
+						"penality": 1
+					},
+					{
+						"type" : "text",
+						"penality": 1,
+						"text" : "Encore moins dans la bibliothèque !" 
+					}
+				]
+			}
+		],
+	"resources" : ["intro_fin"],
+	"charIndex" : 0
+},
+{
+	"name" : "MPG",
+	"charIndex" : 1,
+	"challenges" :
+		[
+			{
+				"type" : "QRCodeTreasure",
+				"name" : "MPG_Qr",
+				"bad_message" : "C'est pas le bon !",
+				"qr_value" : "1",
+				"resource" : "mpg",
+				"indices" : [
+					{
+						"text" : "Un endroit Merveilleux où les enfants et ados sont Joyeux !",
+						"penality": 1
+					},
+					{
+						"penality": 1,
+						"text" : "[...] [...] Loisirs." 
+					},
+					{
+						"penality": 1,
+						"text" : "Ne pas sonner SVP !" 
+					}
+				]
+			},
+			{
+                    "type" : "QCM",
+                    "name" : "a1",
+                    "question" : "La première réponse",
+                    "answer" : ["Louis Aragon"],
+                    "choices" : [
+									"Oui !",
+									"Jean-Vincent Placé", 
+									"Zinedine Zidane", 
+									"Patrick Timsit", 
+									"Louis Aragon", 
+									"La réponse D",
+									"Non !",
+									"Kylian M'Bappé",
+									"Des jeux"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a2",
+                    "question" : "La deuxieme réponse",
+                    "answer" : ["Des jeux"],
+                    "choices" : [
+									"Oui !",
+									"Des jeux", 
+									"Rond", 
+									"Des livres", 
+									"Des DVD",
+									"Non !",
+									"Kylian M'Bappé",
+									"Marc Levy"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a3",
+                    "question" : "La troisème réponse",
+                    "answer" : ["Rond", "Carré"],
+                    "choices" : [
+									"Oui !",
+									"Des jeux", 
+									"Rond", 
+									"Carré", 
+									"Losange",
+									"VTT",
+									"Dodécagonal",
+									"Hexagone"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a4",
+                    "question" : "La quatrième réponse",
+                    "answer" : ["D"],
+                    "choices" : [
+									"Oui !",
+									"Des jeux", 
+									"Rond", 
+									"Carré", 
+									"Losange",
+									"VTT",
+									"D",
+									"Hexagone",
+									"W"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a5",
+                    "question" : "La cinquième réponse",
+                    "answer" : ["w", "vv"],
+                    "choices" : [
+									"Oui !",
+									"Des jeux", 
+									"Bob Marley", 
+									"Carré", 
+									"42",
+									"VTT",
+									"D",
+									"Hexagone",
+									"W"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a6",
+                    "question" : "La sixième réponse",
+                    "answer" : "Des DVD",
+                    "choices" : [
+									"Oui !",
+									"Des DVD", 
+									"Bob Marley", 
+									"Carré", 
+									"42",
+									"VTT",
+									"D",
+									"Hexagone",
+									"W"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 },
+                 {
+                    "type" : "QCM",
+                    "name" : "a7",
+                    "question" : "La septième réponse",
+                    "answer" : "Ma Campagne",
+                    "choices" : [
+									"Le Blosne RPZ 35 BZH !!!!",
+									"C'est quoi la question ?", 
+									"Bob Marley", 
+									"Zinedine Zidane", 
+									"42",
+									"Ma Campagne",
+									"D",
+									"Meurs, pourriture communiste !",
+									"W"
+								],
+                    "bad_message" : "T'es nul !",
+					"resource" : "question",
+					 "penality": 1,
+                     "mandatory" : false
+                 }
+		]
+},
+{
+	"name" : "Ludothèque",
+	"challenges" :
+		[
+			{
+				"type" : "QRCodeTreasure",
+				"name" : "Jardin ludothèque",
+				"bad_message" : "C'est pas le bon !",
+				"qr_value" : "1",
+				"resource" : "ludo",
+				"indices" : [
+					{
+						"type" : "text",
+						"text" : "La pelouse est trop verte pour être vrai...",
+						"penality": 1
+					},
+					{
+						"type" : "text",
+						"text" : "Alors comme ca on est pas du genre à lever les yeux au ciel ?",
+						 "penality": 1
+					}
+				]
+			},
+			{
+				"type": "Question",
+				"name" : "QuestionLudo",
+				"bad_message" : "Non !",
+				"question" : "Et maintenant, un petit test de raisonnement : Regardez sur la porte à votre gauche. Vous pouvez essayer de deviner sur quelle place est garé la voiture, mais ca m’étonnerais que vous trouviez !",
+				"good_message" : "Brillant !",
+				"resource" : "ludo",
+				"answer" : "97",
+				"indices" : [
+					{
+						"penality" : 1,
+						"text": "Question de point de vu..."
+					},
+					{
+						"penality" : 1,
+						"text": "Ces places sont bien dans l’ordre !"
+					},
+					{
+						"penality" : 1,
+						"text": "C’est à vous mettre la tête à l’envers hein ?"
+					},
+					{
+						"penality" : 1,
+						"text": "Bon, regardez à l’envers."
+					}
+				],
+				"penality" : 1
+			}
+		],
+	"resources" : ["milieu"],
+	"event_end" : { "method" : "setTimerTo", "args" : [15] },
+	"charIndex" : 2
+},
+{
+	"name" : "JardinDhiver",
+	"challenges" :
+		[
+			{
+				"type" : "Question",
+				"name" : "JardinHiverQuestion",
+				"bad_message" : "Non !",
+				"resource" : "jardin", 
+				"question" : "Rentrez par la porte en face de vous et allez dans le 'jardin d’hiver' de la MJC. Un mot de X lettres est caché dans ce dernier, mais bonne chance pour le découvrir !",
+				"good_message" : "Bravo !",
+				"answer" : "ABBA",
+				"indices" : [
+					{
+						"penality" : 1,
+						"text": "J’ai bien dit X lettres !"
+					},
+					{
+						"penality" : 1,
+						"text": "A force de chercher sans trouver, vous allez finir par voir rouge…"
+					},
+					{
+						"penality" : 1,
+						"text": "Les affiches sont intéressantes ?"
+					},
+					{
+						"penality" : 1,
+						"text": "Des LETTRES en ROUGE sur les AFFICHES"
+					}
+				],
+				"penality" : 1
+			}
+		],
+	"resources" : [],
+	"charIndex" : 3
+},
+{
+	"name" : "Accueil",
+	"challenges" :
+		[
+			{
+				"type" : "Question",
+				"name" : "accueilQuestion",
+				"bad_message" : "Non !",
+				"good_message" : "Bravo !",
+				"resource" : "accueil",
+				"question" : "Comment est votre blanquette ?\nDemandez donc aux personnes les mieux renseignés de la bibliothèque ET de la MJC. Et au passage, la plaquette de la MJC et le facebook de la bibliothèque pourrait être utile !",
+				"answer" : "Trop cuite",
+				"indices" : [
+					{
+						"penality" : 1,
+						"text": "Allez ne faites pas les timides, allez demander !"
+					},
+					{
+						"penality" : 1,
+						"text": "Quand on a une question, on la pose à l’accueil non ?"
+					},
+					{
+						"penality" : 1,
+						"text": "Il va falloir la poser à deux endroits !"
+					},
+					{
+						"penality" : 1,
+						"text": "Poser la question \"Comment est votre blanquette ?\" à l’accueil de la MJC ET à l’accueil de la bibliothèque..."
+					}
+				],
+				"penality" : 1
+			}
+		],
+	"resources" : [],
+	"charIndex" : 4
+},
+{
+	"name" : "Prospectus",
+	"challenges" :
+		[
+			{
+				"type" : "QRCodeTreasure",
+				"name" : "ProspectusQr",
+				"question" : "J'espère que vous avez bien récupérer les documents, car des fois il faut aussi savoir se débrouiller soit-même pour avoir sa réponse... Trouvez la vous même et montrez la moi avec votre caméra !",
+				"bad_message" : "Non !",
+				"resource" : "prospect",
+				"qr_value" : "1",
+				"indices" : [
+					{
+						"penality" : 1,
+						"text": "Je vous avais bien dit de prendre la plaquette et le facebook de la bibliothèque."
+					},
+					{
+						"penality" : 1,
+						"text": "Deux moitiés ça fait un entier  non ?"
+					},
+					{
+						"penality" : 1,
+						"text": "QR quoi ?"
+					},
+					{
+						"penality" : 1,
+						"text": "Le meilleur pour la fin… de la plaquette."
+					},
+					{
+						"penality" : 1,
+						"text": "Une moitié de QR code sur la feuille facebook et une à la fin de la plaquette..."
+					}
+				],
+				"penality" : 1
+			}
+		],
+	"resources" : [],
+	"charIndex" : 5
+},
+{
+	"name" : "Accueil",
+	"challenges" :
+		[
+			{
+				"type" : "Question",
+				"name" : "accueilQuestion",
+				"bad_message" : "Non !",
+				"good_message" : "Bravo !",
+				"resource" : "livre",
+				"question" : "Allez chercher ce roman policier un message codé se trouve à l'intérieur..",
+				"answer" : "Dindon",
+				"indices" : [
+					{
+						"penality" : 1,
+						"text": "C’est écrit par Sylvie Granotier, le titre est “Double je”"
+					},
+					{
+						"penality" : 1,
+						"text": "La Côte est POL GRA"
+					},
+					{
+						"penality" : 1,
+						"text": "Page 150, il y a des nombres... Que peuvent-ils bien signifier, des pages ? des chapitres, des mots ?"
+					}
+				],
+				"penality" : 1
+			}
+		],
+	"resources" : [],
+	"charIndex" : 6
+}	],
+	"credits" : 
+	{
+		"text" : "Par Fran\u00e7ois Gautrais !",
+		"useHtml" : true
+	},
+	"map" : "/home/ptitcois/Documents/Angouleme/DemoRA/ressources/carte.png",
+	"name" : "game_medium"
+}

BIN
app/src/main/assets/henri.jpg


+ 32 - 0
app/src/main/assets/ressources (copie).res

@@ -0,0 +1,32 @@
+{
+	"intro_fin" : { "type" : "Audio"},
+	"mpg" : { "type" : "Image" } ,
+	"question" : {"type" : "Image"}, 
+	"mjc" : {"type" : "Image"},
+	"milieu" : {
+		"comment" : "Nous avons reçu un  nouveau message !",
+		"title" : "Un nouveau message",
+		"type" : "Audio",
+		"display" : true
+	},
+	"intro" : {
+		"comment" : "Nous avons reçu un étrange message...",
+		"title" : "Un étrange message",
+		"type" : "Audio",
+		"display" : true
+	},
+	"fin" : {
+		"comment" : "Nous avons réussi !",
+		"title" : "On a gagné",
+		"type" : "Audio",
+		"display" : true
+	},
+	"creche": {"type" : "Image"},
+	"bib" : {"type" : "Image"},
+	"ludo" :  {"type" : "Image"},
+	"jardin" :  {"type" : "Image"},
+	"accueil" :  {"type" : "Image"},
+	"prospect" :  {"type" : "Image"},
+	"error" : {"type" : "Image"},
+	"livre" : {"type" : "Image"}
+}

+ 5 - 31
app/src/main/assets/ressources.res

@@ -1,32 +1,6 @@
 {
-	"intro_fin" : { "type" : "Audio"},
-	"mpg" : { "type" : "Image" } ,
-	"question" : {"type" : "Image"}, 
-	"mjc" : {"type" : "Image"},
-	"milieu" : {
-		"comment" : "Nous avons reçu un  nouveau message !",
-		"title" : "Un nouveau message",
-		"type" : "Audio",
-		"display" : true
-	},
-	"intro" : {
-		"comment" : "Nous avons reçu un étrange message...",
-		"title" : "Un étrange message",
-		"type" : "Audio",
-		"display" : true
-	},
-	"fin" : {
-		"comment" : "Nous avons réussi !",
-		"title" : "On a gagné",
-		"type" : "Audio",
-		"display" : true
-	},
-	"creche": {"type" : "Image"},
-	"bib" : {"type" : "Image"},
-	"ludo" :  {"type" : "Image"},
-	"jardin" :  {"type" : "Image"},
-	"accueil" :  {"type" : "Image"},
-	"prospect" :  {"type" : "Image"},
-	"error" : {"type" : "Image"},
-	"livre" : {"type" : "Image"}
-}
+	"tour" : { "type" : "Image" },
+	"henri" : { "type" : "Image" },
+	"question" : { "type" : "Image" },
+	"ballon" : { "type" : "Image" }
+}

BIN
app/src/main/assets/tour.jpg


BIN
app/src/main/assets/tuto/0.png


BIN
app/src/main/assets/tuto/1.png


BIN
app/src/main/assets/tuto/2.png


BIN
app/src/main/assets/tuto/3.png


BIN
app/src/main/assets/tuto/4.png


BIN
app/src/main/assets/tuto/5.png


+ 35 - 9
app/src/main/java/app/mar/activities/HostActivity.java

@@ -3,9 +3,11 @@ package app.mar.activities;
 import android.app.Activity;
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
@@ -207,17 +209,42 @@ public class HostActivity extends Activity implements ChallengeDriver{
 
     }
 
+    public void discoverIndice()
+    {
+        Indice ind = mCurrentFragment.showIndice();
+        if(ind!=null && ind.getPenality()>0)
+            mGame.getBomb().addTime(-ind.getPenality());
+
+        new AlertDialog.Builder(this)
+                .setTitle("Indice:")
+                .setMessage(ind.getText())
+                .setPositiveButton(android.R.string.yes, null)
+            .create().show();
+
+        if(!mCurrentFragment.getChallenge().hasNextIndice())
+            mUIButtonIndice.setVisibility(View.INVISIBLE);
+        save();
+    }
+
     public void onClickIndice(View v)
     {
-        if(mCurrentFragment!=null)
+        if(mCurrentFragment!=null && mCurrentFragment.getChallenge() !=null)
         {
-            Indice ind = mCurrentFragment.showIndice();
-            if(ind!=null && ind.getPenality()>0)
-                mGame.getBomb().addTime(-ind.getPenality());
-
-            if(!mCurrentFragment.getChallenge().hasNextIndice())
-                mUIButtonIndice.setVisibility(View.INVISIBLE);
-            save();
+            Indice x = mCurrentFragment.getChallenge().peakNextIndice();
+            int c = Math.round(x.getPenality()*60);
+            String out = ""+c+" secondes";
+            if(c>=60)
+                out=(c/60)+" minutes et "+(c%60)+" secondes";
+
+            new AlertDialog.Builder(this)
+                    .setTitle("Êtes vous sûre ?")
+                    .setMessage("Cet indice vous coutera "+out+", voulez vous continuer ?")
+                    .setNegativeButton(android.R.string.no,  null)
+                    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+                        public void onClick(DialogInterface arg0, int arg1) {
+                            discoverIndice();
+                        }
+                    }).create().show();
         }
     }
 
@@ -248,7 +275,6 @@ public class HostActivity extends Activity implements ChallengeDriver{
             mGame.getScheduler().append(c);
         }else if(s!=null) //new stage
         {
-            Log.i("----", "New Stage !");
             mGame.getBomb().addKnownCharacter(s.getCharIndex());
             updateCode();
         }else{

+ 4 - 4
app/src/main/java/app/mar/activities/LoadingActivity.java

@@ -35,9 +35,9 @@ public class LoadingActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_loading);
 
-        TutoActivity.start(this);
-        return;
-/*
+        //TutoActivity.start(this);
+        //return;
+
         Game game=null;
         if(Game.game()==null)
         {
@@ -57,7 +57,7 @@ public class LoadingActivity extends AppCompatActivity {
             ErrorActivity.dumpLog(this);
         else
             startGame();
-*/
+
 
     }
 

+ 2 - 0
app/src/main/java/app/mar/game/Bomb.java

@@ -60,7 +60,9 @@ public class Bomb implements Serializable{
 
     public void addKnownCharacter(int pos)
     {
+        Log.e("*********", "addKnowChar: "+pos);
         if(pos<0) return;
+        Log.e("*********", "\t \tOK");
         mPasswordKnown[pos]=mPassword.charAt(pos);
     }
 

+ 1 - 4
app/src/main/java/app/mar/game/Stage.java

@@ -41,12 +41,9 @@ public class Stage  implements Serializable {
                 Challenge c = Challenge.callChallengeConstructor(name, g, obj, act);
                 mChallenge.add(c);
             }
-
-
-
         } catch (JSONException e) {
             e.printStackTrace();
-            throw new RuntimeException(e.getMessage());
+            throw new RuntimeException(e.getMessage() + " Name:"+mName);
         }
 
         try{

+ 9 - 0
app/src/main/java/app/mar/game/challenges/Challenge.java

@@ -201,6 +201,15 @@ public abstract class Challenge implements Serializable{
         return false;
     }
 
+    public Indice peakNextIndice()
+    {
+        int i=0;
+        for(i=0; i<mIndices.size(); i++)
+            if(!mIndices.get(i).isDiscovered())
+                return mIndices.get(i);
+        return null;
+    }
+
     public Indice nextIndice()
     {
         int i=0;

+ 11 - 7
app/src/main/java/app/mar/game/challenges/Question.java

@@ -1,6 +1,7 @@
 package app.mar.game.challenges;
 
 import android.app.Activity;
+import android.util.Log;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -36,14 +37,14 @@ public class Question extends Challenge {
 
         try {
             mAnswer.clear();
-            String s = root.getString("answer");
-            mAnswer.add(s);
+            JSONArray js = root.getJSONArray("answer");
+            for(int i=0; i<js.length(); i++)
+                mAnswer.add(js.getString(i));
         }catch(JSONException e)
         {
             try{
-                JSONArray js = root.getJSONArray("answer");
-                for(int i=0; i<js.length(); i++)
-                    mAnswer.add(js.getString(i));
+                String s = root.getString("answer");
+                mAnswer.add(s);
             }catch(JSONException ee) {
                 ee.printStackTrace();
                 throw new BadChallengeConfigException("Bad parameter 'answer'");
@@ -64,8 +65,11 @@ public class Question extends Challenge {
 
     public boolean checkAnswer(String answer)
     {
-        for(int i=0; i< mAnswer.size(); i++)
-            if(checkAnswer(answer, i)) return true;
+        for(int i=0; i< mAnswer.size(); i++) {
+            if (checkAnswer(answer, i)) {
+                return true;
+            }
+        }
         return false;
     }