123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- using HelloItQuantum.Function;
- using HelloItQuantum.Views;
- using System;
- using System.IO;
- using System.Media;
- namespace HelloItQuantum.ViewModels
- {
- public class HotkeysViewModel : MainWindowViewModel
- {
- #region
- bool visibleBtnNext = true; //Кнопка Далее
- string textInBtnNext = "Далее"; //Текст внутри кнопки Далее (иногда он может быть Да)
- bool visibleBtnNo = false; //Кнопка Нет
- bool visibleTBAnswer = false; //TB куда вводить ответ
- bool visibleImgAnswer = false; //SP с ответом
- bool visibleSvgHotkey = true;
- string pathSvgHotkey = "/Assets/ImgHotkeys/Backspace.svg";
- string textInSP = ""; //Текст в StackPanel
- string textAnswer = ""; //Текст в поле ввода ответа
- (int, string, int) act = (1, "", 1);
- string textShowAct = "1/5";
- string path = $"{Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory))))}\\Assets\\HotkeysAudio\\voice1.wav";
- public bool VisibleBtnNext { get => visibleBtnNext; set => SetProperty(ref visibleBtnNext, value); }
- public string TextInBtnNext { get => textInBtnNext; set => SetProperty(ref textInBtnNext, value); }
- public bool VisibleBtnNo { get => visibleBtnNo; set => SetProperty(ref visibleBtnNo, value); }
- public bool VisibleTBAnswer { get => visibleTBAnswer; set => SetProperty(ref visibleTBAnswer, value); }
- public bool VisibleImgAnswer { get => visibleImgAnswer; set => SetProperty(ref visibleImgAnswer, value); }
- public string TextInSP { get => textInSP; set => SetProperty(ref textInSP, value); }
- public string TextShowAct { get => textShowAct; set => SetProperty(ref textShowAct, value); }
- public string TextAnswer { get => textAnswer; set => SetProperty(ref textAnswer, value); }
- public bool VisibleSvgHotkey { get => visibleSvgHotkey; set => SetProperty(ref visibleSvgHotkey, value); }
- public string PathSvgHotkey { get => pathSvgHotkey; set => SetProperty(ref pathSvgHotkey, value); }
- #endregion
- public HotkeysViewModel()
- {
- string directory = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory))));
- switch (CurrentUser.GameHotkeys)
- {
- case 20:
- {
- act = (6, "Ты молодец. Знаешь ли ты, как с помощью клавиатуры скопировать текст?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice6.wav";
- TextShowAct = "2/5";
- }
- break;
- case 40:
- {
- act = (9, "Отлично справляешься. Знаешь ли ты, как с помощью клавиатуры вставить скопированный текст?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice11.wav";
- TextShowAct = "3/5";
- }
- break;
- case 60:
- {
- act = (12, "Почти конец! Знаешь ли ты, как стереть символ спереди курсора?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice15.wav";
- TextShowAct = "4/5";
- }
- break;
- case 80:
- {
- act = (15, "И мой последний вопрос. Знаешь ли ты, как закрыть приложение, в котором ты сейчас находишься, с помощью клавиш?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice19.wav";
- TextShowAct = "5/5";
- } break;
- default: act = act = (1, "Изучать программирование - значит уметь выполнять различные действия на компьютере с помощью клавиатуры", 1); break;
- }
- ParsAct();
- }
- /// <summary>
- /// Функция запуска аудио
- /// </summary>
- public void PlayTask()
- {
- SoundPlayer snd = new SoundPlayer(path);
- snd.Play();
- }
- /// <summary>
- /// Парс элемента очереди
- /// </summary>
- public void ParsAct()
- {
- TextAnswer = "";
- TextInSP = act.Item2;
- switch (act.Item3)
- {
- case 1:
- {
- VisibleTBAnswer = false;
- VisibleBtnNo = false;
- VisibleBtnNext = true;
- TextInBtnNext = "Далее";
- }; break;
- case 2:
- {
- VisibleTBAnswer = false;
- VisibleBtnNo = true;
- VisibleBtnNext = true;
- TextInBtnNext = "Да";
- }; break;
- case 3:
- {
- VisibleTBAnswer = true;
- VisibleBtnNo = false;
- VisibleBtnNext = true;
- TextInBtnNext = "Далее";
- }; break;
- }
- }
- public void GoBack()
- {
- PageSwitch.View = new PlaySectionView();
- }
- /// <summary>
- /// Обработка нажатий на кнопку
- /// </summary>
- /// <param name="button">Какая кнопка была нажата</param>
- public void GoNext(string button)
- {
- string directory = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory))));
- switch (act.Item1)
- {
- case 1:
- {
- act = (2, "Готов ли ты проверить свои знания в мире горячих клавиш? Не волнуйся, я тебя научу", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice2.wav";
- }; break;
- case 2:
- {
- if (button == "Далее")
- {
- act = (3, "Отлично. Начнем с простого вопроса. Знаешь ли ты, как с помощью клавиатуры стирать текст?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice3.wav";
- }
- else
- {
- GoBack();
- }
- }; break;
- case 3:
- {
- if (button == "Далее")
- {
- act = (4, "Если говоришь, знаешь, введи название клавиши, с помощью которой можно стереть текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice4.wav";
- }
- else
- {
- act = (5, "Чтобы стереть текст, который ты написал, необходимо нажать клавишу Backspace. Иногда её изображают стрелочкой влево.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/Backspace.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice5.wav";
- }
- }; break;
- case 4:
- {
- if (button == "Забыл")
- {
- act = (5, "Чтобы стереть текст, который ты написал, необходимо нажать клавишу Backspace. Иногда её изображают стрелочкой влево.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/Backspace.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice5.wav";
- }
- else
- {
- if (TextAnswer.ToLower().Trim() == "backspace" || TextAnswer.ToLower().Trim() == "←" || TextAnswer.ToLower().Trim() == "<-")
- {
- WorkWithFile.UpdateValueGameProgress(1, 20, CurrentUser);
- act = (6, "Ты молодец. Знаешь ли ты, как с помощью клавиатуры скопировать текст?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice6.wav";
- TextShowAct = "2/5";
- }
- else
- {
- SoundPlayer snd = new SoundPlayer($"{directory}\\Assets\\HotkeysAudio\\error.wav");
- snd.Play();
- }
- }
- }; break;
- case 5:
- {
- VisibleSvgHotkey = !VisibleSvgHotkey;
- act = (4, "Введи название клавиши, которую ты узнал, с помощью которой можно стереть текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice7.wav";
- }; break;
- case 6:
- {
- if (button == "Далее")
- {
- act = (8, "Если говоришь, знаешь, введи сочетание клавиш, с помощью которых можно скопировать текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice8.wav";
- }
- else
- {
- act = (7, "Чтобы с помощью клавиатуры скопировать текст, необходимо использовать сочетание клавиш Ctrl + C.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/CtrlC.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice9.wav";
- }
- }; break;
- case 7:
- {
- VisibleSvgHotkey = !VisibleSvgHotkey;
- act = (8, "Если говоришь, знаешь, введи сочетание клавиш, с помощью которых можно скопировать текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice10.wav";
- }; break;
- case 8:
- {
- if (button == "Забыл")
- {
- act = (7, "Чтобы с помощью клавиатуры скопировать текст, необходимо использовать сочетание клавиш Ctrl + C.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/CtrlC.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice9.wav";
- }
- else
- {
- if (TextAnswer.ToLower().Trim() == "ctrl + c" || TextAnswer.ToLower().Trim() == "ctrl c")
- {
- WorkWithFile.UpdateValueGameProgress(1, 40, CurrentUser);
- act = (9, "Отлично справляешься. Знаешь ли ты, как с помощью клавиатуры вставить скопированный текст?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice11.wav";
- TextShowAct = "3/5";
- }
- else
- {
- SoundPlayer snd = new SoundPlayer($"{directory}\\Assets\\HotkeysAudio\\error.wav");
- snd.Play();
- }
- }
- }; break;
- case 9:
- {
- if (button == "Далее")
- {
- act = (11, "Если говоришь, знаешь, введи сочетание клавиш, с помощью которых можно вставить скопированный текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice12.wav";
- }
- else
- {
- act = (10, "Чтобы с помощью клавиатуры вставить скопированный текст, необходимо использовать сочетание клавиш Ctrl + V.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/CtrlV.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice13.wav";
- }
- }; break;
- case 10:
- {
- VisibleSvgHotkey = !VisibleSvgHotkey;
- act = (11, "Введи сочетание клавиш, с помощью которых можно вставить скопированный текст", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice14.wav";
- }; break;
- case 11:
- {
- if (button == "Забыл")
- {
- act = (10, "Чтобы с помощью клавиатуры вставить скопированный текст, необходимо использовать сочетание клавиш Ctrl + V.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/CtrlV.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice13.wav";
- }
- else
- {
- if (TextAnswer.ToLower().Trim() == "ctrl + v")
- {
- WorkWithFile.UpdateValueGameProgress(1, 60, CurrentUser);
- act = (12, "Почти конец! Знаешь ли ты, как стереть символ спереди курсора?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice15.wav";
- TextShowAct = "4/5";
- }
- else
- {
- SoundPlayer snd = new SoundPlayer($"{directory}\\Assets\\HotkeysAudio\\error.wav");
- snd.Play();
- }
- }
- }; break;
- case 12:
- {
- if (button == "Далее")
- {
- act = (14, "Если говоришь, знаешь, введи клавишу, с помощью которой можно стереть текст спереди курсора", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice16.wav";
- }
- else
- {
- act = (13, "Курсор - мерцающая линия, которая дает знать, в каком месте сейчас будет изменяться текст. Чтобы стереть символ спереди курсора необходимо нажать клавишу Delete или Del.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/Del.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice17.wav";
- }
- }; break;
- case 13:
- {
- VisibleSvgHotkey = !VisibleSvgHotkey;
- act = (14, "Введи клавишу, с помощью которой можно стереть текст спереди курсора", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice18.wav";
- }; break;
- case 14:
- {
- if (button == "Забыл")
- {
- act = (13, "Курсор - мерцающая линия, которая дает знать, в каком месте сейчас будет изменяться текст. Чтобы стереть символ спереди курсора необходимо нажать клавишу Delete или Del.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/Del.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice17.wav";
- }
- else
- {
- if (TextAnswer.ToLower().Trim() == "delete" || TextAnswer.ToLower().Trim() == "del")
- {
- WorkWithFile.UpdateValueGameProgress(1, 80, CurrentUser);
- act = (15, "И мой последний вопрос. Знаешь ли ты, как закрыть приложение, в котором ты сейчас находишься, с помощью клавиш?", 2);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice19.wav";
- TextShowAct = "5/5";
- }
- else
- {
- SoundPlayer snd = new SoundPlayer($"{directory}\\Assets\\HotkeysAudio\\error.wav");
- snd.Play();
- }
- }
- }; break;
- case 15:
- {
- if (button == "Далее")
- {
- act = (17, "Если говоришь, знаешь, введи сочетание клавиш, с помощью которых можно закрыть приложение, в котором ты сейчас находишься", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice20.wav";
- }
- else
- {
- act = (16, "Чтобы закрыть приложение, в котором ты сейчас находишься, с помощью клавиш, необходимо нажать клавиши Alt + F4.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/AltF4.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice21.wav";
- }
- }; break;
- case 16:
- {
- VisibleSvgHotkey = !VisibleSvgHotkey;
- act = (17, "Введи сочетание клавиш, с помощью которых можно закрыть приложение, в котором ты сейчас находишься", 3);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice22.wav";
- }; break;
- case 17:
- {
- if (button == "Забыл")
- {
- act = (16, "Чтобы закрыть приложение, в котором ты сейчас находишься, с помощью клавиш, необходимо нажать клавиши Alt + F4.", 1);
- PathSvgHotkey = "/Assets/ImgHotkeys/AltF4.svg";
- VisibleSvgHotkey = !VisibleSvgHotkey;
- path = $"{directory}\\Assets\\HotkeysAudio\\voice21.wav";
- }
- else
- {
- if (TextAnswer.ToLower().Trim() == "alt + f4")
- {
- WorkWithFile.UpdateValueGameProgress(1, 100, CurrentUser);
- act = (18, "Ты молодец и знаешь все базовые горячие клавиши для того, чтобы изучать программирование. Надеюсь это поможет тебе выбрать направление. Пока-пока!", 1);
- path = $"{directory}\\Assets\\HotkeysAudio\\voice23.wav";
- TextInBtnNext = "Выйти";
- }
- else
- {
- SoundPlayer snd = new SoundPlayer($"{directory}\\Assets\\HotkeysAudio\\error.wav");
- snd.Play();
- }
- }
- }; break;
- case 18:
- {
- GoBack();
- }; break;
- }
- ParsAct();
- }
- }
- }
|