User prompt
когда враг ворует какашки счет уменьшается
User prompt
враг двигается по случайным прямым
User prompt
враг двигается по случайным линиям
User prompt
враг отскакивает от стен
User prompt
враг появляется немного ниже центра
User prompt
добавь врага который ворует какашки
User prompt
Please fix the bug: 'Uncaught ReferenceError: Enemy is not defined' in or related to this line: 'var enemy = new Enemy();' Line Number: 97
User prompt
удали врагов
Code edit (1 edits merged)
Please save this source code
User prompt
враг появляется чуть ниже
User prompt
враг появляется чуть ниже центра
User prompt
враг появляется ниже
User prompt
враг не уходит за границы игрового поля и отскакивает от них
User prompt
оставь только одного врага
User prompt
один враг
User prompt
удалить кнопку паузы
User prompt
кнопка паузы останавливает игру
User prompt
Please fix the bug: 'Uncaught TypeError: LK.pauseGame is not a function' in or related to this line: 'LK.pauseGame();' Line Number: 148
User prompt
кнопка паузы
User prompt
враги появляются реже
User prompt
скорость врагов не меняется со временем
User prompt
max 3 enemies at one time
User prompt
enemies spawn from center
User prompt
fixed enemies speed 1
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'angle')' in or related to this line: 'self.angle = Math.random() * 2 * Math.PI;' Line Number: 192
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Car class
var Car = Container.expand(function () {
var self = Container.call(this);
var carGraphics = self.attachAsset('car', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.direction = 0; // 0: straight, 1: left, 2: right
self.update = function () {
if (self.direction === 1) {
self.rotation -= 0.05;
} else if (self.direction === 2) {
self.rotation += 0.05;
}
var newX = self.x + self.speed * Math.cos(self.rotation);
var newY = self.y + self.speed * Math.sin(self.rotation);
// Check if the new position is within the game area
if (newX >= 0 && newX <= 2048 && newY >= 0 && newY <= 2732) {
self.x = newX;
self.y = newY;
}
};
self.turnLeft = function () {
self.direction = 1;
};
self.turnRight = function () {
self.direction = 2;
};
self.straighten = function () {
self.direction = 0;
};
});
// Enemy class
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 0.8;
self.angle = Math.random() * 2 * Math.PI;
self.update = function () {
self.x += self.speed * Math.cos(self.angle);
self.y += self.speed * Math.sin(self.angle);
if (self.x < 0 || self.x > 2048 || self.y < 0 || self.y > 2732) {
self.x = Math.random() * 2048;
self.y = Math.random() * 2732;
self.angle = Math.random() * 2 * Math.PI; // Reset the angle when the enemy is repositioned
}
};
self.stealPoop = function (poop) {
if (self.intersects(poop)) {
poop.reposition();
}
};
});
// Poop class
var Poop = Container.expand(function () {
var self = Container.call(this);
var poopGraphics = self.attachAsset('poop', {
anchorX: 0.5,
anchorY: 0.5
});
self.reposition = function () {
self.x = Math.random() * 2048;
self.y = -100;
};
});
// Spiral class
var Spiral = Container.expand(function () {
var self = Container.call(this);
self.radius = 100;
self.angle = 0;
self.speed = 0.01;
self.update = function () {
self.angle += self.speed;
self.x = 2048 / 2 + self.radius * Math.cos(self.angle);
self.y = 2732 / 2 + self.radius * Math.sin(self.angle);
if (self.y > 2732) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
var road = game.addChild(LK.getAsset('road', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
}));
// Initialize variables
var car = new Car();
car.x = 2048 / 2;
car.y = 2732 / 2;
game.addChild(car);
var spirals = [];
var enemies = [];
for (var i = 0; i < 3; i++) {
var enemy = new Enemy();
enemy.x = Math.random() * 2048;
enemy.y = Math.random() * 2732;
enemies.push(enemy);
game.addChild(enemy);
}
var score = 0;
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
scoreTxt.x = 2048 / 2;
scoreTxt.y = 0;
game.addChild(scoreTxt);
// Handle touch events
game.down = function (x, y, obj) {
if (x < 2048 / 2) {
car.turnLeft();
} else {
car.turnRight();
}
};
game.up = function (x, y, obj) {
car.straighten();
};
// Update game state
game.update = function () {
car.update();
// Create spirals and poops
if (LK.ticks % 60 === 0) {
var spiral = new Spiral();
spiral.x = 2048 / 2;
spiral.y = -100;
spirals.push(spiral);
game.addChild(spiral);
// Only create a new poop if there are less than 3 on the screen
var poopCount = spirals.filter(function (spiral) {
return spiral instanceof Poop;
}).length;
if (poopCount < 3) {
var poop = new Poop();
poop.x = 2048;
poop.y = 2732 / 2;
spirals.push(poop);
game.addChild(poop);
}
}
// Update spirals, poops and enemies
for (var i = spirals.length - 1; i >= 0; i--) {
if (spirals[i] instanceof Spiral) {
spirals[i].update();
}
if (car.intersects(spirals[i])) {
if (spirals[i] instanceof Poop) {
spirals[i].reposition();
spirals[i].x = Math.random() * 2048;
spirals[i].y = Math.random() * 2732;
score += 100; // Increase score by 100 when poop is collected
} else {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
for (var j = 0; j < enemies.length; j++) {
enemies[j].update();
enemies[j].stealPoop(spirals[i]);
}
}
// Update score
scoreTxt.setText(score);
};
toilet room background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
fly
poop. 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.
золотая какашка. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.