User prompt
eğer ateşler karelere çarparsa patlasın
User prompt
Please fix the bug: 'ReferenceError: bullets is not defined' in or related to this line: 'for (var j = bullets.length - 1; j >= 0; j--) {' Line Number: 102
User prompt
yuvarlak ateş etsin
User prompt
yuvalağı hareket ettir
Initial prompt
ballhunter
/****
* Classes
****/
var Bullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = -5;
self.update = function () {
self.y += self.speed;
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the shooting ball
var ShootingBall = Container.expand(function () {
var self = Container.call(this);
var ballGraphics = self.attachAsset('shootingBall', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
if (LK.ticks % 30 == 0) {
// Every half a second
var bullet = new Bullet();
bullet.x = self.x;
bullet.y = self.y;
game.addChild(bullet);
}
};
});
// Class for the small balls
var SmallBall = Container.expand(function () {
var self = Container.call(this);
var ballGraphics = self.attachAsset('smallBall', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3;
self.update = function () {
self.y += self.speed;
if (self.y > 2732) {
self.y = 0; // Reset position if it goes off screen
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
var shootingBall = game.addChild(new ShootingBall());
shootingBall.x = 2048 / 2;
shootingBall.y = 2732 / 2;
var smallBalls = [];
for (var i = 0; i < 5; i++) {
var smallBall = new SmallBall();
smallBall.x = Math.random() * 2048;
smallBall.y = Math.random() * 2732;
smallBalls.push(smallBall);
game.addChild(smallBall);
}
var dragNode = null;
//Declare method for handling move events on game.
function handleMove(x, y, obj) {
//Get event position in relation to game object
if (dragNode) {
dragNode.x = x;
dragNode.y = y;
}
}
//Mouse or touch move on game object. LK returns complex event objects. Please be aware of this.
game.move = handleMove;
//Allow dragging of the shootingBall to start from anywhere.
game.down = function (x, y, obj) {
//Set drag node to shootingBall.
dragNode = shootingBall;
//Also call move handler right away to make effect instant.
handleMove(x, y, obj);
};
//Mouse or touch up on game object
game.up = function (x, y, obj) {
dragNode = null;
};
game.update = function () {
for (var i = smallBalls.length - 1; i >= 0; i--) {
for (var j = bullets.length - 1; j >= 0; j--) {
if (bullets[j].intersects(smallBalls[i])) {
smallBalls[i].destroy();
smallBalls.splice(i, 1);
bullets[j].destroy();
bullets.splice(j, 1);
if (smallBalls.length === 0) {
LK.showGameOver(); // Win condition
}
break;
}
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -1,7 +1,18 @@
/****
* Classes
****/
+var Bullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('bullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = -5;
+ self.update = function () {
+ self.y += self.speed;
+ };
+});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the shooting ball
var ShootingBall = Container.expand(function () {
@@ -10,9 +21,15 @@
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
- // Shooting ball logic if needed
+ if (LK.ticks % 30 == 0) {
+ // Every half a second
+ var bullet = new Bullet();
+ bullet.x = self.x;
+ bullet.y = self.y;
+ game.addChild(bullet);
+ }
};
});
// Class for the small balls
var SmallBall = Container.expand(function () {
@@ -74,13 +91,18 @@
dragNode = null;
};
game.update = function () {
for (var i = smallBalls.length - 1; i >= 0; i--) {
- if (shootingBall.intersects(smallBalls[i])) {
- smallBalls[i].destroy();
- smallBalls.splice(i, 1);
- if (smallBalls.length === 0) {
- LK.showGameOver(); // Win condition
+ for (var j = bullets.length - 1; j >= 0; j--) {
+ if (bullets[j].intersects(smallBalls[i])) {
+ smallBalls[i].destroy();
+ smallBalls.splice(i, 1);
+ bullets[j].destroy();
+ bullets.splice(j, 1);
+ if (smallBalls.length === 0) {
+ LK.showGameOver(); // Win condition
+ }
+ break;
}
}
}
};
\ No newline at end of file