Example #1
0
        public static bool AddNewFlipCard(FlipCard fc)
        {
            bool state = false;

            using (var connection = DBConnection.Instance.Connection)
            {
                MySqlCommand cmd = new MySqlCommand(query.add_flip_card, connection);
                // Parametryczny string do zabezpieczenia przed SQL Injection
                cmd.Parameters.AddWithValue("@frontC", fc.FrontContent);
                cmd.Parameters.AddWithValue("@backC", fc.BackContent);
                cmd.Parameters.AddWithValue("@idD", fc.Id_Deck);

                try
                {
                    connection.Open();
                    var id = cmd.ExecuteNonQuery();
                    state = true;
                    fc.Id = (uint)cmd.LastInsertedId;
                    connection.Close();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return(state);
        }
Example #2
0
        public static bool EditFlipCard(FlipCard fpc, uint idFpc, sbyte idDeck)
        {
            bool state = false;

            using (var connection = DBConnection.Instance.Connection)
            {
                string       EDYTUJ_FLIPCARD = $"UPDATE flipcard SET FrontContent=@frontC, BackContent=@backC WHERE ID=@idF AND ID_Deck=@idD";
                MySqlCommand cmd             = new MySqlCommand(EDYTUJ_FLIPCARD, connection);
                cmd.Parameters.AddWithValue("@frontC", fpc.FrontContent);
                cmd.Parameters.AddWithValue("@backC", fpc.BackContent);
                cmd.Parameters.AddWithValue("@idF", idFpc);
                cmd.Parameters.AddWithValue("@idD", idDeck);

                try
                {
                    connection.Open();
                    var n = cmd.ExecuteNonQuery();
                    if (n == 1)
                    {
                        state = true;
                    }

                    connection.Close();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return(state);
        }
Example #3
0
    IEnumerator Pause(GameObject Card1, GameObject Card2)
    {
        FlipCard flipManager = GameObject.Find("FlipCardFunction").GetComponent <FlipCard>();

        yield return(new WaitForSeconds(0.5f));

        flipManager.FlipDown(Card1);
        flipManager.FlipDown(Card2);
    }
Example #4
0
 private List <FlipCard> Shuffle(List <FlipCard> list)
 {
     for (int n = list.Count - 1; n > 1; n--)
     {
         int      rng   = random.Next(n + 1);
         FlipCard value = list[rng];
         list[rng] = list[n];
         list[n]   = value;
     }
     return(list);
 }
Example #5
0
 public bool EditFlipCardContent(FlipCard oldFlipCard, FlipCard newFlipCard)
 {
     // Jeśli istnieje to aktualizuj w bazie
     if (!FlipCardExist(newFlipCard))
     {
         if (SetOfFlipCards.EditFlipCard(newFlipCard, (uint)oldFlipCard.Id, newFlipCard.Id_Deck))
         {
             newFlipCard.Id = oldFlipCard.Id;
             FlipCards[FlipCards.IndexOf(oldFlipCard)] = newFlipCard;
             return(true);
         }
     }
     return(false);
 }
Example #6
0
        public bool AddFlipCardToFCs(string front, string back, sbyte id_deck)
        {
            FlipCard fc = new FlipCard(front, back, id_deck);

            if (!FlipCardExist(fc))
            {
                if (SetOfFlipCards.AddNewFlipCard(fc))
                {
                    FlipCards.Add(fc);
                    return(true);
                }
            }
            return(false);
        }
Example #7
0
        public static bool DeleteFlipCard(FlipCard fc)
        {
            bool state = false;

            using (var connection = DBConnection.Instance.Connection)
            {
                MySqlCommand cmd = new MySqlCommand(query.delete_flipCard + $"{fc.Id}", connection);
                connection.Open();
                var n = cmd.ExecuteNonQuery();
                if (n == 1)
                {
                    state = true;
                }

                connection.Close();
            }
            return(state);
        }
Example #8
0
    public void AllcardsRemoved()//check whether the game is over
    {
        FlipCard[] allCards = GameObject.FindObjectsOfType <FlipCard>();
        if (allCards != null && allCards.Length > 0)
        {
            List <FlipCard> Frontcards = new List <FlipCard>();
            for (int i = 0; i < allCards.Length; i++)
            {
                FlipCard Temp_card = allCards[i];
                if (Temp_card.isInFront && !Temp_card.isOver)//
                {
                    Frontcards.Add(Temp_card);
                }

                if (Frontcards.Count >= 2)//each turn,a player flips two card and compare the pattern, if the patterns are same, remove the two cards;Otherwise flip cards back
                {
                    string card_Name1 = Frontcards[0].GetCardName();
                    string card_Name2 = Frontcards[1].GetCardName();

                    if (card_Name1 == card_Name2)
                    {
                        Frontcards[0].Matched();// if matched, hide the two cards
                        Frontcards[1].Matched();
                    }
                    else
                    {
                        Frontcards[0].Notmatch();// turn it back if not matched
                        Frontcards[1].Notmatch();
                    }
                    allCards = GameObject.FindObjectsOfType <FlipCard>();// To check if all cards have been matched.If so , end the game.
                    bool isAllOver = true;
                    for (int o = 0; o < allCards.Length; o++)
                    {
                        isAllOver &= allCards[o].isOver;
                    }
                    if (isAllOver)
                    {
                        Victory();
                    }
                    break;
                }
            }
        }
    }
Example #9
0
    public void flipping()
    {
        stateCard = StateCard.BLOCK;

        if (flipCard == FlipCard.BACK)
        {
            ControlCard.flippedCards++;
            flipCard = FlipCard.FRONT;
            if (ControlCard.flippedCards == 1)
            {
                ControlCard.card1 = gameObject;

                iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

                iTween.RotateBy(gameObject, iTween.Hash("y", .5, "time", timeRotate, "easeType", "easeInOutBack", "delay", timeUpEffect));
            }
            else if (ControlCard.flippedCards == 2)
            {
                ControlCard.card2 = gameObject;

                iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

                iTween.RotateBy(gameObject, iTween.Hash("y", .5, "time", timeRotate, "easeType", "easeInOutBack", "delay", timeUpEffect, "onComplete", "setStateCardFlip"));
            }
        }
        else
        {
            flipCard = FlipCard.BACK;

            iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

            iTween.RotateBy(gameObject, iTween.Hash("y", -.5, "time", timeRotate/2, "easeType", "easeInOutBack", "delay", timeUpEffect, "onComplete", "setStateCardFlip"));

            iTween.Stab(gameObject, audioError, timeUpEffect);
            iTween.ShakePosition(gameObject, iTween.Hash("y", .1f, "x", .1f, "z", .1f, "time", .1f, "delay", timeUpEffect, "onComplete", "setGameStateFree"));

        }
    }
Example #10
0
        public bool DeleteFlipcard(FlipCard flipCard)
        {
            // Przeszukaj knowledege leveli dla flipcarda
            foreach (var knowledge in FlipCardKnowledges.ToList())
            {
                // Jeśli znaleziono usuń
                if (flipCard.Id == knowledge.Id_FlipCard)
                {
                    if (SetOfFlipCardKnowledges.DeleteFlipCardKnowledge(knowledge))
                    {
                        FlipCardKnowledges.Remove(knowledge);
                    }
                }
            }

            if (SetOfFlipCards.DeleteFlipCard(flipCard))
            {
                FlipCards.Remove(flipCard);
                return(true);
            }

            return(false);
        }
Example #11
0
    public void flipping()
    {
        stateCard = StateCard.BLOCK;

        if (flipCard == FlipCard.BACK)
        {
            ControlCard.flippedCards++;
            flipCard = FlipCard.FRONT;
            if (ControlCard.flippedCards == 1)
            {
                ControlCard.card1 = gameObject;

                iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

                iTween.RotateBy(gameObject, iTween.Hash("y", .5, "time", timeRotate, "easeType", "easeInOutBack", "delay", timeUpEffect));
            }
            else if (ControlCard.flippedCards == 2)
            {
                ControlCard.card2 = gameObject;

                iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

                iTween.RotateBy(gameObject, iTween.Hash("y", .5, "time", timeRotate, "easeType", "easeInOutBack", "delay", timeUpEffect, "onComplete", "setStateCardFlip"));
            }
        }
        else
        {
            flipCard = FlipCard.BACK;

            iTween.MoveBy(gameObject, iTween.Hash("z", -upEffect, "time", timeUpEffect));

            iTween.RotateBy(gameObject, iTween.Hash("y", -.5, "time", timeRotate / 2, "easeType", "easeInOutBack", "delay", timeUpEffect, "onComplete", "setStateCardFlip"));

            iTween.Stab(gameObject, audioError, timeUpEffect);
            iTween.ShakePosition(gameObject, iTween.Hash("y", .1f, "x", .1f, "z", .1f, "time", .1f, "delay", timeUpEffect, "onComplete", "setGameStateFree"));
        }
    }
Example #12
0
 // Use this for initialization
 void Awake()
 {
     cardModel = Card.GetComponent <CardModel>();
     flipCard  = Card.GetComponent <FlipCard>();
     deck      = GetComponent <Deck>();
 }
Example #13
0
 // Sprawdza też czy w danej talii
 public bool FlipCardExist(FlipCard fc) => FlipCards.Contains(fc);
Example #14
0
 public FlipCardWithKnowledge(FlipCard flipCard, sbyte knowledge)
 {
     FlipCard  = flipCard;
     Knowledge = knowledge;
 }
Example #15
0
    //private void Onclick(int width, int height)
    //{
    //    Begin.gameObject.SetActive(false);
    //    Play.gameObject.SetActive(true);
    //    Show_card(width, height);
    //}


    void Show_card(int width, int height)                          //set the number of cards gievn the level number
    {
        Sprite[]      Allsprite  = Resources.LoadAll <Sprite>(""); //get all card images
        int           totalCount = width * height / 2;
        List <Sprite> Img_List   = new List <Sprite>();

        for (int i = 0; i < Allsprite.Length; i++)
        {
            Img_List.Add(Allsprite[i]);
        }
        List <Sprite> needShowCardList = new List <Sprite>();

        while (totalCount > 0)
        {
            int randomIndex = Random.Range(0, Img_List.Count);
            needShowCardList.Add(Img_List[randomIndex]);
            needShowCardList.Add(Img_List[randomIndex]);
            Img_List.RemoveAt(randomIndex);
            totalCount--;
        }
        shuffle(needShowCardList);// shuffle the needshow List to randomly display the cards

        Transform Card_Parent = Play.Find("Panel");
        //After passing the higher level,destory the components
        GameObject itemTemplate = Card_Parent.GetChild(0).gameObject;

        for (int i = 1; i < Card_Parent.childCount; i++)
        {
            GameObject itemTemp = Card_Parent.GetChild(i).gameObject;
            Sprite     ss       = itemTemp.transform.Find("front").GetComponent <Image>().sprite;
            itemTemp.transform.SetParent(null);
            Destroy(itemTemp);
        }

        //generate cards
        int        maxCount    = Mathf.Max(Card_Parent.childCount, needShowCardList.Count);
        GameObject Prefab_card = Card_Parent.GetChild(0).gameObject;

        for (int i = 0; i < maxCount; i++)
        {
            GameObject itemObject = null;
            if (i < Card_Parent.childCount)
            {
                itemObject = Card_Parent.GetChild(i).gameObject;
            }
            else
            {
                itemObject = GameObject.Instantiate <GameObject>(Prefab_card);// create a new child card
                itemObject.transform.SetParent(Card_Parent, false);
            }
            itemObject.transform.Find("front").GetComponent <Image>().sprite = needShowCardList[i]; //change the front img
            FlipCard cardAniCtrl = itemObject.GetComponent <FlipCard>();
            cardAniCtrl.Reset();                                                                    //set card to default state
        }
        //adjust panel size
        GridLayoutGroup grid_comp   = Card_Parent.GetComponent <GridLayoutGroup>();
        float           panelWidth  = width * grid_comp.cellSize.x + (width - 1) * grid_comp.spacing.x;
        float           panelHeight = height * grid_comp.cellSize.y + (width - 1) * grid_comp.spacing.y;

        Card_Parent.GetComponent <RectTransform>().sizeDelta = new Vector2(panelWidth, panelHeight);
    }
 private void LoadFC(FlipCard fc)
 {
     Front = fc.FrontContent;
     Back  = fc.BackContent;
 }