TextToSpeech muet

Fermé
neros - Modifié le 21 juin 2017 à 09:28
BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 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);    }}

1 réponse

BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 octobre 2024 3 909
21 juin 2017 à 14:05
Hello,

Je suis désolé mais le code posté n'est pas très lisible...
0