User prompt
Do not allow pet to move to the top part of the screen
User prompt
keep pet bound to background asset
User prompt
allow pet to move toward the bottom side of screen
User prompt
✅ Flip pet asset image when click on the right side of the screen
User prompt
Flip pet asset image when pet is moving toward the right side of the screen
User prompt
when pet is clicked on make pet jump once slowly
User prompt
move speech bubble up more
User prompt
speech bubble is attached to pet
User prompt
speech bubble follows pet movement for the duration the pet is moving
User prompt
Please fix the bug: 'ReferenceError: speechBubble is not defined' in or related to this line: 'if (speechBubble) {' Line Number: 193
User prompt
Speech bubble follows pet
User prompt
When pet is clicked on trigger speechbubble
User prompt
when pet is tapped trigger speech bubble
User prompt
increase pet speed by 3x
User prompt
increase pet speed by 3x
User prompt
make pet jump 4x slower
User prompt
make pet jump slower
User prompt
make pet jump
User prompt
make pet move 4x faster
User prompt
pet and wagging tail assets should mirror depending on the direction of the click
User prompt
increase pet movement
User prompt
if a new click is registered cancel the last click and focus on the new one
User prompt
Dog hopes over click location instead of teleporting there
User prompt
pet moves to location of clicks or taps
User prompt
Allow dog to move around hopping from left to right side of the screen in a line
/****
* Classes
****/
// Clean Bar class
var CleanBar = Container.expand(function () {
var self = Container.call(this);
// Clean Bar visuals
var barGraphics = self.attachAsset('cleanBar', {
anchorX: 0.0,
anchorY: 0.5
});
// Method to update the clean bar
self.update = function (cleanliness) {
self.scaleX = cleanliness / 100;
};
});
// Happiness Bar class
var HappinessBar = Container.expand(function () {
var self = Container.call(this);
// Happiness Bar visuals
var barGraphics = self.attachAsset('happinessBar', {
anchorX: 0.0,
anchorY: 0.5
});
// Method to update the happiness bar
self.update = function (happiness) {
self.scaleX = happiness / 100;
};
});
// Assets will be automatically generated based on usage in the code.
// Pet class
var Pet = Container.expand(function () {
var self = Container.call(this);
// Pet visuals
var petGraphics = self.attachAsset('pet', {
anchorX: 0.5,
anchorY: 0.5
});
var tailGraphics = self.attachAsset('tail', {
anchorX: 0.5,
anchorY: 1
});
tailGraphics.x = petGraphics.width / 2 - 120;
tailGraphics.y = petGraphics.height / 2 - 400; // Position the tail at the table corner
self.wagging = false;
self.wagTail = function () {
if (LK.ticks % 20 == 0) {
self.wagging = !self.wagging;
if (self.wagging) {
tailGraphics.rotation = 0.3;
tailGraphics.y = petGraphics.height / 2 - 400 + 10; // Make the tail jump
} else {
tailGraphics.rotation = -0.3;
tailGraphics.y = petGraphics.height / 2 - 400; // Reset the tail position
}
}
};
// Pet properties
self.happiness = 100; // Max happiness
self.health = 100; // Max health
// Method to feed the pet
self.feed = function () {
self.happiness += 10;
self.health += 5;
// Ensure values do not exceed 100
self.happiness = Math.min(self.happiness, 100);
self.health = Math.min(self.health, 100);
};
// Method to play with the pet
self.play = function () {
self.happiness += 15;
// Ensure happiness does not exceed 100
self.happiness = Math.min(self.happiness, 100);
};
// Update pet status
self.update = function () {
// Decrease happiness and health over time
self.happiness -= 0.05;
self.health -= 0.02;
// Ensure values do not drop below 0
self.happiness = Math.max(self.happiness, 0);
self.health = Math.max(self.health, 0);
};
self.bark = function () {
console.log("Bark!");
};
self.hop = function () {
if (self.x >= 2048 - self.width / 2) {
self.direction = -1;
} else if (self.x <= self.width / 2) {
self.direction = 1;
}
self.x += self.direction * 5;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
var livingRoomBackground = game.addChild(LK.getAsset('livingRoom', {
x: 0,
y: 0,
anchorX: 0,
anchorY: 0
}));
// Create pet instance
var pet = game.addChild(new Pet());
// Create happiness bar instance
var happinessBar = game.addChild(new HappinessBar());
// Create clean bar instance
var cleanBar = game.addChild(new CleanBar());
// Position the clean bar under the happiness bar
cleanBar.x = 50;
cleanBar.y = 200;
happinessBar.x = 50;
happinessBar.y = 50;
// Position the health bar under the happiness bar
// Position the pet in the center of the screen
pet.x = 2048 / 2;
pet.y = 2000;
// Create interactive buttons for feeding and playing
var feedButton = game.addChild(LK.getAsset('feedButton', {
x: 300,
y: 2400,
anchorX: 0.5,
anchorY: 0.5
}));
var playButton = game.addChild(LK.getAsset('playButton', {
x: 1748,
y: 2400,
anchorX: 0.5,
anchorY: 0.5
}));
// Event listener for feed button
feedButton.on('down', function () {
pet.feed();
pet.bark();
happinessBar.update(pet.happiness);
});
// Event listener for play button
playButton.on('down', function () {
pet.play();
});
// Update game state every tick
LK.on('tick', function () {
pet.update();
pet.wagTail();
pet.hop();
// Update the happiness bar
happinessBar.update(pet.happiness);
// Update the clean bar
cleanBar.update(pet.cleanliness);
// Decrease happiness by 10% every 5 minutes
if (LK.ticks % (60 * 60 * 5) == 0) {
pet.happiness -= pet.happiness * 0.1;
}
});
pixel art living room. Single Game Texture. In-Game asset. 2d. Blank background.
pixel art dog bowl. Single Game Texture. In-Game asset. 2d. Blank background.
pixel art window with dog food bags displayed within it. Single Game Texture. In-Game asset. 2d. Blank background.
pixel art dog bone. Single Game Texture. In-Game asset. 2d. Blank background.
pixel art horizontal thirst bar that looks like a health bar. Single Game Texture. In-Game asset. 2d. Blank background.
pixel art heart speech bubble. Single Game Texture. In-Game asset. 2d. Blank background.
add white backgrund