User prompt
The counter counting up from 0 when the game starts
User prompt
MOVE UP THE COUNTER BY 1000 UNITS
User prompt
MOVE UP THE COUNTER BY 800 UNITS
User prompt
Update the food counter to increment by ONE instead of TWO!
User prompt
THE FOOD COUNTER IS COUNTING UP FROM AND IT ONLY COUNTS BY ONE, NOT TWO!
User prompt
Change the color of the food counter text to BLACK
User prompt
FIX IT
User prompt
Replace NaN to "FOOD:"
User prompt
Rename NaN to FOOD:
User prompt
Move up the food counter by 800 units
User prompt
Move up the food counter by 77 units
User prompt
mov up the counter by 777 units
User prompt
replace Nan to 0 and update it when the snake eat food
User prompt
What the hell don't you mean by putting a black food counter in the game that counts up by one when the snake eats a food item? Place it 50 units towards the fence asset.
User prompt
Update the food counter when the snake eats food
User prompt
Add a food counter to the map and place it toward to the fence asset
User prompt
Add a food counter toward to the fence asset
User prompt
fix it to count
User prompt
Please fix the bug: 'TypeError: counter.getText is not a function' in or related to this line: 'counter.setText(parseInt(counter.getText()) + 1);' Line Number: 192
User prompt
the counter counting up when the snake eat the food
User prompt
move up the counter by 50 units
User prompt
place the counter toward to the fence asset
User prompt
Please fix the bug: 'TypeError: counter.getText is not a function' in or related to this line: 'counter.setText(parseInt(counter.getText()) + 1);' Line Number: 192
User prompt
Please fix the bug: 'TypeError: counter.getText2 is not a function' in or related to this line: 'counter.setText2(parseInt(counter.getText2()) + 1);' Line Number: 192
User prompt
Please fix the bug: 'TypeError: counter.getText is not a function' in or related to this line: 'counter.setText(parseInt(counter.getText()) + 1);' Line Number: 192
/**** * Classes ****/ // Food class for items the snake can eat var Food = Container.expand(function () { var self = Container.call(this); var foodGraphics = self.attachAsset('food', { anchorX: 0.5, anchorY: 0.5 }); // Randomly position the food on the screen self.randomizePosition = function () { do { self.x = Math.floor(Math.random() * (fence.width - 2 * self.width - 400)) + fence.x + self.width + 200; self.y = Math.floor(Math.random() * (fence.height / 2 - 2 * self.height)) + fence.y + self.height; } while (!fence.intersects(self)); }; return self; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Snake class for both player and computer-controlled snakes var Snake = Container.expand(function () { var self = Container.call(this); self.segments = []; self.direction = { x: 1, y: 0 }; // Initial direction to the right self.speed = 1.25; // Speed of the snake // Initialize snake with a given length self.init = function (length, startX, startY) { for (var i = 0; i < length; i++) { var segment = self.attachAsset('snakeSegment', { anchorX: 0.5, anchorY: 0.5, x: startX - i * 20, y: startY }); self.segments.push(segment); } }; // Update snake position self.update = function () { // Store the previous position of the head var prevX = self.segments[0].x; var prevY = self.segments[0].y; // Move the head in the current direction self.segments[0].x += self.direction.x * self.speed; self.segments[0].y += self.direction.y * self.speed; // Move each segment to the position of the previous one for (var i = 1; i < self.segments.length; i++) { var tempX = self.segments[i].x; var tempY = self.segments[i].y; self.segments[i].x = prevX; self.segments[i].y = prevY; prevX = tempX; prevY = tempY; } // Check if the last segment is off the screen var lastSegment = self.segments[self.segments.length - 1]; if (lastSegment.x < 0 || lastSegment.x > 2048 || lastSegment.y < 0 || lastSegment.y > 2732) { // Remove the last segment from the snake and return it to the pool self.segmentPool.push(self.segments.pop()); } }; // Initialize an object pool for the snake segments self.segmentPool = []; // Grow the snake by adding a new segment self.grow = function () { var lastSegment = self.segments[self.segments.length - 1]; var newSegment; // Check if there are any segments in the pool if (self.segmentPool.length > 0) { // Reuse a segment from the pool newSegment = self.segmentPool.pop(); newSegment.x = lastSegment.x; newSegment.y = lastSegment.y; } else { // Create a new segment newSegment = self.attachAsset('snakeSegment', { anchorX: 0.5, anchorY: 0.5, x: lastSegment.x, y: lastSegment.y }); } self.segments.push(newSegment); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Change background color to black }); /**** * Game Code ****/ // Initialize screen var screen = game.attachAsset('screen', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 - 200, color: 0x8FBC8F // Beige green color }); game.addChild(screen); // Initialize phone var phone = game.attachAsset('phone', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 + 900 }); game.addChild(phone); // Initialize transparent square var fence = game.attachAsset('fence', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 - 200 }); game.addChild(fence); // Initialize player snake var playerSnake = new Snake(); playerSnake.init(5, fence.x, fence.y); game.addChild(playerSnake); // Initialize food var food = new Food(); food.x = fence.x; food.y = fence.y; game.addChild(food); // Initialize food counter var foodCounter = new Text2('0', { size: 150, fill: 0xFFFFFF }); foodCounter.anchor.set(0.5, 0); LK.gui.top.addChild(foodCounter); // Ensure that every game start and restart contains minimum 1 food LK.on('restart', function () { food = new Food(); food.x = fence.x; food.y = fence.y; game.addChild(food); foodCounter.setText('0'); }); // Handle game updates game.update = function () { if (LK.ticks % 1 == 0) { // Update every 60Hz playerSnake.update(); // Check if player snake is at the edge of the fence for (var i = 0; i < playerSnake.segments.length; i++) { if (!fence.intersects(playerSnake.segments[i])) { // If the snake is at the right edge of the fence, load it to the left edge if (playerSnake.segments[i].x > fence.x + fence.width / 2) { playerSnake.segments[i].x = fence.x - fence.width / 2; } // If the snake is at the left edge of the fence, load it to the right edge else if (playerSnake.segments[i].x < fence.x - fence.width / 2) { playerSnake.segments[i].x = fence.x + fence.width / 2; } // If the snake is at the top edge of the fence, load it to the bottom edge else if (playerSnake.segments[i].y < fence.y - fence.height / 2) { playerSnake.segments[i].y = fence.y + fence.height / 2; } // If the snake is at the bottom edge of the fence, load it to the top edge else if (playerSnake.segments[i].y > fence.y + fence.height / 2) { playerSnake.segments[i].y = fence.y - fence.height / 2; } } } // Check for collision with food if (playerSnake.segments[0].intersects(food)) { playerSnake.grow(); playerSnake.grow(); // Grow the player's snake by an additional segment food.randomizePosition(); // Update the food counter var currentCount = parseInt(foodCounter.text); foodCounter.setText((currentCount + 1).toString()); // Update the food counter var currentCount = parseInt(foodCounter.text); foodCounter.setText((currentCount + 1).toString()); } } }; // Handle player input for snake direction game.down = function (x, y, obj) { var head = playerSnake.segments[0]; if (Math.abs(x - head.x) > Math.abs(y - head.y)) { if (x > head.x) { playerSnake.direction = { x: 1, y: 0 }; } else if (x < head.x) { playerSnake.direction = { x: -1, y: 0 }; } } else { if (y > head.y) { playerSnake.direction = { x: 0, y: 1 }; } else if (y < head.y) { playerSnake.direction = { x: 0, y: -1 }; } } console.log("Game was clicked at", x, y); }; ;
===================================================================
--- original.js
+++ change.js
@@ -182,8 +182,11 @@
food.randomizePosition();
// Update the food counter
var currentCount = parseInt(foodCounter.text);
foodCounter.setText((currentCount + 1).toString());
+ // Update the food counter
+ var currentCount = parseInt(foodCounter.text);
+ foodCounter.setText((currentCount + 1).toString());
}
}
};
// Handle player input for snake direction