Пример #1
0
 /// <summary>
 /// Adding new Tetromino to queue
 /// </summary>
 /// <param name="brick"></param>
 public void Enqueue(Tetromino brick)
 {
     if (this.size > this.capacity)
     {
         Console.WriteLine("Queue is full!");
     }
     else
     {
         this.arr[size] = brick;
         this.size++;
     }
 }
Пример #2
0
        /// <summary>
        /// Dequeue a tetromino from queue
        /// </summary>
        public Tetromino Dequeue()
        {
            if (this.size == 0)
            {
                throw new ArgumentNullException("GG");
            }


            Tetromino dequeuedTetromino = arr[size - 1];

            arr[size - 1] = null;
            size--;

            return(dequeuedTetromino);
        }
Пример #3
0
        /// <summary>
        /// Printing all Tetromino
        /// </summary>
        public void Print()
        {
            while (size != 0)
            {
                Tetromino kosticka = Dequeue();

                for (int j = 0; j < kosticka.Size; j++)
                {
                    Console.ForegroundColor = kosticka.Color;


                    int currentBrickX = kosticka.tetrominoShape[j].PositionX;
                    int currentBrickY = kosticka.tetrominoShape[j].PositionY;

                    Console.SetCursorPosition(currentBrickX, currentBrickY);
                    Console.Write(Constants.SIGN);
                }
            }
        }