/// <summary> /// Adds new PexesoCard to coordinates on Pexesoboard /// </summary> /// <param name="row">Rows coordinate in field</param> /// <param name="column">Column coordinate in field</param> /// <param name="picture">Picture represeinting PexesoCard</param> public void AddToPexesoBoard(int row, int column) { int verifInt = FindVerificationInt(PexesoBoardPairs); _pexesoCardsArray[row, column] = new PexesoCard($"PexesoCard[{row}][{column}]", verifInt, FindImage(verifInt)); Console.WriteLine("Added [" + _pexesoCardsArray[row, column].ToString() + "]"); }
/// <summary> /// Selects a PictureBox from pexesoLayoutPanel /// </summary> /// <param name="sender">A Picture box object which we clicked</param> /// <param name="e">A click event</param>aa private void Picture_Click(object sender, EventArgs e) { PictureBox clickedPictureBox = sender as PictureBox; PexesoCard clickedPexesoCard = _board.GetPexesoCard(GetPictureBoxRow(clickedPictureBox.Name), GetPictureBoxColumn(clickedPictureBox.Name)); clickedPictureBox.Image = clickedPexesoCard.Picture; clickedPictureBox.Refresh(); if (_selectedPictureBox == null && _selectedPexesoCard == null) { _selectedPictureBox = clickedPictureBox; _selectedPexesoCard = clickedPexesoCard; _selectedPictureBox.Enabled = false; } else if (_selectedPictureBox != null && _selectedPexesoCard != null) { completedCounter += 1; _beforeSelectedPictureBox = _selectedPictureBox; _beforeSelectedPexesoCard = _selectedPexesoCard; _selectedPictureBox = clickedPictureBox; _selectedPexesoCard = clickedPexesoCard; if (CheckIfSamePair()) { CheckIfGameEnds(); } else { _selectedPictureBox.Enabled = true; _beforeSelectedPictureBox.Enabled = true; } _selectedPictureBox = null; _beforeSelectedPictureBox = null; _selectedPexesoCard = null; _beforeSelectedPexesoCard = null; } }
/// <summary> /// Checks if PexesoCards belong to same pair /// </summary> /// <param name="card1">First PexesoCard</param> /// <param name="card2">Second PexesoCard</param> /// <returns>True - belong to same pair, False - doesnt belong to same pair</returns> public bool CheckIfSame(PexesoCard card1, PexesoCard card2) { if (card1.VeryfInt == card2.VeryfInt) { return(true); } else { return(false); } }