User prompt
Make all of them 2 times smaller again
User prompt
Make all of them 2 times smaller
User prompt
Make cars 4 times bigger
User prompt
Change You Win! To Kazandın!
User prompt
Change game over to Kaybettin:(
User prompt
Change Game Over to Kaybettin :(
User prompt
Change Final score to Puanın
User prompt
Change drag to crash message to OE Kınık modunu açarak kaza yap!
User prompt
Change try again to Yeniden Dene
User prompt
Change game over to Kaybettin
User prompt
Change score to Puan
User prompt
Instead Of You win it says Helal Lan!
User prompt
Cars and trucks are 1.25x faster
User prompt
Cars give 20 score trucks give 40 score
User prompt
Player wins on 1000 Score
User prompt
Play the sound i added when gameover
User prompt
Game over happens you miss an car
User prompt
Play hayir.mp3 sound when game over
User prompt
Player wins when 1000 score
User prompt
Game over=1000 score
User prompt
When game over play sound
User prompt
Cars give 25 points
User prompt
Trucks give 50 points
User prompt
Play the sound i added on music folder while playing
User prompt
When crash happens or bonus use the sound i uploaded
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var PlayerCar = Container.expand(function () {
var self = Container.call(this);
var carGraphics = self.attachAsset('playerCar', {
anchorX: 0.5,
anchorY: 0.5
});
self.isDestroyed = false;
return self;
});
var RoadDivider = Container.expand(function () {
var self = Container.call(this);
var dividerGraphics = self.attachAsset('laneDivider', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
};
return self;
});
var TrafficVehicle = Container.expand(function (type) {
var self = Container.call(this);
self.type = type || 'car';
self.speed = (4 + Math.random() * 3) * 1.25;
self.points = self.type === 'truck' ? 40 : 20;
self.hasCollided = false;
var vehicleGraphics = self.attachAsset(self.type === 'truck' ? 'truck' : 'trafficCar', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
self.y += self.speed;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x333333
});
/****
* Game Code
****/
// Game variables
var player;
var trafficVehicles = [];
var roadDividers = [];
var lanes = [400, 600, 800, 1000, 1200, 1400, 1648]; // 7 lanes across the screen
var spawnTimer = 0;
var spawnDelay = 60; // frames between spawns
var gameSpeed = 1;
var speedIncreaseTimer = 0;
var dragActive = false;
var dividerSpawnTimer = 0;
// UI Elements
var scoreTxt = new Text2('Puan: 0', {
size: 80,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
var instructionTxt = new Text2('OE Kınık modunu açarak kaza yap!', {
size: 60,
fill: 0xFFFF00
});
instructionTxt.anchor.set(0.5, 0);
instructionTxt.y = 100;
LK.gui.top.addChild(instructionTxt);
// Initialize player
player = game.addChild(new PlayerCar());
player.x = 1024; // Center horizontally
player.y = 2500; // Near bottom of screen
// Spawn traffic vehicle
function spawnTrafficVehicle() {
var laneIndex = Math.floor(Math.random() * lanes.length);
var vehicleType = Math.random() < 0.3 ? 'truck' : 'car';
var vehicle = new TrafficVehicle(vehicleType);
vehicle.x = lanes[laneIndex];
vehicle.y = -100; // Start above screen
trafficVehicles.push(vehicle);
game.addChild(vehicle);
}
;
// Spawn road dividers
function spawnRoadDivider() {
var divider = new RoadDivider();
divider.x = 1024; // Center of the road (middle of 2048px width)
divider.y = -100;
roadDividers.push(divider);
game.addChild(divider);
}
// Handle collision
function handleCollision(vehicle) {
if (vehicle.hasCollided) return;
vehicle.hasCollided = true;
var points = vehicle.points;
// Check for bonus multi-vehicle crashes
var nearbyVehicles = 0;
for (var i = 0; i < trafficVehicles.length; i++) {
var other = trafficVehicles[i];
if (other !== vehicle && !other.hasCollided) {
var distance = Math.sqrt(Math.pow(vehicle.x - other.x, 2) + Math.pow(vehicle.y - other.y, 2));
if (distance < 150) {
nearbyVehicles++;
other.hasCollided = true;
points += other.points;
}
}
}
// Bonus for multi-vehicle crashes
if (nearbyVehicles > 0) {
points += nearbyVehicles * 5;
LK.getSound('bonus').play();
} else {
LK.getSound('crash').play();
}
// Update score
LK.setScore(LK.getScore() + points);
scoreTxt.setText('Puan: ' + LK.getScore());
// Visual effects
LK.effects.flashObject(vehicle, 0xff0000, 500);
LK.effects.flashObject(player, 0xffff00, 300);
// Tween crashed vehicle
tween(vehicle, {
alpha: 0.3,
scaleX: 1.5,
scaleY: 1.5
}, {
duration: 500,
easing: tween.easeOut
});
}
// Touch controls
game.down = function (x, y, obj) {
dragActive = true;
player.x = x;
};
game.move = function (x, y, obj) {
if (dragActive) {
player.x = Math.max(200, Math.min(1848, x)); // Keep within screen bounds
}
};
game.up = function (x, y, obj) {
dragActive = false;
};
// Play background music
LK.playMusic('Music');
// Main game loop
game.update = function () {
// Spawn traffic vehicles
spawnTimer++;
if (spawnTimer >= spawnDelay) {
spawnTrafficVehicle();
spawnTimer = 0;
}
// Spawn road dividers
dividerSpawnTimer++;
if (dividerSpawnTimer >= 120) {
// Every 2 seconds
spawnRoadDivider();
dividerSpawnTimer = 0;
}
// Increase difficulty over time
speedIncreaseTimer++;
if (speedIncreaseTimer >= 1800) {
// Every 30 seconds
gameSpeed += 0.1;
spawnDelay = Math.max(20, spawnDelay - 2);
speedIncreaseTimer = 0;
}
// Update road dividers
for (var i = roadDividers.length - 1; i >= 0; i--) {
var divider = roadDividers[i];
// Remove dividers that are off screen
if (divider.y > 2800) {
divider.destroy();
roadDividers.splice(i, 1);
}
}
// Update traffic vehicles
for (var i = trafficVehicles.length - 1; i >= 0; i--) {
var vehicle = trafficVehicles[i];
// Check collision with player
if (!vehicle.hasCollided && player.intersects(vehicle)) {
handleCollision(vehicle);
}
// Check if vehicle was missed (passed player without collision)
if (!vehicle.hasCollided && vehicle.y > player.y + 100) {
// Vehicle missed - trigger game over
LK.getSound('hayir').play();
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver('Kaybettin', 'Yeniden Dene');
return;
}
// Remove vehicles that are off screen
if (vehicle.y > 2800) {
vehicle.destroy();
trafficVehicles.splice(i, 1);
}
}
// Check win condition
if (LK.getScore() >= 1000) {
LK.showYouWin('Helal Lan!', 'Puanın');
return;
}
// Hide instruction text after first crash
if (LK.getScore() > 0 && instructionTxt.alpha > 0) {
tween(instructionTxt, {
alpha: 0
}, {
duration: 1000
});
}
}; ===================================================================
--- original.js
+++ change.js
@@ -211,9 +211,9 @@
}
}
// Check win condition
if (LK.getScore() >= 1000) {
- LK.showYouWin('Helal Lan!');
+ LK.showYouWin('Helal Lan!', 'Puanın');
return;
}
// Hide instruction text after first crash
if (LK.getScore() > 0 && instructionTxt.alpha > 0) {