neros
-
Modifié le 21 juin 2017 à 09:28
BunoCS
Messages postés15495Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 octobre 2024
-
21 juin 2017 à 14:05
Bonjour,
le textToSpeech de mon activité reste muet mais aucune erreur dans les logs.
Le seul problème apparent est que ready ne passe jamais à true lors de l'exécution
public class ActivitePartie extends Activity {
private Jeu jeu;
private final int REQ_CODE_SPEECH_INPUT = 100;
private final int SPEECH_RECOGNITION_CODE = 1;
private final int CHECK_CODE = 0x2;
private final int SHORT_DURATION = 1000;
private static Locale language = Locale.FRANCE;
private Button btnQuitter;
// TextToSpeech t1;
// private Speaker speaker;
private TextToSpeech textToSpeech = null;
private TextView texteManches;
private TextView texteGagnant;
private TextView descriptionPersonnage;
private String texteAdire;
private boolean reponseOuiNon = false;
private boolean questionUtilisateur = false;
private boolean ready = false;
public final String EXTRA_NB_MANCHES =
"nb_manches";
public final static String EXTRA_CHOIX_PERSONNAGE =
"choix_personnage";
/*
private void runThread() {
new Thread() {
public void run() {
while (!jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).isManche()) {
try {
// finish();
runOnUiThread(new Runnable() {
@Override
public void run() {
machinePoseQuestion();
utilisateurPoseQuestion();
}
});
if (jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() == 1 && jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() != 1) {
jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setMancheJouee(true);
jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(false);
runOnUiThread(new Runnable() {
@Override
public void run() {
MAJtexte();
nouvelleManche();
}
});
}
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
*/ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activite_partie); Intent intent = getIntent();/* Toast.makeText(getApplicationContext(), "ActivitePartie", Toast.LENGTH_LONG).show();*/ this.jeu = new Jeu(Integer.parseInt(intent.getStringExtra(EXTRA_NB_MANCHES))); // this.speaker = new Speaker(this);/* Toast.makeText(getApplicationContext(), "ActivitePartie", Toast.LENGTH_LONG).show();*/ this.texteManches = (TextView) findViewById(R.id.texteManches); this.texteGagnant = (TextView) findViewById(R.id.texteGagnant); this.descriptionPersonnage = (TextView) findViewById(R.id.descriptionPersonnage); this.checkTTS(); // this.speaker = new Speaker(this); /* test supression via get */ // this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeUtilisateur(CouleurCheveux.NOIR); // Toast.makeText(getApplicationContext(),this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.toString(), Toast.LENGTH_SHORT).show(); // Toast.makeText(getApplicationContext(), String.valueOf(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size()), Toast.LENGTH_SHORT).show(); // this.runThread();/* runOnUiThread(new Runnable() { public void run() { try { machinePoseQuestion(); utilisateurPoseQuestion(); if (jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() == 1 && jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() != 1) { jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(false); MAJtexte(); nouvelleManche(); } } catch (Throwable t) { // Termine le thread en arrière–plan } } }); // lancement du thread gestionPartie.start(); */ /*Toast.makeText(getApplicationContext(), this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandePortMoustache(), Toast.LENGTH_LONG).show(); */ // this.speaker // this.promptSpeechInput(); // this.speakOut(new String("Bonjour Monsieur")); // ATTENTION PROBLEME BOUCLE INFINIE /*while (this.jeu.partie.getNombreManchesRestantes() != 0) { // tant qui'il reste des manches à jouer on pose une question pour la manche courante // this.jeu.partiemachinePoseQuestion(); machinePoseQuestion(); utilisateurPoseQuestion(); if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() == 1 && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() != 1) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(false); this.MAJtexte(); this.nouvelleManche(); }/* else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() != 1 && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() == 1) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(true); this.nouvelleManche(); }*/ // } /* new Thread(new Runnable() { public void run() { // loop until the thread is interrupted // while (!Thread.currentThread().isInterrupted()) { // do something in the loop if(jeu.partie.getNombreManchesRestantes() != 0) { runOnUiThread(new Runnable() { @Override public void run() { machinePoseQuestion(); utilisateurPoseQuestion(); } }); if (jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() == 1 && jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() != 1) { jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(false); runOnUiThread(new Runnable() { @Override public void run() { MAJtexte(); nouvelleManche(); } }); } } else { texteManches.setText("Partie terminee !"); } //} } }).start(); */ nouvelleManche(); // this.MAJtexte(); // machinePoseQuestion(); }/* public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { this.speakOut(new String("Bonjour Monsieur")); } }*/ private void MAJtexte() { this.texteGagnant.setText(this.jeu.partie.getGagnant()); String texteManche = new String("Manche " + (this.jeu.partie.listeManches.size()-this.jeu.partie.getNombreManchesRestantes()) + "/" + this.jeu.partie.listeManches.size()); this.texteManches.setText(texteManche); String texteDescriptionPersonnage = new String(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getPrenom()); texteDescriptionPersonnage += " " + this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getNom() + "\n" + "Yeux " + this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getCouleurYeux().toString() + "\n" + "Cheveux " + this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getCouleurCheveux().toString() + "\n" + this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getGenre().toString() + "\n" + "Profession : " + this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getProfession() + "\n"; if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().isPorteLuenettes()) texteDescriptionPersonnage += "Porte lunettes\n"; if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().isPorteMoustache()) texteDescriptionPersonnage += "Moustachu\n"; this.descriptionPersonnage.setText(texteDescriptionPersonnage); } private void utilisateurPoseQuestion() { this.reponseOuiNon = false; promptSpeechInput(); } private void nouvelleManche() { /* On démarre l'acitvité qui permet d'afficher la liste des personnages possible à faire deviner à la machine */ Intent i1 = new Intent( ActivitePartie.this, ActiviteListePersonnages.class ); i1.putExtra(EXTRA_CHOIX_PERSONNAGE, this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagetoStringArray()); startActivityForResult(i1, 0); } private void quitter() {// this.finish(); //this will close that corresponding activity finish(); System.exit(0); } private void machinePoseQuestion() { this.reponseOuiNon = false; //Toast.makeText(getApplicationContext(), "Passe dans machine pose question", Toast.LENGTH_SHORT).show(); if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandePortMoustache().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandePortMoustache()); Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandePortLunettes().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandePortLunettes()); Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandeCouleurYeux().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandeCouleurYeux()); Toast.makeText(getApplicationContext(), "Demande couleur yeux", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderProfession().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderProfession()); Toast.makeText(getApplicationContext(), "4", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandeCouleurCheveux().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demandeCouleurCheveux()); Toast.makeText(getApplicationContext(), "Demande couleur cheveux", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderGenre().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderGenre()); Toast.makeText(getApplicationContext(), "6", Toast.LENGTH_SHORT).show(); } else if(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderConfirmationPersonnage().compareTo("non") != 0) { this.reponseOuiNon = true; this.speakOut(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).demanderConfirmationPersonnage()); Toast.makeText(getApplicationContext(), "7", Toast.LENGTH_SHORT).show(); } if(this.reponseOuiNon) { // while (this.textToSpeech.isSpeaking()) Toast.makeText(getApplicationContext(), "Attend fini parler", Toast.LENGTH_SHORT).show(); // on attend que la machine est finie de parler avant d'écouter une éventuelle réponse // Toast.makeText(getApplicationContext(), "Arrive if pompt speech", Toast.LENGTH_SHORT).show(); promptSpeechInput(); this.MAJtexte(); } } private void checkTTS(){ Intent check = new Intent(); check.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); startActivityForResult(check, CHECK_CODE); } private void promptSpeechInput() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().getDisplayLanguage()); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Parlez"); try { startActivityForResult(intent, REQ_CODE_SPEECH_INPUT); } catch (ActivityNotFoundException a) { Toast.makeText(getApplicationContext(), "Désolé, votre appareil ne supporte pas d'entrée vocale...", Toast.LENGTH_SHORT).show(); } }/* private void speakOut(String texteAdire) { speaker.speak(texteAdire); // speaker.pause(SHORT_DURATION); }*/ private void speakOut(String texte) { /* if (!ready) { Toast.makeText(this, "Text to Speech not ready", Toast.LENGTH_LONG).show(); return; }*/ // Text to Speak // Toast.makeText(this, texte, Toast.LENGTH_SHORT).show(); // A random String (Unique ID). this.texteAdire = texte; String utteranceId = UUID.randomUUID().toString(); if(this.textToSpeech == null) { this.textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { // Log.e("TTS", "TextToSpeech.OnInitListener.onInit..."); if (status != TextToSpeech.ERROR) { textToSpeech.setLanguage(Locale.FRANCE); ready = true; } } }); } if(ready) { Toast.makeText(this, texteAdire, Toast.LENGTH_SHORT).show(); textToSpeech.speak(texteAdire, TextToSpeech.QUEUE_FLUSH, null, utteranceId); } } private void erreurDevinette() { } public void onPause() { if (textToSpeech != null) { textToSpeech.stop(); textToSpeech.shutdown(); textToSpeech = null; } super.onPause(); } protected void onRestart() { super.onRestart(); checkTTS(); } private boolean verifPartieFinie() { if (jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsMachineManche.size() == 1 && jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size() != 1) { jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); jeu.partie.listeManches.get(jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(false); this.MAJtexte(); this.nouvelleManche(); return true; } else { this.MAJtexte(); return false; } } public void attendVoix() { if(ready) { while (textToSpeech.isSpeaking()); } } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case REQ_CODE_SPEECH_INPUT: { if (resultCode == RESULT_OK && null != data) { ArrayList<String> buffer = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); String result = buffer.get(0); if(this.reponseOuiNon) { Toast.makeText(getApplicationContext(), "Entre traitement oui non", Toast.LENGTH_LONG).show(); Pattern oui = Pattern.compile("Oui|Affirmatif"); Pattern non = Pattern.compile("Non|Negatif"); if (result.contains("oui") | result.contains("Oui")) { Toast.makeText(getApplicationContext(), "Oui", Toast.LENGTH_LONG).show(); switch (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).question) { case NOM_PRENOM: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(true); break; case GENRE: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("homme") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesAutresQueHommesListeUtilisateur(); else this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesHommesListeUtilisateur(); break; case PROFESSION: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreProfessionListeUtilisateur(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition); break; case COULEUR_YEUX: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("marrons") == 0) { Toast.makeText(getApplicationContext(), "A les yeux marrons", Toast.LENGTH_LONG).show(); this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeUtilisateur(CouleurYeux.MARRON); } else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("bleus") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeUtilisateur(CouleurYeux.BLEU); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("verts") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeUtilisateur(CouleurYeux.VERT); break; case COULEUR_CHEVEUX: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("noirs") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurCheveuxListeUtilisateur(CouleurCheveux.NOIR); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("chatains") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurCheveuxListeUtilisateur(CouleurCheveux.CHATAIN); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("blonds") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurCheveuxListeUtilisateur(CouleurCheveux.BLOND); break; case PORTE_LUNETTES: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesAutresLunettesListeUtilisateur(); break; case PORTE_MOUSTACHE: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreMoustachesListeUtilisateur(); break; } } else if(result.contains("non") | result.contains("Non")) { switch (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).question) { case NOM_PRENOM: this.erreurDevinette(); break; case GENRE: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("homme") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesHommesListeUtilisateur(); else this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesAutresQueHommesListeUtilisateur(); break; case PROFESSION: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeProfessionListeUtilisateur(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition); break; case COULEUR_YEUX: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("marrons") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurYeuxListeUtilisateur(CouleurYeux.MARRON); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("bleus") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurYeuxListeUtilisateur(CouleurYeux.BLEU); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("verts") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurYeuxListeUtilisateur(CouleurYeux.VERT); break; case COULEUR_CHEVEUX: if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("noirs") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeUtilisateur(CouleurCheveux.NOIR); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("chatains") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeUtilisateur(CouleurCheveux.CHATAIN); else if (this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supposition.compareTo("blonds") == 0) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeUtilisateur(CouleurCheveux.BLOND); break; case PORTE_LUNETTES: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesLunettesListeUtilisateur(); break; case PORTE_MOUSTACHE: this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeMoustachesListeUtilisateur(); break; } } if(!verifPartieFinie()) this.utilisateurPoseQuestion(); } else { // this.speaker = new Speaker(this); String reponse = "Non désolé"; if(result.contains("yeux bleu") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurYeux() == CouleurYeux.BLEU) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeMachine(CouleurYeux.BLEU); reponse = "Oui en effet"; } // else reponse = "Non désolé"; else if(result.contains("yeux marron") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurYeux() == CouleurYeux.MARRON) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeMachine(CouleurYeux.MARRON); reponse = "Oui c'est vrai"; } // else reponse = "Non désolé"; else if(result.contains("yeux vert") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurYeux() == CouleurYeux.VERT) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreCouleurYeuxListeMachine(CouleurYeux.VERT); reponse = "Oui c'est vrai"; } // else reponse = "Non désolé"; else if(result.contains("moustache") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().isPorteMoustache()) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreMoustachesListeMachine(); reponse = "Oui c'est vrai"; } // else reponse = "Non désolé"; else if(result.contains("lunette") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().isPorteLuenettes()) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesAutresLunettesListeMachine(); reponse = "Oui c'est vrai"; } else if(result.contains("cheveux blond") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurCheveux() == CouleurCheveux.BLOND) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeMachine(CouleurCheveux.BLOND); reponse = "Oui c'est vrai"; } else if(result.contains("cheveux noir") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurCheveux() == CouleurCheveux.NOIR) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeMachine(CouleurCheveux.NOIR); reponse = "Oui c'est vrai"; } else if(result.contains("cheveux châtain") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getCouleurCheveux() == CouleurCheveux.CHATAIN) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeCouleurCheveuxListeMachine(CouleurCheveux.CHATAIN); reponse = "Oui c'est vrai"; } else if(result.contains("homme") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getGenre() == Genre.HOMME) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesAutresQueHommesListeMachine(); reponse = "Oui c'est vrai"; } else if(result.contains("femme") && this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getGenre() == Genre.FEMME) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimesHommesListeMachine(); reponse = "Oui c'est vrai"; } else if(result.contains(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getProfession())) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).supprimeAutreProfessionListeUtilisateur(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getProfession()); reponse = "Oui c'est vrai"; } else if(result.contains(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getPrenom()) && result.contains(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageMachine().getNom())) { this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setMancheJouee(true); this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setUtilisateurGagnant(true); this.MAJtexte(); this.speakOut(new String ("Bravo ! Vous avez gagné !")); attendVoix(); reponse = ""; this.nouvelleManche(); } this.speakOut(reponse); attendVoix(); if(!verifPartieFinie()) this.machinePoseQuestion(); } } break; } case CHECK_CODE: { if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { // speaker = new Speaker(this); } else { Intent install = new Intent(); install.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); startActivity(install); } } default: break; } if( resultCode==1 ) { if(data.getStringExtra(EXTRA_CHOIX_PERSONNAGE) != null) { String s = new String(data.getStringExtra(EXTRA_CHOIX_PERSONNAGE));/* Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();*/ for (int i = 0; i < this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.size(); i++) { if (s.contains(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.get(i).getPrenom()) && s.contains(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.get(i).getNom())) this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).setPersonnageUtilisateur(this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).listePersonnagesCoherentsUtilisateurManche.get(i)); } Toast.makeText(getApplicationContext(), this.jeu.partie.listeManches.get(this.jeu.partie.getIndiceMancheCourante()).getPersonnageUtilisateur().getPrenom(), Toast.LENGTH_LONG).show(); MAJtexte(); machinePoseQuestion();} } super.onActivityResult(requestCode, resultCode, data); }}