Beispiel #1
0
        public static BaseCards MakeMonster(Random rand)
        {
            BaseCards tempCard = null;

            //uid erstellen
            string teststring = string.Format("{0:N}", Guid.NewGuid()); //erstellt eine unique Id
            string uid        = teststring.Substring(0, 9);             //kürzt die ID auf 9 stellen

            //entscheiden welchen typ also cardProperty
            int randType = ChooseProperty(rand);

            //entscheiden welche Eigenschaft also elementTypes
            int randElement = ChooseElement(rand);

            //entschieden wie viel damage
            int damage = rand.Next(1, 51);

            //irgwie da mit nem namen machen
            string name = CreateNameMonster(rand);

            //set the cardProperty
            string       card_Element = Enum.GetName(typeof(elementTypes), randElement);
            elementTypes tempElement  = ((elementTypes)Enum.Parse(typeof(elementTypes), card_Element));

            string       card_property = Enum.GetName(typeof(cardProperty), randType);
            cardProperty tempProperty  = ((cardProperty)Enum.Parse(typeof(cardProperty), card_property));


            tempCard = new MonsterCard(uid, damage, name, tempElement, tempProperty);

            return(tempCard);
        }
        public List <BaseCards> GetCardsFromDb(string username)
        {
            List <BaseCards> cards = new List <BaseCards>();
            string           query = DbFunctions.MakeQueryGetCards(username);
            //Console.WriteLine(query);
            var commandDatabase = new NpgsqlCommand(query, _databaseConnection);

            commandDatabase.CommandTimeout = 60;
            try
            {
                _databaseConnection.Open();
                var myReader = commandDatabase.ExecuteReader();
                //Console.WriteLine(myReader);
                if (myReader.HasRows)
                {
                    //Console.WriteLine("Query Generated result:");
                    while (myReader.Read())
                    {
                        BaseCards temp = null;

                        //Console.WriteLine(myReader.GetValue(0) + " - " + myReader.GetString(1) + " - " + myReader.GetString(2) + " - " + myReader.GetValue(3) + " - " + myReader.GetValue(4) + " - " + myReader.GetValue(5));
                        //nur zur übersicht
                        string       uid = myReader.GetString(0);
                        elementTypes tempElementTypes = (elementTypes)Enum.Parse(typeof(elementTypes), myReader.GetString(1));
                        cardTypes    tempCardTypes    = (cardTypes)Enum.Parse(typeof(cardTypes), myReader.GetString(2));
                        cardProperty tempCardProperty = (cardProperty)Enum.Parse(typeof(cardProperty), myReader.GetString(3));
                        string       name             = myReader.GetString(4);
                        int          damage           = myReader.GetInt32(5);

                        if (tempCardTypes == cardTypes.Monster)
                        {
                            temp = new MonsterCard(uid, damage, name, tempElementTypes, tempCardProperty);
                        }
                        else if (tempCardTypes == cardTypes.Spell)
                        {
                            temp = new SpellCard(uid, damage, name, tempElementTypes);
                        }
                        cards.Add(temp);
                    }
                }
                else
                {
                    Console.WriteLine("Query Error!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Query Error: " + e.Message);
            }
            _databaseConnection.Close();
            return(cards);
        }
Beispiel #3
0
        private void GetComplexTypes(string XPath, elementTypes Type)
        {
            XmlNodeList nl = root.SelectNodes(XPath, NameSpace);

            foreach (XmlNode element in nl)
            {
                ElementType ct = new ElementType();
                ct.name     = element.Attributes.GetNamedItem("name").Value;
                ct.innerXML = element; //new XmlElement("element", element.InnerXml);
                ct.Type     = Type;
                ct.XPath    = XPath;

                elementList.Add(ct);
            }
        }
        public BaseCards GetOneCard(string card_uid)
        {
            BaseCards card  = null;
            string    query = "Select * from cardcollection where card_uid = '" + card_uid + "'";

            var commandDatabase = new NpgsqlCommand(query, _databaseConnection);

            commandDatabase.CommandTimeout = 60;
            try
            {
                _databaseConnection.Open();
                var myReader = commandDatabase.ExecuteReader();
                //Console.WriteLine(myReader);
                while (myReader.Read())
                {
                    string       cardUid          = myReader.GetString(0);
                    elementTypes tempElementTypes = (elementTypes)Enum.Parse(typeof(elementTypes), myReader.GetString(1));
                    cardTypes    tempCardTypes    = (cardTypes)Enum.Parse(typeof(cardTypes), myReader.GetString(2));
                    cardProperty tempCardProperty = (cardProperty)Enum.Parse(typeof(cardProperty), myReader.GetString(3));
                    string       name             = myReader.GetString(4);
                    int          damage           = myReader.GetInt32(5);

                    if (tempCardTypes == cardTypes.Monster)
                    {
                        card = new MonsterCard(cardUid, damage, name, tempElementTypes, tempCardProperty);
                    }
                    else if (tempCardTypes == cardTypes.Spell)
                    {
                        card = new SpellCard(cardUid, damage, name, tempElementTypes);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Query Error: " + e.Message);
            }
            _databaseConnection.Close();
            return(card);
        }
Beispiel #5
0
 public SpellCard(string uid, int damage, string name, elementTypes element_types) : base(damage, name)
 {
     this.card_type    = cardTypes.Spell;
     this.element_type = element_types;
     this.uid          = uid;
 }
        public BaseCards GetOneRandCardFromDb(string query, int cardsNumber, int rand)
        {
            BaseCards     temp            = null;
            NpgsqlCommand commandDatabase = new NpgsqlCommand(query, _databaseConnection);

            commandDatabase.CommandTimeout = 60;
            int cardPlace = rand;

            cardPlace = cardPlace % cardsNumber;

            if (cardPlace == 0)
            {
                cardPlace = 1;
            }

            int counter = 0;

            try
            {
                _databaseConnection.Open();
                var myReader = commandDatabase.ExecuteReader();
                //Console.WriteLine(myReader);
                if (myReader.HasRows)
                {
                    Console.WriteLine("Query Generated result:");

                    while (myReader.Read())
                    {
                        //Console.WriteLine(myReader.GetValue(0) + " - " + myReader.GetString(1) + " - " + myReader.GetString(2) + " - " + myReader.GetValue(3) + " - " + myReader.GetValue(4) + " - " + myReader.GetValue(5));
                        //nur zur übersicht
                        string       cardUid          = myReader.GetString(0);
                        elementTypes tempElementTypes = (elementTypes)Enum.Parse(typeof(elementTypes), myReader.GetString(1));
                        cardTypes    tempCardTypes    = (cardTypes)Enum.Parse(typeof(cardTypes), myReader.GetString(2));
                        cardProperty tempCardProperty = (cardProperty)Enum.Parse(typeof(cardProperty), myReader.GetString(3));
                        string       name             = myReader.GetString(4);
                        int          damage           = myReader.GetInt32(5);

                        if (tempCardTypes == cardTypes.Monster)
                        {
                            temp = new MonsterCard(cardUid, damage, name, tempElementTypes, tempCardProperty);
                        }
                        else if (tempCardTypes == cardTypes.Spell)
                        {
                            temp = new SpellCard(cardUid, damage, name, tempElementTypes);
                        }
                        counter++;

                        if (counter == cardPlace)
                        {
                            break;
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Query Error!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Query Error: " + e.Message);
            }
            _databaseConnection.Close();
            return(temp);
        }
Beispiel #7
0
 public elementType(elementTypes t, string v)
 {
     elementtype = t;
     value       = v;
 }
 public MonsterCard(string uid, int damage, string name, elementTypes element, cardProperty property) : base(damage, name, element)
 {
     this.card_type     = cardTypes.Monster;
     this.card_property = property;
     this.uid           = uid;
 }
Beispiel #9
0
 public BaseCards(int damage, string name, elementTypes element) : this(damage, name)
 {
     this.element_type = element;
 }