Exemplo n.º 1
0
 public Card(Texture2D picture, Vector2 position, SpriteBatch spriteBatch, ContentManager content, Card partner, Stopwatch stopWatch)
     : this(picture,position, spriteBatch, content, stopWatch)
 {
     myPartner = partner;
     partner.myPartner = this;
 }
Exemplo n.º 2
0
        private void SecondMove(int r, int c)
        {
            _stopWatchNotify.Reset();
            _selectedCard2 = _cardList[r, c];
            _selectedCard2.IsVisible = true;
            if (_selectedCard1.myPartner == _selectedCard2)//Dette er hvis de er et par
            {
                PairFound(r, c);
            }
            else//Hvis det ikke er et par
            {
                PairNotFound(r, c);

                if (!_notUtilized.Contains(_selectedCard1) && !_utilized.Contains(_selectedCard1))
                {
                    _utilized.Add(_selectedCard1);
                }
                if (!_notUtilized.Contains(_selectedCard2) && !_utilized.Contains(_selectedCard2))
                {
                    _utilized.Add(_selectedCard2);
                }
            }
        }
Exemplo n.º 3
0
        private void CreateCards(List<Texture2D> pictureList, int[,] pairArray)
        {
            for (int r = 0; r < GlobalValues.rowSize; r++)
            {
                for (int c = 0; c < GlobalValues.columnSize; c++)
                {
                    _cardList[r, c] = new Card(pictureList[pairArray[r, c] - 1], new Vector2(r, c), _spriteBatch, _content, _stopWatch);

                }
            }
            CreatePartner(pairArray);
            _pairsLeft = Vendespillet.AmountOfPictures();
        }
Exemplo n.º 4
0
        private void FirstMove(int r, int c)
        {
            _selectedCard1 = _cardList[r, c];
            if (!_knownCards.Contains(_selectedCard1))
            {
                CreateForetog(FejlType.GUESS_FIRST, r, c);
            }
            else if(!_knownCards.Contains(_selectedCard1.myPartner))
            {
                CreateForetog(FejlType.DEAD_MOVE_FIRST, r, c);
            }
            else
            {
                CreateForetog(FejlType.KNOW_PARTNER_MOVE_FIRST, r, c);
            }

            if (_pairsLeft == 1)
            {
                CreateForetog(FejlType.LAST_CARDS_FIRST, r, c);
            }

            MissedOpportunityFirstMove();

            _selectedCard1.IsVisible = true;
        }
Exemplo n.º 5
0
        public void Update()
        {
            if (_selectedCard1 != null && _selectedCard1.isTurning)
            {
                _stopWatchNotify.Reset();
            }
            else if (!_stopWatchNotify.IsRunning && _selectedCard1 != null && !_selectedCard1.isTurning && _selectedCard1.IsVisible)
            {
                _stopWatchNotify.Start();
            }

            if (_stopWatch.IsRunning && _stopWatch.Elapsed.TotalSeconds >= GlobalValues.optionsWrapper.VendeTid && _selectedCard1 != null && _selectedCard2 != null)
            {
                _selectedCard1.IsVisible = false;
                _selectedCard2.IsVisible = false;
                _selectedCard1 = null;
                _selectedCard2 = null;

            }
            if (_selectedCard1 != null && _selectedCard2 != null && _selectedCard1.myPartner == _selectedCard2 && _selectedCard1.OutOfBoard() && _selectedCard2.OutOfBoard())
            {
                _selectedCard1 = null;
                _selectedCard2 = null;
            }
        }