Ejemplo n.º 1
0
        // 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);
        }
Ejemplo n.º 2
0
 //Konstruktor
 public Karte(Karte karte)
 {
     this.name      = karte.name;
     this.leben     = karte.leben;
     this.angriff   = karte.angriff;
     this.dateiPfad = karte.dateiPfad;
 }
Ejemplo n.º 3
0
        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;
                }
            }
        }
Ejemplo n.º 4
0
        //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;
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
 public static void InitKarten()
 {
     Karte.KartenEinlesen("../../Memes/");
 }