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); }
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); }
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); }
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); }
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); }
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); }
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); }
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; } } } }
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")); } }
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); }
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")); } }
// Use this for initialization void Awake() { cardModel = Card.GetComponent <CardModel>(); flipCard = Card.GetComponent <FlipCard>(); deck = GetComponent <Deck>(); }
// Sprawdza też czy w danej talii public bool FlipCardExist(FlipCard fc) => FlipCards.Contains(fc);
public FlipCardWithKnowledge(FlipCard flipCard, sbyte knowledge) { FlipCard = flipCard; Knowledge = knowledge; }
//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; }