// Получить случайное число от 0 до size-1 var getRandomNumber = function (size) { return Math.floor(Math.random() * size); }; // Вычислить расстояние от клика (event) до клада (target) var getDistance = function (event, target) { var diffX = event.offsetX - target.x; var diffY = event.offsetY - target.y; return Math.sqrt((diffX * diffX) + (diffY * diffY)); }; // Получить для расстояния строку подсказки var getDistanceHint = function (distance) { if (distance < 10) { return "Обожжешься!"; } else if (distance < 20) { return "Очень горячо"; } else if (distance < 40) { return "Горячо"; } else if (distance < 80) { return "Тепло"; } else if (distance < 160) { return "Холодно"; } else if (distance < 320) { return "Очень холодно"; } else if (distance < 450) { return "Очень-очень холодно"; } else if (distance > 700) { return "Всё, пиздец"; } else { return "Замерзнешь!"; } }; // Создаем переменные var width = 800; var height = 800; var clicks = 0; var предел_кликов = 100; // Случайная позиция клада var target = { x: getRandomNumber(width), y: getRandomNumber(height) }; // Добавляем элементу img обработчик клика $("#map").click(function (event) { if (clicks >= предел_кликов) { alert("ПНХ, КОНЕЦ ИГРЫ"); return; } clicks++; // Получаем расстояние от места клика до клада var distance = getDistance(event, target); // Преобразуем расстояние в подсказку var distanceHint = getDistanceHint(distance); // Записываем в элемент #distance новую подсказку $("#distance").text(distanceHint); alert("Осталось кликов: " + (предел_кликов - clicks)); // Если клик был достаточно близко, поздравляем с победой if (distance < 8) { alert("Клад найден! Сделано кликов: " + clicks); } });