Code edit (1 edits merged)
Please save this source code
User prompt
change high of the ground
User prompt
initialise ground
User prompt
delete fish
User prompt
set gravity effect on player to 2
User prompt
améliore le jeu
Code edit (1 edits merged)
Please save this source code
User prompt
hide happy cat and player when it touches a spike
User prompt
hide happy cat when it otuches a spik
User prompt
make the spike at same 'y' as the playeur
User prompt
Please fix the bug: 'Uncaught ReferenceError: playerGraphics is not defined' in or related to this line: 'player.y = game.floorLevel = 2732 - playerGraphics.height / 2; // Adjust player to ground level considering its height' Line Number: 235
User prompt
place the player at gound level
User prompt
Please fix the bug: 'Uncaught ReferenceError: playerGraphics is not defined' in or related to this line: 'player.y = game.floorLevel = 2732 - playerGraphics.height / 2; // Adjust player to ground level considering its height' Line Number: 235
User prompt
place playeur at ground level
User prompt
place the spike at grounnd
User prompt
make spike at same y of the player
User prompt
Adjust HappyCat to follow closely behind the player
User prompt
hide happycat well behind the player
User prompt
do that when happycat touches a bird, explose the bird
User prompt
when playeur touch a hoop, hide playeur
User prompt
when playeur touch a hoop, hide him
User prompt
make the happy cat at the same 'x' and 'y' of playeur
User prompt
create happy cat class
User prompt
make happycat always follow playeur
User prompt
fait apparaitre les oiseau au meme y
/****
* Classes
****/
// Classe Bird
var Bird = Container.expand(function () {
var self = Container.call(this);
// Appel du constructeur de Container
// Attache l'asset 'bird' avec les points d'ancrage au centre
self.currentAsset = 'bird';
self.birdGraphics1 = self.attachAsset(self.currentAsset, {
anchorX: 0.5,
anchorY: 0.5,
visible: true
});
self.birdGraphics2 = self.attachAsset('bird2', {
anchorX: 0.5,
anchorY: 0.5,
visible: false
});
self.toggleBirdAsset = function () {
//self.detachChild(birdGraphics); // Remove the current bird asset
//self.currentAsset = self.currentAsset === 'bird' ? 'bird2' : 'bird'; // Toggle between 'bird' and 'bird2'
//birdGraphics = self.attachAsset(self.currentAsset, {
//anchorX: 0.5,
//anchorY: 0.5
//});
if (self.birdGraphics1.visible) {
self.birdGraphics1.visible = false;
self.birdGraphics2.visible = true;
} else {
self.birdGraphics1.visible = true;
self.birdGraphics2.visible = false;
}
};
LK.setInterval(self.toggleBirdAsset, 500); // Change asset every 500ms to animate the bird
// Définit le mouvement de l'oiseau
self.move = function () {
self.x -= 5; // Ajuste la vitesse de mouvement de l'oiseau vers la gauche
// self.y += Math.sin(LK.ticks / 10) * 5; // Removed to stop changing the y position of birds
};
});
// Classe Explosion
var Explosion = Container.expand(function () {
var self = Container.call(this);
// Appel du constructeur de Container
var frames = [];
// Crée les frames de l'explosion
for (var i = 0; i < 5; i++) {
var frame = self.attachAsset('explosionFrame' + i, {
anchorX: 0.5,
anchorY: 0.5
});
frame.visible = false; // Cache la frame
frames.push(frame); // Ajoute la frame au tableau
}
var currentFrame = 0;
// Anime l'explosion
self.animate = function () {
if (currentFrame < frames.length) {
frames[currentFrame].visible = false; // Cache la frame courante
currentFrame++;
if (currentFrame < frames.length) {
frames[currentFrame].visible = true; // Affiche la nouvelle frame
}
} else {
self.destroy(); // Détruit l'explosion une fois toutes les frames affichées
}
};
LK.setInterval(self.animate, 100); // Définit l'intervalle d'animation
});
// Fish class
var Fish = Container.expand(function () {
var self = Container.call(this);
var fishGraphics = self.attachAsset('fish', {
anchorX: 0.5,
anchorY: 0.5
});
self.move = function () {
self.x -= 5; // Adjust fish movement speed to the left
};
});
// Hoop class
var Hoop = Container.expand(function () {
var self = Container.call(this);
var hoopGraphics = self.attachAsset('hoop', {
anchorX: 0.5,
anchorY: 1.0
});
self.move = function () {
self.x -= 10; // Increase hoop movement speed to the left
};
});
// Obstacle class
var Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('obstacle', {
anchorX: 0.5,
anchorY: 1.0
});
self.move = function () {
self.x -= 12; // Further decrease obstacle speed to the left
};
});
// Assets are automatically created based on usage in the code.
// Player class
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.velocityY = 0;
self.isJumping = false;
self.jump = function () {
if (!self.isJumping) {
self.velocityY = -45; // Further increase the jump height by increasing the initial upward velocity
self.isJumping = true;
}
};
self.update = function () {
self.y += self.velocityY;
self.velocityY += 2; // Increased gravity effect to make the cat fall faster
if (self.y > game.floorLevel) {
self.y = game.floorLevel;
self.isJumping = false;
}
};
});
// Spike class
var Spike = Container.expand(function () {
var self = Container.call(this);
var spikeGraphics = self.attachAsset('obstacle', {
anchorX: 0.5,
anchorY: 0.5
});
self.move = function () {
self.x -= 15; // Increase spike speed to the left
};
});
/****
* Initialize Game
****/
// Initialise le jeu
var game = new LK.Game({});
/****
* Game Code
****/
// Initialize birds array
// Crée une nouvelle instance de jeu
game.birds = [];
// Initialize bird and add it to the game
var bird = game.addChild(new Bird());
bird.x = 1024; // Center horizontally
bird.y = 1366; // Center vertically
game.birds.push(bird);
// Initialize birds array
// Initialize fishes array
game.fishes = [];
// Initialize fish and add it to the game
var fish = game.addChild(new Fish());
fish.x = 2048; // Start from the right edge
fish.y = 1366; // Center vertically
game.fishes.push(fish);
// Display the background asset 'bg'
var background = LK.getAsset('bg', {
anchorX: 0.0,
// Top left anchor x-coordinate
anchorY: 0.0,
// Top left anchor y-coordinate
x: 0,
// Position x-coordinate
y: 0 // Position y-coordinate
});
game.addChild(background);
// Affiche le score actuel
// Initialise correctement et affiche le score au centre supérieur de l'écran
var scoreDisplay = new Text2(LK.getScore().toString(), {
size: 100,
fill: "#ffffff",
// Couleur blanche pour une meilleure visibilité
anchorX: 0.5,
// Définit l'ancrage au centre du texte
anchorY: 0,
// Définit l'ancrage en haut du texte
x: 2048 / 2,
// Centre horizontalement en fonction de la largeur de résolution virtuelle
y: 50 // Positionne en haut
});
LK.gui.top.addChild(scoreDisplay); // Ajoute l'affichage du score à l'interface utilisateur
LK.on('tick', function () {
scoreDisplay.setText(LK.getScore().toString()); // Update the score display every tick with the current score
});
// Initialize player
var player = game.addChild(new Player());
player.x = 300;
player.y = game.floorLevel = 2732 - 500; // Floor level
// Initialize obstacles and hoops arrays
game.obstacles = [];
game.hoops = [];
// Touch event to make the player jump
game.on('down', function () {
player.jump();
});
// Game tick event
LK.on('tick', function () {
player.update();
// Move and check obstacles
for (var i = game.obstacles.length - 1; i >= 0; i--) {
var obstacle = game.obstacles[i];
obstacle.move();
// Check collision with player and add explosion effect for obstacles
if (player.intersects(obstacle)) {
var explosion = new Explosion();
explosion.x = player.x;
explosion.y = player.y;
game.addChild(explosion);
// Destroy the cat when it touches a spike
player.destroy();
// Wait one second after explosion before setting game over
LK.setTimeout(function () {
LK.showGameOver();
}, 1000);
}
// Remove off-screen obstacles
if (obstacle.x < -100) {
obstacle.destroy();
game.obstacles.splice(i, 1);
}
}
// Move bird instances and handle bird collision separately
for (var i = game.birds.length - 1; i >= 0; i--) {
var bird = game.birds[i];
bird.move();
// Check collision with player and add explosion effect for birds
if (player.intersects(bird)) {
var explosion = new Explosion();
explosion.x = bird.x;
explosion.y = bird.y;
game.addChild(explosion);
// Increase score by 1 when cat touches a bird
LK.setScore(LK.getScore() + 1);
// Show explosion on bird when cat touches a bird
bird.destroy();
game.birds.splice(i, 1);
}
// Remove off-screen birds
if (bird.x < -500) {
// Considering bird width
bird.destroy();
game.birds.splice(i, 1);
}
}
// Add spikes at random intervals
if (LK.ticks % 120 == 0) {
// Random interval between 1 to 2 seconds
var newSpike = new Spike();
newSpike.x = 2048; // Start from the right edge
newSpike.y = game.floorLevel;
game.addChild(newSpike);
game.obstacles.push(newSpike);
}
// Move fish instances
for (var i = game.fishes.length - 1; i >= 0; i--) {
var fish = game.fishes[i];
fish.move();
// Remove off-screen fish
if (fish.x < -200) {
// Considering fish width
fish.destroy();
game.fishes.splice(i, 1);
}
}
// Move and check hoops
for (var j = game.hoops.length - 1; j >= 0; j--) {
var hoop = game.hoops[j];
hoop.move();
// Check collision with player and increase score
if (hoop && player.intersects(hoop)) {
LK.setScore(LK.getScore() + 1);
// Add pixel effect when the cat touches a hoop
LK.effects.flashObject(player, 0x00FF00, 500); // Flash the player green for 0.5 seconds
hoop.destroy(); // Destroy the hoop to prevent multiple score increments from a single hoop
game.hoops.splice(game.hoops.indexOf(hoop), 1);
}
for (var k = game.fishes.length - 1; k >= 0; k--) {
if (player.intersects(game.fishes[k])) {
// Add explosion effect when fish is touched by the player
var explosion = new Explosion();
explosion.x = game.fishes[k].x;
explosion.y = game.fishes[k].y;
game.addChild(explosion);
// Increase score by 3 when fish touches the cat
LK.setScore(LK.getScore() + 3);
// Hide and destroy the fish immediately when it touches the cat
game.fishes[k].destroy();
game.fishes.splice(k, 1);
}
}
// Remove off-screen hoops
if (hoop.x < -200) {
// Considering hoop width
hoop.destroy();
game.hoops.splice(j, 1);
}
}
// Add new hoop
if (LK.ticks % 360 == 0) {
// Every 6 seconds, add a hoop
var newHoop = new Hoop();
newHoop.x = 2048; // Start from the right edge
newHoop.y = game.floorLevel - 400; // Position the hoop higher above the floor
game.addChild(newHoop);
game.hoops.push(newHoop);
}
// Move bird instances
for (var i = game.birds.length - 1; i >= 0; i--) {
var bird = game.birds[i];
bird.move();
// Remove off-screen birds
if (bird.x < -500) {
// Considering bird width
bird.destroy();
game.birds.splice(i, 1);
}
}
// Add new bird
if (LK.ticks % 180 == 0) {
// Every 3 seconds, add a bird
var newBird = new Bird();
newBird.x = 2048; // Start from the right edge
newBird.y = 1366; // Center vertically
game.addChild(newBird);
game.birds.push(newBird);
}
});
explosion frame. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
explosion frame. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
make the cat happy
make his mouth pink
delete grass
delete what is selected
make clouds similar of color of the sky, i mean dark purple and don't make it too visible