Example #1
0
        public void InitModel()
        {
            GameOver = Visibility.Hidden;
            // this delegate is needed for the multi media timer defined
            // in the TimerQueueTimer class.
            _ballTimerCallbackDelegate   = new TimerQueueTimer.WaitOrTimerDelegate(BallMMTimerCallback);
            _paddleTimerCallbackDelegate = new TimerQueueTimer.WaitOrTimerDelegate(paddleMMTimerCallback);
            ScoreCounter = 0;
            // create our multi-media timers
            _ballHiResTimer = new TimerQueueTimer();
            hitBottom       = 0; // restart the counter for number times we have hit the bottom side of the game
            try
            {
                // create a Multi Media Hi Res timer.
                _ballHiResTimer.Create(1, 1, _ballTimerCallbackDelegate);
            }
            catch (QueueTimerException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.WriteLine("Failed to create Ball timer. Error from GetLastError = {0}", ex.Error);
            }

            _paddleHiResTimer = new TimerQueueTimer();
            try
            {
                // create a Multi Media Hi Res timer.
                _paddleHiResTimer.Create(2, 2, _paddleTimerCallbackDelegate);
            }
            catch (QueueTimerException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.WriteLine("Failed to create paddle timer. Error from GetLastError = {0}", ex.Error);
            }

            // create brick collection
            // place them manually at the top of the item collection in the view
            BrickCollection = new ObservableCollection <Brick>();
            int counter = 0; //counter for number of rows

            for (int brick = 0; brick < _numBricks; brick++)
            {
                BrickCollection.Add(new Brick()
                {
                    BrickHeight  = _brickHeight,
                    BrickWidth   = _brickWidth,
                    BrickVisible = System.Windows.Visibility.Visible,
                    BrickName    = brick.ToString(),
                });

                if (brick == 0)
                {
                    BrickCollection[brick].BrickCanvasLeft = 0;
                    BrickCollection[brick].BrickCanvasTop  = brick * _brickHeight; // offset the bricks from the top
                }
                else if (brick % 11 == 1 && (brick - 1) != 0)                      //shift down one and reset side
                {
                    BrickCollection[brick].BrickCanvasLeft = BrickCollection[brick - 1].BrickCanvasLeft;
                    BrickCollection[brick].BrickCanvasTop  = counter * _brickHeight;
                }
                else if ((BrickCollection[brick - 1].BrickCanvasLeft + 160) < _windowWidth)
                {
                    BrickCollection[brick].BrickCanvasLeft = BrickCollection[brick - 1].BrickCanvasLeft + 80;
                    BrickCollection[brick].BrickCanvasTop  = BrickCollection[brick - 1].BrickCanvasTop;
                }
                else if ((BrickCollection[brick - 1].BrickCanvasLeft + 160) > _windowWidth)
                {
                    counter++;
                    BrickCollection[brick].BrickCanvasLeft = 0;
                    BrickCollection[brick].BrickCanvasTop  = counter * _brickHeight;
                }
            }
            NETTimerStart(true);
            UpdateRects();
        }
Example #2
0
        public void InitModel()
        {
            // this delegate is needed for the multi media timer defined
            // in the TimerQueueTimer class.
            _ballTimerCallbackDelegate   = new TimerQueueTimer.WaitOrTimerDelegate(BallMMTimerCallback);
            _paddleTimerCallbackDelegate = new TimerQueueTimer.WaitOrTimerDelegate(paddleMMTimerCallback);


            _timerAllDelegate = new TimerQueueTimer.WaitOrTimerDelegate(allTimeMMTimerCallback); //---------------------------------


            _timerAll = new TimerQueueTimer(); // we need to show the runtime for the game
            try
            {
                _timerAll.Create(5, 5, _ballTimerCallbackDelegate);
                // tick++;
                //if (tick > 1000) {
                //    GameTime++;
                //    Gametimed = GameTime.ToString(); }
            }
            catch (QueueTimerException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.WriteLine("Failed to create Ball timer. Error from GetLastError = {0}", ex.Error);
            }


            // create our multi-media timers
            _ballHiResTimer = new TimerQueueTimer();
            try
            {
                // create a Multi Media Hi Res timer.
                _ballHiResTimer.Create(5, 5, _ballTimerCallbackDelegate);
            }
            catch (QueueTimerException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.WriteLine("Failed to create Ball timer. Error from GetLastError = {0}", ex.Error);
            }



            _paddleHiResTimer = new TimerQueueTimer();
            try
            {
                // create a Multi Media Hi Res timer.
                _paddleHiResTimer.Create(2, 2, _paddleTimerCallbackDelegate);
            }
            catch (QueueTimerException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.WriteLine("Failed to create paddle timer. Error from GetLastError = {0}", ex.Error);
            }

            BrickCollection = new ObservableCollection <Brick>();
            for (int i = 0; i < numCol; i++)
            {
                for (int j = 0; j < numRow; j++)
                {
                    BrickCollection.Add(new Brick()
                    {
                        //BrickRectangle
                        BrickHeight     = _brickHeight,
                        BrickFill       = FillColorRed,
                        BrickWidth      = _brickWidth,
                        BrickName       = i.ToString(),
                        BrickVisible    = System.Windows.Visibility.Visible,
                        BrickBackground = System.Windows.Media.Brushes.Red,


                        BrickCanvasLeft = i * _brickWidth,
                        BrickCanvasTop  = j * _brickHeight, // offset the bricks from the top of the screen by a bitg

                        BrickRectangle = new Rectangle(i * _brickWidth, j * _brickHeight, _brickWidth - 1, _brickHeight - 1)
                    });
                }
            }
            UpdateRects();
        }