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(); }
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(); }