using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestProject { public class Karte { //Hier ist eine Liste der Bilder, die geladen werden können private static List _sourceList = new() { @"C:\Users\s.schueler.doz\Pictures\image1.png", @"C:\Users\s.schueler.doz\Pictures\image2.jpg", @"C:\Users\s.schueler.doz\Pictures\image3.jpg", @"C:\Users\s.schueler.doz\Pictures\image4.jpg", @"C:\Users\s.schueler.doz\Pictures\image5.jpg" }; //Das ist das Bild des aktuellen Objekts public string Bild { get; set; } //Dies ist die individuelle ID jedes Objekts public int IndividualID { get; set; } //Zwei Paare besitzen die selbe PairID. public int PairID { get; set; } //Hier wird gesetzt, ob der User das Element ausgewählt hat, oder nicht public bool IsChecked { get; set; } //Dieser Methode übergibt man eine Menge an Kartenpaaren, die man haben will. Dann bekommt man die Karten in einer Liste zurück. public static List GenerateCardPairs(int amount) { //Wir erstellen zuerst eine neue Liste aus Karten List CardList = new(); //Das k brauchen wir für die einzigartige ID int k = 0; //Wir laufen dann so oft durch die Schleife und erstellen Elemente, je nachdem wie viele Paare der Aufrufer haben will for (int i = 0; i < amount; i++) { //In jedem Durchlauf erstellen wir zwei neue Karten, mit derselben PairID und jeweils einer anderen individuellen ID. Mit dem Add fügen wir diese der Liste hinzu. CardList.Add(new Karte { Bild = _sourceList[i], PairID = i, IndividualID = k }); k++; CardList.Add(new Karte { Bild = _sourceList[i], PairID = i, IndividualID = k }); k++; } //Zum Schluss geben wir die Liste zurück. return CardList; } } }