/**** * Classes ****/ // Food class var Food = Container.expand(function (word) { var self = Container.call(this); var foodGraphics = self.attachAsset('food', { anchorX: 0.5, anchorY: 0.5 }); var foodText = self.attachAsset(new Text2(word, { size: 50, fill: "#ffffff" }), { anchorX: 0.5, anchorY: 0.5 }); self.scaleX = 0.3; self.scaleY = 0.3; }); // Assets will be automatically created based on usage in the code. // Goose class var Goose = Container.expand(function () { var self = Container.call(this); var gooseGraphics = self.attachAsset('goose', { anchorX: 0.5, anchorY: 0.5 }); self.scaleX = 0.5; self.scaleY = 0.5; self.eat = function () { // Increase size slightly to simulate eating self.scaleX += 0.05; self.scaleY += 0.05; }; self.clone = function () { var newGoose = new Goose(); newGoose.x = Math.random() * (2048 - newGoose.width) + newGoose.width / 2; newGoose.y = Math.random() * (2732 - newGoose.height) + newGoose.height / 2; game.addChild(newGoose); geese.push(newGoose); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Light blue background }); /**** * Game Code ****/ var geese = []; var foods = []; // Create initial goose var initialGoose = new Goose(); initialGoose.x = 1024; // Center horizontally initialGoose.y = 1366; // Center vertically game.addChild(initialGoose); geese.push(initialGoose); // Handle touch input to create food game.on('down', function (obj) { var pos = obj.event.getLocalPosition(game); var foodWord = prompt("Type a word for food:"); if (foodWord && foodWord.toLowerCase() === "clone") { geese.forEach(function (goose) { goose.clone(); }); } else { var food = new Food(foodWord); food.x = pos.x; food.y = pos.y; game.addChild(food); foods.push(food); } }); // Check for goose eating food LK.on('tick', function () { geese.forEach(function (goose) { foods.forEach(function (food, index) { if (goose.intersects(food)) { goose.eat(); food.destroy(); foods.splice(index, 1); } }); }); });
/****
* Classes
****/
// Food class
var Food = Container.expand(function (word) {
var self = Container.call(this);
var foodGraphics = self.attachAsset('food', {
anchorX: 0.5,
anchorY: 0.5
});
var foodText = self.attachAsset(new Text2(word, {
size: 50,
fill: "#ffffff"
}), {
anchorX: 0.5,
anchorY: 0.5
});
self.scaleX = 0.3;
self.scaleY = 0.3;
});
// Assets will be automatically created based on usage in the code.
// Goose class
var Goose = Container.expand(function () {
var self = Container.call(this);
var gooseGraphics = self.attachAsset('goose', {
anchorX: 0.5,
anchorY: 0.5
});
self.scaleX = 0.5;
self.scaleY = 0.5;
self.eat = function () {
// Increase size slightly to simulate eating
self.scaleX += 0.05;
self.scaleY += 0.05;
};
self.clone = function () {
var newGoose = new Goose();
newGoose.x = Math.random() * (2048 - newGoose.width) + newGoose.width / 2;
newGoose.y = Math.random() * (2732 - newGoose.height) + newGoose.height / 2;
game.addChild(newGoose);
geese.push(newGoose);
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
var geese = [];
var foods = [];
// Create initial goose
var initialGoose = new Goose();
initialGoose.x = 1024; // Center horizontally
initialGoose.y = 1366; // Center vertically
game.addChild(initialGoose);
geese.push(initialGoose);
// Handle touch input to create food
game.on('down', function (obj) {
var pos = obj.event.getLocalPosition(game);
var foodWord = prompt("Type a word for food:");
if (foodWord && foodWord.toLowerCase() === "clone") {
geese.forEach(function (goose) {
goose.clone();
});
} else {
var food = new Food(foodWord);
food.x = pos.x;
food.y = pos.y;
game.addChild(food);
foods.push(food);
}
});
// Check for goose eating food
LK.on('tick', function () {
geese.forEach(function (goose) {
foods.forEach(function (food, index) {
if (goose.intersects(food)) {
goose.eat();
food.destroy();
foods.splice(index, 1);
}
});
});
});