User prompt
MOVE THE MOBILE ASSET DOWN BY 1000 UNITS
User prompt
MOVE THE MOBILE ASSET DOWN BY 2000 UNITS
User prompt
Add mobile asset to the center of the map
User prompt
change the background colour to nokia 3310 screen colour
User prompt
Change the neongreen background to grassgreen
User prompt
Change the black background colour to neongreen
User prompt
Computer' snake also chases the food but make this a little bis slower, then the player's snake
User prompt
Double the size of the computer' snake' length when it eats food
User prompt
when the player's snake eat food then reach his snake to the double size long
User prompt
why not working the movement up and down???
User prompt
Add click event to the gam
Initial prompt
Snakes
/**** * 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 () { self.x = Math.floor(Math.random() * 2048); self.y = Math.floor(Math.random() * 2732); }; 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 = 5; // 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 () { // Move each segment to the position of the previous one for (var i = self.segments.length - 1; i > 0; i--) { self.segments[i].x = self.segments[i - 1].x; self.segments[i].y = self.segments[i - 1].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; }; // Grow the snake by adding a new segment self.grow = function () { var lastSegment = self.segments[self.segments.length - 1]; var 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 //Init game with black background }); /**** * Game Code ****/ // Initialize player and computer snakes var playerSnake = new Snake(); playerSnake.init(5, 500, 500); game.addChild(playerSnake); var computerSnake = new Snake(); computerSnake.init(5, 1500, 1500); game.addChild(computerSnake); // Initialize food var food = new Food(); food.randomizePosition(); game.addChild(food); // Initialize mobile var mobile = game.addChild(LK.getAsset('mobile', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 })); // Handle game updates game.update = function () { playerSnake.update(); computerSnake.update(); // 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(); } if (computerSnake.segments[0].intersects(food)) { computerSnake.grow(); computerSnake.grow(); // Grow the computer's snake by an additional segment food.randomizePosition(); } // Check for collision between player and computer snakes if (playerSnake.segments[0].intersects(computerSnake.segments[0])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } }; // 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); }; // Simple AI for computer snake function updateComputerSnakeDirection() { var head = computerSnake.segments[0]; var targetX = food.x; var targetY = food.y; if (head.x < targetX) { computerSnake.direction = { x: 0.5, y: 0 }; } else if (head.x > targetX) { computerSnake.direction = { x: -0.5, y: 0 }; } else if (head.y < targetY) { computerSnake.direction = { x: 0, y: 0.5 }; } else if (head.y > targetY) { computerSnake.direction = { x: 0, y: -0.5 }; } } // Update computer snake direction periodically LK.setInterval(updateComputerSnakeDirection, 500); ;
===================================================================
--- original.js
+++ change.js
@@ -66,9 +66,9 @@
/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0xC7F464 //Init game with Nokia 3310 screen color
+ backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
@@ -83,8 +83,15 @@
// Initialize food
var food = new Food();
food.randomizePosition();
game.addChild(food);
+// Initialize mobile
+var mobile = game.addChild(LK.getAsset('mobile', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 2048 / 2,
+ y: 2732 / 2
+}));
// Handle game updates
game.update = function () {
playerSnake.update();
computerSnake.update();