/// <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++; } }
/// <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); }
/// <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); } } }