User prompt
skor can ve seviye yazıları font olarak güzel bir yazı haline gelsin ve karakter sağ sola giderken tükenmesin
User prompt
seviye seçme yerini kaldır sadece hangi seviyede olduğumuzu metin şeklinde yazsın her 1000 puanda bir bölüm atlasın
User prompt
boyutları eşit bir biçimde olsun
User prompt
en altta kar seviyesi onun üstünde çöl onun üstünde şehir modu olsun
User prompt
üst üste olsun ve aynı boyda olsun
User prompt
seviye seçme yerini sağ alta koy
User prompt
binaları sil ve farklı renkte arabalar ekle ve seviye seçme alanını düzgün bir şekilde yap
User prompt
3 canımız olsun ve bir sonraki seviye şehir seviyesi olsun yolda gidiyoruz ve arabalara çarpamamaya çalışıyoruz ve insanlara sarı çizgili bir yoldayız yan taraftada binalar olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Uçma animasyonu iptal yılan yılanın normal bir hareket olsun yılan ve akrebe vurunca uçsunlar ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
karakterimizin yılanın ve akrebin animasyonları olsun ve karakterimiz bir yere çarptığında uçsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
pixel yılan şeklinde olsun ve akrepte pixel akrep olsun
User prompt
yan tarafa istediğin seviyeye geçiş yeri gelsin
User prompt
çöl alanında arka plan karamel rengi alsın ve yılan ve akrep geçsin bize zarar vermesinler ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
karakter yön değişimi yavaş olsun
User prompt
ağaç ve kütükler biraz daha uzak olsun
User prompt
skor hızı biraz daha hızlı olsun ve 1000 olunca çöl seviyesine geçelim
User prompt
skorun ne kadar olduğu gözüksün
User prompt
ağaçlar arasında mesafe olsun ve kızağı döndürmek iptal olsun
User prompt
skor 1000 olunca diğer bölüme geçsin ve o bölüm çöl bölümü olsun
User prompt
hafif bir dönüş olsun
User prompt
arka plan rengi beyaz ama kar beyazı olsun ve kızak kaydıkça arkasından 2 tane sürünme izi çıksın ve sağ tarafa gidince hafif 2 yönüne dönsün sola dönünce 2 yönüne ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
kızağı iptal et
Code edit (1 edits merged)
Please save this source code
User prompt
Sledding Adventure
Initial prompt
kızağın üstünde ilerleyen bir adam ekle ve bu ekran 2 d olsun ama ileri doğru gitsin ekranda kızağın üstüde oturmuş bir adam ve mouse ile yön verilsin nereye gidileceği o şekilde yapılsın ve önüne engel olarak kesilmiş ağaç ve normal ağaç koy
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
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: 150,
easing: tween.easeOut
});
};
self.update = function () {
// Track movement for rotation
if (self.lastX !== undefined) {
var deltaX = self.x - self.lastX;
if (Math.abs(deltaX) > 1) {
var targetRotation = deltaX * 0.08; // More noticeable rotation based on movement
tween(characterGraphics, {
rotation: targetRotation
}, {
duration: 200,
easing: tween.easeOut
});
}
}
self.lastX = self.x;
// Add current position to trail
self.trailPositions.push({
x: self.x,
y: self.y
});
if (self.trailPositions.length > 20) {
self.trailPositions.shift();
}
};
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 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 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 scoreTxt = new Text2('Distance: 0', {
size: 60,
fill: 0x000000
});
scoreTxt.anchor.set(0, 0);
LK.gui.topRight.addChild(scoreTxt);
scoreTxt.x = -20;
scoreTxt.y = 20;
// Initialize player
player = game.addChild(new Character());
player.x = 2048 / 2;
player.y = 2732 - 200;
function spawnObstacle() {
var obstacle;
var obstacleType = Math.random() < 0.6 ? 'tree' : 'log';
if (obstacleType === 'tree') {
obstacle = new Tree();
} else {
obstacle = new Log();
}
obstacle.x = Math.random() * (2048 - 200) + 100;
obstacle.y = -100;
obstacle.lastY = obstacle.y;
obstacle.lastIntersecting = false;
obstacles.push(obstacle);
game.addChild(obstacle);
}
function spawnSnowFlake() {
var snowFlake = new SnowFlake();
snowFlake.x = Math.random() * 2048;
snowFlake.y = -50;
snowFlakes.push(snowFlake);
game.addChild(snowFlake);
}
function handleMove(x, y, obj) {
if (player) {
player.moveToX(x);
}
}
game.move = handleMove;
game.down = function (x, y, obj) {
if (player) {
player.moveToX(x);
}
};
game.update = function () {
// Update score based on time survived
LK.setScore(Math.floor(LK.ticks / 10));
scoreTxt.setText('Distance: ' + LK.getScore());
// 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 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);
LK.showGameOver();
return;
}
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 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);
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -30,9 +30,9 @@
// Track movement for rotation
if (self.lastX !== undefined) {
var deltaX = self.x - self.lastX;
if (Math.abs(deltaX) > 1) {
- var targetRotation = deltaX * 0.02; // Subtle rotation based on movement
+ var targetRotation = deltaX * 0.08; // More noticeable rotation based on movement
tween(characterGraphics, {
rotation: targetRotation
}, {
duration: 200,
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