align="justify"> Далі відбувається присвоєння змінної youLocation, яка відповідає за розташування нашої машинки, початкових значень. Після установка вже самої машини в положення заданої даної змінної.
. X=20 ;. Y=67 ;. Location=youLocation;
Далі відбувається теж саме, тільки для машини супротивника.
. X=20 ;. Y=116 ;. Location=opponentLocation;
Наприкінці лістингу відбувається настроювання форми тексту, включається функція, що дозволяє залишатися тексту виділеним при втраті фокуса. Після чого для синхронізації між клієнтом і сервером відбувається установка змінної відповідає за синхронізацію старту.
. HideSelection=true ;. youStartGame=false;
4.2 Розробка методу private void RichTextBox_KeyPress ()
Розробка методу введення символу з клавіатури (Схема алгоритму №2)
Лістинг методу знаходиться в Додатку. У лістингу процедура матиме ім'я private void RichTextBox_KeyPress (object sender, KeyPressEventArgs e).
Дана метод відповідає за введення символу з клавіатури в форму тексту, і його обробку.
Отже, метод буде приймати параметром натиснуту клавішу, в тілі перевіряти його на відповідність з символом введення якого очікувався, після чого, залежно від результату, виконувати певні інструкції. Метод за допомогою оператора умови If - Else розділяється на два блоки.
(RichTextBox. Text [i] == e. KeyChar)
У перший блок потік потрапляє, якщо натиснута клавіша відповідає очікуваному символу тексту. У ньому присвоюється значення змінної відповідає за поточної статус гри, далі проверятся набирався цей символ невірно, для того, щоб визначити чи потрібно виділяти цей символ синім кольором. Після чого збільшуємо позицію очікуваного символу на одиницю, встановлюємо значення змінної, що відповідає за невірний ввід. Далі відбувається зміна місця розташування своєї машини, виділення очікуваного символу синім фоном. Після, за допомогою перевірки на досягнення кінця гри, може виконатися метод Finish ().
{. Text= Набирайте текст raquo ;; (errorEnter == false)
{. SelectionColor=Color. Blue;
} ++;=false; (Car1, youLocation, i, true) ;. Select (i, 1); (CheckFinish ())
{();
}
У другій блок потік потрапляє, якщо натиснута клавіша не відповідає очікуваному символу тексту. У ньому присвоюється значення змінної відповідає за поточної статус гри, зміна кольору очікуваного символу на червоний, далі збільшується лічильник помилок на одиницю. Змінна, що відповідає за невірний введення, отримує значення true raquo ;. Після відбувається виведення кількості помилкових вводів на екран.
{. Text= Виправте помилку raquo ;;. Select (i, 1) ;. SelectionColor=Color. Red; ++;=true ;. Text=errorCount. ToString ();
}
Розглянемо цей метод докладніше: метод прийняв параметром символ А raquo ;, а очікуваний символ введення - про raquo ;. Потік перейде до виконання другого блоку коду, який встановить поточний статус гри на Виправте помилку raquo ;, виділить очікуваний символ, у формі тексту, червоним кольором. Далі лічильник помилок збільшиться на одиницю, змінна невірного введення встановлюється як true raquo ;, а на екран виведеться інформація про поточну кількість невірних вводів. При цьому символ очікуваного введення залишиться в поточному положенні.
5. Керівництв?? користувача
Для запуску програми двічі клацніть мишею по піктограмі файлу Keyboard Racer.
Малюнок 1 - Меню програми
При запуску гри ви потрапите в меню програми, тут можна здійснювати вибір потрібного вам дії: Грати як сервер, Грати як клієнт, показати вікно Про програму raquo ;, а також закрити програму. Тут присутній настройка мережевого з'єднання для клієнта, яка дозволяє задати IP і PORT для підключення до сервера.
При натисканні на кнопку Про програму з'являється вікно з інформацією про програму.
При натисканні на кнопку Грати як сервер з'являється вікно, яке дозволяє задати параметр гри: текст, що вводиться.
Після натискання клавіші ОК raquo ;, відкриється головне вікно програми, також це вікно відкриється відразу, якщо в меню вибрати пункт Грати як клієнт raquo ;, це пов'язано з тим, що текст клієнта подгружается по мережі від сервера, що робить їх ідентичними.
Під час відкриття цього вікна, відбувається початкова установка всіх параметрів. Текст завантажується в...