User prompt
начальное положение препятствия 2 в левом верхнем углу
User prompt
добавить объект препятствие2 с аналогичными параметрами как у препятствия
Code edit (5 edits merged)
Please save this source code
User prompt
начальное направление перемещения прпятсвия любой угол из 360 градусов
User prompt
скорость перемещения препятвсвия 20
User prompt
скорость перемещения препятсвия 10
User prompt
игрок не может улетать за экран
Code edit (5 edits merged)
Please save this source code
User prompt
начальное направление движения препятвия рандомное
User prompt
скорость препятствия всегда одинаковая 5
Code edit (1 edits merged)
Please save this source code
User prompt
объект препятствие начинает двигаться в начале игры
User prompt
Объект препятствие двигается в случайном направлении, но при столкновении со стенами, потолком и полом отталкивается в зеркальном направлении
User prompt
при пересечении объектов игрок и препятствие game over
User prompt
объект препятвие находится в правом верхнем углу но сдвинут на 200 пикселей от краев
User prompt
добавить объект препятствие в правый верхний угол
User prompt
сделать задний фон белым
Code edit (1 edits merged)
Please save this source code
User prompt
увеличить скорость перемещения в 1.5 раза
User prompt
игрок плавно перемещается после того, как нажали по экрану
User prompt
удалить объекты
User prompt
переместить игрока в центр экрана
Initial prompt
Dodge all the flying objects
/**** * Classes ****/ // Obstacle class var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 2 + 1; // Random speed between 1 and 3 self.move = function () { self.y += self.speed; }; }); // Assets will be automatically created based on usage in the code. // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.move = function (direction) { if (direction === 'left' && self.x > 0) { self.x -= self.speed; } else if (direction === 'right' && self.x < 2048) { self.x += self.speed; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 // Init game with black background }); /**** * Game Code ****/ var player = game.addChild(new Player()); player.x = 2048 / 2; // Center horizontally player.y = 2732 / 2; // Center vertically var obstacles = []; var spawnRate = 120; // Spawn an obstacle every 2 seconds game.on('down', function (obj) { var pos = obj.event.getLocalPosition(game); if (pos.x < 1024) { player.move('left'); } else { player.move('right'); } }); LK.on('tick', function () { // Spawn obstacles if (LK.ticks % spawnRate === 0) { var obstacle = new Obstacle(); obstacle.x = Math.random() * 2048; // Random position across the width obstacle.y = 0; // Start from the top obstacles.push(obstacle); game.addChild(obstacle); } // Move obstacles for (var i = obstacles.length - 1; i >= 0; i--) { obstacles[i].move(); // Remove obstacles that are off screen if (obstacles[i].y > 2732) { obstacles[i].destroy(); obstacles.splice(i, 1); } // Check collision with player if (player.intersects(obstacles[i])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } });
===================================================================
--- original.js
+++ change.js
@@ -1,80 +1,80 @@
-/****
+/****
* Classes
-****/
+****/
// Obstacle class
var Obstacle = Container.expand(function () {
- var self = Container.call(this);
- var obstacleGraphics = self.attachAsset('obstacle', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = Math.random() * 2 + 1; // Random speed between 1 and 3
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var obstacleGraphics = self.attachAsset('obstacle', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = Math.random() * 2 + 1; // Random speed between 1 and 3
+ self.move = function () {
+ self.y += self.speed;
+ };
});
// Assets will be automatically created based on usage in the code.
// Player class
var Player = Container.expand(function () {
- var self = Container.call(this);
- var playerGraphics = self.attachAsset('player', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = 5;
- self.move = function (direction) {
- if (direction === 'left' && self.x > 0) {
- self.x -= self.speed;
- } else if (direction === 'right' && self.x < 2048) {
- self.x += self.speed;
- }
- };
+ var self = Container.call(this);
+ var playerGraphics = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 5;
+ self.move = function (direction) {
+ if (direction === 'left' && self.x > 0) {
+ self.x -= self.speed;
+ } else if (direction === 'right' && self.x < 2048) {
+ self.x += self.speed;
+ }
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 // Init game with black background
+ backgroundColor: 0x000000 // Init game with black background
});
-/****
+/****
* Game Code
-****/
+****/
var player = game.addChild(new Player());
-player.x = 1024; // Center horizontally
-player.y = 2500; // Near bottom
+player.x = 2048 / 2; // Center horizontally
+player.y = 2732 / 2; // Center vertically
var obstacles = [];
var spawnRate = 120; // Spawn an obstacle every 2 seconds
game.on('down', function (obj) {
- var pos = obj.event.getLocalPosition(game);
- if (pos.x < 1024) {
- player.move('left');
- } else {
- player.move('right');
- }
+ var pos = obj.event.getLocalPosition(game);
+ if (pos.x < 1024) {
+ player.move('left');
+ } else {
+ player.move('right');
+ }
});
LK.on('tick', function () {
- // Spawn obstacles
- if (LK.ticks % spawnRate === 0) {
- var obstacle = new Obstacle();
- obstacle.x = Math.random() * 2048; // Random position across the width
- obstacle.y = 0; // Start from the top
- obstacles.push(obstacle);
- game.addChild(obstacle);
- }
- // Move obstacles
- for (var i = obstacles.length - 1; i >= 0; i--) {
- obstacles[i].move();
- // Remove obstacles that are off screen
- if (obstacles[i].y > 2732) {
- obstacles[i].destroy();
- obstacles.splice(i, 1);
- }
- // Check collision with player
- if (player.intersects(obstacles[i])) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- }
+ // Spawn obstacles
+ if (LK.ticks % spawnRate === 0) {
+ var obstacle = new Obstacle();
+ obstacle.x = Math.random() * 2048; // Random position across the width
+ obstacle.y = 0; // Start from the top
+ obstacles.push(obstacle);
+ game.addChild(obstacle);
+ }
+ // Move obstacles
+ for (var i = obstacles.length - 1; i >= 0; i--) {
+ obstacles[i].move();
+ // Remove obstacles that are off screen
+ if (obstacles[i].y > 2732) {
+ obstacles[i].destroy();
+ obstacles.splice(i, 1);
+ }
+ // Check collision with player
+ if (player.intersects(obstacles[i])) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ }
});
\ No newline at end of file
квадрат со злым лицом.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
нужно закрасить тень за квадратом
квадрат с испуганным лицом. Белый. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
квадрат со злым лицом. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.