Загрузка данных


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        int Numb = 0;
        int score = 0;

        bool hint50 = true;
        bool hintHall = true;
        bool hintFriend = true;

        List<AfQ> list = new List<AfQ>();

        public MainWindow()
        {
            InitializeComponent();
            list = AfQ.GetQuestions();
            UpdateQuestion();
        }

        private void UpdateQuestion()
        {
            var q = list[Numb];

            QuestionNumber.Text = "Вопрос № " + q.Number;
            QuestionText.Text = q.Question;

            Answer1.Content = q.Answer1;
            Answer2.Content = q.Answer2;
            Answer3.Content = q.Answer3;
            Answer4.Content = q.Answer4;

            Answer1.IsChecked = false;
            Answer2.IsChecked = false;
            Answer3.IsChecked = false;
            Answer4.IsChecked = false;

            Answer1.Visibility = Visibility.Visible;
            Answer2.Visibility = Visibility.Visible;
            Answer3.Visibility = Visibility.Visible;
            Answer4.Visibility = Visibility.Visible;

            ScoreText.Text = "Очки: " + score + " | Цена: " + q.Price;
        }

        private void AnswerForQuestion(object sender, RoutedEventArgs e)
        {
            var q = list[Numb];
            string selected = "";

            if (Answer1.IsChecked == true) selected = Answer1.Content.ToString();
            if (Answer2.IsChecked == true) selected = Answer2.Content.ToString();
            if (Answer3.IsChecked == true) selected = Answer3.Content.ToString();
            if (Answer4.IsChecked == true) selected = Answer4.Content.ToString();

            if (selected == "")
            {
                MessageBox.Show("Выберите ответ!");
                return;
            }

            if (selected == q.RightAnswer)
            {
                score += q.Price;
                MessageBox.Show("Правильно! +" + q.Price);

                Numb++;

                if (Numb >= list.Count)
                {
                    MessageBox.Show("Победа! Ваш счет: " + score);
                    Close();
                }
                else
                {
                    UpdateQuestion();
                }
            }
            else
            {
                MessageBox.Show("Неправильно! Итог: " + score);
                Close();
            }
        }

        // 50/50
        private void Button_Click_50(object sender, RoutedEventArgs e)
        {
            if (hint50)
            {
                var q = list[Numb];

                if (Answer1.Content.ToString() != q.FiftyFiftyAnswer1 &&
                    Answer1.Content.ToString() != q.FiftyFiftyAnswer2)
                    Answer1.Visibility = Visibility.Hidden;

                if (Answer2.Content.ToString() != q.FiftyFiftyAnswer1 &&
                    Answer2.Content.ToString() != q.FiftyFiftyAnswer2)
                    Answer2.Visibility = Visibility.Hidden;

                if (Answer3.Content.ToString() != q.FiftyFiftyAnswer1 &&
                    Answer3.Content.ToString() != q.FiftyFiftyAnswer2)
                    Answer3.Visibility = Visibility.Hidden;

                if (Answer4.Content.ToString() != q.FiftyFiftyAnswer1 &&
                    Answer4.Content.ToString() != q.FiftyFiftyAnswer2)
                    Answer4.Visibility = Visibility.Hidden;

                hint50 = false;
                Hint50.Background = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
            }
            else
            {
                MessageBox.Show("Подсказка уже использована!", "Ошибка");
            }
        }

        // Звонок другу
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            if (hintFriend)
            {
                hintFriend = false;
                HintFriend.Background = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));

                var q = list[Numb];
                MessageBox.Show("Друг думает: " + q.RightAnswer);
            }
            else
            {
                MessageBox.Show("Подсказка уже использована!", "Ошибка");
            }
        }

        // Помощь зала
        private void Button_Click_Hall(object sender, RoutedEventArgs e)
        {
            if (hintHall)
            {
                hintHall = false;
                HintHall.Background = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));

                MessageBox.Show("Зал считает, что это правильный ответ");
            }
            else
            {
                MessageBox.Show("Подсказка уже использована!", "Ошибка");
            }
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ResizeAnswers();
        }

        private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            ResizeAnswers();
        }

        private void ResizeAnswers()
        {
            double windowWidth = this.ActualWidth;
            double answerWidth = (windowWidth - 80) / 2;

            Answer1.Width = answerWidth;
            Answer2.Width = answerWidth;
            Answer3.Width = answerWidth;
            Answer4.Width = answerWidth;
        }
    }
}