JavaScript технологии можно применять не только для того, чтобы добавлять интерактивные элементы на сайт, но и можно сделать интересную игру для ваших посетителей. На простом примере создания простой тапалки, которые взорвали интернет в прошлом году, как можно развлечь ваших читателей.
Изучение веб-технологий требует усидчивости, поэтому удобное рабочее место для здоровья спины играет ключевую роль. Эргономичное игровое кресло можно выбрать здесь
https://ergotronica.ru/category/gejmerskie-kresla.html.
Пример игры Тапалки (Кликер)
Правила игры просты, с ними знаком наверное каждый пользователь интернета. Нужно просто кликать по определенному объекту. чаще, кнопке. Каждый клик засчитывается 1 очко. Чем больше кликов. тем больше очков соберешь. Такие тапалки стали трендом в телеграм в 2024 году ,потому что пользователи тапали в надежде разбогатеть. У нас это будет лишь в развлекательных целях.
Как создать игру Тапалку на JS
Эта игра будет написана с использованием холста <canvas>. Для начала вставим в любое место в блоге в элемент дизайна "HTML - произвольный HTML" (если вы работаете на wordpress, если на другом, то вы знаете аналог), следующий код:
<div class="klicker"><canvas id="gameCanvas" width="400" height="400"></canvas></div>
Задаем стили для обертки div, так, чтобы игровое поле находилось по центру и имело серый цвет фона:
.klicker {
display: flex;
justify-content: center;
align-items: center;
height: 50vh;
margin: 0;
background-color: #f0f0f0;
font-family: Arial, sans-serif;
}
canvas {
border: 2px solid #000;
background-color: #fff;
} Далее идет работа с JavaScript. Сначала инициализируем холст и контекст при помощи кода:
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d'); canvas— это элемент<canvas>на странице, на котором будет отрисовываться игра.ctx— это контекст рисования, который позволяет выполнять операции отрисовки на холсте.
Переходим к настройке начальных параметров игры. Задаем начальное количество очков, а также координаты круга.
let score = 0; // Начальное количество очков
const circle = {
x: canvas.width / 2, // Центр круга по X
y: canvas.height / 2, // Центр круга по Y
radius: 50, // Радиус круга
color: 'red' // Начальный цвет круга
}; С помощью следующей функции происходит отрисовка круга:
function drawCircle() {
ctx.beginPath();
ctx.arc(circle.x, circle.y, circle.radius, 0, Math.PI * 2);
ctx.fillStyle = circle.color;
ctx.fill();
ctx.closePath();
} Далее производим отрисовку внутри круга:
function drawScore() {
ctx.font = '30px Arial';
ctx.fillStyle = 'white';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText(score, circle.x, circle.y);
} Генерируем случайный цвет круга. Цвет будет меняться случайным образом при нажатии на кнопку:
function checkClick(event) {
const rect = canvas.getBoundingClientRect();
const mouseX = event.clientX - rect.left;
const mouseY = event.clientY - rect.top;
const distance = Math.sqrt((mouseX - circle.x) ** 2 + (mouseY - circle.y) ** 2);
if (distance <= circle.radius) {
score++; // Увеличиваем счет
circle.color = getRandomColor(); // Меняем цвет круга
}
} В последней функции происходит основной цикл игры:
function gameLoop() {
ctx.clearRect(0, 0, canvas.width, canvas.height); // Очистка холста
drawCircle();
drawScore();
requestAnimationFrame(gameLoop);
} Добавляем обработку события клика на холст:
canvas.addEventListener('click', checkClick); Запуск игры после добавления запуска функции.
gameLoop();
Собираем все в единый код, добавляем скрипт на страницу в тег script и наслаждаемся результатом.







