User prompt
deve varlığına koşma animasyonu ekle ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
atın ayakları haraket etsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
atta iken at animasyonu ekle arabanın arkasına lastik izi ekle ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
çölde deveye binsin şehirde arabaya binsin
User prompt
yiyince skor tablosunda 100 puan arttsın
User prompt
hayvanları yiyince 100 puan kazanılsın
User prompt
çok hızlı bitsin
User prompt
skor çok hızlı bir şekilde ilerlesin
User prompt
skor alanını 0/3000 yapın 3000 olunca dediğim son gelsin
User prompt
3000 puan toplayınca kocaman "tebrikler oyunu bitirdiniz!" yazısı gelsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
seviye seçme alanları siyah tonda olsun
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'fill')' in or related to this line: 'levelSelector1.style.fill = 0x000000; // Black for snow level' Line Number: 535
User prompt
seviye seçme sayıları kar alanında siyah şehirde beyaz çölde de beyaz olsun
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toGlobal')' in or related to this line: 'var guiPosition = LK.gui.toLocal(obj.parent.toGlobal(obj.position));' Line Number: 476
User prompt
sol tıkla tıklayınca açılsın
User prompt
3 çizgi ekle basınca 3 seçenek sunsun oyun kapansın yeniden başlama seviye seçme
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toGlobal')' in or related to this line: 'var guiPosition = LK.gui.toLocal(obj.parent.toGlobal(obj.position));' Line Number: 476
User prompt
seviye seçme ekle
User prompt
seviye seçme alanını kaldır
User prompt
seviyeye basınca ona gidebilme ekle
User prompt
istediğim seviyeye gidebiliyim
User prompt
seviye seçme yeri ekle sağ altta
User prompt
kar seviyesine kar tilkisi ekle
User prompt
yazıların rengi siyah olsun aderos şeklinde yazı tipi olsun
User prompt
skor can ve seviye yazıları font olarak güzel bir yazı haline gelsin ve karakter sağ sola giderken titreme yaşanmasın
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Cactus = Container.expand(function () {
var self = Container.call(this);
var cactusGraphics = self.attachAsset('cactus', {
anchorX: 0.5,
anchorY: 1
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var Car = Container.expand(function (carType) {
var self = Container.call(this);
var carAssets = ['redCar', 'blueCar', 'greenCar', 'yellowCar'];
var selectedAsset = carType || carAssets[Math.floor(Math.random() * carAssets.length)];
var carGraphics = self.attachAsset(selectedAsset, {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.moveDirection = (Math.random() - 0.5) * 2;
self.update = function () {
self.y += self.speed;
self.x += self.moveDirection;
// Keep cars within screen bounds
if (self.x < 100) self.x = 100;
if (self.x > 1948) self.x = 1948;
};
return self;
});
var Character = Container.expand(function () {
var self = Container.call(this);
var characterGraphics = self.attachAsset('character', {
anchorX: 0.5,
anchorY: 1
});
self.speed = 8;
self.maxX = 2048 - 100;
self.minX = 100;
self.lastX = 0;
self.trailPositions = [];
self.moveToX = function (targetX) {
targetX = Math.max(self.minX, Math.min(self.maxX, targetX));
tween(self, {
x: targetX
}, {
duration: 250,
easing: tween.easeOut
});
};
self.update = function () {
// Add subtle sliding animation based on movement
if (self.lastX !== undefined) {
var deltaX = self.x - self.lastX;
// Reduce rotation intensity to prevent exhausting movement
characterGraphics.rotation = deltaX * 0.003;
// Reduce scale effect to make movement smoother
characterGraphics.scaleX = 1 + Math.abs(deltaX) * 0.0003;
// Gradually return to normal state
characterGraphics.rotation *= 0.9;
characterGraphics.scaleX = characterGraphics.scaleX * 0.95 + 0.05;
}
self.lastX = self.x;
};
return self;
});
var Log = Container.expand(function () {
var self = Container.call(this);
var logGraphics = self.attachAsset('log', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var RoadLine = Container.expand(function () {
var self = Container.call(this);
var lineGraphics = self.attachAsset('roadLine', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var Rock = Container.expand(function () {
var self = Container.call(this);
var rockGraphics = self.attachAsset('rock', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var SandParticle = Container.expand(function () {
var self = Container.call(this);
var sandGraphics = self.attachAsset('sand', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: Math.random() * 0.5 + 0.3,
scaleY: Math.random() * 0.5 + 0.3,
alpha: Math.random() * 0.5 + 0.2,
tint: 0xF4A460
});
self.speed = Math.random() * 3 + 2;
self.drift = (Math.random() - 0.5) * 2;
self.update = function () {
self.y += self.speed;
self.x += self.drift;
};
return self;
});
var Scorpion = Container.expand(function () {
var self = Container.call(this);
var scorpionGraphics = self.attachAsset('pixelScorpion', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.moveDirection = (Math.random() - 0.5) * 3;
self.update = function () {
self.y += self.speed;
self.x += self.moveDirection;
// Add scuttling animation
scorpionGraphics.rotation = Math.sin(LK.ticks * 0.2) * 0.3;
scorpionGraphics.scaleY = 1 + Math.sin(LK.ticks * 0.3) * 0.1;
if (self.x < 100 || self.x > 1948) {
self.moveDirection *= -1;
}
};
return self;
});
var Snake = Container.expand(function () {
var self = Container.call(this);
var snakeGraphics = self.attachAsset('pixelSnake', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 6;
self.moveDirection = (Math.random() - 0.5) * 4;
self.update = function () {
self.y += self.speed;
self.x += self.moveDirection;
if (self.x < 100 || self.x > 1948) {
self.moveDirection *= -1;
}
};
return self;
});
var SnowFlake = Container.expand(function () {
var self = Container.call(this);
var snowGraphics = self.attachAsset('snow', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: Math.random() * 0.5 + 0.3,
scaleY: Math.random() * 0.5 + 0.3,
alpha: Math.random() * 0.7 + 0.3
});
self.speed = Math.random() * 3 + 2;
self.drift = (Math.random() - 0.5) * 2;
self.update = function () {
self.y += self.speed;
self.x += self.drift;
};
return self;
});
var SnowFox = Container.expand(function () {
var self = Container.call(this);
var foxGraphics = self.attachAsset('snowFox', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 6;
self.moveDirection = (Math.random() - 0.5) * 3;
self.update = function () {
self.y += self.speed;
self.x += self.moveDirection;
// Add fox animation - subtle bounce and sway
foxGraphics.rotation = Math.sin(LK.ticks * 0.15) * 0.2;
foxGraphics.scaleY = 1 + Math.sin(LK.ticks * 0.25) * 0.05;
if (self.x < 100 || self.x > 1948) {
self.moveDirection *= -1;
}
};
return self;
});
var TrailDot = Container.expand(function () {
var self = Container.call(this);
var dot = LK.getAsset('snow', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.8,
scaleY: 0.8,
tint: 0x888888
});
self.addChild(dot);
self.speed = 8;
self.alpha = 0.6;
self.update = function () {
self.y += self.speed;
self.alpha -= 0.02;
if (self.alpha <= 0) {
self.alpha = 0;
}
};
return self;
});
var Tree = Container.expand(function () {
var self = Container.call(this);
var treeGraphics = self.attachAsset('tree', {
anchorX: 0.5,
anchorY: 1
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0xFFFAFA
});
/****
* Game Code
****/
var player;
var obstacles = [];
var snowFlakes = [];
var trailDots = [];
var gameSpeed = 8;
var obstacleSpawnTimer = 0;
var snowSpawnTimer = 0;
var trailSpawnTimer = 0;
var difficultyTimer = 0;
var maxObstacleSpawnRate = 60;
var minObstacleSpawnRate = 30;
var currentObstacleSpawnRate = maxObstacleSpawnRate;
var currentLevel = 1;
var levelTransitioned = false;
var sandParticles = [];
var snakes = [];
var scorpions = [];
var snowFoxes = [];
var lives = 3;
var cars = [];
var roadLines = [];
var scoreTxt = new Text2('Skor: 0', {
size: 70,
fill: 0x000000,
font: "Aderos"
});
scoreTxt.anchor.set(1, 0);
LK.gui.topRight.addChild(scoreTxt);
scoreTxt.x = -20;
scoreTxt.y = 20;
var livesTxt = new Text2('Can: 3', {
size: 70,
fill: 0x000000,
font: "Aderos"
});
livesTxt.anchor.set(1, 0);
LK.gui.topRight.addChild(livesTxt);
livesTxt.x = -20;
livesTxt.y = 100;
var levelTxt = new Text2('Seviye: 1', {
size: 70,
fill: 0x000000,
font: "Aderos"
});
levelTxt.anchor.set(1, 0);
LK.gui.topRight.addChild(levelTxt);
levelTxt.x = -20;
levelTxt.y = 180;
// Level selector buttons
var levelSelector1 = new Text2('1', {
size: 80,
fill: 0x000000,
font: "Aderos"
});
levelSelector1.anchor.set(0.5, 0.5);
LK.gui.bottomRight.addChild(levelSelector1);
levelSelector1.x = -200;
levelSelector1.y = -150;
levelSelector1.interactive = true;
var levelSelector2 = new Text2('2', {
size: 80,
fill: 0xFFFFFF,
font: "Aderos"
});
levelSelector2.anchor.set(0.5, 0.5);
LK.gui.bottomRight.addChild(levelSelector2);
levelSelector2.x = -120;
levelSelector2.y = -150;
levelSelector2.interactive = true;
var levelSelector3 = new Text2('3', {
size: 80,
fill: 0xFFFFFF,
font: "Aderos"
});
levelSelector3.anchor.set(0.5, 0.5);
LK.gui.bottomRight.addChild(levelSelector3);
levelSelector3.x = -40;
levelSelector3.y = -150;
levelSelector3.interactive = true;
// Initialize player
player = game.addChild(new Character());
player.x = 2048 / 2;
player.y = 2732 - 200;
function clearAllEnemies() {
// Clear all obstacles
for (var i = obstacles.length - 1; i >= 0; i--) {
obstacles[i].destroy();
obstacles.splice(i, 1);
}
// Clear snow flakes
for (var j = snowFlakes.length - 1; j >= 0; j--) {
snowFlakes[j].destroy();
snowFlakes.splice(j, 1);
}
// Clear sand particles
for (var k = sandParticles.length - 1; k >= 0; k--) {
sandParticles[k].destroy();
sandParticles.splice(k, 1);
}
// Clear snakes
for (var l = snakes.length - 1; l >= 0; l--) {
snakes[l].destroy();
snakes.splice(l, 1);
}
// Clear scorpions
for (var m = scorpions.length - 1; m >= 0; m--) {
scorpions[m].destroy();
scorpions.splice(m, 1);
}
// Clear snow foxes
for (var n = snowFoxes.length - 1; n >= 0; n--) {
snowFoxes[n].destroy();
snowFoxes.splice(n, 1);
}
// Clear cars
for (var o = cars.length - 1; o >= 0; o--) {
cars[o].destroy();
cars.splice(o, 1);
}
// Clear road lines
for (var p = roadLines.length - 1; p >= 0; p--) {
roadLines[p].destroy();
roadLines.splice(p, 1);
}
}
function spawnObstacle() {
var obstacle;
if (currentLevel === 1) {
var obstacleType = Math.random() < 0.6 ? 'tree' : 'log';
if (obstacleType === 'tree') {
obstacle = new Tree();
} else {
obstacle = new Log();
}
} else if (currentLevel === 2) {
var obstacleType = Math.random() < 0.7 ? 'cactus' : 'rock';
if (obstacleType === 'cactus') {
obstacle = new Cactus();
} else {
obstacle = new Rock();
}
} else {
// Level 3 - City level with different colored cars
var carTypes = ['redCar', 'blueCar', 'greenCar', 'yellowCar'];
var randomCarType = carTypes[Math.floor(Math.random() * carTypes.length)];
var car = new Car(randomCarType);
car.x = Math.random() * (2048 - 400) + 200;
car.y = -150;
car.lastY = car.y;
car.lastIntersecting = false;
cars.push(car);
game.addChild(car);
return;
}
// Ensure spacing between obstacles
var validPosition = false;
var attempts = 0;
var newX;
while (!validPosition && attempts < 20) {
newX = Math.random() * (2048 - 400) + 200;
validPosition = true;
// Check distance from existing obstacles
for (var i = 0; i < obstacles.length; i++) {
var existingObstacle = obstacles[i];
if (existingObstacle.y > -500 && existingObstacle.y < 200) {
var distance = Math.abs(newX - existingObstacle.x);
if (distance < 500) {
validPosition = false;
break;
}
}
}
attempts++;
}
obstacle.x = newX || Math.random() * (2048 - 400) + 200;
obstacle.y = -100;
obstacle.lastY = obstacle.y;
obstacle.lastIntersecting = false;
obstacles.push(obstacle);
game.addChild(obstacle);
}
function spawnSnowFlake() {
if (currentLevel === 1) {
var snowFlake = new SnowFlake();
snowFlake.x = Math.random() * 2048;
snowFlake.y = -50;
snowFlakes.push(snowFlake);
game.addChild(snowFlake);
} else {
var sandParticle = new SandParticle();
sandParticle.x = Math.random() * 2048;
sandParticle.y = -50;
sandParticles.push(sandParticle);
game.addChild(sandParticle);
}
}
function handleMove(x, y, obj) {
if (player) {
player.moveToX(x);
}
}
game.move = handleMove;
game.down = function (x, y, obj) {
// Check level selector clicks using game coordinates
// Level 1 selector (bottom right area)
if (x >= 1650 && x <= 1750 && y >= 2450 && y <= 2550) {
currentLevel = 1;
levelTxt.setText('Seviye: 1');
game.setBackgroundColor(0xFFFAFA);
// Update level selector colors
levelSelector1.style.fill = 0x000000; // Black for snow level
levelSelector2.style.fill = 0xFFFFFF; // White for others
levelSelector3.style.fill = 0xFFFFFF; // White for others
clearAllEnemies();
levelTransitioned = true;
return;
}
// Level 2 selector
if (x >= 1770 && x <= 1870 && y >= 2450 && y <= 2550) {
currentLevel = 2;
levelTxt.setText('Seviye: 2');
game.setBackgroundColor(0xD2691E);
// Update level selector colors
levelSelector1.style.fill = 0xFFFFFF; // White for others
levelSelector2.style.fill = 0xFFFFFF; // White for desert level
levelSelector3.style.fill = 0xFFFFFF; // White for others
clearAllEnemies();
levelTransitioned = true;
return;
}
// Level 3 selector
if (x >= 1890 && x <= 1990 && y >= 2450 && y <= 2550) {
currentLevel = 3;
levelTxt.setText('Seviye: 3');
game.setBackgroundColor(0x333333);
// Update level selector colors
levelSelector1.style.fill = 0xFFFFFF; // White for others
levelSelector2.style.fill = 0xFFFFFF; // White for others
levelSelector3.style.fill = 0xFFFFFF; // White for city level
clearAllEnemies();
levelTransitioned = true;
return;
}
if (player) {
player.moveToX(x);
}
};
game.update = function () {
// Update score based on time survived
LK.setScore(Math.floor(LK.ticks / 3));
scoreTxt.setText('Skor: ' + LK.getScore());
livesTxt.setText('Can: ' + lives);
// Auto level progression every 1000 points - only if not manually selected
if (!levelTransitioned) {
var newLevel = Math.floor(LK.getScore() / 1000) + 1;
if (newLevel > 3) newLevel = 3; // Cap at level 3
if (newLevel !== currentLevel) {
currentLevel = newLevel;
levelTxt.setText('Seviye: ' + currentLevel);
// Update level selector colors based on current level
if (currentLevel === 1) {
levelSelector1.style.fill = 0x000000; // Black for snow level
levelSelector2.style.fill = 0xFFFFFF; // White for others
levelSelector3.style.fill = 0xFFFFFF; // White for others
} else if (currentLevel === 2) {
levelSelector1.style.fill = 0xFFFFFF; // White for others
levelSelector2.style.fill = 0xFFFFFF; // White for desert level
levelSelector3.style.fill = 0xFFFFFF; // White for others
} else if (currentLevel === 3) {
levelSelector1.style.fill = 0xFFFFFF; // White for others
levelSelector2.style.fill = 0xFFFFFF; // White for others
levelSelector3.style.fill = 0xFFFFFF; // White for city level
}
// Set background and clear enemies based on level
if (currentLevel === 2) {
game.setBackgroundColor(0xD2691E); // Desert
// Clear snow
for (var i = snowFlakes.length - 1; i >= 0; i--) {
snowFlakes[i].destroy();
snowFlakes.splice(i, 1);
}
// Clear snow foxes
for (var sf = snowFoxes.length - 1; sf >= 0; sf--) {
snowFoxes[sf].destroy();
snowFoxes.splice(sf, 1);
}
// Clear city elements
for (var c = cars.length - 1; c >= 0; c--) {
cars[c].destroy();
cars.splice(c, 1);
}
for (var r = roadLines.length - 1; r >= 0; r--) {
roadLines[r].destroy();
roadLines.splice(r, 1);
}
LK.effects.flashScreen(0xFFD700, 1500); // Golden flash
} else if (currentLevel === 3) {
game.setBackgroundColor(0x333333); // City
// Clear desert enemies
for (var s = snakes.length - 1; s >= 0; s--) {
snakes[s].destroy();
snakes.splice(s, 1);
}
for (var sc = scorpions.length - 1; sc >= 0; sc--) {
scorpions[sc].destroy();
scorpions.splice(sc, 1);
}
for (var sp = sandParticles.length - 1; sp >= 0; sp--) {
sandParticles[sp].destroy();
sandParticles.splice(sp, 1);
}
// Clear snow
for (var sf = snowFlakes.length - 1; sf >= 0; sf--) {
snowFlakes[sf].destroy();
snowFlakes.splice(sf, 1);
}
// Clear snow foxes
for (var sfx = snowFoxes.length - 1; sfx >= 0; sfx--) {
snowFoxes[sfx].destroy();
snowFoxes.splice(sfx, 1);
}
LK.effects.flashScreen(0x0066FF, 1500); // Blue flash
}
}
}
// Increase difficulty over time
difficultyTimer++;
if (difficultyTimer % 300 === 0) {
gameSpeed = Math.min(gameSpeed + 0.5, 15);
currentObstacleSpawnRate = Math.max(currentObstacleSpawnRate - 2, minObstacleSpawnRate);
}
// Spawn obstacles
obstacleSpawnTimer++;
if (obstacleSpawnTimer >= currentObstacleSpawnRate) {
spawnObstacle();
obstacleSpawnTimer = 0;
}
// Spawn snow
snowSpawnTimer++;
if (snowSpawnTimer >= 15) {
spawnSnowFlake();
snowSpawnTimer = 0;
}
// Spawn snow foxes in snow level
if (currentLevel === 1 && LK.ticks % 200 === 0) {
var snowFox = new SnowFox();
snowFox.x = Math.random() * (2048 - 200) + 100;
snowFox.y = -100;
snowFoxes.push(snowFox);
game.addChild(snowFox);
}
// Spawn snakes and scorpions in desert level
if (currentLevel === 2 && LK.ticks % 180 === 0) {
var enemyType = Math.random() < 0.5 ? 'snake' : 'scorpion';
if (enemyType === 'snake') {
var snake = new Snake();
snake.x = Math.random() * (2048 - 200) + 100;
snake.y = -100;
snakes.push(snake);
game.addChild(snake);
} else {
var scorpion = new Scorpion();
scorpion.x = Math.random() * (2048 - 200) + 100;
scorpion.y = -100;
scorpions.push(scorpion);
game.addChild(scorpion);
}
}
// Spawn city elements in level 3
if (currentLevel === 3) {
// Spawn road lines
if (LK.ticks % 20 === 0) {
var roadLine = new RoadLine();
roadLine.x = 2048 / 2;
roadLine.y = -50;
roadLines.push(roadLine);
game.addChild(roadLine);
}
}
// Spawn trail dots
trailSpawnTimer++;
if (trailSpawnTimer >= 8) {
// Create two trail dots behind the player
var leftTrail = new TrailDot();
leftTrail.x = player.x - 30;
leftTrail.y = player.y + 20;
trailDots.push(leftTrail);
game.addChild(leftTrail);
var rightTrail = new TrailDot();
rightTrail.x = player.x + 30;
rightTrail.y = player.y + 20;
trailDots.push(rightTrail);
game.addChild(rightTrail);
trailSpawnTimer = 0;
}
// Update and check obstacles
for (var i = obstacles.length - 1; i >= 0; i--) {
var obstacle = obstacles[i];
// Update speed based on game speed
obstacle.speed = gameSpeed;
// Check if obstacle went off screen
if (obstacle.lastY <= 2800 && obstacle.y > 2800) {
obstacle.destroy();
obstacles.splice(i, 1);
continue;
}
// Check collision with player
var currentIntersecting = obstacle.intersects(player);
if (!obstacle.lastIntersecting && currentIntersecting) {
LK.getSound('crash').play();
LK.effects.flashScreen(0xFF0000, 1000);
lives--;
livesTxt.setText('Can: ' + lives);
if (lives <= 0) {
LK.showGameOver();
return;
} else {
// Flash player to show damage
tween(player, {
alpha: 0.3
}, {
duration: 200,
onFinish: function onFinish() {
tween(player, {
alpha: 1
}, {
duration: 200
});
}
});
}
obstacle.destroy();
obstacles.splice(i, 1);
continue;
}
obstacle.lastY = obstacle.y;
obstacle.lastIntersecting = currentIntersecting;
}
// Update and clean up snow flakes
for (var j = snowFlakes.length - 1; j >= 0; j--) {
var snowFlake = snowFlakes[j];
snowFlake.speed = gameSpeed * 0.7;
if (snowFlake.y > 2800 || snowFlake.x < -100 || snowFlake.x > 2148) {
snowFlake.destroy();
snowFlakes.splice(j, 1);
}
}
// Update and clean up sand particles
for (var l = sandParticles.length - 1; l >= 0; l--) {
var sandParticle = sandParticles[l];
sandParticle.speed = gameSpeed * 0.7;
if (sandParticle.y > 2800 || sandParticle.x < -100 || sandParticle.x > 2148) {
sandParticle.destroy();
sandParticles.splice(l, 1);
}
}
// Update and clean up trail dots
for (var k = trailDots.length - 1; k >= 0; k--) {
var trailDot = trailDots[k];
trailDot.speed = gameSpeed;
if (trailDot.y > 2800 || trailDot.alpha <= 0) {
trailDot.destroy();
trailDots.splice(k, 1);
}
}
// Update and clean up snakes (with collision damage)
for (var m = snakes.length - 1; m >= 0; m--) {
var snake = snakes[m];
snake.speed = gameSpeed * 0.8;
// Initialize collision tracking
if (snake.lastIntersecting === undefined) snake.lastIntersecting = false;
// Check collision with player
var currentIntersecting = snake.intersects(player);
if (!snake.lastIntersecting && currentIntersecting) {
// Make snake fly up and rotate
tween(snake, {
y: snake.y - 200,
rotation: Math.PI * 1.5,
scaleX: 0.5,
scaleY: 0.5
}, {
duration: 600,
easing: tween.easeOut
});
snake.destroy();
snakes.splice(m, 1);
continue;
}
snake.lastIntersecting = currentIntersecting;
if (snake.y > 2800 || snake.x < -100 || snake.x > 2148) {
snake.destroy();
snakes.splice(m, 1);
}
}
// Update and clean up scorpions (with collision damage)
for (var n = scorpions.length - 1; n >= 0; n--) {
var scorpion = scorpions[n];
scorpion.speed = gameSpeed * 0.8;
// Initialize collision tracking
if (scorpion.lastIntersecting === undefined) scorpion.lastIntersecting = false;
// Check collision with player
var currentIntersecting = scorpion.intersects(player);
if (!scorpion.lastIntersecting && currentIntersecting) {
// Make scorpion fly up and rotate
tween(scorpion, {
y: scorpion.y - 180,
rotation: -Math.PI * 1.2,
scaleX: 0.6,
scaleY: 0.6
}, {
duration: 500,
easing: tween.easeOut
});
scorpion.destroy();
scorpions.splice(n, 1);
continue;
}
scorpion.lastIntersecting = currentIntersecting;
if (scorpion.y > 2800 || scorpion.x < -100 || scorpion.x > 2148) {
scorpion.destroy();
scorpions.splice(n, 1);
}
}
// Update and clean up cars
for (var p = cars.length - 1; p >= 0; p--) {
var car = cars[p];
car.speed = gameSpeed;
// Initialize collision tracking
if (car.lastIntersecting === undefined) car.lastIntersecting = false;
// Check collision with player
var currentIntersecting = car.intersects(player);
if (!car.lastIntersecting && currentIntersecting) {
LK.getSound('crash').play();
LK.effects.flashScreen(0xFF0000, 1000);
lives--;
livesTxt.setText('Can: ' + lives);
if (lives <= 0) {
LK.showGameOver();
return;
} else {
tween(player, {
alpha: 0.3
}, {
duration: 200,
onFinish: function onFinish() {
tween(player, {
alpha: 1
}, {
duration: 200
});
}
});
}
car.destroy();
cars.splice(p, 1);
continue;
}
car.lastIntersecting = currentIntersecting;
if (car.y > 2800) {
car.destroy();
cars.splice(p, 1);
}
}
// Update and clean up snow foxes (with collision animation)
for (var sf = snowFoxes.length - 1; sf >= 0; sf--) {
var snowFox = snowFoxes[sf];
snowFox.speed = gameSpeed * 0.8;
// Initialize collision tracking
if (snowFox.lastIntersecting === undefined) snowFox.lastIntersecting = false;
// Check collision with player
var currentIntersecting = snowFox.intersects(player);
if (!snowFox.lastIntersecting && currentIntersecting) {
// Make snow fox fly up and rotate gracefully
tween(snowFox, {
y: snowFox.y - 220,
rotation: Math.PI * 1.8,
scaleX: 0.4,
scaleY: 0.4
}, {
duration: 700,
easing: tween.easeOut
});
snowFox.destroy();
snowFoxes.splice(sf, 1);
continue;
}
snowFox.lastIntersecting = currentIntersecting;
if (snowFox.y > 2800 || snowFox.x < -100 || snowFox.x > 2148) {
snowFox.destroy();
snowFoxes.splice(sf, 1);
}
}
// Update and clean up road lines
for (var s = roadLines.length - 1; s >= 0; s--) {
var roadLine = roadLines[s];
roadLine.speed = gameSpeed;
if (roadLine.y > 2800) {
roadLine.destroy();
roadLines.splice(s, 1);
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -295,9 +295,9 @@
levelTxt.y = 180;
// Level selector buttons
var levelSelector1 = new Text2('1', {
size: 80,
- fill: 0xFFFFFF,
+ fill: 0x000000,
font: "Aderos"
});
levelSelector1.anchor.set(0.5, 0.5);
LK.gui.bottomRight.addChild(levelSelector1);
@@ -453,8 +453,12 @@
if (x >= 1650 && x <= 1750 && y >= 2450 && y <= 2550) {
currentLevel = 1;
levelTxt.setText('Seviye: 1');
game.setBackgroundColor(0xFFFAFA);
+ // Update level selector colors
+ levelSelector1.style.fill = 0x000000; // Black for snow level
+ levelSelector2.style.fill = 0xFFFFFF; // White for others
+ levelSelector3.style.fill = 0xFFFFFF; // White for others
clearAllEnemies();
levelTransitioned = true;
return;
}
@@ -462,8 +466,12 @@
if (x >= 1770 && x <= 1870 && y >= 2450 && y <= 2550) {
currentLevel = 2;
levelTxt.setText('Seviye: 2');
game.setBackgroundColor(0xD2691E);
+ // Update level selector colors
+ levelSelector1.style.fill = 0xFFFFFF; // White for others
+ levelSelector2.style.fill = 0xFFFFFF; // White for desert level
+ levelSelector3.style.fill = 0xFFFFFF; // White for others
clearAllEnemies();
levelTransitioned = true;
return;
}
@@ -471,8 +479,12 @@
if (x >= 1890 && x <= 1990 && y >= 2450 && y <= 2550) {
currentLevel = 3;
levelTxt.setText('Seviye: 3');
game.setBackgroundColor(0x333333);
+ // Update level selector colors
+ levelSelector1.style.fill = 0xFFFFFF; // White for others
+ levelSelector2.style.fill = 0xFFFFFF; // White for others
+ levelSelector3.style.fill = 0xFFFFFF; // White for city level
clearAllEnemies();
levelTransitioned = true;
return;
}
@@ -491,8 +503,22 @@
if (newLevel > 3) newLevel = 3; // Cap at level 3
if (newLevel !== currentLevel) {
currentLevel = newLevel;
levelTxt.setText('Seviye: ' + currentLevel);
+ // Update level selector colors based on current level
+ if (currentLevel === 1) {
+ levelSelector1.style.fill = 0x000000; // Black for snow level
+ levelSelector2.style.fill = 0xFFFFFF; // White for others
+ levelSelector3.style.fill = 0xFFFFFF; // White for others
+ } else if (currentLevel === 2) {
+ levelSelector1.style.fill = 0xFFFFFF; // White for others
+ levelSelector2.style.fill = 0xFFFFFF; // White for desert level
+ levelSelector3.style.fill = 0xFFFFFF; // White for others
+ } else if (currentLevel === 3) {
+ levelSelector1.style.fill = 0xFFFFFF; // White for others
+ levelSelector2.style.fill = 0xFFFFFF; // White for others
+ levelSelector3.style.fill = 0xFFFFFF; // White for city level
+ }
// Set background and clear enemies based on level
if (currentLevel === 2) {
game.setBackgroundColor(0xD2691E); // Desert
// Clear snow
arkasından gördüğümüz kızağa oturan pixel bir çocuk yap. In-Game asset. 2d. High contrast. No shadows
kesilmiş bir pixel ağaç yap sadece kesilmiş tarafı olsun
pixel bir kar yap. In-Game asset. 2d. High contrast. No shadows
pixel kayalar. In-Game asset. 2d. High contrast. No shadows
vazoda olmayan bir çöl kaktüsü yap pixel şekilde. In-Game asset. 2d. High contrast. No shadows
pixel akrep yap. In-Game asset. 2d. High contrast. No shadows
pixel yılan yap. In-Game asset. 2d. High contrast. No shadows
pixel kar tilkisi ekle. In-Game asset. 2d. High contrast. No shadows
kurumuş ağaç ekle pixel şeklinde. In-Game asset. 2d. High contrast. No shadows
yeşil arkası dönük bir pixel araba ekle. In-Game asset. 2d. High contrast. No shadows
arkası dönük mavi bir pixel araba ekle. In-Game asset. 2d. High contrast. No shadows
arkası dönük sarı bir araba ekle pixel şeklinde. In-Game asset. 2d. High contrast. No shadows
at üstünde olan pixel bir adam arkası dönük. In-Game asset. 2d. High contrast. No shadows
pixel mavi kazaklı yüzü dönük çocuk yap. beresi turuncu olsun
pixel motor üstünde bir adam koy arkası dönük olsun. In-Game asset. 2d. High contrast. No shadows