User prompt
отнимай 100 очков если враги украли какашку
User prompt
показывай очки игрока сверху синим цветом
User prompt
за каждую какашку игрок получает 100 очков
User prompt
удали счетчики
User prompt
почини счетчики, они не работают
User prompt
счетчики показывают сколько очков заработал игрок и враги
User prompt
баллы показываются на счетчике
User prompt
счетчик врага красный
User prompt
счетчик игрока синий
User prompt
счетчик врагов под счетчиком игрока
User prompt
счетчики сверху посередине
User prompt
добавь счетчик по типу 1:1
User prompt
Please fix the bug: 'ReferenceError: score is not defined' in or related to this line: 'score += 100; // Increase score by 100 when poop is collected' Line Number: 193
User prompt
удали счетчики
Code edit (1 edits merged)
Please save this source code
User prompt
первая какашка появляется в случайном месте
User prompt
прибавляй очки врагам за воровство какашек
User prompt
добавь счетчик очков врагов красного цвета
User prompt
счетчик очков больше и синего цвета
User prompt
отними 100 очков если враги украдут какашку
User prompt
когда враги воруют какашки, то счет уменьшается
User prompt
враги двигаются случайно и отскакивают от стен
User prompt
враги двигаются по случайным прямым
User prompt
направление врагов - случайные прямые
User prompt
враг двигается в одном направлении пока не отскочит
/****
* 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 = 2;
self.update = function () {
// Move in a straight line
self.x += self.speed;
// Keep within game area
if (self.x < 0) {
self.x = 0;
self.speed = -self.speed;
}
if (self.x > 2048) {
self.x = 2048;
self.speed = -self.speed;
}
// Check if the enemy intersects with any poop
for (var i = 0; i < spirals.length; i++) {
if (spirals[i] instanceof Poop && self.intersects(spirals[i])) {
// Remove the poop from the game
spirals[i].destroy();
spirals.splice(i, 1);
// Increase the speed of the enemy
self.speed += 0.1;
}
}
};
});
// 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 = 2732 / 2 + 100;
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);
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) {
if (car.intersects(spirals[i])) {
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 if (enemies.some(function (enemy) {
return enemy.intersects(spirals[i]);
})) {
spirals[i].reposition();
spirals[i].x = Math.random() * 2048;
spirals[i].y = Math.random() * 2732;
score -= 100; // Decrease score by 100 when poop is stolen by enemy
}
} else {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
}
// Update enemies
for (var i = 0; i < enemies.length; i++) {
enemies[i].update();
}
// 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.