Beispiel #1
0
        public Block RandomBlock()
        {
            if (_remainingInBlockOrder == 0)
            {
                ResetRandomOrder();
            }

            _remainingInBlockOrder -= 1;
            Block output = Block.FromName(_blockOrder[_remainingInBlockOrder]);

            output.RotateLeft();
            return(output);
        }
Beispiel #2
0
        public void HoldBlock()
        {
            if (!_swapped)
            {
                if (_saved == null)
                {
                    _saved = Block.FromName(_current.GetLetter());
                    _saved.RotateLeft();
                    _current = RandomBlock();
                }
                else
                {
                    Block temp = Block.FromName(_current.GetLetter());
                    temp.RotateLeft();
                    _current = _saved;
                    _saved   = temp;
                }

                _swapped = true;
            }
        }