User prompt
simgeleri görünmez yap
Code edit (1 edits merged)
Please save this source code
User prompt
arka plan gerçekçi olsun
User prompt
bir karekter olsun ve öyle yerşekillerinin yanına gidelim ve oyun pixelartı kullanıp gerçekçi olsun
User prompt
yerşekillerinin olduğu ve o yerşekillerini keşfedip öğrenebildiğimiz bir oyun
User prompt
Yerşekilleri Keşfi
Initial prompt
yerşekillerinin olduğu ve o yerşekillerini keşfedip öğrenebildiğimiz bir oyun
/**** * Classes ****/ // Göl (Lake) class var Lake = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('lake', { anchorX: 0.5, anchorY: 1.0 }); self.info = "Göl: Karalar üzerindeki çukur alanlarda birikmiş tatlı veya tuzlu su kütleleridir."; self.type = "lake"; return self; }); // Yerşekilleri listesini oluştur // Dağ (Mountain) class var Mountain = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('mountain', { anchorX: 0.5, anchorY: 1.0 }); self.info = "Dağ: Yüksek ve dik yamaçlı yerşekilleridir. Zirveleri genellikle karla kaplıdır."; self.type = "mountain"; return self; }); // Ova (Plain) class var Plain = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('plain', { anchorX: 0.5, anchorY: 1.0 }); self.info = "Ova: Deniz seviyesine yakın, geniş ve düz alanlardır. Tarım için uygundur."; self.type = "plain"; return self; }); // Plato (Plateau) class var Plateau = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('plateau', { anchorX: 0.5, anchorY: 1.0 }); self.info = "Plato: Çevresine göre yüksek, düz ve geniş alanlardır."; self.type = "plateau"; return self; }); // Vadi (Valley) class var Valley = Container.expand(function () { var self = Container.call(this); var asset = self.attachAsset('valley', { anchorX: 0.5, anchorY: 1.0 }); self.info = "Vadi: Akarsuların aşındırmasıyla oluşan, iki yamaç arasında kalan çukurluklardır."; self.type = "valley"; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Yerşekilleri listesini oluştur var landforms = []; var discoveredLandforms = []; var infoText = null; // Harita üzerinde yerşekillerini konumlandır function createLandforms() { // Dağ var mountain = new Mountain(); mountain.x = 400; mountain.y = 1800; landforms.push(mountain); game.addChild(mountain); // Ova var plain = new Plain(); plain.x = 900; plain.y = 2200; landforms.push(plain); game.addChild(plain); // Plato var plateau = new Plateau(); plateau.x = 1600; plateau.y = 1500; landforms.push(plateau); game.addChild(plateau); // Vadi var valley = new Valley(); valley.x = 1200; valley.y = 900; landforms.push(valley); game.addChild(valley); // Göl var lake = new Lake(); lake.x = 600; lake.y = 600; landforms.push(lake); game.addChild(lake); } // Bilgi kutusunu göster function showInfo(landform) { if (infoText) { infoText.destroy(); infoText = null; } infoText = new Text2(landform.info, { size: 80, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1200 }); infoText.anchor.set(0.5, 0.5); infoText.x = 2048 / 2; infoText.y = 400; LK.gui.center.addChild(infoText); // 2 saniye sonra bilgi kutusunu kaldır LK.setTimeout(function () { if (infoText) { infoText.destroy(); infoText = null; } }, 2000); } // Keşif kontrolü function checkDiscovery(x, y) { for (var i = 0; i < landforms.length; i++) { var lf = landforms[i]; // Basit mesafe kontrolü (dokunma/klik yakınlığı) var dx = lf.x - x; var dy = lf.y - y; var dist = Math.sqrt(dx * dx + dy * dy); if (dist < 180 && discoveredLandforms.indexOf(lf.type) === -1) { discoveredLandforms.push(lf.type); showInfo(lf); // Tüm yerşekilleri keşfedildiyse oyunu bitir if (discoveredLandforms.length === landforms.length) { LK.showYouWin(); } break; } } } // Oyuncunun dokunma/klik hareketini yakala game.down = function (x, y, obj) { checkDiscovery(x, y); }; // Oyun başlatıldığında yerşekillerini oluştur createLandforms();
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,156 @@
-/****
+/****
+* Classes
+****/
+// Göl (Lake) class
+var Lake = Container.expand(function () {
+ var self = Container.call(this);
+ var asset = self.attachAsset('lake', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.info = "Göl: Karalar üzerindeki çukur alanlarda birikmiş tatlı veya tuzlu su kütleleridir.";
+ self.type = "lake";
+ return self;
+});
+// Yerşekilleri listesini oluştur
+// Dağ (Mountain) class
+var Mountain = Container.expand(function () {
+ var self = Container.call(this);
+ var asset = self.attachAsset('mountain', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.info = "Dağ: Yüksek ve dik yamaçlı yerşekilleridir. Zirveleri genellikle karla kaplıdır.";
+ self.type = "mountain";
+ return self;
+});
+// Ova (Plain) class
+var Plain = Container.expand(function () {
+ var self = Container.call(this);
+ var asset = self.attachAsset('plain', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.info = "Ova: Deniz seviyesine yakın, geniş ve düz alanlardır. Tarım için uygundur.";
+ self.type = "plain";
+ return self;
+});
+// Plato (Plateau) class
+var Plateau = Container.expand(function () {
+ var self = Container.call(this);
+ var asset = self.attachAsset('plateau', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.info = "Plato: Çevresine göre yüksek, düz ve geniş alanlardır.";
+ self.type = "plateau";
+ return self;
+});
+// Vadi (Valley) class
+var Valley = Container.expand(function () {
+ var self = Container.call(this);
+ var asset = self.attachAsset('valley', {
+ anchorX: 0.5,
+ anchorY: 1.0
+ });
+ self.info = "Vadi: Akarsuların aşındırmasıyla oluşan, iki yamaç arasında kalan çukurluklardır.";
+ self.type = "valley";
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
backgroundColor: 0x000000
-});
\ No newline at end of file
+});
+
+/****
+* Game Code
+****/
+// Yerşekilleri listesini oluştur
+var landforms = [];
+var discoveredLandforms = [];
+var infoText = null;
+// Harita üzerinde yerşekillerini konumlandır
+function createLandforms() {
+ // Dağ
+ var mountain = new Mountain();
+ mountain.x = 400;
+ mountain.y = 1800;
+ landforms.push(mountain);
+ game.addChild(mountain);
+ // Ova
+ var plain = new Plain();
+ plain.x = 900;
+ plain.y = 2200;
+ landforms.push(plain);
+ game.addChild(plain);
+ // Plato
+ var plateau = new Plateau();
+ plateau.x = 1600;
+ plateau.y = 1500;
+ landforms.push(plateau);
+ game.addChild(plateau);
+ // Vadi
+ var valley = new Valley();
+ valley.x = 1200;
+ valley.y = 900;
+ landforms.push(valley);
+ game.addChild(valley);
+ // Göl
+ var lake = new Lake();
+ lake.x = 600;
+ lake.y = 600;
+ landforms.push(lake);
+ game.addChild(lake);
+}
+// Bilgi kutusunu göster
+function showInfo(landform) {
+ if (infoText) {
+ infoText.destroy();
+ infoText = null;
+ }
+ infoText = new Text2(landform.info, {
+ size: 80,
+ fill: 0xFFFFFF,
+ wordWrap: true,
+ wordWrapWidth: 1200
+ });
+ infoText.anchor.set(0.5, 0.5);
+ infoText.x = 2048 / 2;
+ infoText.y = 400;
+ LK.gui.center.addChild(infoText);
+ // 2 saniye sonra bilgi kutusunu kaldır
+ LK.setTimeout(function () {
+ if (infoText) {
+ infoText.destroy();
+ infoText = null;
+ }
+ }, 2000);
+}
+// Keşif kontrolü
+function checkDiscovery(x, y) {
+ for (var i = 0; i < landforms.length; i++) {
+ var lf = landforms[i];
+ // Basit mesafe kontrolü (dokunma/klik yakınlığı)
+ var dx = lf.x - x;
+ var dy = lf.y - y;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ if (dist < 180 && discoveredLandforms.indexOf(lf.type) === -1) {
+ discoveredLandforms.push(lf.type);
+ showInfo(lf);
+ // Tüm yerşekilleri keşfedildiyse oyunu bitir
+ if (discoveredLandforms.length === landforms.length) {
+ LK.showYouWin();
+ }
+ break;
+ }
+ }
+}
+// Oyuncunun dokunma/klik hareketini yakala
+game.down = function (x, y, obj) {
+ checkDiscovery(x, y);
+};
+// Oyun başlatıldığında yerşekillerini oluştur
+createLandforms();
\ No newline at end of file