User prompt
daha büyük olsun
User prompt
ekrana gelen harfler ve rakamlar beyaz olsun
User prompt
1 2 3 4 5 düğmeleri daha büyük ve aralarında boşluk olsun
User prompt
karışık gelsin ve ekranda daha uzun süre dursun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
3 yanlış hakkı olsun
User prompt
ekranda 4 değil 3 saniye görünsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
yandıktan sonra ekranın herhangi bir yerine tıklayınca play again olsun
User prompt
sadece 2 hata hakkı bulunsun
User prompt
ekrana karışık gelen rakam ve harfler ekranda en az 4 saniye görünsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
ekranda 3 saniye görünsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
daha hızlı gelsin ama ekranda 3 saniye dursun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
ekranda daha uzun süre dursun
User prompt
daha yavaş belirsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
arada 3 saniye olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
sayılar ve rakamlar 3 saniye sırayla gelsin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
daha yavaş çıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
daha yavaş çıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
sayılar ve b r g harfleri 2 saniyede bir çıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
düğmelere basma kaçırılınca da wrong sound çalsın
User prompt
doğru tuşlara basınca bateri sesi çıksın yanlışa basınca kötü bir ses
User prompt
dansçıları çoğalt ve aralarına boşluk ekle
User prompt
masanın oradaki dansçıları kaldır yukarıda dursunlar
User prompt
dansçılar üst kısımda alt alta dursun
User prompt
arkaya ışık ve konfeti ekle ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
yarısı aşşağıda dursun
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var DJButton = Container.expand(function (buttonType, value) { var self = Container.call(this); var buttonGraphics; if (buttonType === 'number') { buttonGraphics = self.attachAsset('numberButton', { anchorX: 0.5, anchorY: 0.5 }); } else if (buttonType === 'blue') { buttonGraphics = self.attachAsset('blueButton', { anchorX: 0.5, anchorY: 0.5 }); } else if (buttonType === 'red') { buttonGraphics = self.attachAsset('redButton', { anchorX: 0.5, anchorY: 0.5 }); } else if (buttonType === 'green') { buttonGraphics = self.attachAsset('greenButton', { anchorX: 0.5, anchorY: 0.5 }); } var buttonText = new Text2(value.toString(), { size: 40, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.buttonType = buttonType; self.value = value; self.isPressed = false; self.press = function () { if (!self.isPressed) { self.isPressed = true; tween(buttonGraphics, { scaleX: 0.9, scaleY: 0.9 }, { duration: 100, onFinish: function onFinish() { tween(buttonGraphics, { scaleX: 1, scaleY: 1 }, { duration: 100, onFinish: function onFinish() { self.isPressed = false; } }); } }); } }; self.down = function (x, y, obj) { self.press(); game.handleButtonPress(self.buttonType, self.value); }; return self; }); var Dancer = Container.expand(function () { var self = Container.call(this); var dancerGraphics = self.attachAsset('dancer', { anchorX: 0.5, anchorY: 1 }); self.state = 'neutral'; // neutral, happy, angry self.isAnimating = false; self.setHappy = function () { if (self.state !== 'happy') { self.state = 'happy'; dancerGraphics.tint = 0xffaa00; self.startDanceAnimation(); } }; self.setAngry = function () { if (self.state !== 'angry') { self.state = 'angry'; dancerGraphics.tint = 0x990000; self.stopDanceAnimation(); } }; self.setNeutral = function () { self.state = 'neutral'; dancerGraphics.tint = 0xff6600; self.stopDanceAnimation(); }; self.startDanceAnimation = function () { if (!self.isAnimating) { self.isAnimating = true; self.danceLoop(); } }; self.stopDanceAnimation = function () { self.isAnimating = false; tween.stop(self, { scaleX: true, scaleY: true, rotation: true }); self.scaleX = 1; self.scaleY = 1; self.rotation = 0; }; self.danceLoop = function () { if (!self.isAnimating) return; tween(self, { scaleX: 1.1, scaleY: 0.9, rotation: 0.1 }, { duration: 300, easing: tween.easeInOut, onFinish: function onFinish() { if (!self.isAnimating) return; tween(self, { scaleX: 0.9, scaleY: 1.1, rotation: -0.1 }, { duration: 300, easing: tween.easeInOut, onFinish: function onFinish() { if (!self.isAnimating) return; tween(self, { scaleX: 1, scaleY: 1, rotation: 0 }, { duration: 200, easing: tween.easeInOut, onFinish: function onFinish() { self.danceLoop(); } }); } }); } }); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x220044 }); /**** * Game Code ****/ // Game variables // DJ Console and decorative elements // Buttons // Dancers // Musical note decoration // Sounds var dancers = []; var djButtons = []; var currentPrompt = null; var promptSequence = []; var gameSpeed = 2000; // ms between prompts var consecutiveCorrect = 0; var maxMistakes = 5; var currentMistakes = 0; var isGameActive = true; var lightBeams = []; var confettiParticles = []; // UI elements var scoreText = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); var mistakesText = new Text2('Mistakes: 0/5', { size: 40, fill: 0xFF4444 }); mistakesText.anchor.set(1, 0); mistakesText.x = LK.gui.topRight.x - 20; mistakesText.y = 20; LK.gui.topRight.addChild(mistakesText); // Create DJ table var djTable = game.addChild(LK.getAsset('djTable', { anchorX: 0.5, anchorY: 1, x: 1024, y: 2200 })); // Add white stripes to DJ table for (var i = 0; i < 4; i++) { var stripe = djTable.addChild(LK.getAsset('whiteStripe', { anchorX: 0.5, anchorY: 0.5, x: 0, y: -400 + i * 120 })); } // Create green screen var greenScreen = djTable.addChild(LK.getAsset('greenScreen', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 200 })); greenScreen.tint = 0xffffff; // White color var promptText = new Text2('', { size: 80, fill: 0x000000 }); promptText.anchor.set(0.5, 0.5); promptText.alpha = 0; // Start hidden greenScreen.addChild(promptText); // Add decorative knobs for (var i = 0; i < 6; i++) { var knob = djTable.addChild(LK.getAsset('knob', { anchorX: 0.5, anchorY: 0.5, x: -600 + i * 120, y: -450 })); } // Add piano keys for (var i = 0; i < 12; i++) { var key = djTable.addChild(LK.getAsset('key', { anchorX: 0.5, anchorY: 0.5, x: -300 + i * 35, y: -150 })); } // Add headphones var headphones = djTable.addChild(LK.getAsset('headphones', { anchorX: 0.5, anchorY: 0.5, x: -750, y: -350 })); // Add musical notes decoration for (var i = 0; i < 8; i++) { var note = djTable.addChild(LK.getAsset('musicalNote', { anchorX: 0.5, anchorY: 0.5, x: -800 + i * 80, y: -100 })); } // Create numbered buttons (1-5) in two rows: 1,2,3 on top, 4,5 on bottom for (var i = 1; i <= 5; i++) { var numberButton = new DJButton('number', i); if (i <= 3) { // Top row: buttons 1, 2, 3 numberButton.x = djTable.x + 300 + (i - 1) * 120; numberButton.y = djTable.y - 320; } else { // Bottom row: buttons 4, 5 numberButton.x = djTable.x + 360 + (i - 4) * 120; numberButton.y = djTable.y - 200; } game.addChild(numberButton); djButtons.push(numberButton); } // Create colored buttons var colorButtons = [{ type: 'blue', color: 'B' }, { type: 'red', color: 'R' }, { type: 'green', color: 'G' }]; for (var i = 0; i < colorButtons.length; i++) { var colorButton = new DJButton(colorButtons[i].type, colorButtons[i].color); colorButton.x = djTable.x - 450 + i * 180; colorButton.y = djTable.y - 220; game.addChild(colorButton); djButtons.push(colorButton); } // Create light beams in background for (var i = 0; i < 8; i++) { var lightBeam = game.addChild(LK.getAsset('lightBeam', { anchorX: 0.5, anchorY: 0.5, x: 200 + i * 250, y: 1000 })); var lightColors = [0xffff00, 0xff00ff, 0x00ffff, 0xff6600, 0x6600ff, 0x00ff66]; lightBeam.tint = lightColors[i % lightColors.length]; lightBeam.alpha = 0.3; lightBeam.rotation = Math.PI / 4; lightBeams.push(lightBeam); } // Create confetti particles for (var i = 0; i < 25; i++) { var confetti = game.addChild(LK.getAsset('confetti', { anchorX: 0.5, anchorY: 0.5, x: Math.random() * 2048, y: Math.random() * 2732 })); var confettiColors = [0xff0066, 0x00ff66, 0x6600ff, 0xffff00, 0xff6600, 0x00ffff]; confetti.tint = confettiColors[i % confettiColors.length]; confetti.alpha = 0.7; confetti.scaleX = Math.random() * 0.5 + 0.5; confetti.scaleY = Math.random() * 0.5 + 0.5; confetti.rotation = Math.random() * Math.PI * 2; confettiParticles.push(confetti); } // Create dancers for (var i = 0; i < 15; i++) { var dancer = new Dancer(); // Position upper dancers in two rows with more spacing if (i < 8) { // First row (top) - 8 dancers dancer.x = 50 + i * 250; dancer.y = 600; } else { // Second row (below first row) - 7 dancers dancer.x = 175 + (i - 8) * 250; dancer.y = 800; } game.addChild(dancer); dancers.push(dancer); } // Generate prompt from predefined sequence var level1Sequence = ['B', 'R', 'G', '1', '2', '3', '4', '5']; var sequenceIndex = 0; function generatePrompt() { // Shuffle and pick random element from sequence var shuffledSequence = level1Sequence.slice(); for (var i = shuffledSequence.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = shuffledSequence[i]; shuffledSequence[i] = shuffledSequence[j]; shuffledSequence[j] = temp; } return shuffledSequence[0]; } // Show new prompt function showPrompt() { if (!isGameActive) return; currentPrompt = generatePrompt(); promptText.setText(currentPrompt); // Make prompt text visible and animate it sliding through the screen promptText.alpha = 1; promptText.x = -greenScreen.width / 2 - 100; // Start from left side outside screen promptText.y = 0; // Center vertically // Animate text sliding from left to right through the green screen tween(promptText, { x: greenScreen.width / 2 + 100 // End at right side outside screen }, { duration: 1000, easing: tween.linear, onFinish: function onFinish() { // After animation, reset position and hide text promptText.x = 0; promptText.alpha = 0; } }); // Flash screen effect tween(greenScreen, { tint: 0xffffff }, { duration: 100, onFinish: function onFinish() { tween(greenScreen, { tint: 0xffffff }, { duration: 100, onFinish: function onFinish() { greenScreen.tint = 0xffffff; } }); } }); } // Handle button press game.handleButtonPress = function (buttonType, value) { if (!isGameActive || !currentPrompt) return; var isCorrect = false; if (buttonType === 'number' && currentPrompt === value.toString()) { isCorrect = true; } else if (buttonType === 'blue' && currentPrompt === 'B') { isCorrect = true; } else if (buttonType === 'red' && currentPrompt === 'R') { isCorrect = true; } else if (buttonType === 'green' && currentPrompt === 'G') { isCorrect = true; } if (isCorrect) { LK.getSound('correctSound').play(); LK.setScore(LK.getScore() + 10); consecutiveCorrect++; // Make dancers happy for (var i = 0; i < dancers.length; i++) { dancers[i].setHappy(); } // Increase speed every 5 correct answers if (consecutiveCorrect % 5 === 0) { gameSpeed = Math.max(800, gameSpeed - 200); } } else { LK.getSound('wrongSound').play(); currentMistakes++; consecutiveCorrect = 0; // Make dancers angry for (var i = 0; i < dancers.length; i++) { dancers[i].setAngry(); } // Check game over if (currentMistakes >= maxMistakes) { isGameActive = false; LK.showGameOver(); return; } } // Update UI scoreText.setText('Score: ' + LK.getScore()); mistakesText.setText('Mistakes: ' + currentMistakes + '/' + maxMistakes); // Clear current prompt currentPrompt = null; promptText.setText(''); // Reset dancers to neutral after a delay LK.setTimeout(function () { if (isGameActive) { for (var i = 0; i < dancers.length; i++) { dancers[i].setNeutral(); } } }, 1000); }; // Game timer for prompts var promptTimer = LK.setInterval(function () { showPrompt(); }, 2000); // Start the game LK.playMusic('gameMusic'); LK.setTimeout(function () { showPrompt(); }, 2000); game.update = function () { // Animate light beams for (var i = 0; i < lightBeams.length; i++) { var beam = lightBeams[i]; beam.alpha = 0.2 + Math.sin(LK.ticks * 0.05 + i) * 0.3; beam.scaleX = 0.8 + Math.sin(LK.ticks * 0.03 + i) * 0.4; } // Animate confetti particles for (var i = 0; i < confettiParticles.length; i++) { var particle = confettiParticles[i]; particle.y += Math.sin(LK.ticks * 0.02 + i) * 2; particle.x += Math.cos(LK.ticks * 0.015 + i) * 1; particle.rotation += 0.02; // Reset position if particle goes off screen if (particle.y > 2800) { particle.y = -50; particle.x = Math.random() * 2048; } if (particle.x > 2100) { particle.x = -50; } if (particle.x < -50) { particle.x = 2100; } } };
===================================================================
--- original.js
+++ change.js
@@ -320,18 +320,18 @@
confetti.rotation = Math.random() * Math.PI * 2;
confettiParticles.push(confetti);
}
// Create dancers
-for (var i = 0; i < 7; i++) {
+for (var i = 0; i < 15; i++) {
var dancer = new Dancer();
- // Position upper dancers in two rows
- if (i < 4) {
- // First row (top)
- dancer.x = 100 + i * 200;
+ // Position upper dancers in two rows with more spacing
+ if (i < 8) {
+ // First row (top) - 8 dancers
+ dancer.x = 50 + i * 250;
dancer.y = 600;
} else {
- // Second row (below first row)
- dancer.x = 100 + (i - 4) * 200;
+ // Second row (below first row) - 7 dancers
+ dancer.x = 175 + (i - 8) * 250;
dancer.y = 800;
}
game.addChild(dancer);
dancers.push(dancer);
gri mor bir masa üzerinde tuşlar var dj stilinde. In-Game asset. 2d. High contrast. No shadows
etrafı sarı işleme çerçeveli beyaz. In-Game asset. 2d. High contrast. No shadows
dansöz kıyafetli ayakta duran elleri havada dans eden bir kedi. In-Game asset. 2d. High contrast. No shadows
bomb. In-Game asset. 2d. High contrast. No shadows