// Dateiname;Name;Leben;Angriff public static void KartenEinlesen(string dateiPfad) { string[] infoKarten = File.ReadAllLines($"{dateiPfad}Daten.txt"); foreach (string infoKarte in infoKarten) { string[] infos = infoKarte.Split(';'); Uri uri = null; string dateiName = infos[0]; string name = infos[1]; int leben = int.Parse(infos[2]); int angriff = int.Parse(infos[3]); if (infoKarte.StartsWith("N")) { uri = new Uri($"{dateiPfad}Normal/{dateiName}", UriKind.Relative); } else if (infoKarte.StartsWith("M")) { uri = new Uri($"{dateiPfad}Magic/{dateiName}", UriKind.Relative); } else if (infoKarte.StartsWith("L")) { uri = new Uri($"{dateiPfad}Legendary/{dateiName}", UriKind.Relative); } Karte karte = new Karte(name, leben, angriff, uri); möglicheKarten.Add(karte);//hier wird dann die Karte erstellt und in das "Deck" getan bzw in die Möglichen Karten } Karte.alleKarten = new List <Karte>(möglicheKarten); }
//Konstruktor public Karte(Karte karte) { this.name = karte.name; this.leben = karte.leben; this.angriff = karte.angriff; this.dateiPfad = karte.dateiPfad; }
public static void KarteLegen(Image img) { if (img.Tag is null) { return; } // Array, welches die Bilder beinhaltet, die im Spielfeld vorhanden sind Image[] feldBilder = spieler[aktuellerSpieler].feldImages; //das Spielfeld durchgehen for (int i = 0; i < feldBilder.Length; i++) { // Image.Tag beinhaltet die Karte, die dem Bild zugewiesen wurde. Karte karte = img.Tag as Karte; //schauen ob dort eine Karte ist if (feldBilder[i].Tag is null) { //wenn man in die If bedingung hineinkommt var feldImage = feldBilder[i]; feldImage.Source = new BitmapImage(karte.dateiPfad); feldImage.Tag = karte; // Die zugewiesene Karte von der Spielerhand entfernen img.Tag = null; img.Source = new BitmapImage(cardback); // Nach der Zuweisung aus der Schleife raus gehen break; } } }
//Die Funktion wo man Karten ziehen will public static void KarteZiehen(Image img) { Image[] handBilder = spieler[aktuellerSpieler].handImages; for (int i = 0; i < handBilder.Length; i++) { Image handBild = handBilder[i]; //shcuat ob die Hand Leer ist damit er Karten ziehen kann if (handBild.Tag is null) { handBild.Tag = new Karte(img.Tag as Karte); handBild.Source = new BitmapImage((handBild.Tag as Karte).dateiPfad); break; } else if (i == handBilder.Length - 1) { return; } } // Eine zufällige Karte auswählen Random rdm = new Random(); int index = rdm.Next(Karte.möglicheKarten.Count); // zwischenspeichern Karte neueKarte = Karte.möglicheKarten[index]; // Die ausgewählte Karte von den möglichen Karten entfernen Karte.möglicheKarten.Remove(img.Tag as Karte); // Bild anzeigen img.Source = new BitmapImage(neueKarte.dateiPfad); img.Tag = neueKarte; }
public Kampfausgang KampfGegen(Karte other) { if (this.leben <= other.angriff) { int transferint = this.leben - other.angriff; return(Kampfausgang.verlieren); } else { this.leben = this.leben - other.angriff; return(Kampfausgang.gewinnen); } }
public static void InitKarten() { Karte.KartenEinlesen("../../Memes/"); }