public Game( double framerate, int intraFrames, Rect _sceneRect, Grid grid)
 {
     this.intraFrames = intraFrames;
     this.targetFrameRate = framerate * intraFrames;
     sceneRect = _sceneRect;
     poseTimer = new CircleTimer(sceneRect.Width / 2, sceneRect.Height / 2, CIRCLE_TIMER_WIDTH, CIRCLE_TIMER_HEIGHT);
     gamePauseButton = new PauseButton(PAUSE_BUTTON_RADIUS, sceneRect.Width / 2, PAUSE_BUTTON_RADIUS + 2);
     livesRemaining = STARTING_LIVES;
     Water = new LivesIndicator(0, sceneRect.Width, sceneRect.Height, 3, livesRemaining);
     RightHand = new Ellipse();
     KinectPose = new Pose();
     highscoreMenu = new HighScoreInitialMenu(grid.Children);
     kinectHighScores = new HighScores();
     mainMenu = new Menu(grid.Children, "mainMenu");
     mainMenu.addButton(new Button("Exit"), MenuButtonLocation.LeftCenter);
     mainMenu.addButton(new Button("Start"), MenuButtonLocation.Center);
     mainMenu.addButton(new Button("Leaderboard"), MenuButtonLocation.RightCenter);            
     mainMenu.draw();
     kssLeaderBoard = new LeaderBoard();
     kssLeaderBoard.fillLeaderBoard(kinectHighScores.getHighScores());
     GameOver.Open(new Uri(".\\audio\\GameOver.wav", UriKind.RelativeOrAbsolute));
     SimonDoesnt.Open(new Uri(".\\audio\\SimonDoesnt.wav", UriKind.RelativeOrAbsolute));
     SimonSays.Open(new Uri(".\\audio\\SimonSays.wav", UriKind.RelativeOrAbsolute));
     InvalidPose.Open(new Uri(".\\audio\\InvalidPose.wav", UriKind.RelativeOrAbsolute));
 }
        public void inputHighScore(HighScores _currHighScores, int _score, UIElement _grid, Point _currCursor)
        {
            //UnHide(allLetters);
            MenuButton button;
            //highscoreCanvas.Visibility = Visibility.Visible;
            draw();
            Point btnBackPoint = highscoreCanvas.TranslatePoint(new Point(6,178), _grid);
            Point btnDonePoint = highscoreCanvas.TranslatePoint(new Point(459, 178), _grid);
            //check if back or done is pushed
            if (_currCursor.X >= btnBackPoint.X && _currCursor.X <= (btnBackPoint.X + 135) &&
                _currCursor.Y >= btnBackPoint.Y && _currCursor.Y <= (btnBackPoint.Y + 41) &&
                btnBack.IsEnabled)
            {
                if (backtimer == 100)
                {
                    Hide(atoe);
                    Hide(ftoj);
                    Hide(ktoo);
                    Hide(ptot);
                    Hide(utoz);
                    btnBack.IsEnabled = false;
                }
                else
                {
                    backtimer = backtimer + 1;
                }
            }
            else if (_currCursor.X >= btnDonePoint.X && _currCursor.X <= (btnDonePoint.X + 135) &&
                     _currCursor.Y >= btnDonePoint.Y && _currCursor.Y <= (btnDonePoint.Y + 41) &&
                     btnDone.IsEnabled)
            {
                if (donetimer == 100)
                {
                    Hide(allLetters);
                }
                else
                {
                    donetimer = donetimer + 1;
                }
            }
            else
            {
                backtimer = 0;
                donetimer = 0;
            }

            if (utoz.hiddenStatus() == "unhidden")
            {
                button = utoz.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        initials = initials + "U";
                        buttonPushed(utoz);
                        break;
                    case MenuButton.LeftCenter:
                        initials = initials + "V";
                        buttonPushed(utoz);
                        break;
                    case MenuButton.Center:
                        initials = initials + "W";
                        buttonPushed(utoz);
                        break;
                    case MenuButton.RightCenter:
                        initials = initials + "Y";
                        buttonPushed(utoz);
                        break;
                    case MenuButton.Right:
                        initials = initials + "Z";
                        buttonPushed(utoz);
                        break;
                }
            }
            else if (ptot.hiddenStatus() == "unhidden")
            {
                button = ptot.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        initials = initials + "P";
                        buttonPushed(ptot);
                        break;
                    case MenuButton.LeftCenter:
                        initials = initials + "Q";
                        buttonPushed(ptot);
                        break;
                    case MenuButton.Center:
                        initials = initials + "R";
                        buttonPushed(ptot);
                        break;
                    case MenuButton.RightCenter:
                        initials = initials + "S";
                        buttonPushed(ptot);
                        break;
                    case MenuButton.Right:
                        initials = initials + "T";
                        buttonPushed(ptot);
                        break;
                }
            }
            else if (ktoo.hiddenStatus() == "unhidden")
            {
                button = ktoo.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        initials = initials + "K";
                        buttonPushed(ktoo);
                        break;
                    case MenuButton.LeftCenter:
                        initials = initials + "L";
                        buttonPushed(ktoo);
                        break;
                    case MenuButton.Center:
                        initials = initials + "M";
                        buttonPushed(ktoo);
                        break;
                    case MenuButton.RightCenter:
                        initials = initials + "N";
                        buttonPushed(ktoo);
                        break;
                    case MenuButton.Right:
                        initials = initials + "O";
                        buttonPushed(ktoo);
                        break;
                }
            }
            else if (ftoj.hiddenStatus() == "unhidden")
            {
                button = ftoj.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        initials = initials + "F";
                        buttonPushed(ftoj);
                        break;
                    case MenuButton.LeftCenter:
                        initials = initials + "G";
                        buttonPushed(ftoj);
                        break;
                    case MenuButton.Center:
                        initials = initials + "H";
                        buttonPushed(ftoj);
                        break;
                    case MenuButton.RightCenter:
                        initials = initials + "I";
                        buttonPushed(ftoj);
                        break;
                    case MenuButton.Right:
                        initials = initials + "J";
                        buttonPushed(ftoj);
                        break;
                }
            }
            else if (atoe.hiddenStatus() == "unhidden")
            {
                button = atoe.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        initials = initials + "A";
                        buttonPushed(atoe);
                        break;
                    case MenuButton.LeftCenter:
                        initials = initials + "B";
                        buttonPushed(atoe);
                        break;
                    case MenuButton.Center:
                        initials = initials + "C";
                        buttonPushed(atoe);
                        break;
                    case MenuButton.RightCenter:
                        initials = initials + "D";
                        buttonPushed(atoe);
                        break;
                    case MenuButton.Right:
                        initials = initials + "E";
                        buttonPushed(atoe);
                        break;
                }
            }
            else if (allLetters.hiddenStatus() == "unhidden")
            {
                button = allLetters.buttonPushed(_currCursor, _grid);
                switch (button)
                {
                    case MenuButton.Left:
                        //atoe.unhideMenu();
                        allLetters.deactivateButton();
                        UnHide(atoe);
                        btnBack.IsEnabled = true;
                        break;
                    case MenuButton.LeftCenter:
                        //ftoj.unhideMenu();
                        allLetters.deactivateButton();
                        UnHide(ftoj);
                        btnBack.IsEnabled = true;
                        break;
                    case MenuButton.Center:
                        //ktoo.unhideMenu();
                        allLetters.deactivateButton();
                        UnHide(ktoo);
                        btnBack.IsEnabled = true;
                        break;
                    case MenuButton.RightCenter:
                        //ptot.unhideMenu();
                        allLetters.deactivateButton();
                        UnHide(ptot);
                        btnBack.IsEnabled = true;
                        break;
                    case MenuButton.Right:
                        //utoz.unhideMenu();
                        allLetters.deactivateButton();
                        UnHide(utoz);
                        btnBack.IsEnabled = true;
                        break;
                }
            }
            txtBoxinitials.Text = initials;

            //Exit loop when done is checked
            if (allLetters.hiddenStatus() == "hidden")
            {
                _currHighScores.addHighScore(_score,initials);
                highscoreCanvas.Visibility = Visibility.Hidden;
            }            
        }