public Beep ReadBeep()
        {
            Beep beep = _beepReader.ReadBeep(_stream);

            _beeper.Beep(beep);

            return(beep);
        }
Example #2
0
 public void WriteBeep(Beep @object)
 {
     _beepWriter.WriteBeep(
         _stream,
         @object
         );
     _beeper.Beep(@object);
 }
Example #3
0
        private static void ClearBlock()
        {
            int combo = 0;

            for (int i = 0; i < 23; i++)
            {
                if (Enumerable.Range(0, 10).All(s => DroppedTetrominoeLocationGrid[i, s] != 0))
                {
                    _linesCleared++;
                    combo++;
                    Beeper.Beep(400, 200);
                    for (int j = 0; j < 10; j++)
                    {
                        DroppedTetrominoeLocationGrid[i, j] = 0;
                    }
                    int[,] newDroppedTetrominoeLocationGrid = new int[23, 10];
                    for (int k = 1; k < i; k++)
                    {
                        for (int l = 0; l < 10; l++)
                        {
                            newDroppedTetrominoeLocationGrid[k + 1, l] = DroppedTetrominoeLocationGrid[k, l];
                        }
                    }
                    for (int k = 1; k < i; k++)
                    {
                        for (int l = 0; l < 10; l++)
                        {
                            DroppedTetrominoeLocationGrid[k, l] = 0;
                        }
                    }
                    for (int k = 0; k < 23; k++)
                    {
                        for (int l = 0; l < 10; l++)
                        {
                            if (newDroppedTetrominoeLocationGrid[k, l] == 1)
                            {
                                DroppedTetrominoeLocationGrid[k, l] = 1;
                            }
                        }
                    }
                    Draw();
                }
            }
            _score   += (int)Math.Round(Math.Sqrt(Math.Max((combo * 50) - 50, 0)) * 5);
            _level    = (int)Math.Round(Math.Sqrt(_score * 0.01)) + 1;
            _dropRate = 300 - (22 * _level);
        }