Тема: створення ігрових проектів мовою PHP.
Мета: сформувати предметні компетенції щодо створення ігрових проектів.
Учень повинен вміти:
Обладнання: комп’ютери з встановленими ОС, браузером, текстовим редактором, середовищем програмування мовою PHP (наприклад, XAMPP), (дана) інструкція.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
Хрестики-нулики — гра на ґратці розміром 3 × 3 для двох гравців. Гравці ходять по черзі: перший гравець ставить на вільне поле ґратки символ X (хрестик), другий гравець ставить на вільне поле ґратки символ O (нулик). Виграє той, хто першим розташує три відповідних знаки в горизонтальному, вертикальному чи діагональному ряду.
Ми створимо поле для цієї гри, використовуючи такі засоби мов PHP i HTML (залежно від рівня готовності учнів: прочитати, протлумачити код або подати код за його тлумаченням):
|| — оператор «або» (логічне «або»), який повертає true, якщо хоча б один з операндів дорівнює true, інакше повертає false;
&& — оператор «і» (логічне «і»), який повертає true, якщо обидва операнди дорівнюють true , інакше повертає false.
!= — заперечення рівності, читати «відмінне» або «не дорівнює».
умовний оператор має такий вигляд:
if (умова) вказівка1;
або
if (умова) вказівка1 else вказівка2;
При справдженні умови буде виконано вказівку1. Для другої повної форми при хибності умови буде виконано вказівку2;
echo "Код HTML"; — виведення коду HTML, який буде відображено браузером клієнта. При записі між лапками назви змінної буде виведено значення цієї змінної;
0 | 1 | 2 |
3 | 4 | 5 |
6 | 7 | 8 |
3. Вивченого нового матеріалу
Передавання значень при переході до іншого коду php можна здійснити за допомогою:
допоміжного файлу (цей спосіб буде розглянуто пізніше);
$_GET — асоціативного масиву змінних, переданих рядком запиту. Цей метод задіяно у роботі форми, яку буде використано при втіленні гри "Хрестики-нулики". Тому природньо на цьому уроці обмежитися саме цим способом передавання даних.;
сесії — спеціального способу збереження даних між кількома послідовними доступами. Кожному відвідувачу сайту надають унікальний ідентифікатор сесії. Його зберігають або у файлі cookie на стороні користувача, або передають через URL-адресу. Використання сесії дозволяє зберігати дані запиту у глобальному масиві $_SESSION. У момент доступу відвідувача до сайту PHP перевіряє, чи ідентификатор сесії було надіслано разом із запитом:
Якщо це так, то буде надано доступ до збережених раніше даних.
Останні два способи передавання даних продемонструємо такими прикладами.
Початково завантажений файл | Файл, до якого буде здійснено перехід |
---|---|
<?php $d="Дані файлу a1.php"; Header("Location:a2.php?a1_a2=$d"); ?> |
<?php echo $_GET['a1_a2']; ?> |
<?php session_start(); $d="Дані файлу b1.php"; $_SESSION['b1_b2']=$d; Header("Location:b2.php"); ?> |
<?php session_start(); echo $_SESSION['b1_b2']; ?> |
Рядки адрес браузерів після завантаження файлів a2.php і b2.php будуть (з точністю до початку) такими:
В обох випадках буде виведено значення змінної $d з файлу, який буде завантажено спочатку: "Дані файлу *1.php".
4. Інструктаж з ТБ
5. Вироблення практичних навичок
Завдання 1 Створити код HTML, що відображає поле для гри "Хрестики-нулики" такого вигляду.
Порівняти з очікуваним.
Примітка. У поданому демонстраційному розв'язанні
зміст переданих даних s (рядка довжини 11 символів) такий:
символи з порядковими номерами 0–8 (у поданому коді ― символи пробілу) ― це написи на кнопках ― клітинах ігрового поля (ґратки), занумерованих ;
символ з порядковим номером 9 ― номер гравця, чия черга ходити;
символ з порядковим номером 10 ― номер напис на кнопці ― клітині ігрового поля (ґратки), яку буде натиснуто.
Радимо використати таку саму систему кодування даних при розв'язанні завдання 2.
Завдання 2 Створити два файли коду PHP:
0.php ― здійснює перехід до файлу 1.php з передаванням рядка, що містить у такому порядку:
1.php
Отримує рядок довжини 11.
Визначає, який гравець має ходити.
У разі вказання коректного ходу (на порожню клітину):
здійснює хід;
у разі припинення гри створює рядок з повідомленням, хто переміг, і формою з кнопкою з написом: "Розпочати нову гру". Натискання на кнопку перенаправлює на файл 0.php;
інакше (якщо гру ще не завершено) змінює номер гравця, чия черга ходити, і створює рядок з відповідним повідомленням.
Створює рядки, один з яких буде передано при натисканні кнопки.
Створює рядки з одного символа написи на кнопках.
Записує код HTML поля гри з повідомленням, використавши результати попередніх двох кроків. Натискання кнопок має призводити до переходу до файлу 1.php, але вже з іншими вхідними даними s.
Завантаження файлу 0.php (у середовищі програмування мовою PHP) має створити можливість гри для довільної послідовності коректних ходів.
Текст упорядкував Олександр Рудик.