User prompt
Yukarıya doğru gitsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Ne kadar uzun süre basarsak okadar uzağa gitsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'fill')' in or related to this line: 'powerBarFill.style.fill = '#ffff00'; // Yellow' Line Number: 393
User prompt
Bı bar olsun altta ne kadar uzun süre basılı tutarsak okadar daha çok zıplatsın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Mesala buton renklerini kolay kirmiziysa orta sarı yap
User prompt
Buton renkleri sarı ve kırmızı yap
User prompt
En yüksek rekorumuz başlama ekranında gözüksün
User prompt
Oyun kolay modda üste gidince ölmek yerine şekerlik
User prompt
Butonlar pembe olsun
Code edit (1 edits merged)
Please save this source code
User prompt
Butanların rengi yesîl mavi olsun
User prompt
Bir tane daha da mod eklensin imkansız diye mod zor dan da zor olsun
User prompt
rekorumuz baslama ekranında gözusun
User prompt
rekorumuz gözuksun sag üstte best diye
User prompt
Please fix the bug: 'storage.get is not a function' in or related to this line: 'var bestScore = storage.get('bestScore') || 0;' Line Number: 307 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'storage.getItem is not a function' in or related to this line: 'var bestScore = storage.getItem('bestScore') || 0;' Line Number: 307
User prompt
Please fix the bug: 'storage.get is not a function' in or related to this line: 'var bestScore = storage.get('bestScore') || 0;' Line Number: 307
User prompt
rekorumuz gözüksun sag üstte en iyi rekor diye
User prompt
skor tablosuda ekle
User prompt
dil secimide olsun
Remix started
zorluk secelim kolay orta zor
/**** * Classes ****/ var Bird = Container.expand(function () { var self = Container.call(this); var birdGraphics = self.attachAsset('bird', { anchorX: 0.5, anchorY: 0.5 }); self.xSpeed = 10.9375; self.ySpeed = -20; self.gravity = 1; self.lift = -15; self.flap = function () { self.ySpeed = self.lift * 1.5; LK.getSound('flap').play(); }; self._update_migrated = function () { if (game.isMouseDown) { self.ySpeed += self.gravity / 3; } else { self.ySpeed += self.gravity; } self.y += self.ySpeed; self.x += self.xSpeed; if (self.y <= 0 || self.y >= 2732) { self.speed = -self.speed; } var targetRotation = Math.atan2(self.ySpeed, self.xSpeed * self.scale.x) / 2; birdGraphics.rotation += (targetRotation - birdGraphics.rotation) / 10; }; self.flip = function () { self.scale.x *= -1; }; }); var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleShadow = self.attachAsset('obstacleShadow', { anchorX: 0.5, anchorY: 0.5 }); obstacleShadow.rotation = Math.PI / 4; var obstacleShadow2 = self.attachAsset('obstacleShadow2', { anchorX: 0.5, anchorY: 0.5 }); obstacleShadow2.rotation = Math.PI / 4; obstacleShadow2.y = -7; var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); obstacleGraphics.rotation = Math.PI / 4; self.speed = 5; self._move_migrated = function (speed) { self.y += speed; }; }); var Wall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('wall', { anchorX: 0.5, anchorY: 0.5 }); }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Language selection UI var languageSelected = false; var selectedLanguage = "tr"; var languages = [{ label: "Türkçe", code: "tr" }, { label: "English", code: "en" }]; var languageButtons = []; var languageText = new Text2('Dil Seçin / Select Language', { size: 180, fill: '#3a84f7', font: 'Impact', align: 'center' }); languageText.anchor.set(0.5, 1); languageText.y = -600; LK.gui.center.addChild(languageText); for (var i = 0; i < languages.length; i++) { var lbtn = new Text2(languages[i].label, { size: 150, fill: '#ffffff', font: 'Impact', align: 'center', dropShadow: true, dropShadowColor: '#222a9a', dropShadowBlur: 5, dropShadowDistance: 7, dropShadowAngle: 0 }); lbtn.anchor.set(0.5, 0.5); lbtn.y = -400 + i * 220; lbtn.x = 0; (function (idx) { lbtn.interactive = true; lbtn.down = function (x, y, obj) { if (languageSelected) return; languageSelected = true; selectedLanguage = languages[idx].code; // Remove language buttons and text for (var j = 0; j < languageButtons.length; j++) { LK.gui.center.removeChild(languageButtons[j]); } LK.gui.center.removeChild(languageText); // Show difficulty selection showDifficultySelection(); }; })(i); LK.gui.center.addChild(lbtn); languageButtons.push(lbtn); } // Difficulty selection UI var difficultySelected = false; var difficulties = [{ label: { tr: "Kolay", en: "Easy" }, speed: 4, speedInc: 0.003, randomness: 160 }, { label: { tr: "Orta", en: "Medium" }, speed: 5, speedInc: 0.005, randomness: 120 }, { label: { tr: "Zor", en: "Hard" }, speed: 6, speedInc: 0.008, randomness: 80 }]; var difficultyButtons = []; var difficultyText; function showDifficultySelection() { difficultySelected = false; difficultyButtons = []; var diffTextStr = selectedLanguage === "tr" ? "Zorluk Seçin" : "Select Difficulty"; difficultyText = new Text2(diffTextStr, { size: 180, fill: '#3a84f7', font: 'Impact', align: 'center' }); difficultyText.anchor.set(0.5, 1); difficultyText.y = -400; LK.gui.center.addChild(difficultyText); for (var i = 0; i < difficulties.length; i++) { var btn = new Text2(difficulties[i].label[selectedLanguage], { size: 150, fill: '#ffffff', font: 'Impact', align: 'center', dropShadow: true, dropShadowColor: '#222a9a', dropShadowBlur: 5, dropShadowDistance: 7, dropShadowAngle: 0 }); btn.anchor.set(0.5, 0.5); btn.y = -200 + i * 220; btn.x = 0; // Attach event (function (idx) { btn.interactive = true; btn.down = function (x, y, obj) { if (difficultySelected) return; difficultySelected = true; // Set game difficulty game.obstacleSpeed = difficulties[idx].speed; game.obstacleSpeedIncrease = difficulties[idx].speedInc; obstacleSpawnRandomness = difficulties[idx].randomness; // Remove buttons and text for (var j = 0; j < difficultyButtons.length; j++) { LK.gui.center.removeChild(difficultyButtons[j]); } LK.gui.center.removeChild(difficultyText); // Show tutorial tutorialText.visible = true; tutorialTextWhite.visible = true; // Update tutorial text language if (selectedLanguage === "tr") { tutorialText.setText('Zıpla\nHavada Kalmak İçin Basılı Tut'); tutorialTextWhite.setText('Zıpla\nHavada Kalmak İçin Basılı Tut'); } else { tutorialText.setText('Tap to Flap\nHold to Float'); tutorialTextWhite.setText('Tap to Flap\nHold to Float'); } }; })(i); LK.gui.center.addChild(btn); difficultyButtons.push(btn); } } // Hide tutorial until difficulty is picked, will update for language var tutorialTextWhite = new Text2('Tap to Flap\nHold to Float', { size: 150, fill: '#ffffff', font: 'Impact', align: 'center' }); tutorialTextWhite.anchor.set(.5, 1); tutorialTextWhite.x = -4; tutorialTextWhite.y = -62; tutorialTextWhite.visible = false; LK.gui.bottom.addChild(tutorialTextWhite); var tutorialText = new Text2('Tap to Flap\nHold to Float', { size: 150, fill: '#3a84f7', font: 'Impact', dropShadow: true, dropShadowColor: '#222a9a', dropShadowBlur: 5, dropShadowDistance: 7, dropShadowAngle: 0, align: 'center' }); tutorialText.anchor.set(.5, 1); tutorialText.y = -50; tutorialText.visible = false; LK.gui.bottom.addChild(tutorialText); game.score = 0; game.obstacleSpeed = 5; game.obstacleSpeedIncrease = 0.005; game.checkObstacleCollision = function (obstacles) { for (var i = 0; i < obstacles.length; i++) { obstacles[i]._move_migrated(); var dist = Math.sqrt(Math.pow(bird.x - obstacles[i].x, 2) + Math.pow(bird.y - obstacles[i].y, 2)); if (dist < 280) { LK.setScore(game.score); LK.getSound('gameOverJingle').play(); LK.showGameOver(); } } }; game.setBackgroundColor(0xadd8e6); var scoreText = new Text2('0', { size: 150, fill: '#3a84f7', font: 'Impact', dropShadow: true, dropShadowColor: '#222a9a', dropShadowBlur: 5, dropShadowDistance: 7, dropShadowAngle: 0 }); scoreText.anchor.set(.5, 0); LK.gui.top.addChild(scoreText); var scoreText2 = new Text2('0', { size: 150, fill: '#ffffff', font: 'Impact' }); scoreText2.anchor.set(.5, 0); scoreText2.x = -4; scoreText2.y = -5; LK.gui.top.addChild(scoreText2); LK.gui.top.addChild(scoreText); var bird = game.addChild(new Bird()); var leftWall = game.addChild(new Wall()); leftWall.x = 0; leftWall.y = 1366; var rightWall = game.addChild(new Wall()); rightWall.x = 2048; rightWall.y = 1366; var leftObstacles = [], rightObstacles = []; var obstacleSpawnRandomness = 120; var obstacleSpawnRandomnessDecrease = 0.025 * (2 / 3); var obstacleSpawnY = -500; var leftObstacleSpawnTime = Math.floor(Math.random() * obstacleSpawnRandomness) + obstacleSpawnRandomness; var rightObstacleSpawnTime = Math.floor(Math.random() * obstacleSpawnRandomness) + obstacleSpawnRandomness; bird.x = 1024; bird.y = 1366; game.isMouseDown = false; game.down = function (x, y, obj) { if (!languageSelected || !difficultySelected) return; bird.flap(); game.isMouseDown = true; }; game.up = function (x, y, obj) { if (!languageSelected || !difficultySelected) return; game.isMouseDown = false; }; game.update = function () { if (!languageSelected) { // Block all game logic until language is picked return; } if (!difficultySelected) { // Block all game logic until difficulty is picked return; } bird._update_migrated(); if (game.score > 2) { tutorialText.y += 5; tutorialTextWhite.y += 5; } scoreText.setText(game.score); scoreText2.setText(game.score); game.obstacleSpeed += game.obstacleSpeedIncrease; obstacleSpawnRandomness -= obstacleSpawnRandomnessDecrease; if (obstacleSpawnRandomness < 20) { obstacleSpawnRandomness = 20; } if (LK.ticks >= leftObstacleSpawnTime) { var newObstacle = game.addChildAt(new Obstacle(), 0); newObstacle.x = 0; newObstacle.y = obstacleSpawnY; leftObstacles.push(newObstacle); leftObstacleSpawnTime += Math.floor(Math.random() * obstacleSpawnRandomness) + obstacleSpawnRandomness; } if (LK.ticks >= rightObstacleSpawnTime) { var newObstacle = game.addChildAt(new Obstacle(), 0); newObstacle.x = 2048; newObstacle.y = -newObstacle.height; rightObstacles.push(newObstacle); rightObstacleSpawnTime += Math.floor(Math.random() * obstacleSpawnRandomness) + obstacleSpawnRandomness; } if (bird.intersects(leftWall) && bird.xSpeed < 0 || bird.intersects(rightWall) && bird.xSpeed > 0) { bird.xSpeed = -bird.xSpeed; bird.flip(); game.score++; LK.setScore(game.score); LK.getSound('bounce').play(); } for (var i = leftObstacles.length - 1; i >= 0; i--) { leftObstacles[i]._move_migrated(game.obstacleSpeed); if (leftObstacles[i].y > 3232) { leftObstacles[i].destroy(); leftObstacles.splice(i, 1); } } for (var i = rightObstacles.length - 1; i >= 0; i--) { rightObstacles[i]._move_migrated(game.obstacleSpeed); if (rightObstacles[i].y > 3232) { rightObstacles[i].destroy(); rightObstacles.splice(i, 1); } } game.checkObstacleCollision(leftObstacles); game.checkObstacleCollision(rightObstacles); if (bird.y < 0 || bird.y > 2732) { LK.setScore(game.score); LK.getSound('gameOverJingle').play(); LK.showGameOver(); } };
===================================================================
--- original.js
+++ change.js
@@ -73,38 +73,30 @@
/****
* Game Code
****/
-// Difficulty selection UI
-var difficultySelected = false;
-var difficulties = [{
- label: "Kolay",
- speed: 4,
- speedInc: 0.003,
- randomness: 160
+// Language selection UI
+var languageSelected = false;
+var selectedLanguage = "tr";
+var languages = [{
+ label: "Türkçe",
+ code: "tr"
}, {
- label: "Orta",
- speed: 5,
- speedInc: 0.005,
- randomness: 120
-}, {
- label: "Zor",
- speed: 6,
- speedInc: 0.008,
- randomness: 80
+ label: "English",
+ code: "en"
}];
-var difficultyButtons = [];
-var difficultyText = new Text2('Zorluk Seçin', {
+var languageButtons = [];
+var languageText = new Text2('Dil Seçin / Select Language', {
size: 180,
fill: '#3a84f7',
font: 'Impact',
align: 'center'
});
-difficultyText.anchor.set(0.5, 1);
-difficultyText.y = -400;
-LK.gui.center.addChild(difficultyText);
-for (var i = 0; i < difficulties.length; i++) {
- var btn = new Text2(difficulties[i].label, {
+languageText.anchor.set(0.5, 1);
+languageText.y = -600;
+LK.gui.center.addChild(languageText);
+for (var i = 0; i < languages.length; i++) {
+ var lbtn = new Text2(languages[i].label, {
size: 150,
fill: '#ffffff',
font: 'Impact',
align: 'center',
@@ -113,35 +105,119 @@
dropShadowBlur: 5,
dropShadowDistance: 7,
dropShadowAngle: 0
});
- btn.anchor.set(0.5, 0.5);
- btn.y = -200 + i * 220;
- btn.x = 0;
- // Attach event
+ lbtn.anchor.set(0.5, 0.5);
+ lbtn.y = -400 + i * 220;
+ lbtn.x = 0;
(function (idx) {
- btn.interactive = true;
- btn.down = function (x, y, obj) {
- if (difficultySelected) return;
- difficultySelected = true;
- // Set game difficulty
- game.obstacleSpeed = difficulties[idx].speed;
- game.obstacleSpeedIncrease = difficulties[idx].speedInc;
- obstacleSpawnRandomness = difficulties[idx].randomness;
- // Remove buttons and text
- for (var j = 0; j < difficultyButtons.length; j++) {
- LK.gui.center.removeChild(difficultyButtons[j]);
+ lbtn.interactive = true;
+ lbtn.down = function (x, y, obj) {
+ if (languageSelected) return;
+ languageSelected = true;
+ selectedLanguage = languages[idx].code;
+ // Remove language buttons and text
+ for (var j = 0; j < languageButtons.length; j++) {
+ LK.gui.center.removeChild(languageButtons[j]);
}
- LK.gui.center.removeChild(difficultyText);
- // Show tutorial
- tutorialText.visible = true;
- tutorialTextWhite.visible = true;
+ LK.gui.center.removeChild(languageText);
+ // Show difficulty selection
+ showDifficultySelection();
};
})(i);
- LK.gui.center.addChild(btn);
- difficultyButtons.push(btn);
+ LK.gui.center.addChild(lbtn);
+ languageButtons.push(lbtn);
}
-// Hide tutorial until difficulty is picked
+// Difficulty selection UI
+var difficultySelected = false;
+var difficulties = [{
+ label: {
+ tr: "Kolay",
+ en: "Easy"
+ },
+ speed: 4,
+ speedInc: 0.003,
+ randomness: 160
+}, {
+ label: {
+ tr: "Orta",
+ en: "Medium"
+ },
+ speed: 5,
+ speedInc: 0.005,
+ randomness: 120
+}, {
+ label: {
+ tr: "Zor",
+ en: "Hard"
+ },
+ speed: 6,
+ speedInc: 0.008,
+ randomness: 80
+}];
+var difficultyButtons = [];
+var difficultyText;
+function showDifficultySelection() {
+ difficultySelected = false;
+ difficultyButtons = [];
+ var diffTextStr = selectedLanguage === "tr" ? "Zorluk Seçin" : "Select Difficulty";
+ difficultyText = new Text2(diffTextStr, {
+ size: 180,
+ fill: '#3a84f7',
+ font: 'Impact',
+ align: 'center'
+ });
+ difficultyText.anchor.set(0.5, 1);
+ difficultyText.y = -400;
+ LK.gui.center.addChild(difficultyText);
+ for (var i = 0; i < difficulties.length; i++) {
+ var btn = new Text2(difficulties[i].label[selectedLanguage], {
+ size: 150,
+ fill: '#ffffff',
+ font: 'Impact',
+ align: 'center',
+ dropShadow: true,
+ dropShadowColor: '#222a9a',
+ dropShadowBlur: 5,
+ dropShadowDistance: 7,
+ dropShadowAngle: 0
+ });
+ btn.anchor.set(0.5, 0.5);
+ btn.y = -200 + i * 220;
+ btn.x = 0;
+ // Attach event
+ (function (idx) {
+ btn.interactive = true;
+ btn.down = function (x, y, obj) {
+ if (difficultySelected) return;
+ difficultySelected = true;
+ // Set game difficulty
+ game.obstacleSpeed = difficulties[idx].speed;
+ game.obstacleSpeedIncrease = difficulties[idx].speedInc;
+ obstacleSpawnRandomness = difficulties[idx].randomness;
+ // Remove buttons and text
+ for (var j = 0; j < difficultyButtons.length; j++) {
+ LK.gui.center.removeChild(difficultyButtons[j]);
+ }
+ LK.gui.center.removeChild(difficultyText);
+ // Show tutorial
+ tutorialText.visible = true;
+ tutorialTextWhite.visible = true;
+ // Update tutorial text language
+ if (selectedLanguage === "tr") {
+ tutorialText.setText('Zıpla\nHavada Kalmak İçin Basılı Tut');
+ tutorialTextWhite.setText('Zıpla\nHavada Kalmak İçin Basılı Tut');
+ } else {
+ tutorialText.setText('Tap to Flap\nHold to Float');
+ tutorialTextWhite.setText('Tap to Flap\nHold to Float');
+ }
+ };
+ })(i);
+ LK.gui.center.addChild(btn);
+ difficultyButtons.push(btn);
+ }
+}
+// Hide tutorial until difficulty is picked, will update for language
var tutorialTextWhite = new Text2('Tap to Flap\nHold to Float', {
size: 150,
fill: '#ffffff',
font: 'Impact',
@@ -221,17 +297,21 @@
bird.x = 1024;
bird.y = 1366;
game.isMouseDown = false;
game.down = function (x, y, obj) {
- if (!difficultySelected) return;
+ if (!languageSelected || !difficultySelected) return;
bird.flap();
game.isMouseDown = true;
};
game.up = function (x, y, obj) {
- if (!difficultySelected) return;
+ if (!languageSelected || !difficultySelected) return;
game.isMouseDown = false;
};
game.update = function () {
+ if (!languageSelected) {
+ // Block all game logic until language is picked
+ return;
+ }
if (!difficultySelected) {
// Block all game logic until difficulty is picked
return;
}