User prompt
Şimdi oyunda pişirme gibi mantıklar olsun hatta bizden bazen bu eşyaları kullanarak içecek vb. Yapmamızı istesin
User prompt
Neredeyse dogru ama herşey arkasında kalacak
User prompt
Hayır şöyle olsun bir buton olsun o butona basınca bize ekranı kaplayan ve tamamen arkasını göstermeyen bir yer açsın orada twrifler yazsın çıkmak için bi buton daha olsun ve oraya tıklayınca geri dönelim
User prompt
Er buton yok
User prompt
Bence şöyle yap tarif kitabını bir tuş olarak yap oraya tıkladığında bütün ekranı kaplayan ve arkasını göstermeyen bir yer olacak oraya tarifleri ekle
User prompt
Biraz daha ekranın içine sığdır malzemeleri
User prompt
Biraz daha yuvarlağı büyüt ve içine daha iyi sığdır
User prompt
Daha fazla malzeme ve daha fazla yemek
User prompt
Ama tarifler yuvarlağını büyüt ve daha iyi içine sok
User prompt
Biraz daha yemek ekleyelim
User prompt
Yani salata , burger gibi tarifler orda açık şekilde yazacak
User prompt
Ama açılmıyor
User prompt
Biraz daha üste koy
User prompt
Hayır tarif kitabı tamda malzemelerin üst kısmında olsun
User prompt
Ve bir tane tarif kitabı gibi bişey koy ayrıca süre 30 saniye olsun
User prompt
Hayır sipariş söyleme yerini costumer in altında olan teslim et butonunun altına koy
User prompt
Teslim et butonu aynı yerinde olsun siparişi bize söyleme yeri costumer in altında olsun
User prompt
Ve ayrıca sipariş butonunu costumer in altına koy
User prompt
Burger murger diyo ama yapmak için bize malzeme verilmemiş
User prompt
Ve bide zamanlayıcı ile başka bi yazı üst üste geliyor
User prompt
Eşyaların adı yazmıyor
User prompt
Bana bu oyunu mobile de oynanabilir yap
User prompt
Kodu yeniden yazar mısın çıktım da kodu yeniden gaz
User prompt
Order Up! Chef Rush
Initial prompt
Yemek yapma oyunu sipariş veren insanların siparişlerini yapacağız vb.
/**** * Classes ****/ // --- Müşteri sınıfı --- var Customer = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('customer', { anchorX: 0.5, anchorY: 0.5, width: 300, height: 300, color: 0xcccccc }); return self; }); // --- Sipariş oluşturma ve gösterme --- // --- Malzeme butonu sınıfı --- var IngredientButton = Container.expand(function () { var self = Container.call(this); self.ingredientId = null; self.selected = false; self.setIngredient = function (ingredient) { self.ingredientId = ingredient.id; var asset = self.attachAsset('ingredient_' + ingredient.id, { anchorX: 0.5, anchorY: 0.5, width: 140, height: 70, color: ingredient.color }); // Malzeme adı etiketi ekle if (self.ingredientLabel) self.ingredientLabel.destroy(); self.ingredientLabel = new Text2(ingredient.name, { size: 38, fill: "#fff" }); self.ingredientLabel.anchor.set(0.5, 0); // Butonun altına yerleştir self.ingredientLabel.x = 0; self.ingredientLabel.y = asset.height / 2 + 10; self.addChild(self.ingredientLabel); }; self.down = function (x, y, obj) { if (!self.selected) { self.selected = true; selectedIngredients.push(self.ingredientId); self.alpha = 0.5; } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // --- Oyun için temel değişkenler ve sınıflar --- // Malzeme ve siparişler için örnek veri var INGREDIENTS = [{ id: 'lettuce', name: 'Marul', color: 0x7ed957 }, { id: 'tomato', name: 'Domates', color: 0xff4b4b }, { id: 'cheese', name: 'Peynir', color: 0xffe066 }, { id: 'meat', name: 'Et', color: 0x8b5c2a }, { id: 'onion', name: 'Soğan', color: 0xe0c97f }, { id: 'cucumber', name: 'Salatalık', color: 0x6ecb63 }, { id: 'egg', name: 'Yumurta', color: 0xf7e7b0 }, { id: 'chicken', name: 'Tavuk', color: 0xf5c16c }, { id: 'bread', name: 'Ekmek', color: 0xf5e6b2 }]; var RECIPES = [{ name: 'Burger', ingredients: ['lettuce', 'tomato', 'cheese', 'meat'] }, { name: 'Salata', ingredients: ['lettuce', 'tomato', 'cheese'] }, { name: 'Peynirli Sandviç', ingredients: ['cheese', 'lettuce', 'tomato', 'bread'] }, { name: 'Etli Sandviç', ingredients: ['meat', 'cheese', 'lettuce', 'bread'] }, { name: 'Domatesli Salata', ingredients: ['lettuce', 'tomato'] }, { name: 'Tavuklu Salata', ingredients: ['lettuce', 'tomato', 'chicken', 'cucumber'] }, { name: 'Yumurtalı Salata', ingredients: ['lettuce', 'egg', 'tomato', 'onion'] }, { name: 'Tavuklu Sandviç', ingredients: ['chicken', 'cheese', 'lettuce', 'bread'] }, { name: 'Sebzeli Sandviç', ingredients: ['lettuce', 'tomato', 'cucumber', 'bread'] }, { name: 'Soğanlı Burger', ingredients: ['meat', 'cheese', 'onion', 'bread'] }]; var currentOrder = null; var selectedIngredients = []; var customer = null; var ingredientButtons = []; var score = 0; var orderTimer = null; var orderTimeLimit = 30000; // ms, 30 saniye var orderTimeLeft = orderTimeLimit; var orderText = null; var scoreText = null; var timerText = null; // --- Sipariş oluşturma ve gösterme --- function newOrder() { // Sipariş ve seçili malzemeleri sıfırla selectedIngredients = []; for (var i = 0; i < ingredientButtons.length; i++) { ingredientButtons[i].selected = false; ingredientButtons[i].alpha = 1; } // Rastgele sipariş seç currentOrder = RECIPES[Math.floor(Math.random() * RECIPES.length)]; if (orderText) orderText.destroy(); orderText = new Text2("Sipariş: " + currentOrder.name, { size: 90, fill: "#fff" }); orderText.anchor.set(0.5, 0); // orderText'i deliverBtn'in hemen altına yerleştir orderText.x = 2048 / 2; orderText.y = deliverBtn.y + deliverBtn.height / 2 + 30; game.addChild(orderText); // Zamanı başlat orderTimeLeft = orderTimeLimit; if (timerText) timerText.destroy(); timerText = new Text2("Süre: " + Math.floor(orderTimeLeft / 1000), { size: 80, fill: "#fff" }); timerText.anchor.set(0.5, 0); // timerText'i orderText'in hemen altına yerleştir timerText.x = 2048 / 2; timerText.y = orderText.y + orderText.height + 10; game.addChild(timerText); // Müşteri oluştur if (customer) customer.destroy(); customer = new Customer(); customer.x = 2048 / 2; customer.y = 600; game.addChild(customer); // Zamanlayıcı başlat if (orderTimer) LK.clearInterval(orderTimer); orderTimer = LK.setInterval(function () { orderTimeLeft -= 100; if (timerText) timerText.setText("Süre: " + Math.ceil(orderTimeLeft / 1000)); if (orderTimeLeft <= 0) { LK.clearInterval(orderTimer); failOrder(); } }, 100); } // --- Siparişi kontrol et --- function checkOrder() { if (!currentOrder) return; var correct = true; if (selectedIngredients.length !== currentOrder.ingredients.length) correct = false;else { for (var i = 0; i < currentOrder.ingredients.length; i++) { if (selectedIngredients[i] !== currentOrder.ingredients[i]) { correct = false; break; } } } if (correct) { score += 10; if (scoreText) scoreText.setText("Puan: " + score); LK.effects.flashScreen(0x00ff00, 400); LK.clearInterval(orderTimer); LK.setTimeout(newOrder, 800); } else { failOrder(); } } // --- Sipariş başarısız --- function failOrder() { LK.effects.flashScreen(0xff0000, 400); LK.clearInterval(orderTimer); score -= 5; if (score < 0) score = 0; if (scoreText) scoreText.setText("Puan: " + score); LK.setTimeout(newOrder, 800); } // --- Oyun başlat --- function startGame() { // Skor gösterimi if (scoreText) scoreText.destroy(); scoreText = new Text2("Puan: 0", { size: 90, fill: "#fff" }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); // Malzeme butonlarını oluştur for (var i = 0; i < ingredientButtons.length; i++) { ingredientButtons[i].destroy(); } ingredientButtons = []; // Mobilde ekranın altına ve ortalanmış şekilde butonları yerleştir var buttonAreaY = 2732 - 270; // Alt kısımda, deliverBtn'in üstünde, biraz daha yukarı var buttonSize = 170; // Daha küçük butonlar var spacing = 38; // Daha az boşluk var totalWidth = INGREDIENTS.length * buttonSize + (INGREDIENTS.length - 1) * spacing; var startX = 2048 / 2 - totalWidth / 2 + buttonSize / 2; for (var i = 0; i < INGREDIENTS.length; i++) { var btn = new IngredientButton(); btn.setIngredient(INGREDIENTS[i]); btn.x = startX + i * (buttonSize + spacing); btn.y = buttonAreaY; btn.scaleX = btn.scaleY = buttonSize / 200; // IngredientButton asset boyutu 200, orantılı küçült ingredientButtons.push(btn); game.addChild(btn); } // Sipariş başlat newOrder(); } // --- Teslim et butonu --- var deliverBtn = new Container(); var deliverAsset = deliverBtn.attachAsset('deliver', { anchorX: 0.5, anchorY: 0.5, width: 300, height: 120, color: 0x4b8cff }); var deliverText = new Text2("Teslim Et", { size: 70, fill: "#fff" }); deliverText.anchor.set(0.5, 0.5); deliverBtn.addChild(deliverText); deliverBtn.x = 2048 / 2; // Müşterinin hemen altına yerleştir (müşteri 600'de, yüksekliği 300, biraz boşluk ekle) deliverBtn.y = 600 + 150 + 60; // customer.y + customer.height/2 + margin deliverBtn.down = function (x, y, obj) { checkOrder(); }; game.addChild(deliverBtn); // --- Tarif Kitabı (Recipe Book) --- // Tarif kitabı artık bir buton ile açılan tam ekran bir panel olacak // Tarif kitabı butonu (küçük, ekranın sağ üstüne yakın) var recipeBookBtn = new Container(); var recipeBookBtnAsset = recipeBookBtn.attachAsset('ingredient_lettuce', { anchorX: 0.5, anchorY: 0.5, width: 140, height: 140, color: 0x7ed957 }); var recipeBookBtnText = new Text2("Tarifler", { size: 38, fill: "#222" }); recipeBookBtnText.anchor.set(0.5, 0.5); recipeBookBtn.addChild(recipeBookBtnText); // Sağ üstte, platform menüsüne çarpmayacak şekilde recipeBookBtn.x = 2048 - 100 - 80; // sağdan 100px boşluk, buton yarıçapı 70 recipeBookBtn.y = 100 + 80; // üstten 100px boşluk, buton yarıçapı 70 LK.gui.top.addChild(recipeBookBtn); // Tarif kitabı paneli (tam ekran, başta gizli) var recipeBookPanel = new Container(); var recipeBookBg = recipeBookPanel.attachAsset('ingredient_lettuce', { anchorX: 0.5, anchorY: 0.5, width: 2048, height: 2732, color: 0xfafafa }); recipeBookPanel.x = 2048 / 2; recipeBookPanel.y = 2732 / 2; recipeBookPanel.visible = false; // Panel başlığı var recipeTitle = new Text2("Tarifler", { size: 110, fill: "#222" }); recipeTitle.anchor.set(0.5, 0); recipeTitle.y = -1100; recipeBookPanel.addChild(recipeTitle); // Tarifleri listele var yStart = recipeTitle.y + 180; var recipeLineSpacing = 100; for (var i = 0; i < RECIPES.length; i++) { var recipe = RECIPES[i]; var recipeStr = recipe.name + ": "; for (var j = 0; j < recipe.ingredients.length; j++) { var ing = INGREDIENTS.find(function (x) { return x.id === recipe.ingredients[j]; }); recipeStr += ing ? ing.name : recipe.ingredients[j]; if (j < recipe.ingredients.length - 1) recipeStr += ", "; } var recipeLine = new Text2(recipeStr, { size: 80, fill: "#333" }); recipeLine.anchor.set(0.5, 0); recipeLine.y = yStart + i * recipeLineSpacing; recipeBookPanel.addChild(recipeLine); } // Kapatma butonu (büyük, üstte) var closeBtn = new Container(); var closeBtnAsset = closeBtn.attachAsset('ingredient_tomato', { anchorX: 0.5, anchorY: 0.5, width: 160, height: 160, color: 0xff4b4b }); var closeBtnText = new Text2("Kapat", { size: 48, fill: "#fff" }); closeBtnText.anchor.set(0.5, 0.5); closeBtn.addChild(closeBtnText); closeBtn.x = 0; closeBtn.y = -1200; closeBtn.down = function (x, y, obj) { recipeBookPanel.visible = false; }; recipeBookPanel.addChild(closeBtn); // Paneli oyuna ekle (en üstte olacak şekilde) game.addChild(recipeBookPanel); // Butona tıklayınca paneli aç recipeBookBtn.down = function (x, y, obj) { recipeBookPanel.visible = true; }; // --- Oyunu başlat --- startGame(); ;
===================================================================
--- original.js
+++ change.js
@@ -276,33 +276,51 @@
checkOrder();
};
game.addChild(deliverBtn);
// --- Tarif Kitabı (Recipe Book) ---
-// Tarif kitabı popup'u, her zaman açık ve malzeme butonlarının üstünde gösterilecek
+// Tarif kitabı artık bir buton ile açılan tam ekran bir panel olacak
+// Tarif kitabı butonu (küçük, ekranın sağ üstüne yakın)
+var recipeBookBtn = new Container();
+var recipeBookBtnAsset = recipeBookBtn.attachAsset('ingredient_lettuce', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ width: 140,
+ height: 140,
+ color: 0x7ed957
+});
+var recipeBookBtnText = new Text2("Tarifler", {
+ size: 38,
+ fill: "#222"
+});
+recipeBookBtnText.anchor.set(0.5, 0.5);
+recipeBookBtn.addChild(recipeBookBtnText);
+// Sağ üstte, platform menüsüne çarpmayacak şekilde
+recipeBookBtn.x = 2048 - 100 - 80; // sağdan 100px boşluk, buton yarıçapı 70
+recipeBookBtn.y = 100 + 80; // üstten 100px boşluk, buton yarıçapı 70
+LK.gui.top.addChild(recipeBookBtn);
+// Tarif kitabı paneli (tam ekran, başta gizli)
var recipeBookPanel = new Container();
-// Arka planı daha büyük yap ve içerikleri daha iyi sığdır
-var recipeBg = recipeBookPanel.attachAsset('ingredient_lettuce', {
+var recipeBookBg = recipeBookPanel.attachAsset('ingredient_lettuce', {
anchorX: 0.5,
anchorY: 0.5,
- width: 1600,
- height: 900,
+ width: 2048,
+ height: 2732,
color: 0xfafafa
});
recipeBookPanel.x = 2048 / 2;
-// Paneli daha yukarı taşı
-var recipeBookPanelY = 2732 - 350 - 120 - 120 - 320; // ingredientButtons'ın üstünde, daha yukarıda
-recipeBookPanel.y = recipeBookPanelY;
-// Başlık
+recipeBookPanel.y = 2732 / 2;
+recipeBookPanel.visible = false;
+// Panel başlığı
var recipeTitle = new Text2("Tarifler", {
- size: 80,
+ size: 110,
fill: "#222"
});
recipeTitle.anchor.set(0.5, 0);
-recipeTitle.y = -recipeBg.height / 2 + 50;
+recipeTitle.y = -1100;
recipeBookPanel.addChild(recipeTitle);
// Tarifleri listele
-var yStart = recipeTitle.y + 110;
-var recipeLineSpacing = 72;
+var yStart = recipeTitle.y + 180;
+var recipeLineSpacing = 100;
for (var i = 0; i < RECIPES.length; i++) {
var recipe = RECIPES[i];
var recipeStr = recipe.name + ": ";
for (var j = 0; j < recipe.ingredients.length; j++) {
@@ -312,15 +330,41 @@
recipeStr += ing ? ing.name : recipe.ingredients[j];
if (j < recipe.ingredients.length - 1) recipeStr += ", ";
}
var recipeLine = new Text2(recipeStr, {
- size: 62,
+ size: 80,
fill: "#333"
});
recipeLine.anchor.set(0.5, 0);
recipeLine.y = yStart + i * recipeLineSpacing;
recipeBookPanel.addChild(recipeLine);
}
+// Kapatma butonu (büyük, üstte)
+var closeBtn = new Container();
+var closeBtnAsset = closeBtn.attachAsset('ingredient_tomato', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ width: 160,
+ height: 160,
+ color: 0xff4b4b
+});
+var closeBtnText = new Text2("Kapat", {
+ size: 48,
+ fill: "#fff"
+});
+closeBtnText.anchor.set(0.5, 0.5);
+closeBtn.addChild(closeBtnText);
+closeBtn.x = 0;
+closeBtn.y = -1200;
+closeBtn.down = function (x, y, obj) {
+ recipeBookPanel.visible = false;
+};
+recipeBookPanel.addChild(closeBtn);
+// Paneli oyuna ekle (en üstte olacak şekilde)
game.addChild(recipeBookPanel);
+// Butona tıklayınca paneli aç
+recipeBookBtn.down = function (x, y, obj) {
+ recipeBookPanel.visible = true;
+};
// --- Oyunu başlat ---
startGame();
;
\ No newline at end of file