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: 200, height: 200, color: ingredient.color }); // Malzeme adı etiketi ekle if (self.ingredientLabel) self.ingredientLabel.destroy(); self.ingredientLabel = new Text2(ingredient.name, { size: 60, fill: "#fff" }); self.ingredientLabel.anchor.set(0.5, 0); // Butonun altına yerleştir self.ingredientLabel.x = 0; self.ingredientLabel.y = asset.height / 2 + 20; 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 }]; var RECIPES = [{ name: 'Burger', ingredients: ['lettuce', 'tomato', 'cheese', 'meat'] }, { name: 'Salata', ingredients: ['lettuce', 'tomato', 'cheese'] }, { name: 'Peynirli Sandviç', ingredients: ['cheese', 'lettuce', 'tomato'] }, { name: 'Etli Sandviç', ingredients: ['meat', 'cheese', 'lettuce'] }, { name: 'Domatesli Salata', ingredients: ['lettuce', 'tomato'] }]; 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 - 350; // Alt kısımda, deliverBtn'in üstünde var buttonSize = 240; var spacing = 80; 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 = 1.0; 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ı popup'u, her zaman açık ve malzeme butonlarının üstünde gösterilecek var recipeBookPanel = new Container(); // Arka plan var recipeBg = recipeBookPanel.attachAsset('ingredient_lettuce', { anchorX: 0.5, anchorY: 0.5, width: 900, height: 420, color: 0xfafafa }); recipeBookPanel.x = 2048 / 2; // Malzeme butonlarının üst kısmına, biraz yukarıda var recipeBookPanelY = 2732 - 350 - 120 - 120; // ingredientButtons'ın üstünde, biraz daha yukarıda recipeBookPanel.y = recipeBookPanelY; // Başlık var recipeTitle = new Text2("Tarifler", { size: 70, fill: "#222" }); recipeTitle.anchor.set(0.5, 0); recipeTitle.y = -recipeBg.height / 2 + 30; recipeBookPanel.addChild(recipeTitle); // Tarifleri listele var yStart = recipeTitle.y + 90; 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: 54, fill: "#333" }); recipeLine.anchor.set(0.5, 0); recipeLine.y = yStart + i * 70; recipeBookPanel.addChild(recipeLine); } game.addChild(recipeBookPanel); // --- Oyunu başlat --- startGame(); ;
===================================================================
--- original.js
+++ change.js
@@ -84,8 +84,17 @@
ingredients: ['lettuce', 'tomato', 'cheese', 'meat']
}, {
name: 'Salata',
ingredients: ['lettuce', 'tomato', 'cheese']
+}, {
+ name: 'Peynirli Sandviç',
+ ingredients: ['cheese', 'lettuce', 'tomato']
+}, {
+ name: 'Etli Sandviç',
+ ingredients: ['meat', 'cheese', 'lettuce']
+}, {
+ name: 'Domatesli Salata',
+ ingredients: ['lettuce', 'tomato']
}];
var currentOrder = null;
var selectedIngredients = [];
var customer = null;