User prompt
golden freddy 0.8 saniye beklesin
User prompt
golden freddy spring trap ile aynı kapakta olamaz ve %80 oranla çıksın
User prompt
ekstra kapaklardan golden fredy çıksın eğer ona basarsak jumpscare yiyelim
User prompt
springtrap 0.9 saniye beklesin
User prompt
ilk 10 skorda bir sürü kalp çıksın
User prompt
buton üstteki sayı 20 olunca gelsin
User prompt
butona basmak için sadece 0.5 saniye olsun
User prompt
eğer butona basmazsak jumpscare çıksın
User prompt
eğerki ölürsek jumpscare çıksın
User prompt
ekranın her hangi bir yerinde buton çıksın eğer tıklamazsak ölelim
User prompt
sağ üstte ne kadar kalbimiz varsa gösteren bir sayaç olsun
User prompt
kalpleri asset haline dönüştür
User prompt
kalpler daha büyük olsun
User prompt
%30 şansla ekranda her hangi bir yerde ekstra bir kalp çıksın ve 1 tane daha hakkımız olsun
User prompt
başlat meüsünde oyunun ismi yazsın
User prompt
ve başlat menüsünde en yüksek skoru göster ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
jumpscare gelince jumpscare_sfx sesini çal
User prompt
oyun açıldığı zaman backraund adlı müzik çalsın ve jumpscare gelince dursun
User prompt
başlat menüsü mavi olsun
User prompt
tıklamak için sadece 0.9 saniyemiz olsun
User prompt
kapakları büyüt ve aralıklarıda büyüt
User prompt
bu kapaklar ekranın ortasında yan yana 3er 3er sıralansın ve springtrap bu kapakların olduğu yerden çıksın
User prompt
bu kapakların rengi farklı olsun
User prompt
ekrana 6 tane kapak ekle springtrap bu kapakların içinden çıksın
User prompt
bir başlat menüsü ekle ve springtrap gelince üzerine tıkla yaz
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Jumpscare efekti (ekranı kırmızıya boyar ve titretir) var Jumpscare = Container.expand(function () { var self = Container.call(this); var js = self.attachAsset('jumpscare', { anchorX: 0, anchorY: 0, x: 0, y: 0 }); self.alpha = 0; self.visible = false; // Jumpscare başlat self.start = function () { self.visible = true; self.alpha = 0.8; // Titreme efekti var shakeCount = 0; var shakeMax = 10; var shakeTimer = LK.setInterval(function () { self.x = (Math.random() - 0.5) * 40; self.y = (Math.random() - 0.5) * 40; shakeCount++; if (shakeCount > shakeMax) { LK.clearInterval(shakeTimer); self.x = 0; self.y = 0; // Yavaşça kaybol tween(self, { alpha: 0 }, { duration: 400, onFinish: function onFinish() { self.visible = false; } }); } }, 30); }; return self; }); // Springtrap karakteri var Springtrap = Container.expand(function () { var self = Container.call(this); // Karakteri ortalamak için anchor noktası ortada var st = self.attachAsset('springtrap', { anchorX: 0.5, anchorY: 0.5 }); // Springtrap'in aktif olup olmadığını tut self.active = false; // Springtrap'i ekranda rastgele bir yere yerleştir self.appear = function () { // Ekranın kenarlarından 100px içeride rastgele bir pozisyon var marginX = 200; var marginY = 300; self.x = marginX + Math.floor(Math.random() * (2048 - 2 * marginX)); self.y = marginY + Math.floor(Math.random() * (2732 - 2 * marginY)); self.visible = true; self.active = true; // Hafifçe büyüyerek ortaya çıkma animasyonu self.scale.x = 0.7; self.scale.y = 0.7; tween(self.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeOut }); }; // Springtrap'i uzaklaştır self.scareAway = function (_onFinish) { self.active = false; // 'Üzerine tıkla' yazısını gizle if (typeof tapHint !== "undefined") tapHint.visible = false; // Küçülerek kaybolma animasyonu tween(self.scale, { x: 0.2, y: 0.2 }, { duration: 180, easing: tween.easeIn, onFinish: function onFinish() { self.visible = false; if (_onFinish) _onFinish(); } }); }; // Springtrap'e dokunulduğunda self.down = function (x, y, obj) { if (!self.active) return; // Skoru artır, Springtrap'i uzaklaştır LK.setScore(LK.getScore() + 1); scoreTxt.setText(LK.getScore()); LK.getSound('scare_away').play(); self.scareAway(function () { // Sonraki Springtrap için zamanlayıcı başlat scheduleNextSpringtrap(); }); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x111111 }); /**** * Game Code ****/ // Jumpscare için bir ses efekti // Springtrap uzaklaştırma efekti için kısa bir ses // Jumpscare efekti için kırmızı bir kutu // Springtrap karakteri için bir kutu şekli (daha sonra görsel ile değiştirilebilir) // Skor metni var scoreTxt = new Text2('0', { size: 120, fill: 0xFFF700 }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // --- BAŞLAT MENÜSÜ EKLE --- var startMenuBg = LK.getAsset('jumpscare', { anchorX: 0, anchorY: 0, x: 0, y: 0 }); startMenuBg.alpha = 0.85; var startMenuText = new Text2('Başlamak için dokun', { size: 140, fill: 0xFFFFFF }); startMenuText.anchor.set(0.5, 0.5); startMenuText.x = 2048 / 2; startMenuText.y = 2732 / 2 - 100; var startMenuTitle = new Text2('Springtrap Jumpscare', { size: 180, fill: 0xFFF700 }); startMenuTitle.anchor.set(0.5, 0.5); startMenuTitle.x = 2048 / 2; startMenuTitle.y = 2732 / 2 - 350; var startMenu = new Container(); startMenu.addChild(startMenuBg); startMenu.addChild(startMenuTitle); startMenu.addChild(startMenuText); game.addChild(startMenu); var gameStarted = false; // Springtrap nesnesi var springtrap = new Springtrap(); game.addChild(springtrap); // Jumpscare efekti var jumpscare = new Jumpscare(); game.addChild(jumpscare); // Springtrap'in ekranda kalma süresi (ms) var springtrapTime = 1200; // Springtrap'in tekrar çıkma aralığı (ms) var springtrapDelayMin = 700; var springtrapDelayMax = 1600; // Springtrap zamanlayıcıları var springtrapTimeout = null; var springtrapAppearTimeout = null; // Skoru sıfırla LK.setScore(0); scoreTxt.setText(0); // --- Springtrap gelince 'üzerine tıkla' yazısı --- var tapHint = new Text2('Üzerine tıkla!', { size: 120, fill: 0xFFFFFF }); tapHint.anchor.set(0.5, 0.5); tapHint.x = 2048 / 2; tapHint.y = 2732 / 2 + 400; tapHint.visible = false; game.addChild(tapHint); // Springtrap'i ekranda göster function showSpringtrap() { springtrap.appear(); // 'Üzerine tıkla' yazısını göster tapHint.visible = true; // Eğer oyuncu zamanında dokunmazsa jumpscare başlat springtrapTimeout = LK.setTimeout(function () { if (springtrap.active) { triggerJumpscare(); } }, springtrapTime); } // Sonraki Springtrap için zamanlayıcı kur function scheduleNextSpringtrap() { if (springtrapAppearTimeout) LK.clearTimeout(springtrapAppearTimeout); springtrapAppearTimeout = LK.setTimeout(function () { showSpringtrap(); }, springtrapDelayMin + Math.floor(Math.random() * (springtrapDelayMax - springtrapDelayMin))); } // Jumpscare başlat function triggerJumpscare() { springtrap.active = false; springtrap.visible = false; jumpscare.start(); LK.getSound('jumpscare_sfx').play(); // Kısa gecikmeden sonra oyun biter LK.setTimeout(function () { LK.showGameOver(); }, 900); } // Oyun başladığında ilk Springtrap'i göster // scheduleNextSpringtrap(); // Oyuncu başlat menüsünde dokunana kadar oyun başlamasın // Oyun bittiğinde zamanlayıcıları temizle game.onDestroy = function () { if (springtrapTimeout) LK.clearTimeout(springtrapTimeout); if (springtrapAppearTimeout) LK.clearTimeout(springtrapAppearTimeout); // Oyun bittiğinde başlat menüsünü tekrar göster if (startMenu) startMenu.visible = true; gameStarted = false; if (tapHint) tapHint.visible = false; }; // Oyun güncellemesi (gerekirse ek efektler için) game.update = function () { // Oyun akışı burada yönetiliyor }; // Ekrana dokunma olaylarını Springtrap'e yönlendir game.down = function (x, y, obj) { // Eğer oyun başlamadıysa ve başlat menüsü açıksa, başlat if (!gameStarted && startMenu && startMenu.visible !== false) { gameStarted = true; startMenu.visible = false; LK.setScore(0); scoreTxt.setText(0); scheduleNextSpringtrap(); return; } // Ekrana dokunulduğunda Springtrap'e tıklanıp tıklanmadığını kontrol et if (springtrap.active && springtrap.visible) { // Koordinatları Springtrap'in lokaline çevir var local = springtrap.toLocal(game.toGlobal({ x: x, y: y })); // Springtrap kutusunun içinde mi? var stAsset = springtrap.children[0]; if (local.x >= -stAsset.width / 2 && local.x <= stAsset.width / 2 && local.y >= -stAsset.height / 2 && local.y <= stAsset.height / 2) { springtrap.down(x, y, obj); if (springtrapTimeout) LK.clearTimeout(springtrapTimeout); } } }; // Oyun başladığında skor sıfırlansın LK.setScore(0); scoreTxt.setText(0);
===================================================================
--- original.js
+++ change.js