User prompt
10. bolume geldigimde tavugum gitmiyor, bu sorunu duzelt
User prompt
bir yoldan sadece 2 araba gecebilir
User prompt
arabalarkn hizina 3 ekle
User prompt
arabalarin sayisini bir tik azalt ve sadece bit tarafdan gelsinler, sol yoldan gelsinler
User prompt
arabalari bir tik azalt
User prompt
3x hizlandir
User prompt
2x hizlandir
User prompt
yavaslat
User prompt
insanlar bu oyunu oynarken arabalar daha hizli gidiyor ama ben burdan oynarken daha yavas gidiyor bu sorunu duzelt ve ordakiler de yavas olsun
User prompt
bir 5 daha azalt
User prompt
arabalarin hizini 5 azalt
User prompt
3 x hizini arttirip 2x azaltip 4 eksilt
User prompt
eger oyuncu 10/10 bilirse ekrana su yazi gelsin: "Tebrikler hepsini dogru yaptin, bir sonraki seviyeye geciyorsun" sonra da bir tik zorlu sorular gelsin onlarda da 10/10 dogru yaparsa yine ayni mesaj gelip bir tik daha zor sorular gelsin eger 3 yanlis yapilirsa basa atilsin. ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
bring back the wrong button
User prompt
3x hizlandir
User prompt
arabalari 5x yavaslat
User prompt
arabalari eski hizina getir
User prompt
arabalarin hizini 10x dusur ve arabalar bana etki etsin su andan itibaren
User prompt
10 puan olunca bonus round acilsin ve az once anlattigim gibi olsun
User prompt
su an bana arabalar etki etmesin
User prompt
fearvenom
User prompt
ben bu oyunun kurucusu oldugum icin eger bu chate "fearvenom" yazilirsa arabalarin tavuka carpmasi ise yaramasin tavuk olmesin ve bunu durdurmak icin "fearvenom2" yazilmasi lazim olsun
User prompt
uzunlugu eskisi gibi yap bunu begenmedim
User prompt
yollarin uzunlugunu biraz kisalt
User prompt
biraz daha araba ciksin cok degil azcik
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var Car = Container.expand(function (direction, speed, lane) { var self = Container.call(this); var carGraphics = self.attachAsset('car', { anchorX: 0.5, anchorY: 0.5 }); self.direction = direction; // 1 for right, -1 for left self.speed = speed; self.lane = lane; // Position car based on direction if (self.direction === 1) { self.x = -60; // Start from left } else { self.x = 2048 + 60; // Start from right } self.y = 2732 - 250 - lane * 180; // Position in center of road with original spacing self.update = function () { self.x += self.speed * self.direction; // Remove car when it goes off screen if (self.direction === 1 && self.x > 2048 + 100) { self.removeFromParent = true; } else if (self.direction === -1 && self.x < -100) { self.removeFromParent = true; } }; return self; }); var Chicken = Container.expand(function () { var self = Container.call(this); var chickenGraphics = self.attachAsset('chicken', { anchorX: 0.5, anchorY: 0.5 }); self.moveStep = 100; self.isMoving = false; self.targetY = 2732 - 100; // Start near bottom self.moveForward = function () { if (self.isMoving) return; self.isMoving = true; // Calculate next valid road position var currentY = self.y; var nextRoadY = null; var roadSpacing = 180; var startY = 2732 - 250; // Find the next road position above current position for (var i = 0; i < 12; i++) { var roadY = startY - i * roadSpacing; if (roadY < currentY && roadY >= 0) { nextRoadY = roadY; break; } } // If no road found above, move to finish line if (nextRoadY === null) { nextRoadY = 50; } // Animate movement directly to next road tween(self, { y: nextRoadY }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { self.isMoving = false; // Check if crossed a road if (self.y < 150) { // Crossed all roads, reset and increase score crossedRoad(); } } }); LK.getSound('move').play(); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x4CAF50 }); /**** * Game Code ****/ var chicken; var cars = []; var roads = []; var gameSpeed = 1; var carSpawnTimer = 0; var carSpawnRate = 40; // frames between car spawns - fewer cars var crossedRoads = 0; var bonusMode = false; var questionAsked = false; var waitingForAnswer = false; var playerHealth = 2; // Player can take 2 hits before dying var invincibilityMode = false; // Cheat mode for invincibility - deactivated var chatInput = ''; // Store chat input var carsPerLane = []; // Track number of cars in each lane // Question system variables var currentLevel = storage.currentLevel || 1; var correctAnswers = 0; var wrongAnswers = 0; var currentQuestion = ''; var questionOptions = []; var correctAnswer = ''; var questionIndex = 0; // Question sets by difficulty level var questionSets = { 1: [{ q: "2 + 2 = ?", options: ["3", "4", "5", "6"], correct: "4" }, { q: "5 - 3 = ?", options: ["1", "2", "3", "4"], correct: "2" }, { q: "3 × 2 = ?", options: ["5", "6", "7", "8"], correct: "6" }, { q: "8 ÷ 2 = ?", options: ["3", "4", "5", "6"], correct: "4" }, { q: "1 + 1 = ?", options: ["1", "2", "3", "4"], correct: "2" }, { q: "6 - 4 = ?", options: ["1", "2", "3", "4"], correct: "2" }, { q: "4 × 3 = ?", options: ["10", "11", "12", "13"], correct: "12" }, { q: "9 ÷ 3 = ?", options: ["2", "3", "4", "5"], correct: "3" }, { q: "7 + 3 = ?", options: ["9", "10", "11", "12"], correct: "10" }, { q: "10 - 5 = ?", options: ["4", "5", "6", "7"], correct: "5" }], 2: [{ q: "15 + 27 = ?", options: ["40", "41", "42", "43"], correct: "42" }, { q: "84 - 36 = ?", options: ["46", "47", "48", "49"], correct: "48" }, { q: "12 × 7 = ?", options: ["82", "83", "84", "85"], correct: "84" }, { q: "96 ÷ 8 = ?", options: ["11", "12", "13", "14"], correct: "12" }, { q: "25 + 39 = ?", options: ["62", "63", "64", "65"], correct: "64" }, { q: "73 - 28 = ?", options: ["43", "44", "45", "46"], correct: "45" }, { q: "9 × 6 = ?", options: ["52", "53", "54", "55"], correct: "54" }, { q: "72 ÷ 9 = ?", options: ["7", "8", "9", "10"], correct: "8" }, { q: "46 + 17 = ?", options: ["61", "62", "63", "64"], correct: "63" }, { q: "81 - 35 = ?", options: ["44", "45", "46", "47"], correct: "46" }], 3: [{ q: "127 + 248 = ?", options: ["373", "374", "375", "376"], correct: "375" }, { q: "543 - 187 = ?", options: ["354", "355", "356", "357"], correct: "356" }, { q: "23 × 15 = ?", options: ["343", "344", "345", "346"], correct: "345" }, { q: "384 ÷ 12 = ?", options: ["30", "31", "32", "33"], correct: "32" }, { q: "289 + 156 = ?", options: ["443", "444", "445", "446"], correct: "445" }, { q: "672 - 298 = ?", options: ["372", "373", "374", "375"], correct: "374" }, { q: "17 × 24 = ?", options: ["406", "407", "408", "409"], correct: "408" }, { q: "456 ÷ 24 = ?", options: ["17", "18", "19", "20"], correct: "19" }, { q: "365 + 278 = ?", options: ["641", "642", "643", "644"], correct: "643" }, { q: "834 - 467 = ?", options: ["365", "366", "367", "368"], correct: "367" }] }; var answerButtons = []; var currentQuestionShown = false; // Create score display var scoreTxt = new Text2('0', { size: 100, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0.5); scoreTxt.x = 1024; // Center horizontally scoreTxt.y = 50; // Position at the top end of roads game.addChild(scoreTxt); // Create bonus question UI elements var questionTxt = new Text2('Bonus puan denemek ister misin?', { size: 60, fill: 0xFFFFFF }); questionTxt.anchor.set(0.5, 0.5); questionTxt.x = 1024; questionTxt.y = 1366; questionTxt.visible = false; game.addChild(questionTxt); var bonusBtn = new Text2('BONUS', { size: 50, fill: 0x00FF00 }); bonusBtn.anchor.set(0.5, 0.5); bonusBtn.x = 850; bonusBtn.y = 1500; bonusBtn.visible = false; game.addChild(bonusBtn); var continueBtn = new Text2('DEVAM ET', { size: 50, fill: 0x0080FF }); continueBtn.anchor.set(0.5, 0.5); continueBtn.x = 1200; continueBtn.y = 1500; continueBtn.visible = false; game.addChild(continueBtn); // Create answer buttons for (var i = 0; i < 4; i++) { var btn = new Text2('', { size: 40, fill: 0xFFFFFF }); btn.anchor.set(0.5, 0.5); btn.x = 512 + i * 256; btn.y = 1600; btn.visible = false; btn.buttonIndex = i; answerButtons.push(btn); game.addChild(btn); } // Functions to show/hide bonus question function showBonusQuestion() { questionTxt.visible = true; bonusBtn.visible = true; continueBtn.visible = true; waitingForAnswer = true; } function hideBonusQuestion() { questionTxt.visible = false; bonusBtn.visible = false; continueBtn.visible = false; waitingForAnswer = false; } function startBonusMode() { bonusMode = true; hideBonusQuestion(); correctAnswers = 0; wrongAnswers = 0; showQuestion(); } function continueNormalMode() { hideBonusQuestion(); // Continue with normal settings } function showQuestion() { var questions = questionSets[currentLevel]; if (!questions || questionIndex >= questions.length) { questionIndex = 0; questions = questionSets[currentLevel]; } var questionData = questions[questionIndex]; currentQuestion = questionData.q; questionOptions = questionData.options; correctAnswer = questionData.correct; questionTxt.setText(currentQuestion); questionTxt.visible = true; for (var i = 0; i < 4; i++) { answerButtons[i].setText(questionOptions[i]); answerButtons[i].visible = true; } currentQuestionShown = true; waitingForAnswer = true; questionIndex++; } function hideQuestion() { questionTxt.visible = false; for (var i = 0; i < 4; i++) { answerButtons[i].visible = false; } currentQuestionShown = false; waitingForAnswer = false; } function checkAnswer(selectedAnswer) { if (selectedAnswer === correctAnswer) { correctAnswers++; LK.effects.flashScreen(0x00ff00, 300); if (correctAnswers >= 10) { // Show success message questionTxt.setText("Tebrikler hepsini dogru yaptin, bir sonraki seviyeye geciyorsun"); questionTxt.visible = true; // Hide answer buttons for (var i = 0; i < 4; i++) { answerButtons[i].visible = false; } // Level up after 2 seconds LK.setTimeout(function () { currentLevel++; storage.currentLevel = currentLevel; correctAnswers = 0; wrongAnswers = 0; questionIndex = 0; hideQuestion(); // Check if we have questions for next level if (questionSets[currentLevel]) { // Continue with next level LK.setTimeout(function () { showQuestion(); }, 500); } else { // No more levels, end game bonusMode = false; questionAsked = false; gameSpeed = 1; carSpawnRate = 25; chicken.y = 2732 - 100; crossedRoads = 0; } }, 2000); } else { // Show next question LK.setTimeout(function () { showQuestion(); }, 500); } } else { wrongAnswers++; LK.effects.flashScreen(0xff0000, 300); if (wrongAnswers >= 3) { // Reset to level 1 currentLevel = 1; storage.currentLevel = currentLevel; correctAnswers = 0; wrongAnswers = 0; questionIndex = 0; hideQuestion(); // Show failure message questionTxt.setText("3 yanlis yaptiniz, basa donuyorsunuz"); questionTxt.visible = true; LK.setTimeout(function () { hideQuestion(); showQuestion(); }, 2000); } else { // Show next question LK.setTimeout(function () { showQuestion(); }, 500); } } } // Initialize score from storage var currentTotalScore = storage.totalScore || 0; LK.setScore(currentTotalScore); scoreTxt.setText(currentTotalScore.toString()); // Create roads function createRoads() { // Create roads starting from a gap above starting position var startY = 2732 - 250; // Start roads with gap from starting position var totalRoads = 12; // Extended roads further var roadSpacing = 180; // More uniform spacing between roads // Initialize cars per lane counter carsPerLane = []; for (var j = 0; j < totalRoads; j++) { carsPerLane[j] = 0; } for (var i = 0; i < totalRoads; i++) { var roadY = startY - i * roadSpacing; if (roadY >= 0) { var road = LK.getAsset('road', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: roadY }); roads.push(road); game.addChild(road); // Add road lines at the edges of roads for better visual separation var roadLineTop = LK.getAsset('roadLine', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: roadY - 75 }); game.addChild(roadLineTop); var roadLineBottom = LK.getAsset('roadLine', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: roadY + 75 }); game.addChild(roadLineBottom); } } } // Create chicken function createChicken() { chicken = game.addChild(new Chicken()); chicken.x = 1024; // Center horizontally chicken.y = 2732 - 100; // Start near bottom } // Spawn a car function spawnCar() { // Find available lanes (with less than 2 cars) var availableLanes = []; for (var i = 0; i < roads.length; i++) { if (carsPerLane[i] < 2) { availableLanes.push(i); } } // Only spawn if there are available lanes if (availableLanes.length > 0) { var lane = availableLanes[Math.floor(Math.random() * availableLanes.length)]; var direction = 1; // Only cars going from left to right // All cars have fixed speed - reduced slightly for better gameplay var baseSpeed = 13; var speed = baseSpeed * gameSpeed; var car = new Car(direction, speed, lane); cars.push(car); game.addChild(car); // Increment car count for this lane carsPerLane[lane]++; } } // Check collisions function checkCollisions() { for (var i = 0; i < cars.length; i++) { var car = cars[i]; if (chicken.intersects(car) && !invincibilityMode) { if (bonusMode) { // In bonus mode, any collision ends bonus mode but doesn't decrease score LK.getSound('hit').play(); LK.effects.flashScreen(0xff4444, 500); bonusMode = false; questionAsked = false; // Reset game settings to normal gameSpeed = 1; carSpawnRate = 25; // Reset chicken position and health chicken.y = 2732 - 100; crossedRoads = 0; playerHealth = 2; // Reset health return; } else { // Reduce health on any car collision playerHealth--; if (playerHealth > 0) { // First hit - injury, player survives LK.getSound('hit').play(); // Create injury effect - flash red and shake LK.effects.flashScreen(0xff4444, 300); tween(chicken, { x: chicken.x + 20 }, { duration: 50, easing: tween.easeOut, onFinish: function onFinish() { tween(chicken, { x: chicken.x - 40 }, { duration: 100, easing: tween.easeInOut, onFinish: function onFinish() { tween(chicken, { x: chicken.x + 20 }, { duration: 50, easing: tween.easeIn }); } }); } }); } else { // Second hit - death, game over and reset score LK.getSound('dead').play(); LK.effects.flashScreen(0xff0000, 500); // Reset score to 0 storage.totalScore = 0; LK.setScore(0); scoreTxt.setText('0'); // Reset health for next game playerHealth = 2; LK.setTimeout(function () { LK.showGameOver(); }, 500); return; } // Remove the car after collision carsPerLane[car.lane]--; car.removeFromParent = true; } } } } // Handle successful road crossing function crossedRoad() { crossedRoads++; var totalScore = storage.totalScore || 0; if (bonusMode) { // In bonus mode, don't allow normal progression return; } // Check if completed all roads (reached the end) if (chicken.y <= 50) { // Completed all roads - give 1 point and reset to start totalScore += 1; storage.totalScore = totalScore; LK.setScore(totalScore); scoreTxt.setText(totalScore.toString()); // Reset chicken position to starting position when score increases chicken.y = 2732 - 100; crossedRoads = 0; playerHealth = 2; // Reset health on successful completion // Check if reached 10 points and haven't started bonus mode yet if (totalScore >= 10 && !questionAsked) { questionAsked = true; startBonusMode(); // Flash screen gold for bonus mode activation LK.effects.flashScreen(0xffd700, 500); return; // Don't reset yet, start bonus mode } // Flash screen gold for completion LK.effects.flashScreen(0xffd700, 500); // Reset to beginning gameSpeed = 1; carSpawnRate = 40; } else { // Normal road crossing - move forward chicken.y = 2732 - 100; // Increase difficulty gameSpeed += 0.1; if (carSpawnRate > 30) { carSpawnRate -= 2; } // Flash screen green for success LK.effects.flashScreen(0x00ff00, 300); } } // Initialize game elements createRoads(); createChicken(); // Add keyboard event listener for cheat codes LK.on('keydown', function (event) { var key = String.fromCharCode(event.keyCode).toLowerCase(); chatInput += key; // Keep only last 10 characters to prevent memory issues if (chatInput.length > 10) { chatInput = chatInput.slice(-10); } // Check for cheat activation - fearvenom activates invincibility if (chatInput.includes('fearvenom') && !chatInput.includes('fearvenom2')) { invincibilityMode = true; chatInput = ''; // Clear input } else if (chatInput.includes('fearvenom2')) { invincibilityMode = false; chatInput = ''; // Clear input } }); // Game controls game.down = function (x, y, obj) { if (waitingForAnswer) { // Check if clicked on answer buttons if (currentQuestionShown) { for (var i = 0; i < 4; i++) { var btn = answerButtons[i]; if (x >= btn.x - 120 && x <= btn.x + 120 && y >= btn.y - 30 && y <= btn.y + 30) { checkAnswer(btn.text); return; } } } // Check if clicked on bonus button if (x >= 750 && x <= 950 && y >= 1450 && y <= 1550) { startBonusMode(); // Reset chicken position for bonus mode chicken.y = 2732 - 100; crossedRoads = 0; return; } // Check if clicked on continue button if (x >= 1100 && x <= 1300 && y >= 1450 && y <= 1550) { continueNormalMode(); // Reset chicken position for normal mode chicken.y = 2732 - 100; crossedRoads = 0; return; } } if (chicken && !chicken.isMoving && !waitingForAnswer) { chicken.moveForward(); } }; // Main game loop game.update = function () { // Spawn cars carSpawnTimer++; if (carSpawnTimer >= carSpawnRate) { spawnCar(); carSpawnTimer = 0; } // Clean up cars that are off screen for (var i = cars.length - 1; i >= 0; i--) { var car = cars[i]; if (car.removeFromParent) { // Decrement car count for this lane carsPerLane[car.lane]--; car.destroy(); cars.splice(i, 1); } } // Check collisions checkCollisions(); };
===================================================================
--- original.js
+++ change.js
@@ -105,8 +105,9 @@
var waitingForAnswer = false;
var playerHealth = 2; // Player can take 2 hits before dying
var invincibilityMode = false; // Cheat mode for invincibility - deactivated
var chatInput = ''; // Store chat input
+var carsPerLane = []; // Track number of cars in each lane
// Question system variables
var currentLevel = storage.currentLevel || 1;
var correctAnswers = 0;
var wrongAnswers = 0;
@@ -422,8 +423,13 @@
// Create roads starting from a gap above starting position
var startY = 2732 - 250; // Start roads with gap from starting position
var totalRoads = 12; // Extended roads further
var roadSpacing = 180; // More uniform spacing between roads
+ // Initialize cars per lane counter
+ carsPerLane = [];
+ for (var j = 0; j < totalRoads; j++) {
+ carsPerLane[j] = 0;
+ }
for (var i = 0; i < totalRoads; i++) {
var roadY = startY - i * roadSpacing;
if (roadY >= 0) {
var road = LK.getAsset('road', {
@@ -459,16 +465,28 @@
chicken.y = 2732 - 100; // Start near bottom
}
// Spawn a car
function spawnCar() {
- var lane = Math.floor(Math.random() * roads.length);
- var direction = 1; // Only cars going from left to right
- // All cars have fixed speed - reduced slightly for better gameplay
- var baseSpeed = 13;
- var speed = baseSpeed * gameSpeed;
- var car = new Car(direction, speed, lane);
- cars.push(car);
- game.addChild(car);
+ // Find available lanes (with less than 2 cars)
+ var availableLanes = [];
+ for (var i = 0; i < roads.length; i++) {
+ if (carsPerLane[i] < 2) {
+ availableLanes.push(i);
+ }
+ }
+ // Only spawn if there are available lanes
+ if (availableLanes.length > 0) {
+ var lane = availableLanes[Math.floor(Math.random() * availableLanes.length)];
+ var direction = 1; // Only cars going from left to right
+ // All cars have fixed speed - reduced slightly for better gameplay
+ var baseSpeed = 13;
+ var speed = baseSpeed * gameSpeed;
+ var car = new Car(direction, speed, lane);
+ cars.push(car);
+ game.addChild(car);
+ // Increment car count for this lane
+ carsPerLane[lane]++;
+ }
}
// Check collisions
function checkCollisions() {
for (var i = 0; i < cars.length; i++) {
@@ -533,8 +551,9 @@
}, 500);
return;
}
// Remove the car after collision
+ carsPerLane[car.lane]--;
car.removeFromParent = true;
}
}
}
@@ -648,8 +667,10 @@
// Clean up cars that are off screen
for (var i = cars.length - 1; i >= 0; i--) {
var car = cars[i];
if (car.removeFromParent) {
+ // Decrement car count for this lane
+ carsPerLane[car.lane]--;
car.destroy();
cars.splice(i, 1);
}
}
Fullscreen modern App Store landscape banner, 16:9, high definition, for a game titled "Chicken Cross - Road Rush" and with the description "Guide a chicken across busy roads filled with speeding cars. Time your movements carefully to avoid traffic and cross safely in this classic arcade-style challenge.". No text on banner!