User prompt
basladigim yere kadar yol olsun
User prompt
arabalari 2x hizlandir ve daha fazla yol olustur
Code edit (1 edits merged)
Please save this source code
User prompt
Chicken Cross - Road Rush
User prompt
tavuk ile karsidan karsiya gitme oyunu yap yoldan surekli arabalar gecsin bizde kontrol ederek gecmeye calisalim
User prompt
Please continue polishing my design document.
Initial prompt
tavuk ile karsidan karsiya gitme oyunu yap yoldan surekli arabalar gecsin bizde kontrol ederek gecmeye calisalim
/**** * Plugins ****/ var tween = LK.import("@upit/tween.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 = 300 + lane * 200; // Position in lane 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; var newY = self.y - self.moveStep; // Animate movement tween(self, { y: newY }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { self.isMoving = false; // Check if crossed a road if (self.y < 200) { // 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 = 60; // frames between car spawns var crossedRoads = 0; // Create score display var scoreTxt = new Text2('0', { size: 100, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Create roads function createRoads() { for (var i = 0; i < 4; i++) { var road = LK.getAsset('road', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 350 + i * 200 }); roads.push(road); game.addChild(road); // Add road lines var roadLine = LK.getAsset('roadLine', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 350 + i * 200 }); game.addChild(roadLine); } } // 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() { var lane = Math.floor(Math.random() * 4); var direction = Math.random() > 0.5 ? 1 : -1; var baseSpeed = 3 + Math.random() * 4; var speed = baseSpeed * gameSpeed; var car = new Car(direction, speed, lane); cars.push(car); game.addChild(car); } // Check collisions function checkCollisions() { for (var i = 0; i < cars.length; i++) { var car = cars[i]; if (chicken.intersects(car)) { // Game over LK.getSound('hit').play(); LK.effects.flashScreen(0xff0000, 500); LK.setTimeout(function () { LK.showGameOver(); }, 500); return; } } } // Handle successful road crossing function crossedRoad() { crossedRoads++; LK.setScore(crossedRoads); scoreTxt.setText(crossedRoads.toString()); // Reset chicken position 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(); // Game controls game.down = function (x, y, obj) { if (chicken && !chicken.isMoving) { 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) { car.destroy(); cars.splice(i, 1); } } // Check collisions checkCollisions(); };
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,187 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.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 = 300 + lane * 200; // Position in lane
+ 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;
+ var newY = self.y - self.moveStep;
+ // Animate movement
+ tween(self, {
+ y: newY
+ }, {
+ duration: 200,
+ easing: tween.easeOut,
+ onFinish: function onFinish() {
+ self.isMoving = false;
+ // Check if crossed a road
+ if (self.y < 200) {
+ // Crossed all roads, reset and increase score
+ crossedRoad();
+ }
+ }
+ });
+ LK.getSound('move').play();
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x4CAF50
+});
+
+/****
+* Game Code
+****/
+var chicken;
+var cars = [];
+var roads = [];
+var gameSpeed = 1;
+var carSpawnTimer = 0;
+var carSpawnRate = 60; // frames between car spawns
+var crossedRoads = 0;
+// Create score display
+var scoreTxt = new Text2('0', {
+ size: 100,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+// Create roads
+function createRoads() {
+ for (var i = 0; i < 4; i++) {
+ var road = LK.getAsset('road', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 1024,
+ y: 350 + i * 200
+ });
+ roads.push(road);
+ game.addChild(road);
+ // Add road lines
+ var roadLine = LK.getAsset('roadLine', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 1024,
+ y: 350 + i * 200
+ });
+ game.addChild(roadLine);
+ }
+}
+// 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() {
+ var lane = Math.floor(Math.random() * 4);
+ var direction = Math.random() > 0.5 ? 1 : -1;
+ var baseSpeed = 3 + Math.random() * 4;
+ var speed = baseSpeed * gameSpeed;
+ var car = new Car(direction, speed, lane);
+ cars.push(car);
+ game.addChild(car);
+}
+// Check collisions
+function checkCollisions() {
+ for (var i = 0; i < cars.length; i++) {
+ var car = cars[i];
+ if (chicken.intersects(car)) {
+ // Game over
+ LK.getSound('hit').play();
+ LK.effects.flashScreen(0xff0000, 500);
+ LK.setTimeout(function () {
+ LK.showGameOver();
+ }, 500);
+ return;
+ }
+ }
+}
+// Handle successful road crossing
+function crossedRoad() {
+ crossedRoads++;
+ LK.setScore(crossedRoads);
+ scoreTxt.setText(crossedRoads.toString());
+ // Reset chicken position
+ 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();
+// Game controls
+game.down = function (x, y, obj) {
+ if (chicken && !chicken.isMoving) {
+ 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) {
+ car.destroy();
+ cars.splice(i, 1);
+ }
+ }
+ // Check collisions
+ checkCollisions();
+};
\ No newline at end of file
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!