User prompt
После поворота добавить скорость разгона начиная 4 и до 7 для игрока и противника
User prompt
Please fix the bug: 'TypeError: LK.showPauseScreen is not a function. (In 'LK.showPauseScreen()', 'LK.showPauseScreen' is undefined)' in or related to this line: 'LK.showPauseScreen();' Line Number: 255
User prompt
Please fix the bug: 'TypeError: LK.pauseGame is not a function. (In 'LK.pauseGame()', 'LK.pauseGame' is undefined)' in or related to this line: 'LK.pauseGame();' Line Number: 255
User prompt
Если противник пересек 950 от центра, то игра останавливается на 1 секунду
User prompt
Please fix the bug: 'TypeError: undefined is not an object (evaluating 'localStorage.setItem')' in or related to this line: 'localStorage.setItem('score', LK.getScore());' Line Number: 246
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'var score = localStorage.getItem('score') || '0';' Line Number: 255
User prompt
Сохранять количество набранных очков
Code edit (1 edits merged)
Please save this source code
User prompt
Сделать score черным
User prompt
Подвинуть score в правый верхний угол
Code edit (1 edits merged)
Please save this source code
User prompt
После смерти противника, прибавлять одну очко к score
User prompt
Выводить score вверху в центре
User prompt
Исправить ошибку, когда игрок после смерти противника двигается вертикально с неверным положении машины
User prompt
Исправить ошибку, когда игрок после смерти противника двигается по диагонали, а не вертикально Вверх
User prompt
Исправить ошибку, когда игрок после смерти противника двигается по диагонали, а не вертикально
User prompt
После смерти противника, игрок перемещается на начальную точки и двигается по вертикали
User prompt
Если противник пересек границу радиусом 950 от центра, то он и игрок появляется на точке респауна, при этом текущее направление у игрока сбрасывает
User prompt
Если противник пересек границу радиусом 950 от центра, то он и игрок появляется на точке респауна и начинают движение по вертикали друг к другу
User prompt
Если противник пересек границу радиусом 950 от центра, то он и игрок появляется на точке респауна
User prompt
При пересечении противником радиуса 950 от центра, противник моргает 2 секунды и потом появляется в месте возрождения
User prompt
При пересечении противником радиуса 950 от центра, противник появляется месте возрождения
User prompt
Сделать более точную проверку на пересечение игрока и противоика
User prompt
Исправить ошибку, когда противники при повороте не скользят
User prompt
Исправить ошибку, когда все противники остановились и перестали преследовать ближайшую цель
===================================================================
--- original.js
+++ change.js
@@ -76,10 +76,21 @@
self.speedX = 0;
self.speedY = 0;
// Move enemy based on its speed
self.move = function () {
- self.x += self.speedX;
- self.y += self.speedY;
+ // Add a sliding effect when the enemy is turning
+ if (self.slidingDuration > 0) {
+ self.x += self.speedX;
+ self.y += self.speedY;
+ self.slidingDuration--;
+ if (self.slidingDuration === 0) {
+ self.speedX = Math.sin(self.rotation) * 7;
+ self.speedY = -Math.cos(self.rotation) * 7;
+ }
+ } else {
+ self.x += self.speedX;
+ self.y += self.speedY;
+ }
};
// Prevent the enemy from moving in the opposite direction when it hits the wall
self.checkBounds = function () {
if (self.x < 0) {
@@ -92,33 +103,25 @@
} else if (self.y > 2732) {
self.y -= 200;
}
};
- self.followNearestTarget = function (targets) {
- var nearestTarget = null;
- var nearestDistance = Infinity;
- targets.forEach(function (target) {
- var dx = target.x - self.x;
- var dy = target.y - self.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- if (distance < nearestDistance) {
- nearestDistance = distance;
- nearestTarget = target;
- }
- });
- if (nearestTarget) {
- var dx = nearestTarget.x - self.x;
- var dy = nearestTarget.y - self.y;
- var length = Math.sqrt(dx * dx + dy * dy);
- if (length > 0) {
- dx /= length;
- dy /= length;
- }
- self.speedX = dx * 7;
- self.speedY = dy * 7;
- var angle = Math.atan2(dy, dx);
- self.rotation = angle - Math.PI / 2;
+ self.followPlayer = function (player) {
+ // Calculate the direction vector from the enemy to the player
+ var dx = player.x - self.x;
+ var dy = player.y - self.y;
+ // Normalize the direction vector
+ var length = Math.sqrt(dx * dx + dy * dy);
+ if (length > 0) {
+ dx /= length;
+ dy /= length;
}
+ // Set the enemy's speed to move towards the player
+ self.speedX = dx * 7;
+ self.speedY = dy * 7;
+ // Calculate the angle of the direction vector
+ var angle = Math.atan2(dy, dx);
+ // Rotate the enemy car to face the player and adjust by -90 degrees
+ self.rotation = angle - Math.PI / 2;
};
});
/****
@@ -190,10 +193,13 @@
LK.on('tick', function () {
cars.forEach(function (car) {
car.move();
car.checkBounds();
- if (car instanceof Enemy) {
- car.followNearestTarget(cars); // Follow the nearest target among all cars
+ if (car === enemy || car === enemy2 || car === enemy3) {
+ if (LK.ticks > 120) {
+ // Delay of 1.5 seconds (60 ticks per second)
+ car.followPlayer(cars[0]); // Assume the player car is the first car in the array
+ }
}
// Check for collisions with other cars
cars.forEach(function (otherCar) {
if (car !== otherCar && car.intersects(otherCar, 80, 80)) {
Лава мультяшная вид сверху плоская. Single Game Texture. In-Game asset. Blank background. High contrast. No shadows.
Плоский лед, круглый, мультяшный. Вид сверху. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
мультяшный палец нажатие по экрану. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
шины на асфальте после торможения для игры. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.