Загрузка данных
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;
}
}
}