Ejemplo n.º 1
0
        private void ButtonCheck(BUTTON_POSIOION pos, string ansString)
        {
            if (BUTTON_POSIOION.undo == pos)
            {
                if (undoStack.Count > 0)
                {
                    this.QuestionScore -= undoStack.Pop();//回歸問題tree的位置
                    for (int i = 0; i < 2; i++)//把Q跟A移除掉
                        this.QuestionHistroyList.Items.RemoveAt(this.QuestionHistroyList.Items.Count - 1);
                    this.UndoButton.IsEnabled = undoStack.Count > 0;//防呆 stack的size要大於0才能點
                    this.LButton.Visibility = Visibility.Visible;
                    this.RButton.Visibility = Visibility.Visible;
                }
            }
            else//點下左邊中間右邊的button之後
            {
                int score = 1;
                StringData.ModifySKU[questions[this.QuestionScore].ButtonsLabel[(int)pos].MethodName](ansString);
                undoStack.Push(score);//執行過的放到stack做紀錄
                this.QuestionHistroyList.Items.Add(this.QLabel.Content);//印出問題
                this.QuestionHistroyList.Items.Add("A:" + ansString);
                this.UndoButton.IsEnabled = true;
                this.QuestionScore += score;
                if (6 == this.QuestionScore)//代表到了結尾
                {
                    this.LButton.Visibility = Visibility.Hidden;
                    this.RButton.Visibility = Visibility.Hidden;
                    //MessageBox.Show(ansLabels[questions[this.QuestionScore].ButtonsLabel[(int)pos].AnsID], "Information");
                    MessageBox.Show("Generating files:\r\n  SKUNoDOS.bat\r\n  SKUNoEFI.nsh\r\n  SKUNoWin.bat\r\n  Config.txt\r\n","Notify");
                    StringData.GenBatFile(this.QuestionHistroyList.Items);
                    return;
                }
                
                

            }
            this.LButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.left].Label;
            this.RButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.right].Label;

            if (questions[this.QuestionScore].ButtonsLabel.Count > 2)
            {
                this.MButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.mid].Label;
                this.MButton.Visibility = Visibility.Visible;
                this.M2Button.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.mid + 1].Label;
                this.M2Button.Visibility = Visibility.Visible;
            }
            else
            {
                this.MButton.Visibility = Visibility.Hidden;
                this.M2Button.Visibility = Visibility.Hidden;

            }
            this.QLabel.Content = questions[this.QuestionScore].QString;
            this.NoteLabel.Content = this.QLabel.Content.ToString().Contains(StringData.AHCI_RAID_STR) ? StringData.NOTE_STR : "";
        }
        private void ButtonCheck(BUTTON_POSIOION pos, string ansString)
        {
            if (BUTTON_POSIOION.undo == pos)
            {
                if (undoStack.Count > 0)
                {
                    this.QuestionScore -= undoStack.Pop();//回歸問題tree的位置
                    for (int i = 0; i < 2; i++)//把Q跟A移除掉
                        this.QuestionHistroyList.Items.RemoveAt(this.QuestionHistroyList.Items.Count - 1);
                    this.UndoButton.IsEnabled = undoStack.Count > 0;//防呆 stack的size要大於0才能點
                }
            }
            else//點下左邊中間右邊的button之後
            {
                int score = questions[this.QuestionScore].ButtonsLabel[(int)pos].JumpStep;
                if (-1 == score)//代表到了結尾
                {
                    MessageBox.Show(ansLabels[questions[this.QuestionScore].ButtonsLabel[(int)pos].AnsID], "Infromation");
                    return;
                }
                undoStack.Push(score);//執行過的放到stack做紀錄
                this.QuestionHistroyList.Items.Add(this.QLabel.Content);//印出問題
                this.QuestionHistroyList.Items.Add("A:" + ansString);
                this.UndoButton.IsEnabled = true;
                this.QuestionScore += score;
            }
            this.LButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.left].Label;
            this.RButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.right].Label;

            if (questions[this.QuestionScore].ButtonsLabel.Count > 2)
            {
                this.MButton.Content = questions[this.QuestionScore].ButtonsLabel[(int)BUTTON_POSIOION.mid].Label;
                this.MButton.Visibility = Visibility.Visible;
            }
            else
                this.MButton.Visibility = Visibility.Hidden;
            this.QLabel.Content = questions[this.QuestionScore].QString;
        }