Студопедия — UML діаграми станів. 14 страница
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

UML діаграми станів. 14 страница






 

Frame.GoBack();

}

}

}

 

Клас OnePlayer.xaml.cs

 

using Newtonsoft.Json.Linq;

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Net.Http;

using System.Runtime.InteropServices.WindowsRuntime;

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.Storage;

using Windows.UI.Popups;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556

 

namespace Quiz

{

/// <summary>

/// An empty page that can be used on its own or navigated to within a Frame.

/// </summary>

public sealed partial class OnePlayer: Page

{

List<Classes.Items> items;

int randNumb;

int countTrueUnsver = 0;

string category;

 

public OnePlayer()

{

this.InitializeComponent();

}

 

/// <summary>

/// Invoked when this page is about to be displayed in a Frame.

/// </summary>

/// <param name=«e»>Event data that describes how this page was reached.

/// This parameter is typically used to configure the page.</param>

protected override void OnNavigatedTo(NavigationEventArgs e)

{

category = e.Parameter.ToString();

}

 

private void Gen_Quest()

Продовження дод. В

 

{

Random rand = new Random();

randNumb = rand.Next(0, items.Count);

 

txtQuestion.Text = items[randNumb].question;

btnUnsver1Text.Text = items[randNumb].unsver1;

btnUnsver2Text.Text = items[randNumb].unsver2;

btnUnsver3Text.Text = items[randNumb].unsver3;

btnUnsver4Text.Text = items[randNumb].unsver4;

}

 

private async void Page_Loaded(object sender, RoutedEventArgs e)

{

using (HttpClient httpClient = new HttpClient())

{

HttpRequestMessage request = new HttpRequestMessage();

httpClient.BaseAddress = new Uri(«https://api.parse.com/1/classes/» + category);

request.Method = new HttpMethod(«GET»);

request.Headers.Add(«X-Parse-Application-Id», «q8r9XYoXbEw1kXsWIXbyCNQm9ylcWfAS0fqlWWNx»);

 

request.Headers.Add(«X-Parse-REST-API-Key», «2nke5LSbXQmTiA9FaVytlBihjOOz4fPcoxjEHlee»);

 

var response = await httpClient.SendAsync(request);

var text = await response.Content.ReadAsStringAsync();

 

System.Diagnostics.Debug.WriteLine(text);

 

JObject results = JObject.Parse(text);

items = new List<Classes.Items>();

foreach (var result in results[«results»])

{

items.Add(new Classes.Items() { question = (string)result[«Question»], unsver1 = (string)result[«unsver1»], unsver2 = (string)result[«unsver2»], unsver3 = (string)result[«unsver3»], unsver4 = (string)result[«unsver4»], trueUnsver = (string)result[«trueUnsver»] });

//item.Add(new Item() { driveId = (string)result[«parentReference»][«driveId»], id = (string)result[«parentReference»][«id»], path = (string)result[«parentReference»][«path»] });

}

 

Gen_Quest();

}

}

 

private async void btnUnsverText_Tapped(object sender, TappedRoutedEventArgs e)

{

string unsver = (sender as TextBlock).Text.ToString();

 

if (unsver == items[randNumb].trueUnsver)

{

MessageDialog md1 = new MessageDialog(«Это был правильный ответ!»);

await md1.ShowAsync();

 

countTrueUnsver++;

txtScore.Text = countTrueUnsver.ToString();

Продовження дод. В

 

Gen_Quest();

}

else

{

MessageDialog md1 = new MessageDialog(«Вы отетили не верно! Правильный ответ: «+ items[randNumb].trueUnsver);

await md1.ShowAsync();

 

MessageDialog md = new MessageDialog(«Игра окночена! Сохранить результат в рекордах?»);

UICommand cancelBtn = new UICommand(«Нет»);

cancelBtn.Invoked = cancelBtn_CLick;

UICommand yesBtn = new UICommand(«Да»);

yesBtn.Invoked = yesBtn_CLick;

 

md.Commands.Add(cancelBtn);

md.Commands.Add(yesBtn);

 

await md.ShowAsync();

}

}

 

private async void yesBtn_CLick(IUICommand command)

{

 

HttpClient httpClient = new HttpClient();

HttpRequestMessage request = new HttpRequestMessage();

httpClient.BaseAddress = new Uri(«https://api.parse.com/1/classes/Record»);

httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(«application/json»));

 

string data = «{\»Name\»:\»«+ ApplicationData.Current.LocalSettings.Values[«UserName»].ToString() + «\»,\»Score\»:» + countTrueUnsver + «,\»Mode\»:\»4btn\»}»;

 

request.Headers.Add(«X-Parse-Application-Id», «q8r9XYoXbEw1kXsWIXbyCNQm9ylcWfAS0fqlWWNx»);

request.Headers.Add(«X-Parse-REST-API-Key», «2nke5LSbXQmTiA9FaVytlBihjOOz4fPcoxjEHlee»);

 

request.Method = new HttpMethod(«POST»);

 

// var response = await httpClient.PostAsync(request, new StringContent(data, System.Text.Encoding.UTF8, «application/json»));

request.Content = new StringContent(data, System.Text.Encoding.UTF8, «application/json»);

await httpClient.SendAsync(request);

 

//var text = await response.Content.ReadAsStringAsync();

 

//Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

//Windows.Storage.StorageFile sampleFile = await storageFolder.GetFileAsync(«Records.xml»);

//string text = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

 

 

//string newText = text.Replace(«</records>«, «\n<record>«

Продовження дод. В

 

// + «</name>«

// + «\n<score>«

// + countTrueUnsver

// + «</score>«

// + «\n</record>«

// + «\n</records>«);

 

 

//StorageFile sampleFile2 = await storageFolder.CreateFileAsync(«Records.xml», CreationCollisionOption.OpenIfExists);

//await Windows.Storage.FileIO.WriteTextAsync(sampleFile2, newText);

 

//System.Diagnostics.Debug.WriteLine(newText);

 

MessageDialog md = new MessageDialog(«Рекорд успешно сохранен!»);

await md.ShowAsync();

Frame.GoBack();

}

 

private void cancelBtn_CLick(IUICommand command)

{

Frame.GoBack();

}

}

}

 

Клас Menu.xaml.cs

 

using Newtonsoft.Json.Linq;

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Net.Http;

using System.Runtime.InteropServices.WindowsRuntime;

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.Storage;

using Windows.UI.Popups;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556

 

namespace Quiz

{

/// <summary>

/// An empty page that can be used on its own or navigated to within a Frame.

/// </summary>

public sealed partial class Menu: Page

{

List<Classes.Items> items;

Продовження дод. В

 

bool playerAdverPanelStatus = false;

string category = null;

 

public Menu()

{

this.InitializeComponent();

}

 

/// <summary>

/// Invoked when this page is about to be displayed in a Frame.

/// </summary>

/// <param name=«e»>Event data that describes how this page was reached.

/// This parameter is typically used to configure the page.</param>

protected override void OnNavigatedTo(NavigationEventArgs e)

{

 

}

 

private void goBack_click(object sender, TappedRoutedEventArgs e)

{

Frame.GoBack();

}

 

private void Page_Loaded(object sender, RoutedEventArgs e)

{

txtPlayerName.Text = ApplicationData.Current.LocalSettings.Values[«UserName»].ToString();

comboBox.SelectedItem = «sda»;

}

 

private void btnOnePlayer_Click(object sender, TappedRoutedEventArgs e)

{

if (playerAdverPanelStatus == false)

{

advencedPanelForOnePlayer.Visibility = Windows.UI.Xaml.Visibility.Visible;

playerAdverPanelStatus = true;

}

else

{

advencedPanelForOnePlayer.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

playerAdverPanelStatus = false;

}

}

 

 

private async void btnChooseUnsver_Click(object sender, TappedRoutedEventArgs e)

{

try

{

if (!string.IsNullOrEmpty(comboBox.SelectedItem.ToString()))

{

Frame.Navigate(typeof(OnePlayer), category);

}

}

catch

{

MessageDialog md = new MessageDialog(«Пожалуйста, выберите категорию!»);

md.ShowAsync();

Продовження дод. В

 

}

}

 

private void btnRecord_Click(object sender, TappedRoutedEventArgs e)

{

Frame.Navigate(typeof(Records));

}

private async void btnYourUnsver_Click(object sender, TappedRoutedEventArgs e)

{

try

{

if (!string.IsNullOrEmpty(comboBox.SelectedItem.ToString()))

{

Frame.Navigate(typeof(OnePlayer2), category);

}

}

catch

{

MessageDialog md = new MessageDialog(«Пожалуйста, выберите категорию!»);

md.ShowAsync();

}

}

 

private async void btnTwoPlayer_Click(object sender, TappedRoutedEventArgs e)

{

try

{

if (!string.IsNullOrEmpty(comboBox.SelectedItem.ToString()))

{

Frame.Navigate(typeof(TwoPlayer), category);

}

}

catch

{

MessageDialog md = new MessageDialog(«Пожалуйста, выберите категорию!»);

md.ShowAsync();

}

}

 

private void cmbBoxTime_SelectionChanged(object sender, SelectionChangedEventArgs e)

{

switch(((ComboBoxItem)comboBox.SelectedItem).Content.ToString())

{

case «Спорт»: category = «Sport»; break;

case «Животные»: category = «Animals»; break;

}

}

}

}

Клас MainPage.xaml.cs

 

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Runtime.InteropServices.WindowsRuntime;

using System.Xml.Linq;

Продовження дод. В

 

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.Phone.UI.Input;

using Windows.Storage;

using Windows.UI.Popups;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=391641

 

namespace Quiz

{

/// <summary>

/// An empty page that can be used on its own or navigated to within a Frame.

/// </summary>

public sealed partial class MainPage: Page

{

Classes.User[] com;

 

public MainPage()

{

this.InitializeComponent();

 

this.NavigationCacheMode = NavigationCacheMode.Required;

 

HardwareButtons.BackPressed += HardwareButtons_BackPressed;

hideStatusBar();

}

async void hideStatusBar()

{

await Windows.UI.ViewManagement.StatusBar.GetForCurrentView().HideAsync();

}

 

void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)

{

if (Frame.CanGoBack)

{

e.Handled = true;

Frame.GoBack();

}

else

Application.Current.Exit();

}

/// <summary>

/// Invoked when this page is about to be displayed in a Frame.

/// </summary>

/// <param name=«e»>Event data that describes how this page was reached.

/// This parameter is typically used to configure the page.</param>

protected override void OnNavigatedTo(NavigationEventArgs e)

{

// TODO: Prepare page for display here.

 

// TODO: If your application contains multiple pages, ensure that you are

Продовження дод. В

 

// handling the hardware Back button by registering for the

// Windows.Phone.UI.Input.HardwareButtons.BackPressed event.

// If you are using the NavigationHelper provided by some templates,

// this event is handled for you.

}

 

 

private async void Page_Loaded(object sender, RoutedEventArgs e)

{

try

{

StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder;

StorageFile sampleFile2 = await folder.CreateFileAsync(«Users.xml», CreationCollisionOption.FailIfExists);

string text = «<?xml version=\»1.0\» encoding=\»utf-8\»?>«

+ «\n<users>«

+ «\n</users>«;

await Windows.Storage.FileIO.WriteTextAsync(sampleFile2, text.ToString());

}

catch

{

 

}

 

 

Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

Windows.Storage.StorageFile sampleFile = await storageFolder.GetFileAsync(«Users.xml»);

string users_text = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

 

XDocument xDoc = XDocument.Parse(users_text);

 

com = xDoc.Root.Elements(«user»).Select(p =>

{

return new Classes.User()

{

login = p.Element(«login»).Value,

pass = p.Element(«pass»).Value

};

}).ToArray();

 

}

 

private void btnRegist_Click(object sender, RoutedEventArgs e)

{

Frame.Navigate(typeof(Registration));

}

 

private async void btnAouth_Click(object sender, RoutedEventArgs e)

{

MessageDialog md;

 

if (string.IsNullOrWhiteSpace(txtLogin.Text) || string.IsNullOrWhiteSpace(txtPass.Password))

{

Продовження дод. В

 

md = new MessageDialog(«Пожалуйста заполните все поля!»);

await md.ShowAsync();

return;

}

 

for (int i = 0; i < com.Length; i++)

{

if (string.Equals(txtLogin.Text, com[i].login, StringComparison.CurrentCultureIgnoreCase) && string.Equals(txtPass.Password, com[i].pass, StringComparison.CurrentCultureIgnoreCase))

{

ApplicationData.Current.LocalSettings.Values[«UserName»] = com[i].login;

Frame.Navigate(typeof(Menu));

return;

}

}

 

md = new MessageDialog(«Неправильный логин или пароль!»);

await md.ShowAsync();

}

}

}

 

Клас Items.cs

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Quiz.Classes

{

public class Items

{

public string question { get; set; }

public string unsver1 { get; set; }

public string unsver2 { get; set; }

public string unsver3 { get; set; }

public string unsver4 { get; set; }

public string trueUnsver { get; set; }

}

}

 

Клас Record.cs

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Quiz.Classes

{ public class Record

{

Закінчення дод. В

 

public string name { get; set; }

public string score { get; set; }

public string mode { get; set; }

}

}

 

Клас User.cs

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Quiz.Classes

{

public class User

{

public string login { get; set; }

public string pass { get; set; }

}

}

 

 







Дата добавления: 0000-00-00; просмотров: 395. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...

Тактика действий нарядов полиции по предупреждению и пресечению правонарушений при проведении массовых мероприятий К особенностям проведения массовых мероприятий и факторам, влияющим на охрану общественного порядка и обеспечение общественной безопасности, можно отнести значительное количество субъектов, принимающих участие в их подготовке и проведении...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия