Logo du site

Jeu Vidéo 3

Techniques d'intégration multimédia

Listes (quelques rappels et opérations utiles)

Comment afficher les valeurs d'une liste
List<int> maListe = new List<int>( ){3,6,9};
Debug.Log(string.Join("," ,  maListe) ); // affiche 3,6,9

Comparer 2 listes, valeur par valeur
bool identique = true;
if(liste1.Count != liste2.Count)
{
    identique = false;
}
else
{
    for (int i = 0; i < liste1.Count; i++)
    {
        if( liste1[i] != liste2[i] )
        {
            identique = false;
            break;
        }
    }
}

Comparer 2 listes, en les transformant en chaines

Remarque: fonctionne avec des valeurs primitives seulement -> int, float, bool, string

string chaine1 =  string.Join("," ,  liste1);
string chaine2 =  string.Join("," ,  liste2);
if( chaine1 == chaine2)
{
    Debug.Log("Identiques");
}
else
{
    Debug.Log("Différentes");
}

Mélange d'une liste de valeurs

Référence: Documentation de MicroSoft

Voici une approche classique pour mélangers des valeurs. Elle consiste à piger au hasard des valeurs une à une dans une liste pour les ajouter à une autre liste, tout en les supprimant de la liste d'origine au fur et à mesure afin de ne pas les piger en double. (Approche présentée en jeu 2 à l'origine).

int[ ] t = { 1, 2, 3 }; // Tableau d'entiers dont on veut mélanger les valeurs

// Creation d'une liste des mêmes valeurs qui va 
// permettre de faire un mélange
List<int> listeDePige= new List<int>(t);

// Liste qui va contenir les valeurs une fois mélangées
List<int> valeursMelangees = new List<int>();

for (int i = 0; i < t.Length; i++)
{
    // On détermine une position aléatoire dans la liste de pige
    int n = Random.Range(0, listeDePige.Count);

    // La valeur à cette position est ajoutée dans la liste melangée
    valeursMelangees.Add(listeDePige[n]);

   // On supprime la valeur de la liste de pige (pour ne pas la piger une 2e fois)
    listeDePige.RemoveAt(n);
}