Code edit (1 edits merged)
Please save this source code
User prompt
Papers, Please: UML Edition
User prompt
1. Adım: Veri Mimarisi ve JSON Şeması Oyunun seviyelerini ve kağıtların içeriğini yönetecek beyin kısmını oluşturmak için bu promptu kullan: "Sistem analizi dersi için 'Papers, Please' tarzı 2 boyutlu bir belge inceleme oyunu geliştiriyorum. Bana oyunun veri yapısını tutacak kapsamlı bir JSON şeması ve bu veriyi okuyacak Sınıf (Class) yapılarını yaz. JSON şemasında şunlar olmalı: Seviye numarası, o seviyede kural kitabına eklenecek yeni kural metni, masaya gelecek belgelerin listesi. Her belge (paper) objesi içinde; belge ID'si, 'Müşteri Senaryosu' metni, 'UML Çizimi' görsel yolu (URL/Path), belgenin geçerli olup olmadığı (is_valid: boolean), eğer hatalıysa metindeki hangi kelimenin görseldeki hangi bölge (zone/hitbox) ile çeliştiğini tutan hata doğrulama verisi yer almalı." 2. Adım: Masa Arayüzü ve Sürükle-Bırak (Drag & Drop) Veri yapısı hazırlandıktan sonra, görsel tarafı çizdirmek için bu promptu kullan: "Şimdi bu oyun için temel oyun ekranı arayüzünü (UI) kodla. Ekranı bir çalışma masası gibi düşün. Ekranın sol altında tıklandığında açılıp kapanan bir 'Kural Kitabı' butonu/paneli olsun. Masanın ortasında, kullanıcı tarafından fare/parmak ile ekranın her yerine sürüklenebilen (Drag & Drop) iki adet kağıt objesi (Widget) yarat. Biri 'Metin Belgesi', diğeri 'Görsel Belge' olsun. Masanın sağ tarafına sabit duran iki adet büyük buton ekle: Yeşil 'ONAYLA' damgası ve Kırmızı 'REDDET' damgası." 3. Adım: İnceleme ve Bağlantı (Link/Inspection) Mekaniği Oyunun kalbi olan, çelişkileri bulma mantığını yazdırmak için bu promptu kullan: "Oyunun ana mekaniği olan 'Hata Tespiti' (Inspection) sistemini kurgulamak istiyorum. Müşteri senaryosu metnindeki kelimeleri tıklanabilir (seçilebilir) hale getir. UML görseli üzerinde de görünmez tıklanabilir alanlar (hitbox/zone) oluştur. Oyuncu metindeki bir kelimeye tıklayıp (seçili hale getirip), ardından görseldeki bir alana tıkladığında bu iki veriyi birbiriyle eşleştiren bir fonksiyon yaz. Eğer eşleştirilen bu iki alan, ilk adımda yarattığımız JSON verisindeki 'hata doğrulama' koordinatlarıyla uyuşuyorsa, ekranda 'TUTARSIZLIK BULUNDU' uyarısı çıksın ve oyuncuya belgeyi reddetme yetkisi verilsin." 4. Adım: Oyun Döngüsü, Damgalar ve Puanlama Kağıtları onaylayıp/reddedip diğer kağıda geçme işlemini yazdırmak için bu promptu kullan: "Masanın sağındaki Onayla (Yeşil) ve Reddet (Kırmızı) damgaları için oyun döngüsü (Game Loop) mantığını yaz. Kurallar şunlar: Eğer JSON verisinde belge doğruysa (is_valid: true) ve oyuncu ONAYLA basarsa +10 puan, REDDET basarsa -10 puan ve 'Ceza Fişi' uyarısı ver. Eğer belge hatalıysa (is_valid: false), oyuncu hatayı (bir önceki adımdaki fonksiyonla) bulmadan REDDET basamasın. Hatayı bulup REDDET basarsa +10 puan ver. Hatalı belgeye ONAYLA basarsa -10 puan ve ceza ver. Damga basıldıktan sonra mevcut kağıtlar ekrandan kaybolsun, kısa bir animasyon/gecikme ile sıradaki JSON belgesinin verileri masaya gelsin. Belgeler bitince 'Gün Bitti' ekranı çıksın." 5. Adım: İçerik ve Senaryo Üretimi (Data Doldurma) Kod altyapısı bittikten sonra, yapay zekayı bir "Bölüm Tasarımcısı" olarak kullanmak için bu promptu kullan: "Oyunun kod iskeleti ve arayüzü tamamlandı. Şimdi senden oyunun içeriğini (JSON datalarını) üretmeni istiyorum. Sistem Analizi ve Tasarımı (SAD) dersi 'UML Sınıf Diyagramları' konusu için ilk 3 seviyenin verisini yaz. Seviye: Temel Sınıf Yapısı (İsim, nitelik, metot bölmeleri). Seviye: Erişim Belirleyiciler (Public, Private, Protected). Seviye: Çokluluk (Multiplicity) ve Kalıtım (Inheritance). Bana toplam 15 farklı kağıt senaryosu (is_valid true ve false olanlar karışık) üret. Hatalı olanlar için yaratıcı UML çizim hataları ve bunlarla çelişen mantıklı müşteri metinleri kurgula."
User prompt
Please continue polishing my design document.
Initial prompt
Oyunun seviyelerini ve kağıtların içeriğini yönetecek beyin kısmını oluşturmak için bu promptu kullan: "Sistem analizi dersi için 'Papers, Please' tarzı 2 boyutlu bir belge inceleme oyunu geliştiriyorum. Bana oyunun veri yapısını tutacak kapsamlı bir JSON şeması ve bu veriyi okuyacak Sınıf (Class) yapılarını yaz. JSON şemasında şunlar olmalı: Seviye numarası, o seviyede kural kitabına eklenecek yeni kural metni, masaya gelecek belgelerin listesi. Her belge (paper) objesi içinde; belge ID'si, 'Müşteri Senaryosu' metni, 'UML Çizimi' görsel yolu (URL/Path), belgenin geçerli olup olmadığı (is_valid: boolean), eğer hatalıysa metindeki hangi kelimenin görseldeki hangi bölge (zone/hitbox) ile çeliştiğini tutan hata doğrulama verisi yer almalı."
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
}); /****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});