//ステージを選ぶ
    void StageSelect()
    {
        if (creditFlag)
        {
            if (controller.MoveSelectionUp() || controller.MoveSelectionRight())
            {
                creditFlag = false;
            }
            return;
        }
        //選択ステージが端っこじゃないとき
        if (!(stage == allButton))
        {
            if (!(stage % constrain == 0))
            {
                if (controller.MoveSelectionRight())
                {
                    stage++;
                    return;
                }
            }
        }
        if (!(stage % constrain == 1))
        {
            if (controller.MoveSelectionLeft())
            {
                stage--;
                return;
            }
        }


        //終わりのページじゃないとき
        if (!(page == allPage))
        {
            //左下の時クレジットボタンに移動
            if (page * panelButton - constrain + 1 == stage)
            {
                if (controller.MoveSelectionDown() || controller.MoveSelectionLeft())
                {
                    creditFlag = true;
                }
            }

            //下にシフトできるとき
            if (stage + constrain <= (panelButton * page))
            {
                if (controller.MoveSelectionDown())
                {
                    stage += constrain;
                }
            }
            //上にシフトできるとき
            if (stage - constrain > ((panelButton * page) - panelButton))
            {
                if (controller.MoveSelectionUp())
                {
                    stage -= constrain;
                }
            }
        }
        //終わりのページの時
        else
        {
            int temple = allButton % constrain;
            temple = temple == 0 ? constrain : temple;
            //左下の時クレジットボタンに移動
            if (allButton - (temple) + 1 == stage)
            {
                if (controller.MoveSelectionDown() || controller.MoveSelectionLeft())
                {
                    creditFlag = true;
                }
            }

            //下にシフトできるとき
            if (stage + constrain <= allButton)
            {
                if (controller.MoveSelectionDown())
                {
                    stage += constrain;
                }
            }

            //上にシフトできるとき
            if (stage - constrain > (page - 1) * panelButton)
            {
                if (controller.MoveSelectionUp())
                {
                    stage -= constrain;
                }
            }
        }
    }