Тема: cтворення нескладної комп’ютерної гри з використанням змінних величин мовою Javascript.
Мета: навчитися створювати та редагувати програму мовою Javascript.
Після виконання роботи учень:
Обладнання: ПК із встановленою ОС і браузером, (дана) інструкція.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
Умовний оператор
if (логічний вираз) оператор;
if (логічний вираз) оператор1 else оператор2;
Алгоритмічна структура повторення
while (логічний вираз) вказівка;
do {вказівки циклу} while (логічний вираз);
for (вказівки_початку; умова_циклу; вказівки_кінця_ітерації) {вказівки циклу}
Виведення інформаціного вікна з повідомленням
alert('Повідомлення');
Cтворення масиву зі значеннями елементів 1, 2, 3
x = new Array (1,2,3);
Випадкове число з проміжку [0, 1]
Math.random()
Результат відкидання дробової частини від числа х
Math.trunc(х)
Запис даних у поточну сторінку
document.write("текст або код HTML");
Стиль кнопки з написом "Почати гру" і автофокусом, натискання на яку призводить до виклику функції f
<div class='button' id='button'>
<input type='button' value='Почати гру' onkeydown='f(event)' onmousedown='f(event)' autofocus>
</div>")
Зміна властивості елемента сторінки:
властивості visibility (видимість) елемента з назвою 'button'
document.getElementById('button').style.visibility = 'hidden';
Періодичний виклик функції f щосекунди
setInterval (f, 1000);
Опрацювання натискання клавіш засобами Javascript можна здійснити таким чином::
document.addEventListener // відстеження події натискання клавіші
( "keydown",
function(event)
{ c=event.keyCode;
switch (c) / опрацювання натискання клавіш:
{ case (37): /* ArrowLeft ← */ break;
case (38): /* ArrowUp ↑ */ break;
case (39): /* ArrowRight → */ break;
case (40): /* ArrowDown ↓ */ break;
}
}
)Зображення одноколірного прямокутника можна отримати, розташувавши блок (контейнер div) з певним кольором тла. Наприклад, таким чином:
<style>
.field { width:360px;
height:360px;
background-color:#003300;
position:absolute;
left:10px;
top:10px}
</style><div class='field'> </div>
У цьому випадку на спорінці з відступами 10px по вертикалі й горизонталі від верхнього лівого кута сторінки буде зображено квадрат зі стороною 360px темнозеленого кольору #003300.
3. Інструктаж з ТБ
4. Вироблення практичних навичок
Snake (Пітон, Удав, Змійка) — комп'ютерна гра Танелі Арманто, що уперше з'явилася у кнопочному телефоні Nokia 6110. Гравець керує довгою тонкою істотою, схожою на змію, яка повзає клітинами прямокутного поля, збираючи їжу й уникаючи зіткнення з власним хвостом і краями ігрового поля. Кожного разу після поглинання їжі змія стає довшою. Зазвичай, на один сегмент, що займає одну клітину ігрового поля — див. приклад.
Завдання: cтворити гру «Змійка» (Snake).
Вказівки до виконання
Створити файл html з кодом Javascript, у якому описати таке:
var
w = 760; // ширина відображуваного поля
h = 560; // висота відображуваного поля
dw= 10; // відступ по горизонталі від краю вікна
dh= 10; // відступ по вертикалі від краю вікна
a = 20; // довжина сторони клітини ігрового поля
da= 2; // відступ від краю клітини до зображення сегмента змійки
i = 0; /* стан гри:
0 - до оголошення результату (змійка пересувається)
1 - користувач програв
2 - користувач виграв
3 - повідомлення про результат уже виведено
і потрібно перезавантажити сторінку */
// номер клітини з "плодом"
do { x0 = Math.trunc(Math.random()*(w/a-1));
y0 = Math.trunc(Math.random()*(h/a-1));
}
while ((x0 <= 4) && (y0==1));
n_max = 20;// максимальна кількість сегментів змійки,
// досягнення якої вважають перемогою гравця
n = 4; // початкова кількість сегментів змійки
// опис змійки "з хвоста"
x = new Array (1,2,3,4); // номери клітини по горизонталі
y = new Array (1,1,1,1); // номери клітини по вертикалі
z = new Array (0,0,0,0); /* напрям руху сегмента:
0 - ліворуч;
1 - догори;
2 - праворуч;
3 - донизу */розташування поля, сегментів "змійки" і "плоду" на сторінці;
виведення кнопки з написом "Почати гру" і автофокусом, натискання на яку призводить до виклику функції f;
функцію f, яка перетворює кнопку на навидиму і викликає функцію g з періодичністю 1/5 секунди;
функцію g, у тілі якої виконати такі дії:
інакше (без поглинання "плоду") продовжити рух, тобто координатам і напряму руху кожного сегмента "зміки" надати значення відповідних координат наступного сегмента, рахуючи від "хвоста змійки", а "голову" розашувати вже визначене місце з тим самим напрямом руху.
Файл записати у вказану вчителем теку. Порівняти з очікуваним.
5. Підбиття підсумків уроку
Виставлення оцінок.
6. Домашнє завдання
Удосконалити програму, додавши запам'ятовування результатів гри і збільшивши кількість плодів.
Текст упорядкував Олександр Рудик