private void CardMatchUnsuccessful() { PrintDebugMsg("Match unsuccessful!"); if (turnState == TurnPhaseMatching.PlayerOne) { playerOneMatchAttempts++; } else { playerTwoMatchAttempts++; } pickOne.FaceUp = false; pickTwo.FaceUp = false; pickOne = null; pickTwo = null; UpdateUI(); if (turnState == TurnPhaseMatching.PlayerOne && !singlePlayer) { turnState = TurnPhaseMatching.PlayerTwo; if (playerTwoIsAI) { PlayAI(); } } else { turnState = TurnPhaseMatching.PlayerOne; } }
private void MoveToMatches(CardMatching cd) { cd.transform.parent = layoutAnchor; if (cd.state != CardStateMatching.Matched) { if (turnState == TurnPhaseMatching.PlayerOne) { playerOneMatches.Add(cd); cd.transform.localPosition = new Vector3(layout.playerOneMatches.x, layout.playerOneMatches.y, -layout.playerOneMatches.layerID + .5f); cd.SetSortingLayerName(layout.playerOneMatches.layerName); cd.SetSortOrder(-100 + playerOneMatches.Count); } else { playerTwoMatches.Add(cd); cd.transform.localPosition = new Vector3(layout.playerTwoMatches.x, layout.playerTwoMatches.y, -layout.playerTwoMatches.layerID + .5f); cd.SetSortingLayerName(layout.playerTwoMatches.layerName); cd.SetSortOrder(-100 + playerTwoMatches.Count); } if (cd.state == CardStateMatching.GroupOne) { cardGroupOne.Remove(cd); } else { cardGroupTwo.Remove(cd); } cd.state = CardStateMatching.Matched; } }
public bool CardMatch(CardMatching c0, CardMatching c1) { if (c0 == c1) { return(false); } if (c0.rank == c1.rank) { return(true); } //if (c0.suit == c1.suit) return true; return(false); }
public void CardClicked(CardMatching cd) { if (state != GameState.GameEnd && cd.state != CardStateMatching.Matched && pickTwo == null) { if (pickOne == null) { pickOne = cd; pickOne.FaceUp = true; } else if (pickOne != cd && CardMatch(pickOne, cd)) { pickTwo = cd; pickTwo.FaceUp = true; Invoke("CardMatchSuccessful", matchCheckDelay); } else if (pickOne != cd) { pickTwo = cd; pickTwo.FaceUp = true; Invoke("CardMatchUnsuccessful", matchCheckDelay); } } }
private void CardMatchSuccessful() { PrintDebugMsg("Match successful!"); if (turnState == TurnPhaseMatching.PlayerOne) { playerOneMatchAttempts++; } else { playerTwoMatchAttempts++; } if (turnState == TurnPhaseMatching.PlayerOne) { pickOne.transform.position = playerOneMatchesAnchor.transform.position; pickTwo.transform.position = playerOneMatchesAnchor.transform.position; pickOne.transform.parent = playerOneMatchesAnchor.transform; pickTwo.transform.parent = playerOneMatchesAnchor.transform; } else { pickOne.transform.position = playerTwoMatchesAnchor.transform.position; pickTwo.transform.position = playerTwoMatchesAnchor.transform.position; pickOne.transform.parent = playerTwoMatchesAnchor.transform; pickTwo.transform.parent = playerTwoMatchesAnchor.transform; } switch (state) { case GameState.GroupOne: cardGroupOne.Remove(pickOne); cardGroupOne.Remove(pickTwo); if (turnState == TurnPhaseMatching.PlayerOne) { playerOneMatches.Add(pickOne); playerOneMatches.Add(pickTwo); } else { playerTwoMatches.Add(pickOne); playerTwoMatches.Add(pickTwo); } break; case GameState.GroupTwo: cardGroupTwo.Remove(pickOne); cardGroupTwo.Remove(pickTwo); if (turnState == TurnPhaseMatching.PlayerOne) { playerOneMatches.Add(pickOne); playerOneMatches.Add(pickTwo); } else { playerTwoMatches.Add(pickOne); playerTwoMatches.Add(pickTwo); } break; } pickOne.state = CardStateMatching.Matched; pickTwo.state = CardStateMatching.Matched; pickOne = null; pickTwo = null; UpdateUI(); CheckWin(); if (playerTwoIsAI) { PlayAI(); } }