Загрузка данных
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp1
{
public partial class MainWindow : Window
{
int Numb = 1;
int score = 0;
bool hint50 = true;
bool hintHall = true;
bool hintFriend = true;
List<AfQ> qwest = new List<AfQ>();
Random rnd = new Random();
public MainWindow()
{
InitializeComponent();
qwest = AfQ.GetQuestions();
UpdateQuestion();
}
private void AnswerForQuestion(object sender, RoutedEventArgs e)
{
var q = qwest.Where(m => m.Number == Numb).FirstOrDefault();
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 > qwest.Count)
{
EndWindow endWindow = new EndWindow(score, qwest.Sum(x => x.Price));
endWindow.Show();
this.Close();
}
else
{
UpdateQuestion();
}
}
else
{
MessageBox.Show($"Неправильно! Правильный ответ: {q.RightAnswer}\nИтоговый счёт: {score}");
EndWindow endWindow = new EndWindow(score, qwest.Sum(x => x.Price));
endWindow.Show();
this.Close();
}
}
private void Button_Click_50(object sender, RoutedEventArgs e)
{
if (hint50)
{
var q = qwest.Where(m => m.Number == Numb).FirstOrDefault();
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(Colors.Red);
}
else
{
MessageBox.Show("Подсказка уже использована!");
}
}
private void Button_Click_Friend(object sender, RoutedEventArgs e)
{
if (hintFriend)
{
hintFriend = false;
HintFriend.Background = new SolidColorBrush(Colors.Red);
var q = qwest.Where(m => m.Number == Numb).FirstOrDefault();
MessageBox.Show($"Друг думает, что правильный ответ: {q.RightAnswer}");
}
else
{
MessageBox.Show("Подсказка уже использована!");
}
}
private void Button_Click_Hall(object sender, RoutedEventArgs e)
{
if (hintHall)
{
hintHall = false;
HintHall.Background = new SolidColorBrush(Colors.Red);
var q = qwest.Where(m => m.Number == Numb).FirstOrDefault();
int correct = rnd.Next(60, 80);
int w1 = rnd.Next(0, 100 - correct);
int w2 = rnd.Next(0, 100 - correct - w1);
int w3 = 100 - correct - w1 - w2;
string msg =
$"{q.Answer1} — {(q.Answer1 == q.RightAnswer ? correct : w1)}%\n" +
$"{q.Answer2} — {(q.Answer2 == q.RightAnswer ? correct : w2)}%\n" +
$"{q.Answer3} — {(q.Answer3 == q.RightAnswer ? correct : w3)}%\n" +
$"{q.Answer4} — {(q.Answer4 == q.RightAnswer ? correct : rnd.Next(0, 20))}%";
MessageBox.Show(msg, "Мнение зала:");
}
else
{
MessageBox.Show("Подсказка уже использована!");
}
}
private void UpdateQuestion()
{
QuestionNumber.Text = $"Вопрос № {Numb}";
ScoreText.Text = $"Счёт: {score}";
var q = qwest.Where(m => m.Number == Numb).FirstOrDefault();
QuestionText.Text = q.Question;
// Загрузка картинки
try
{
string imagePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, q.ImagePath);
QuestionImage.Source = new BitmapImage(new Uri(imagePath));
}
catch
{
QuestionImage.Source = null;
}
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;
}
}
}