User prompt
il faut 3 coeur au débu 2 quand elle perd une vie 1 quand elle perd il y a 0 coeur
User prompt
remplace lives 3 par trois un heart
User prompt
il faut que le mot holala ! sois écrit en rouge
User prompt
quand la fée perd 2 vie d'afiler sa dois être écrit holala !
User prompt
Fix Bug: 'TypeError: LK.playSound is not a function' in this line: 'LK.playSound('holala');' Line Number: 140
User prompt
Fix Bug: 'TypeError: LK.playSound is not a function' in this line: 'LK.playSound('holala');' Line Number: 140
User prompt
quand la fée perd 2 vie d'afiler sa dois faire le son : holala !
User prompt
alors répare ça
User prompt
il faut que les potion vont jusquau bout
User prompt
il faut que les potion vont jusque en bas
User prompt
il faut que les potion von plus vites
User prompt
quand la fée touche 2 potion en même temp sa dois être écrit
User prompt
il faut des lignes de potion a l'infini
User prompt
change completement la methode de creation des potions car celle là ne foncitonne pas
User prompt
accelere les potions
User prompt
Les vagues de potion ne doivent jamais s'arreter
User prompt
corrige la creation de potions pour qu'il y ait entre 4 et 8 potions à fréquence régulières
User prompt
il faut plus de 3 potion
User prompt
il faut moin de 8 potion sur une lignes
User prompt
il faut plus de ligne de potion
User prompt
il faut plus de potion
User prompt
non l'invers
User prompt
quand la fée a franchi 5 lignes il y a que les aurtres potions qui vonts ver la fée le reste se casse
User prompt
au débu les potion tombes toute droite et quand la fée a franchi 5 lignes les potions doives aller ver la fée
User prompt
les potion doive atraper la fée que quand la fée a franchi 5 lignes
/****
* Classes
****/
var PixelateEffect = Container.expand(function () {
var self = Container.call(this);
self.applyTo = function (target) {
// Placeholder for pixelation effect logic
// This is where you would implement the actual pixelation effect
// For now, we'll just log to the console
console.log('Applying pixelation effect to', target);
// After the effect is applied, destroy the target
target.destroy();
};
});
// LivesDisplay class
var LivesDisplay = Container.expand(function () {
var self = Container.call(this);
self.livesText = new Text2('Lives: 3', {
size: 100,
fill: "#000000"
});
self.livesText.anchor.set(0.5, 0);
self.addChild(self.livesText);
self.updateLives = function (lives) {
self.livesText.setText('Lives: ' + lives);
};
});
// Fairy class
var Fairy = Container.expand(function () {
var self = Container.call(this);
var fairyGraphics = self.createAsset('fairy', 'Fairy character', 0.5, 0.5);
self.lives = 3;
self.lineCrossed = 0;
self.speed = 10;
self.moveLeft = function () {
self.x = Math.max(self.width / 2, self.x - self.speed);
};
self.moveRight = function () {
self.x = Math.min(2048 - self.width / 2, self.x + self.speed);
};
self.moveUp = function () {
var oldY = self.y;
self.y = Math.max(self.height / 2, self.y - self.speed);
if (Math.floor(oldY / 500) !== Math.floor(self.y / 500)) {
self.lineCrossed++;
}
};
self.moveDown = function () {
self.y = Math.min(2732 - self.height / 2, self.y + self.speed);
};
});
// Potion class
var Potion = Container.expand(function () {
var self = Container.call(this);
var potionGraphics = self.createAsset('potion', 'Witch potion', 0.5, 0.5);
self.baseSpeed = 3;
self.speedMultiplier = 1;
self.move = function () {
var targetX = fairy.x;
var targetY = fairy.y;
var moveX = targetX - self.x;
var moveY = targetY - self.y;
var distance = Math.sqrt(moveX * moveX + moveY * moveY);
self.x += moveX / distance * self.baseSpeed * self.speedMultiplier;
self.y += moveY / distance * self.baseSpeed * self.speedMultiplier;
if (self.y > 2732 || self.x < 0 || self.x > 2048) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 // Init game with black background
});
/****
* Game Code
****/
// Add background asset
var background = game.createAsset('background', 'Game background', 0, 0);
background.width = 2048;
background.height = 2732;
game.addChild(background);
// Initialize fairy
var fairy = game.addChild(new Fairy());
fairy.x = 1024; // Center horizontally
fairy.y = 2732 - 100; // Start near the bottom of the screen
// Initialize potions array
var potions = [];
// Initialize lives display
var livesDisplay = game.addChild(new LivesDisplay());
LK.gui.top.addChild(livesDisplay); // Attach livesDisplay to the top center of the screen.
// Handle touch movement
function handleTouchMove(obj) {
var touchPos = obj.event.getLocalPosition(game);
fairy.x = touchPos.x;
fairy.y = touchPos.y;
}
// Add touch move listener to the game
game.on('move', handleTouchMove);
// Game tick event
LK.on('tick', function () {
// Move potions
for (var i = potions.length - 1; i >= 0; i--) {
potions[i].move();
if (fairy.lineCrossed >= 5 && fairy.intersects(potions[i])) {
// Decrease fairy's lives when touching a potion and end game if lives are 0
fairy.lives--;
livesDisplay.updateLives(fairy.lives);
LK.effects.flashObject(fairy, 0xff0000, 500);
if (fairy.lives <= 0) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
return;
}
// Apply pixelation effect to the potion before destroying it
var pixelateEffect = new PixelateEffect();
pixelateEffect.applyTo(potions[i]);
potions.splice(i, 1);
}
}
// Update potion speed multiplier based on fairy's y position
var potionSpeedLine = 1366; // Define the y position line for increasing potion speed
if (fairy.y < potionSpeedLine) {
for (var p = 0; p < potions.length; p++) {
potions[p].speedMultiplier = 2;
}
}
// Spawn potions with increasing frequency
var spawnRate = Math.max(20, 100 - Math.floor(LK.ticks / 1800)); // Decrease spawn interval every 30 seconds, minimum 0.5 seconds
if (LK.ticks % spawnRate === 0) {
var spawnBuffer = 200; // Buffer distance to prevent potions from spawning too close to each other
for (var j = 0; j < 5; j++) {
var potion = new Potion();
var validPosition = false;
var attempts = 0;
while (!validPosition && attempts < 10) {
potion.x = Math.random() * (2048 - potion.width) + potion.width / 2;
validPosition = true;
for (var k = 0; k < potions.length; k++) {
if (Math.abs(potions[k].x - potion.x) < spawnBuffer) {
validPosition = false;
break;
}
}
attempts++;
}
if (validPosition) {
potion.y = -potion.height / 2;
potions.push(potion);
game.addChild(potion);
}
}
}
});
nothing
fairy. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
un monde féerique. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
enleve ça
le même coeur mais vide