User prompt
hayır diyer asetlerden lap düşerse büyüt masayı
User prompt
lap en üsten silinsin
User prompt
If the table and any other acid other than redmarble touch the table, the size of the table will increase. If the table falls and catches the table, the number of hearts will increase. If the rail falls, 2 can be thrown from the right and left of the table. I have read that these powers will disappear in a certain second.
User prompt
If the table and any acid other than redmarble touch the table, the size of the table will increase for 25 seconds. If the table falls and catches the table, the number of hearts will increase. If the rail falls, 2 can be thrown from the right and left of the table in 10 seconds. tamam belli bi süre dıurıp kaybolsun
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'x')' in or related to this line: 'newFallingObject.x = randomAsset.x;' Line Number: 357
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'x')' in or related to this line: 'newFallingObject.x = randomAsset.x;' Line Number: 355
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'x')' in or related to this line: 'newFallingObject.x = randomAsset.x;' Line Number: 348
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var newFallingObject = LK.getAsset(randomAsset.assetId, {' Line Number: 343
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var newFallingObject = LK.getAsset(randomAsset.assetId, {' Line Number: 342
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var newFallingObject = LK.getAsset(randomAsset.assetId, {' Line Number: 341
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var newFallingObject = LK.getAsset(randomAsset.assetId, {' Line Number: 340
User prompt
hayır yanlış anladın diyer asetlerden çıkacaklardı rendım bi şekilde
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'intersects')' in or related to this line: 'if (redMarble.intersects(fallingObject)) {' Line Number: 306
User prompt
lap masa harici ve masa2 , lap, ray bunlar diyer aseterden rendım düşe bilsin redmarble vurdunda onlaın içinden düşe bilsin eğer masa2 düşerse kalpin saısı artsın lap düşerse masa boyutu bira büyüsün eger ray düşerse masa onu yakalarsa masa onu lazer gibi 10 saniye boyunca ata bilsin
User prompt
o 3 kalp bitince oyun game over ekranı versinve tekrar oynana bilinsin
User prompt
diyer asetleri kalp gözükücek şekilde sırala
User prompt
lap üste koy gözüksün
User prompt
en üsyen bir sora eksilt
User prompt
kalbi enüstte 3 tane koy her top aşaga düştünde kalp eksilsin
User prompt
tamam kendi kendine masa hareket etmesin
User prompt
masa The movement of the mouse to the right and left is called "horizontal movement" or "horizontal sliding". yapıla bilinsin
User prompt
redmarble aşada düşüp kaybolana kadar 1 kere atıla bilinsin
User prompt
redmarble masa ata biliyordu
User prompt
masa sadece aşagıda istedim yere tıklayınca oraya gide bilsin
User prompt
redmarble masadan seke bilsindüşerken
/****
* Classes
****/
// Class for the different ages
var Age = Container.expand(function (age) {
var self = Container.call(this);
self.age = age;
self.resources = [];
self.buildings = [];
self.characters = [];
self.weapons = [];
self.score = 0;
self.addResource = function (resource) {
self.resources.push(resource);
};
self.addBuilding = function (building) {
self.buildings.push(building);
};
self.addCharacter = function (character) {
self.characters.push(character);
};
self.addWeapon = function (weapon) {
self.weapons.push(weapon);
};
self.updateScore = function (points) {
self.score += points;
if (self.score >= 5000) {
self.nextAge();
}
};
self.nextAge = function () {
// Logic for transitioning to the next age
};
self.update = function () {
// Logic for updating the age
};
});
// Class for the Balls in the chain
var Ball = Container.expand(function (color) {
var self = Container.call(this);
var ballGraphics = self.attachAsset('ball_' + color, {
anchorX: 0.5,
anchorY: 0.5
});
self.color = color;
self.update = function () {
// Logic for ball movement along the path
};
});
// Class for the Ball Chain
var BallChain = Container.expand(function () {
var self = Container.call(this);
self.balls = [];
self.addBall = function (ball) {
self.balls.push(ball);
self.addChild(ball);
};
self.update = function () {
// Logic for moving the chain and checking for matches
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the Frog character
var Frog = Container.expand(function () {
var self = Container.call(this);
var frogGraphics = self.attachAsset('frog', {
anchorX: 0.5,
anchorY: 0.5
});
self.shootBall = function (color) {
var ball = new Ball(color);
ball.x = self.x;
ball.y = self.y;
return ball;
};
});
var Masa = Container.expand(function () {
var self = Container.call(this);
var masaGraphics = self.attachAsset('masa', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5; // Speed of movement
self.direction = 1; // 1 for right, -1 for left
self.update = function () {
// Move masa left and right
// Removed automatic horizontal movement of masa
// Update lastX
self.lastX = self.x;
// Laser shooting logic
if (self.enableLaser) {
// Logic to shoot laser
// For simplicity, assume laser is a straight line from masa
var laser = new Graphics();
laser.lineStyle(5, 0xff0000, 1);
laser.moveTo(self.x, self.y);
laser.lineTo(self.x, 0);
game.addChild(laser);
// Check for collisions with assets
for (var i = assets.length - 1; i >= 0; i--) {
var asset = assets[i];
if (asset.x >= self.x - 5 && asset.x <= self.x + 5 && asset.y < self.y) {
asset.destroy();
assets.splice(i, 1);
}
}
// Remove laser after a short duration
LK.setTimeout(function () {
laser.destroy();
}, 100);
}
};
// Initialize lastX
self.lastX = self.x;
});
// Class for the RedMarble
var RedMarble = Container.expand(function () {
var self = Container.call(this);
var redMarbleGraphics = self.attachAsset('redmarble', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = 5; // Horizontal speed of the red marble
self.speedY = -10; // Vertical speed of the red marble
self.update = function () {
self.y += self.speedY;
self.x += self.speedX;
// Check for collision with top wall
if (self.y <= 0) {
self.speedY *= -1; // Reverse Y direction
}
// Check for collision with side walls
if (self.x <= 0 || self.x >= 2048) {
self.speedX *= -1; // Reverse X direction
}
// Check if red marble is off-screen
if (self.y < -50) {
self.destroy();
}
// Check for collision with masa while falling
if (self.lastY <= masa.y && self.y > masa.y && self.intersects(masa)) {
self.speedY *= -1; // Reverse Y direction
}
self.lastY = self.y;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize game elements
var fallingAssets = ['masa2', 'lap', 'ray'];
var fallingObjects = [];
var lives = 3;
var hearts = [];
// Add lap image to the top of the screen
var lap = LK.getAsset('lap', {
anchorX: 0.5,
anchorY: 0.5
});
lap.x = 2048 / 2; // Center the lap horizontally
lap.y = 50; // Position lap at the top
game.addChild(lap);
// Add heart images to the top of the screen
for (var i = 0; i < lives; i++) {
var heart = LK.getAsset('kalp', {
anchorX: 0.5,
anchorY: 0.5
});
heart.x = 100 + i * (heart.width + 20); // Position hearts with spacing
heart.y = 50; // Position hearts at the top
game.addChild(heart);
hearts.push(heart);
}
var redMarbles = [];
var assets = [];
// Initialize game elements
var masa = new Masa();
masa.x = 2048 / 2; // Center the masa horizontally
masa.y = 2732 - 50; // Position masa at the bottom wall
game.addChild(masa);
var currentAge = new Age('Stone Age');
game.addChild(currentAge);
var frog = new Frog();
game.addChild(frog);
// Fill the screen with assets arranged in a grid pattern
var assetIds = ['bilye1', 'bilye10', 'bilye11', 'bilye12', 'bilye14', 'bilye15', 'bilye16', 'bilye3', 'bilye4', 'bilye5', 'bilye6', 'bilye7', 'bilye9', 'biyye8', 'f', 'frog', 'red'];
var startX = 50; // Starting X position
var startY = 150; // Adjusted starting Y position to ensure hearts are visible
var spacingX = 20; // Horizontal spacing between assets
var spacingY = 20; // Vertical spacing between assets
var numRows = Math.floor((2732 - startY) / (100 + spacingY)); // Calculate number of rows based on screen height
var numCols = Math.floor((2048 - startX) / (100 + spacingX)); // Calculate number of columns based on screen width
for (var row = 0; row < numRows - 2; row++) {
// Adjusted to add one more row at the end
// Adjusted to remove the bottom 3 rows
for (var col = 0; col < numCols; col++) {
var index = (row * numCols + col) % assetIds.length; // Loop through assetIds
var id = assetIds[index];
var asset = LK.getAsset(id, {
anchorX: 0.5,
anchorY: 0.5
});
asset.x = startX + col * (asset.width + spacingX); // Align assets horizontally
asset.y = startY + row * (asset.height + spacingY); // Align assets vertically
game.addChild(asset);
assets.push(asset);
}
}
// Game update loop
game.update = function () {
currentAge.update();
// Additional game logic
// Update redmarble positions and check for collisions
for (var i = redMarbles.length - 1; i >= 0; i--) {
var redMarble = redMarbles[i];
redMarble.update();
// Check if redmarble is off-screen
if (redMarble.y > 2732) {
redMarble.destroy();
redMarbles.splice(i, 1);
// Decrease a heart
if (lives > 0) {
lives--;
var heartToRemove = hearts.shift(); // Remove the top heart
heartToRemove.destroy();
}
// Check if all hearts are lost
if (lives === 0) {
// Trigger game over screen
LK.showGameOver();
// Reset game state
lives = 3;
hearts = [];
for (var h = 0; h < lives; h++) {
var newHeart = LK.getAsset('kalp', {
anchorX: 0.5,
anchorY: 0.5
});
newHeart.x = 100 + h * (newHeart.width + 20);
newHeart.y = 50;
game.addChild(newHeart);
hearts.push(newHeart);
}
}
continue;
}
for (var j = assets.length - 1; j >= 0; j--) {
var asset = assets[j];
if (redMarble.intersects(asset)) {
if (asset.assetId !== 'redmarble') {
masa.scaleX *= 1.1;
masa.scaleY *= 1.1;
}
asset.destroy();
assets.splice(j, 1);
// Reverse direction of redmarble on collision
redMarble.speedY *= -1;
redMarble.speedX *= -1;
}
}
}
// Handle falling assets
for (var f = fallingObjects.length - 1; f >= 0; f--) {
var fallingObject = fallingObjects[f];
fallingObject.y += 5; // Falling speed
// Check if fallingObject is off-screen
if (fallingObject.y > 2732) {
fallingObject.destroy();
fallingObjects.splice(f, 1);
continue;
}
// Check for collision with redmarble
if (redMarble && redMarble.intersects(fallingObject)) {
if (fallingObject.assetId === 'masa2') {
if (fallingObject.lastY <= masa.y && fallingObject.y > masa.y && fallingObject.intersects(masa)) {
if (lives < 3) {
lives++;
var newHeart = LK.getAsset('kalp', {
anchorX: 0.5,
anchorY: 0.5
});
newHeart.x = 100 + (lives - 1) * (newHeart.width + 20);
newHeart.y = 50;
game.addChild(newHeart);
hearts.push(newHeart);
}
}
// Increase heart count
if (lives < 3) {
lives++;
var newHeart = LK.getAsset('kalp', {
anchorX: 0.5,
anchorY: 0.5
});
newHeart.x = 100 + (lives - 1) * (newHeart.width + 20);
newHeart.y = 50;
game.addChild(newHeart);
hearts.push(newHeart);
}
} else if (fallingObject.assetId === 'lap') {
// Increase masa size
masa.scaleX *= 1.1;
masa.scaleY *= 1.1;
} else if (fallingObject.assetId === 'ray') {
if (fallingObject.lastY <= masa.y && fallingObject.y > masa.y && fallingObject.intersects(masa)) {
// Enable shooting two rays from the sides of the table
var leftRay = new Graphics();
leftRay.lineStyle(5, 0xff0000, 1);
leftRay.moveTo(masa.x - masa.width / 2, masa.y);
leftRay.lineTo(masa.x - masa.width / 2, 0);
game.addChild(leftRay);
var rightRay = new Graphics();
rightRay.lineStyle(5, 0xff0000, 1);
rightRay.moveTo(masa.x + masa.width / 2, masa.y);
rightRay.lineTo(masa.x + masa.width / 2, 0);
game.addChild(rightRay);
// Remove rays after a short duration
LK.setTimeout(function () {
leftRay.destroy();
rightRay.destroy();
}, 1000);
}
// Enable laser shooting for 10 seconds
masa.enableLaser = true;
LK.setTimeout(function () {
masa.enableLaser = false;
}, 10000);
}
fallingObject.destroy();
fallingObjects.splice(f, 1);
}
}
// Randomly add new falling assets
if (LK.ticks % 180 === 0) {
// Every 3 seconds
var randomIndex = Math.floor(Math.random() * assets.length);
if (randomIndex !== undefined && assets[randomIndex]) {
if (randomIndex !== undefined && assets[randomIndex]) {
var randomAsset = assets[randomIndex];
if (randomAsset && randomAsset.assetId) {
var newFallingObject = LK.getAsset(randomAsset.assetId, {
anchorX: 0.5,
anchorY: 0.5
});
if (newFallingObject) {
newFallingObject.x = randomAsset.x;
newFallingObject.y = randomAsset.y;
newFallingObject.assetId = randomAsset.assetId;
game.addChild(newFallingObject);
fallingObjects.push(newFallingObject);
}
}
}
}
if (newFallingObject) {
newFallingObject.x = randomAsset.x;
newFallingObject.y = randomAsset.y;
newFallingObject.assetId = randomAsset.assetId;
game.addChild(newFallingObject);
fallingObjects.push(newFallingObject);
}
}
// Check if the bottom row is empty and move assets down
if (assets.length > 0 && assets[0].y > 2732) {
for (var k = 0; k < assets.length; k++) {
assets[k].y += 100 + spacingY;
}
}
};
// Event listeners for shooting balls
game.down = function (x, y, obj) {
masa.x = x; // Move masa to the clicked x position
// Shoot a redmarble from the masa only if there are no active redmarbles
if (redMarbles.length === 0) {
var redMarble = new RedMarble();
redMarble.x = masa.x;
redMarble.y = masa.y - masa.height / 2; // Start above the masa
redMarbles.push(redMarble);
game.addChild(redMarble);
}
};
game.move = function (x, y, obj) {
masa.x = x; // Update masa's x position with mouse movement
}; ===================================================================
--- original.js
+++ change.js
@@ -255,8 +255,12 @@
}
for (var j = assets.length - 1; j >= 0; j--) {
var asset = assets[j];
if (redMarble.intersects(asset)) {
+ if (asset.assetId !== 'redmarble') {
+ masa.scaleX *= 1.1;
+ masa.scaleY *= 1.1;
+ }
asset.destroy();
assets.splice(j, 1);
// Reverse direction of redmarble on collision
redMarble.speedY *= -1;
@@ -276,8 +280,21 @@
}
// Check for collision with redmarble
if (redMarble && redMarble.intersects(fallingObject)) {
if (fallingObject.assetId === 'masa2') {
+ if (fallingObject.lastY <= masa.y && fallingObject.y > masa.y && fallingObject.intersects(masa)) {
+ if (lives < 3) {
+ lives++;
+ var newHeart = LK.getAsset('kalp', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ newHeart.x = 100 + (lives - 1) * (newHeart.width + 20);
+ newHeart.y = 50;
+ game.addChild(newHeart);
+ hearts.push(newHeart);
+ }
+ }
// Increase heart count
if (lives < 3) {
lives++;
var newHeart = LK.getAsset('kalp', {
@@ -293,8 +310,26 @@
// Increase masa size
masa.scaleX *= 1.1;
masa.scaleY *= 1.1;
} else if (fallingObject.assetId === 'ray') {
+ if (fallingObject.lastY <= masa.y && fallingObject.y > masa.y && fallingObject.intersects(masa)) {
+ // Enable shooting two rays from the sides of the table
+ var leftRay = new Graphics();
+ leftRay.lineStyle(5, 0xff0000, 1);
+ leftRay.moveTo(masa.x - masa.width / 2, masa.y);
+ leftRay.lineTo(masa.x - masa.width / 2, 0);
+ game.addChild(leftRay);
+ var rightRay = new Graphics();
+ rightRay.lineStyle(5, 0xff0000, 1);
+ rightRay.moveTo(masa.x + masa.width / 2, masa.y);
+ rightRay.lineTo(masa.x + masa.width / 2, 0);
+ game.addChild(rightRay);
+ // Remove rays after a short duration
+ LK.setTimeout(function () {
+ leftRay.destroy();
+ rightRay.destroy();
+ }, 1000);
+ }
// Enable laser shooting for 10 seconds
masa.enableLaser = true;
LK.setTimeout(function () {
masa.enableLaser = false;
@@ -354,20 +389,5 @@
}
};
game.move = function (x, y, obj) {
masa.x = x; // Update masa's x position with mouse movement
-};
-if (fallingObject.assetId !== 'redmarble') {
- // Increase masa size
- masa.scaleX *= 1.1;
- masa.scaleY *= 1.1;
- // Reset size after 25 seconds
- LK.setTimeout(function () {
- masa.scaleX /= 1.1;
- masa.scaleY /= 1.1;
- }, 25000);
-}
-// Enable laser shooting from both sides of the table
-masa.enableLaser = true;
-LK.setTimeout(function () {
- masa.enableLaser = false;
-}, 10000);
\ No newline at end of file
+};
\ No newline at end of file
RENKLİ CAM MİSKET. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
RENKLİ CAM MİSKET. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
COLORED GLASS MARBLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red marble. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
long thick horizontal bar. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.