Esempio n. 1
0
        public LevelPage()
        {
            InitializeComponent();

            Loaded += (s, e) =>
            {
                NavigationContext.QueryString.TryGetValue("level", out _levelName);
                System.Diagnostics.Debug.WriteLine(_levelName);
                _quizContent    = new QuizContent();
                _level          = _quizContent.GetLevel(_levelName);
                level_text.Text = _level.LevelName;

                _solvedAns = new List <bool>();
                var iso = new IOHelper();
                try
                {
                    // koding untuk flag sudah diselesaikan
                    Profile profil = JsonConvert.DeserializeObject <Profile>(iso.Read("profile.json"));

                    bool result;
                    foreach (Quiz item in _level.Quizes)
                    {
                        result = false;
                        foreach (string item2 in profil.SolvedQuizes)
                        {
                            if (item.ResourceFile.Equals(item2))
                            {
                                result = true;
                                break;
                            }
                        }
                        _solvedAns.Add(result);
                    }

                    // new quiz
                    List <Quiz> quizes = new List <Quiz>();
                    int         i      = 0;
                    foreach (var item in _level.Quizes)
                    {
                        if (_solvedAns[i])
                        {
                            _level.Quizes[i].IsSolved  = true;
                            _level.Quizes[i].CheckFile = "/Images/correct.png";
                        }
                        else
                        {
                            _level.Quizes[i].IsSolved = true;
                            //_level.Quizes[i].CheckFile = "/Assets/trans.png";
                        }
                        i++;
                    }

                    radListBox.ItemsSource = _level.Quizes;
                }
                catch (Exception)
                {
                }
            };
        }
Esempio n. 2
0
 public QuizAnswerLayer(QuizContent content, string name, Collection <KeyValuePair <int, int> > answers,
                        bool isRenameable = false, bool isHideable = true, bool isDeletable = false, bool isShareable = false,
                        bool isInkable    = true)
     : base(content, name, isRenameable, isHideable, isDeletable, isShareable, isInkable)
 {
     BarChart       = new BarChart(new Point(0, 0), answers);
     NbParticipants = 0;
 }
Esempio n. 3
0
        public MainWindow(ISampleService sampleService, IOptions <AppSettings> settings, DatabaseContext dataContext)
        {
            InitializeComponent();
            this.sampleService = sampleService;
            this.settings      = settings.Value;
            context            = dataContext;

            // Tesztadatokkal történő feltöltés
            // A QuizContents tábla feltöltése a initial_questions.csv-ből nyert kezdő adatokkal, ha táblában 0 rekord van
            if (context.QuizContents.ToList().Count() == 0)
            {
                using (TextFieldParser parser = new TextFieldParser("initial_questions.csv", Encoding.UTF8))
                {
                    parser.TextFieldType = FieldType.Delimited;
                    parser.SetDelimiters(";");
                    while (!parser.EndOfData)
                    {
                        string[]    fields           = parser.ReadFields();
                        QuizContent temp_quizcontent = new QuizContent
                        {
                            Question     = fields[0],
                            GoodAnswer   = fields[1],
                            WrongAnswer1 = fields[2],
                            WrongAnswer2 = fields[3]
                        };
                        context.QuizContents.Add(temp_quizcontent);
                    }
                    context.SaveChanges();
                }
            }

            // Tesztadatokkal történő feltöltés
            // A TopScores tábla feltöltése a initial_topscores.csv-ből nyert kezdő adatokkal, ha a táblában 0 rekord van
            if (context.TopScores.ToList().Count() == 0)
            {
                using (TextFieldParser parser = new TextFieldParser("initial_topscores.csv", Encoding.UTF8))
                {
                    parser.TextFieldType = FieldType.Delimited;
                    parser.SetDelimiters(";");
                    while (!parser.EndOfData)
                    {
                        string[] fields        = parser.ReadFields();
                        TopScore temp_topscore = new TopScore
                        {
                            Name  = fields[0],
                            Score = int.Parse(fields[1])
                        };
                        context.TopScores.Add(temp_topscore);
                    }
                    context.SaveChanges();
                }
            }

            // A többi ablak létrehozása
            topscoreswindow = new TopScoresWindow(this, context);
            dbmanagerwindow = new DbManagerWindow(this, context);
            quizwindow      = new QuizWindow(this, context);
        }
Esempio n. 4
0
        private readonly QuizContent editeditem;    // a szerkesztendő rekord

        // Konstruktor
        public EditRecordDialogBox(DatabaseContext dbcontext, QuizContent selecteditem)
        {
            InitializeComponent();
            context                  = dbcontext;
            editeditem               = selecteditem;
            questionTextBox.Text     = selecteditem.Question;       // a kiválasztott rekord adatainak a kiírása
            goodAnswerTextBox.Text   = selecteditem.GoodAnswer;     // az adott TextBox-ba
            wrongAnswer1TextBox.Text = selecteditem.WrongAnswer1;
            wrongAnswer2TextBox.Text = selecteditem.WrongAnswer2;
        }
    public bool CheckAnswer(QuizContent _content)
    {
        var content = _content as MultipleChoice;

        for (int i = 0; i < content.QuizOptions.Count; i++)
        {
            if (content.QuizOptions[i].IsCorrect != multipleChoiceObjects[i].isOn)
            {
                return(false);
            }
        }
        return(true);
    }
Esempio n. 6
0
        // Beírt adatok validációja, meglévő rekord frissítése
        private void OnClick_Save(object sender, RoutedEventArgs e)
        {
            // Hibaüzenethez a MessageBox részleges előkészítése
            string           caption = "Hiba";
            MessageBoxButton button  = MessageBoxButton.OK;
            MessageBoxImage  icon    = MessageBoxImage.Error;

            // A validáció csak annyira terjed ki, hogy megnézzük nem üresek-e a TextBox-ok
            if (questionTextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg kérdést!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (goodAnswerTextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg helyes választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (wrongAnswer1TextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg egy rossz választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (wrongAnswer2TextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg egy rossz választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            // Ha idáig eljut, akkor elvileg frissíthejük a kiválasztott rekordot az adatbázisban
            QuizContent recordtoupdate = context.QuizContents.Find(editeditem.Id);

            if (recordtoupdate != null)
            {
                recordtoupdate.Question     = questionTextBox.Text;
                recordtoupdate.GoodAnswer   = goodAnswerTextBox.Text;
                recordtoupdate.WrongAnswer1 = wrongAnswer1TextBox.Text;
                recordtoupdate.WrongAnswer2 = wrongAnswer2TextBox.Text;
                context.SaveChanges();
                Close();
            }
            else
            {
                // Ha nem sikerül a változásokat visszamenteni az adatbázisba, akkor hibaüzenet.
                string messageBoxText = "Nem sikerült menteni a változásokat!";
                MessageBox.Show(messageBoxText, caption, button, icon);
            }
        }
Esempio n. 7
0
        public AnswerPage()
        {
            InitializeComponent();

            Loaded += (s, e) =>
            {
                quizContent     = new QuizContent();
                level           = quizContent.GetLevel(level_name);
                level_text.Text = level.LevelName;

                quiz               = level.Quizes[int.Parse(id) - 1];
                answer             = quiz.Answer;
                guess_image.Source = new BitmapImage(new Uri(quiz.ResourceFile, UriKind.Relative));
            };
        }
    public void Display(QuizContent _content)
    {
        var content = _content as MultipleChoice;

        PrefabList.CacheInstances(
            prefab: OptionPrefab,
            parent: MultipleChoiceOptionContainer,
            amountWanted: content.QuizOptions.Count,
            cache: multipleChoiceObjects
            );
        for (int i = 0; i < content.QuizOptions.Count; i++)
        {
            multipleChoiceObjects[i].GetComponentInChildren <Text>().text = content.QuizOptions[i].optionText;
        }
    }
        // Beírt adatok validációja, új rekord létrehozása
        private void OnClick_Save(object sender, RoutedEventArgs e)
        {
            // Hibaüzenethez a MessageBox részleges előkészítése
            string           caption = "Hiba";
            MessageBoxButton button  = MessageBoxButton.OK;
            MessageBoxImage  icon    = MessageBoxImage.Error;

            // A validáció csak annyira terjed ki, hogy megnézzük nem üresek-e a TextBox-ok
            if (questionTextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg kérdést!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (goodAnswerTextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg helyes választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (wrongAnswer1TextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg egy rossz választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            if (wrongAnswer2TextBox.Text == "")
            {
                string messageBoxText = "Nem adott meg egy rossz választ!";
                MessageBox.Show(messageBoxText, caption, button, icon);
                return;
            }
            // Ha idáig eljut, akkor elvileg minden rendben és hozzáadhatjuk az adatbázishoz
            QuizContent ujrekord = new QuizContent
            {
                Question     = questionTextBox.Text,
                GoodAnswer   = goodAnswerTextBox.Text,
                WrongAnswer1 = wrongAnswer1TextBox.Text,
                WrongAnswer2 = wrongAnswer2TextBox.Text
            };

            context.QuizContents.Add(ujrekord);
            context.SaveChanges();
            Close();
        }
Esempio n. 10
0
    /// <summary>Display the given content in the quiz panel</summary>
    public void Display(QuizContent content)
    {
        currentContent      = content;
        QuestionObject.text = content.Question;

        if (QuizInput == null)
        {
            QuizInput = GetComponent <IQuizInput>();
            if (QuizInput == null)
            {
                throw new NullReferenceException("Missing QuizInput component");
            }
        }

        ResultObject.text   = currentContent.ResultText;
        ResultObject.color -= new Color(0, 0, 0, 1);
        QuizInput.Display(content);
    }
Esempio n. 11
0
 public void Display(QuizContent _content)
 {
     // var content = _content as ShortAnswer;
 }
Esempio n. 12
0
    public bool CheckAnswer(QuizContent _content)
    {
        // var content = _content as MultipleChoice;

        return(UserInput.text != "");
    }