Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.cite.natha.devoir3;
- /****************************************************/
- // Nom du fichier: Devoir 3
- // Programmeur: Nathaniel Larouche
- // Historique:
- // 04.26.2018 / Nathaniel Larouche
- /****************************************************/
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.content.pm.ResolveInfo;
- import android.graphics.Color;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- private int Requete = 56;
- private int CodeImage = 0;// Code de l'image sert a savoir quel est l'image qui a été selectionner.(Voir plus bas)
- //Declaration des array pour les nomRandom et le nom des photos
- private String NomMarvelPhoto[]={"","",""};
- private String NomMarvelRandom[]={"","",""};
- //Declaration des view
- public ImageView image1;
- public ImageView image2;
- public ImageView image3;
- public TextView nom1;
- public TextView nom2;
- public TextView nom3;
- public Button Valider;
- public Button Reset;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // On assigne tout au bon id
- Valider = findViewById(R.id.validerBoutonId);
- Reset = findViewById(R.id.newBoutonId);
- image1 = findViewById(R.id.imageView1);
- image2 = findViewById(R.id.imageView2);
- image3 = findViewById(R.id.imageView3);
- nom1 = findViewById(R.id.nom1Id);
- nom2 = findViewById(R.id.nom2Id);
- nom3 = findViewById(R.id.nom3Id);
- //Ici on appelle la fonction Setnom
- Setnom();
- }
- public void onClick(View v){
- //Si on click sur l'image 1, cela appel la fonction Launchactivité qui s'occupe d'ouvrir l'activité ImageMarvel.
- if(v == image1){
- LauchActivité();
- CodeImage = 23;
- }
- //Si on click sur l'image 2, cela appel la fonction Launchactivité qui s'occupe d'ouvrir l'activité ImageMarvel.
- if(v == image2){
- LauchActivité();
- CodeImage = 26;
- }
- //Si on click sur l'image 3, cela appel la fonction Launchactivité qui s'occupe d'ouvrir l'activité ImageMarvel.
- if(v == image3){
- LauchActivité();
- CodeImage = 29;
- }
- // Relance l'activité principal jsuis paresseux
- if(v == Reset){
- Intent intent = getIntent();
- finish();
- startActivity(intent);
- }
- //Lorsque que on click sur validé, on s'assure que les nomRandom correspond au nom des photo sinon on remet les question
- // mark et si tout est bon on lance un toast que le joueur a bien reussi
- if(v == Valider){
- //les boolean Imagebon sert a savoir si tout les images correspond bien au images
- Boolean Image1bon = false;
- Boolean Image2bon = false;
- Boolean Image3bon = false;
- // Verifie si les nom correspond
- if(!NomMarvelPhoto[0].matches(NomMarvelRandom[0])){
- image1.setImageResource(R.drawable.question_mark);
- }
- else{Image1bon = true;}
- if(!NomMarvelPhoto[1].matches(NomMarvelRandom[1])){
- image2.setImageResource(R.drawable.question_mark);
- }
- else{Image2bon = true;}
- if(!NomMarvelPhoto[2].matches(NomMarvelRandom[2])){
- image3.setImageResource(R.drawable.question_mark);
- }
- else{Image3bon = true;}
- if(Image1bon && Image2bon && Image3bon){
- Toast.makeText(this, "Vous avez reussi félicitation! Bonne Vacances !",
- Toast.LENGTH_LONG).show();
- }
- }
- }
- //Lance une intention vers l'activiter des images marvel et verifie si l'activiter repond.
- private void LauchActivité(){
- Intent intention = new Intent(this, ImageMarvel.class );
- if(fournisseurDispo(intention)){
- startActivityForResult(intention, Requete );
- }
- }
- //Lorsque l'activité revient de ImageMarvel, il récupere les information et les mets dans un tableau
- // il appelle la fonction UpdateMarvel qui s'assure de changer les images et de garder les noms.
- protected void onActivityResult(int codeRequête, int codeRésultat, Intent intention) {
- if (codeRequête == Requete && codeRésultat == RESULT_OK) {
- String MarvelInfo[] = intention.getExtras().getStringArray("MarvelImage");
- UpdateMarvel(CodeImage,MarvelInfo);
- }
- }
- //Verifie si il a bien une activité qui repond a l'intention
- private boolean fournisseurDispo(Intent intention){
- PackageManager mgr = getPackageManager();
- List<ResolveInfo> liste = mgr.queryIntentActivities(intention, PackageManager.MATCH_DEFAULT_ONLY);
- for(ResolveInfo info:liste) {
- Log.i("Devor3", info.toString());
- }
- return liste.size() > 0;
- }
- //Update les information de Marvel. Change les images par les imagees marvel selectionnée
- // et garde les noms en memoire.
- private void UpdateMarvel(int CodeImage , String[] Marvelinfo){
- if(CodeImage == 23){
- image1.setImageResource(Integer.parseInt(Marvelinfo[0]));
- NomMarvelPhoto[0]=Marvelinfo[1];
- }
- if(CodeImage == 26){
- image2.setImageResource(Integer.parseInt(Marvelinfo[0]));
- NomMarvelPhoto[1]=Marvelinfo[1];
- }
- if(CodeImage == 29) {
- image3.setImageResource(Integer.parseInt(Marvelinfo[0]));
- NomMarvelPhoto[2] = Marvelinfo[1];
- }
- }
- //Donne des noms aléatoire de marvel.
- private String NomRandom(){
- ArrayList<Marvel> sourceDonnées = Marvel.lireFichier("marvel.json", this);
- int id = (int)(Math.random()* sourceDonnées.size());
- Marvel Personnage = (Marvel) sourceDonnées.get(id);
- return Personnage.getNom();
- }
- //Donc ici on utilise les noms données de la fonction NomRandom() et on les mets dans un tableau
- // afin de conserver les nom et les atribuers au textview.
- private void Setnom(){
- // Fourni les nom dans le tableau
- for(int i = 0 ; i < 3 ; i++){
- NomMarvelRandom[i] = NomRandom();
- }
- //Permet de vérifier si il existe plusieur noms similaire dans le tableau et le remplace par un nouveau
- for(int i = 0 ; i < 3 ; i++){
- for(int b = 2 ; b > 0 ; b--){
- if(NomMarvelRandom[i].matches(NomMarvelRandom[b]) && b != i){
- NomMarvelRandom[i]= NomRandom();
- i = 0;
- b = 2;
- }
- }
- }
- nom1.setText(NomMarvelRandom[0]);
- nom2.setText(NomMarvelRandom[1]);
- nom3.setText(NomMarvelRandom[2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement