Beispielprojekt_Memory/TestProject/Karte.cs

44 lines
2.0 KiB
C#

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<string> _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<Karte> GenerateCardPairs(int amount)
{
//Wir erstellen zuerst eine neue Liste aus Karten
List<Karte> 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;
}
}
}