User prompt
oyunun en kenarlarına süs olsun diye agaçlar koy araba giderken kaybolmasınlar
User prompt
distance 1000 olduğunda oyunu zorlaştır
User prompt
oyunu biraz kolaylaştır çok zor oldu normal seviye olsun
User prompt
road yolunda gidince ölmeyelim cliffe dokununca ölelim
User prompt
oyuna dil seçme bölümü ekle ingilice ve türkçe dokunduğumuzu seç ayrıca dil seçme bölümünden sonra şu yazıyı ekle kahverengi yolda gidin sakın beyazlara deymeyin yazısını dil seçme bölümünden sonra ekle
User prompt
son yazdığım komutu iptal et
User prompt
oyuna bir açıklama yazısı ekle yazı şu olsun kapalı kahverengi yolunda gidin açık kahverengiye sakın dokunmayın oyunda tüneller var aracı göremeyebilirsiniz bol şans yazısını oyuna başlamadan ekle oyuna
User prompt
clifflere deyince ölmeyelim cliffinin yanlarındakilere dokununca ölelim
User prompt
oynu dahada zorlaştır
User prompt
oyun böyle düz bir yol olmasın sağa ve sola dönüşler olsun dokunduğumuz yöne drift atarak gitsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (1 edits merged)
Please save this source code
User prompt
Drift Canyon
Initial prompt
bir araba drift oyunu olsun yolda giderken sola dönüş olsun dönmezsek arabamız uçurumdan düşsün dönerken dönmek istediğimiz yere dokunalım drift atarak dönsün tabi sadece sol değil arada sağada döneli
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Car = Container.expand(function () {
var self = Container.call(this);
var carGraphics = self.attachAsset('car', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.driftSpeed = 0;
self.maxDriftSpeed = 12;
self.driftDecay = 0.85;
self.isDrifting = false;
self.angle = 0;
self.startDrift = function (direction) {
self.isDrifting = true;
self.driftSpeed = direction * self.maxDriftSpeed;
LK.getSound('drift').play();
};
self.update = function () {
// Apply drift movement
self.x += self.driftSpeed;
// Decay drift speed
self.driftSpeed *= self.driftDecay;
// Update visual angle based on drift
self.angle = self.driftSpeed * 0.1;
carGraphics.rotation = self.angle;
// Stop drifting when speed is low
if (Math.abs(self.driftSpeed) < 0.5) {
self.isDrifting = false;
self.driftSpeed = 0;
}
};
return self;
});
var RoadSegment = Container.expand(function () {
var self = Container.call(this);
// Road center piece
var roadGraphics = self.attachAsset('road', {
anchorX: 0.5,
anchorY: 0.5
});
// Left cliff
var leftCliff = self.attachAsset('cliff', {
anchorX: 1,
anchorY: 0.5
});
leftCliff.x = -200;
// Right cliff
var rightCliff = self.attachAsset('cliff', {
anchorX: 0,
anchorY: 0.5
});
rightCliff.x = 200;
self.turnDirection = 0; // -1 for left, 1 for right, 0 for straight
self.speed = 8;
self.setTurn = function (direction) {
self.turnDirection = direction;
if (direction !== 0) {
roadGraphics.tint = direction < 0 ? 0x4444ff : 0xff4444;
}
};
self.update = function () {
self.y += self.speed;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
var car;
var roadSegments = [];
var gameSpeed = 8;
var distanceTraveled = 0;
var lastSegmentY = 0;
var segmentSpacing = 150;
var nextTurnType = 0;
var turnSequence = [0, 1, 0, -1, 0, 1, 1, 0, -1, 0];
var turnIndex = 0;
// Create score display
var scoreTxt = new Text2('Distance: 0', {
size: 80,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Initialize car
car = game.addChild(new Car());
car.x = 1024; // Center horizontally
car.y = 2200; // Near bottom of screen
// Create initial road segments
function createRoadSegment(y, turnDirection) {
var segment = new RoadSegment();
segment.x = 1024; // Center horizontally
segment.y = y;
segment.setTurn(turnDirection);
return segment;
}
// Initialize road
for (var i = 0; i < 20; i++) {
var turnDir = turnSequence[turnIndex % turnSequence.length];
var segment = createRoadSegment(lastSegmentY - i * segmentSpacing, turnDir);
roadSegments.push(segment);
game.addChild(segment);
turnIndex++;
}
// Input handling
game.down = function (x, y, obj) {
if (x < 1024) {
// Left side tap - drift left
car.startDrift(-1);
} else {
// Right side tap - drift right
car.startDrift(1);
}
};
// Main game loop
game.update = function () {
// Update distance and score
distanceTraveled += gameSpeed * 0.1;
scoreTxt.setText('Distance: ' + Math.floor(distanceTraveled));
LK.setScore(Math.floor(distanceTraveled));
// Gradually increase speed
if (LK.ticks % 300 === 0) {
gameSpeed += 0.2;
for (var i = 0; i < roadSegments.length; i++) {
roadSegments[i].speed = gameSpeed;
}
}
// Move road segments and create new ones
for (var i = roadSegments.length - 1; i >= 0; i--) {
var segment = roadSegments[i];
// Remove segments that are off screen
if (segment.y > 2800) {
segment.destroy();
roadSegments.splice(i, 1);
continue;
}
// Check collision with car (simplified)
if (Math.abs(segment.y - car.y) < 50) {
// Car is at this segment level
var roadLeft = segment.x - 200;
var roadRight = segment.x + 200;
if (car.x < roadLeft || car.x > roadRight) {
// Car fell off the cliff
LK.getSound('crash').play();
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
return;
}
}
}
// Add new road segments at the top
var topSegment = roadSegments[0];
if (topSegment && topSegment.y > -segmentSpacing) {
var newY = topSegment.y - segmentSpacing;
var turnDir = turnSequence[turnIndex % turnSequence.length];
var newSegment = createRoadSegment(newY, turnDir);
roadSegments.unshift(newSegment);
game.addChild(newSegment);
turnIndex++;
}
// Update car position based on road turns
var currentSegment = null;
for (var i = 0; i < roadSegments.length; i++) {
if (Math.abs(roadSegments[i].y - car.y) < 75) {
currentSegment = roadSegments[i];
break;
}
}
if (currentSegment && currentSegment.turnDirection !== 0) {
// Road is turning, apply force to car
var turnForce = currentSegment.turnDirection * 2;
car.x += turnForce;
}
// Keep car within reasonable bounds (with some leeway for drifting)
if (car.x < 400) car.x = 400;
if (car.x > 1648) car.x = 1648;
}; ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,193 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var Car = Container.expand(function () {
+ var self = Container.call(this);
+ var carGraphics = self.attachAsset('car', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 8;
+ self.driftSpeed = 0;
+ self.maxDriftSpeed = 12;
+ self.driftDecay = 0.85;
+ self.isDrifting = false;
+ self.angle = 0;
+ self.startDrift = function (direction) {
+ self.isDrifting = true;
+ self.driftSpeed = direction * self.maxDriftSpeed;
+ LK.getSound('drift').play();
+ };
+ self.update = function () {
+ // Apply drift movement
+ self.x += self.driftSpeed;
+ // Decay drift speed
+ self.driftSpeed *= self.driftDecay;
+ // Update visual angle based on drift
+ self.angle = self.driftSpeed * 0.1;
+ carGraphics.rotation = self.angle;
+ // Stop drifting when speed is low
+ if (Math.abs(self.driftSpeed) < 0.5) {
+ self.isDrifting = false;
+ self.driftSpeed = 0;
+ }
+ };
+ return self;
+});
+var RoadSegment = Container.expand(function () {
+ var self = Container.call(this);
+ // Road center piece
+ var roadGraphics = self.attachAsset('road', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Left cliff
+ var leftCliff = self.attachAsset('cliff', {
+ anchorX: 1,
+ anchorY: 0.5
+ });
+ leftCliff.x = -200;
+ // Right cliff
+ var rightCliff = self.attachAsset('cliff', {
+ anchorX: 0,
+ anchorY: 0.5
+ });
+ rightCliff.x = 200;
+ self.turnDirection = 0; // -1 for left, 1 for right, 0 for straight
+ self.speed = 8;
+ self.setTurn = function (direction) {
+ self.turnDirection = direction;
+ if (direction !== 0) {
+ roadGraphics.tint = direction < 0 ? 0x4444ff : 0xff4444;
+ }
+ };
+ self.update = function () {
+ self.y += self.speed;
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x87CEEB
+});
+
+/****
+* Game Code
+****/
+var car;
+var roadSegments = [];
+var gameSpeed = 8;
+var distanceTraveled = 0;
+var lastSegmentY = 0;
+var segmentSpacing = 150;
+var nextTurnType = 0;
+var turnSequence = [0, 1, 0, -1, 0, 1, 1, 0, -1, 0];
+var turnIndex = 0;
+// Create score display
+var scoreTxt = new Text2('Distance: 0', {
+ size: 80,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+// Initialize car
+car = game.addChild(new Car());
+car.x = 1024; // Center horizontally
+car.y = 2200; // Near bottom of screen
+// Create initial road segments
+function createRoadSegment(y, turnDirection) {
+ var segment = new RoadSegment();
+ segment.x = 1024; // Center horizontally
+ segment.y = y;
+ segment.setTurn(turnDirection);
+ return segment;
+}
+// Initialize road
+for (var i = 0; i < 20; i++) {
+ var turnDir = turnSequence[turnIndex % turnSequence.length];
+ var segment = createRoadSegment(lastSegmentY - i * segmentSpacing, turnDir);
+ roadSegments.push(segment);
+ game.addChild(segment);
+ turnIndex++;
+}
+// Input handling
+game.down = function (x, y, obj) {
+ if (x < 1024) {
+ // Left side tap - drift left
+ car.startDrift(-1);
+ } else {
+ // Right side tap - drift right
+ car.startDrift(1);
+ }
+};
+// Main game loop
+game.update = function () {
+ // Update distance and score
+ distanceTraveled += gameSpeed * 0.1;
+ scoreTxt.setText('Distance: ' + Math.floor(distanceTraveled));
+ LK.setScore(Math.floor(distanceTraveled));
+ // Gradually increase speed
+ if (LK.ticks % 300 === 0) {
+ gameSpeed += 0.2;
+ for (var i = 0; i < roadSegments.length; i++) {
+ roadSegments[i].speed = gameSpeed;
+ }
+ }
+ // Move road segments and create new ones
+ for (var i = roadSegments.length - 1; i >= 0; i--) {
+ var segment = roadSegments[i];
+ // Remove segments that are off screen
+ if (segment.y > 2800) {
+ segment.destroy();
+ roadSegments.splice(i, 1);
+ continue;
+ }
+ // Check collision with car (simplified)
+ if (Math.abs(segment.y - car.y) < 50) {
+ // Car is at this segment level
+ var roadLeft = segment.x - 200;
+ var roadRight = segment.x + 200;
+ if (car.x < roadLeft || car.x > roadRight) {
+ // Car fell off the cliff
+ LK.getSound('crash').play();
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ return;
+ }
+ }
+ }
+ // Add new road segments at the top
+ var topSegment = roadSegments[0];
+ if (topSegment && topSegment.y > -segmentSpacing) {
+ var newY = topSegment.y - segmentSpacing;
+ var turnDir = turnSequence[turnIndex % turnSequence.length];
+ var newSegment = createRoadSegment(newY, turnDir);
+ roadSegments.unshift(newSegment);
+ game.addChild(newSegment);
+ turnIndex++;
+ }
+ // Update car position based on road turns
+ var currentSegment = null;
+ for (var i = 0; i < roadSegments.length; i++) {
+ if (Math.abs(roadSegments[i].y - car.y) < 75) {
+ currentSegment = roadSegments[i];
+ break;
+ }
+ }
+ if (currentSegment && currentSegment.turnDirection !== 0) {
+ // Road is turning, apply force to car
+ var turnForce = currentSegment.turnDirection * 2;
+ car.x += turnForce;
+ }
+ // Keep car within reasonable bounds (with some leeway for drifting)
+ if (car.x < 400) car.x = 400;
+ if (car.x > 1648) car.x = 1648;
+};
\ No newline at end of file