User prompt
Gelincigin hareketlerini gif olarak yap
User prompt
Çiftçiye yürüme efekti ekle
User prompt
Tıkladığım yere Gelincik koşma efekti ile gitsin.
User prompt
Gelincik koşarken koşar gibi hareket etsin
User prompt
Skorda her yumurta için 10 puan kullan
User prompt
Skor olarak 0/8 kullanma
User prompt
Farmer stop
User prompt
Farmer stop
User prompt
Yumartaların hepsini topladiktan sonra oyun bitmesin ve yumurtalar yenilenmiş oyun devam etsin.
User prompt
Yumurtaların hepsini topladıktan sonra oyun devam etsin.
User prompt
The game will not end when you collect all the eggs and the chickens will start laying eggs again.
User prompt
After taked all egss dont finish
User prompt
Save Best score ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
When i taked all egss dont finish the game
User prompt
when i taked all eggs dont finish the game
User prompt
Please fix the bug: 'Uncaught TypeError: storage.showTextInput is not a function' in or related to this line: 'storage.showTextInput({' Line Number: 194
User prompt
Please fix the bug: 'Uncaught TypeError: LK.showTextInput is not a function' in or related to this line: 'LK.showTextInput({' Line Number: 194
User prompt
enter a nick name and playing game
User prompt
Before playing game, player enter nick name.
User prompt
Require name entry before playing game
User prompt
before play game add user name
User prompt
After you get all the eggs, let the eggs come again
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var Chicken = Container.expand(function () { var self = Container.call(this); var chickenGraphics = self.attachAsset('chicken', { anchorX: 0.5, anchorY: 0.5 }); self.hasEgg = true; self.egg = null; return self; }); var Egg = Container.expand(function () { var self = Container.call(this); var eggGraphics = self.attachAsset('egg', { anchorX: 0.5, anchorY: 0.5 }); self.isCollected = false; self.isDelivered = false; self.underChicken = null; return self; }); var Farmer = Container.expand(function () { var self = Container.call(this); var farmerGraphics = self.attachAsset('farmer', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.direction = 1; self.patrolPoints = []; self.currentPoint = 0; self.lastX = 0; self.lastY = 0; self.update = function () { // Store last position self.lastX = self.x; self.lastY = self.y; // Farmer does not move or chase anymore }; return self; }); // Set farm background color var Weasel = Container.expand(function () { var self = Container.call(this); var weaselGraphics = self.attachAsset('weasel', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; // Increased from 5 to 10 for faster movement self.hasEgg = false; self.carryingEgg = null; self.targetX = undefined; self.targetY = undefined; self.lastX = 0; self.lastY = 0; self.update = function () { self.lastX = self.x; self.lastY = self.y; // Follow mouse click target if it exists if (self.targetX !== undefined && self.targetY !== undefined) { var dx = self.targetX - self.x; var dy = self.targetY - self.y; var distance = Math.sqrt(dx * dx + dy * dy); // If we're close enough to the target, stop moving if (distance < self.speed) { self.x = self.targetX; self.y = self.targetY; // Clear the target once reached self.targetX = undefined; self.targetY = undefined; } else { // Move toward the target self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } // Update egg position if carrying one if (self.hasEgg && self.carryingEgg) { self.carryingEgg.x = self.x; self.carryingEgg.y = self.y - 30; } } // Alert nearby chickens and farmer when near eggs if (eggs && chickens) { for (var i = 0; i < eggs.length; i++) { var egg = eggs[i]; if (!egg.isCollected && egg.underChicken) { // Calculate distance to egg var dx = self.x - egg.x; var dy = self.y - egg.y; var distance = Math.sqrt(dx * dx + dy * dy); // If close to an egg, make the chicken flutter if (distance < 150 && egg.underChicken) { // Make chicken flutter by adding a slight movement var chicken = egg.underChicken; if (LK.ticks % 10 === 0) { chicken.x += (Math.random() - 0.5) * 5; chicken.y += (Math.random() - 0.5) * 5; } } } } } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Set farm background color game.setBackgroundColor(0x7CFC00); // Game variables var gameWidth = 2048; var gameHeight = 2732; var score = 0; var weasel; var farmer; var chickens = []; var eggs = []; var coop; var exit; var dragNode = null; var isGameOver = false; var lastIntersectingFarmer = false; var totalEggs = 8; var eggsDelivered = 0; // Create chicken coop area coop = game.addChild(LK.getAsset('coop', { anchorX: 0.5, anchorY: 0.5, x: gameWidth / 2, y: gameHeight / 2, alpha: 0.3 })); // Create exit at bottom of screen exit = game.addChild(LK.getAsset('exit', { anchorX: 0.5, anchorY: 0.5, x: gameWidth / 2, y: gameHeight - 100 })); // Create score text var scoreTxt = new Text2('Eggs: 0/' + totalEggs, { size: 80, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Create best score text var bestScore = storage.bestScore || 0; var bestScoreTxt = new Text2('Best: ' + bestScore, { size: 60, fill: 0xFFFFFF }); bestScoreTxt.anchor.set(0.5, 0); bestScoreTxt.y = 80; // Position below the main score LK.gui.top.addChild(bestScoreTxt); // Create the player character (weasel) weasel = new Weasel(); weasel.x = gameWidth / 2; weasel.y = gameHeight - 200; weasel.lastX = weasel.x; weasel.lastY = weasel.y; game.addChild(weasel); // Create the farmer farmer = new Farmer(); farmer.x = gameWidth / 4; farmer.y = gameHeight / 3; farmer.lastX = farmer.x; farmer.lastY = farmer.y; game.addChild(farmer); // Set up farmer patrol points farmer.patrolPoints = [{ x: gameWidth / 4, y: gameHeight / 3 }, { x: 3 * gameWidth / 4, y: gameHeight / 3 }, { x: 3 * gameWidth / 4, y: 2 * gameHeight / 3 }, { x: gameWidth / 4, y: 2 * gameHeight / 3 }]; // Create chickens and eggs for (var i = 0; i < totalEggs; i++) { var chicken = new Chicken(); // Position chickens in a grid-like pattern var row = Math.floor(i / 4); var col = i % 4; chicken.x = (col + 1) * (gameWidth / 5); chicken.y = (row + 1) * (gameHeight / 4); game.addChild(chicken); chickens.push(chicken); // Create egg under chicken var egg = new Egg(); egg.x = chicken.x; egg.y = chicken.y; egg.underChicken = chicken; chicken.egg = egg; // Add egg to the game so it's visible game.addChild(egg); eggs.push(egg); } // Drag handling functions function handleMove(x, y, obj) { if (dragNode && !isGameOver) { dragNode.x = x; dragNode.y = y; // Check if weasel is carrying an egg if (weasel.hasEgg && weasel.carryingEgg) { weasel.carryingEgg.x = weasel.x; weasel.carryingEgg.y = weasel.y - 30; } } } // We don't need move handler since we're following clicks game.move = function (x, y, obj) {}; game.down = function (x, y, obj) { if (!isGameOver) { // Instead of setting dragNode, set a target position for the weasel to follow weasel.targetX = x; weasel.targetY = y; } }; game.up = function (x, y, obj) { dragNode = null; }; // Main game update logic game.update = function () { // Skip updates if game is over if (isGameOver) return; // Update farmer and weasel positions farmer.update(); weasel.update(); // Check for farmer collision var intersectingFarmer = weasel.intersects(farmer); if (!lastIntersectingFarmer && intersectingFarmer) { // Weasel got caught by farmer isGameOver = true; // Check if we should update best score if (score > (storage.bestScore || 0)) { storage.bestScore = score; bestScoreTxt.setText('Best: ' + storage.bestScore); } LK.getSound('caught').play(); LK.effects.flashScreen(0xFF0000, 1000); LK.showGameOver(); } lastIntersectingFarmer = intersectingFarmer; // Check for egg pickup for (var i = 0; i < eggs.length; i++) { var egg = eggs[i]; if (!egg.isCollected && egg.underChicken && weasel.intersects(egg.underChicken)) { // Weasel is near a chicken with an egg if (!weasel.hasEgg) { // Pick up the egg egg.isCollected = true; egg.underChicken.hasEgg = false; weasel.hasEgg = true; weasel.carryingEgg = egg; game.addChild(egg); // Move egg to top layer LK.getSound('pickup').play(); // When egg is taken, immediately alert the farmer by increasing his speed temporarily var oldSpeed = farmer.speed; farmer.speed = farmer.speed * 2; LK.setTimeout(function () { farmer.speed = oldSpeed; }, 3000); } } } // Check for egg delivery if (weasel.hasEgg && weasel.carryingEgg && weasel.intersects(exit)) { // Deliver the egg weasel.carryingEgg.isDelivered = true; weasel.hasEgg = false; // Remove the delivered egg if (weasel.carryingEgg.parent) { weasel.carryingEgg.parent.removeChild(weasel.carryingEgg); } eggsDelivered++; score += 10; LK.setScore(score); scoreTxt.setText("Eggs: " + eggsDelivered + "/" + totalEggs); LK.getSound('success').play(); // Check for win condition if (eggsDelivered >= totalEggs) { // All eggs delivered, reset eggs and continue game eggsDelivered = 0; scoreTxt.setText("Eggs: " + eggsDelivered + "/" + totalEggs); // Reset eggs and chickens for (var i = 0; i < eggs.length; i++) { var egg = eggs[i]; var chicken = chickens[i]; egg.isCollected = false; egg.isDelivered = false; egg.x = chicken.x; egg.y = chicken.y; egg.underChicken = chicken; chicken.hasEgg = true; chicken.egg = egg; // Add egg back to game if not present if (!egg.parent) { game.addChild(egg); } } LK.effects.flashScreen(0x00FF00, 1000); } weasel.carryingEgg = null; } // Make chickens occasionally look around (random movement) if (LK.ticks % 60 === 0) { for (var j = 0; j < chickens.length; j++) { if (Math.random() < 0.3) { var chicken = chickens[j]; var randomOffsetX = (Math.random() - 0.5) * 20; var randomOffsetY = (Math.random() - 0.5) * 20; tween(chicken, { x: chicken.x + randomOffsetX, y: chicken.y + randomOffsetY }, { duration: 500 }); } } } };
===================================================================
--- original.js
+++ change.js
@@ -43,37 +43,9 @@
self.update = function () {
// Store last position
self.lastX = self.x;
self.lastY = self.y;
- // Check if weasel has an egg and if farmer should chase
- if (weasel && weasel.hasEgg) {
- // Chase the weasel at a faster speed
- var chaseSpeed = self.speed * 1.5;
- var dx = weasel.x - self.x;
- var dy = weasel.y - self.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- if (distance > chaseSpeed) {
- self.x += dx / distance * chaseSpeed;
- self.y += dy / distance * chaseSpeed;
- }
- } else if (self.patrolPoints.length > 0) {
- var targetPoint = self.patrolPoints[self.currentPoint];
- // Move toward target point
- var dx = targetPoint.x - self.x;
- var dy = targetPoint.y - self.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- if (distance > self.speed) {
- self.x += dx / distance * self.speed;
- self.y += dy / distance * self.speed;
- } else {
- // Point reached, move to next point
- self.currentPoint = (self.currentPoint + 1) % self.patrolPoints.length;
- }
- // Randomly change direction occasionally
- if (Math.random() < 0.005) {
- self.currentPoint = Math.floor(Math.random() * self.patrolPoints.length);
- }
- }
+ // Farmer does not move or chase anymore
};
return self;
});
// Set farm background color
its a chicken. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
egg. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
angry farmer with all body. In-Game asset. 2d. High contrast. No shadows
without egg
hole. In-Game asset. 2d. High contrast. No shadows
Çit. In-Game asset. 2d. High contrast. No shadows