/** * This method help for quick rebuilding the board after the pick. */ private static bool isMatch(string i_Card1, string i_Card2) { bool hasMatched = true; int row1 = int.Parse(i_Card1[1].ToString()); eColumnIndex col1 = (eColumnIndex)Enum.Parse(typeof(eColumnIndex), i_Card1[0].ToString()); int row2 = int.Parse(i_Card2[1].ToString()); eColumnIndex col2 = (eColumnIndex)Enum.Parse(typeof(eColumnIndex), i_Card2[0].ToString()); boardClearAndReBuild(i_Card2); if (s_Board.GetShownCard(row1, (int)col1).Equals(s_Board.GetShownCard(row2, (int)col2))) { string pointMessage = ""; if (s_PlayerTurn == 1) { s_Player1.Score++; pointMessage = s_Player1.Name; } else if (s_PlayerTurn == 2) { s_Player2H.Score++; pointMessage = s_Player2H.Name; } else { s_Player2C.Score++; pointMessage = s_Player2C.Name; } if (!s_IsHuman) { s_Player2C.RemoveFromBoardMemory(i_Card1, i_Card2); } Console.WriteLine("{0} got a point!\n", pointMessage); } else { hasMatched = false; System.Threading.Thread.Sleep(2000); //hides first card s_Board.Hide(row1, (int)col1); //hides second card s_Board.Hide(row2, (int)col2); boardClearAndReBuild(""); } return(hasMatched); }