🎮 Oyunda Seçimler!
Enum = Sabit seçenekler listesi! RPG'deki karakter sınıfları gibi.
📝 Örnek 1: Karakter Sınıfı
⚔️ siniflar.berk
// Karakter sınıfları - sadece bu 4'ü olabilir!
enum KarakterSinifi {
Savasci, // ⚔️
Buyucu, // 🔮
Okcu, // 🏹
Hirsiz, // 🗡️
}
fonksiyon sinif_ozellikleri(sinif: KarakterSinifi) {
esle sinif yap
KarakterSinifi::Savasci => {
yazdir("⚔️ SAVAŞÇI");
yazdir(" HP: 150 | ATK: 40 | DEF: 30");
yazdir(" Özel: Kalkan Savunması");
},
KarakterSinifi::Buyucu => {
yazdir("🔮 BÜYÜCÜ");
yazdir(" HP: 80 | ATK: 60 | DEF: 10");
yazdir(" Özel: Ateş Topu");
},
KarakterSinifi::Okcu => {
yazdir("🏹 OKÇU");
yazdir(" HP: 100 | ATK: 50 | DEF: 15");
yazdir(" Özel: Kritik Atış");
},
KarakterSinifi::Hirsiz => {
yazdir("🗡️ HIRSIZ");
yazdir(" HP: 90 | ATK: 45 | DEF: 20");
yazdir(" Özel: Gizlenme");
},
son
}
fonksiyon ana() {
yazdir("🎮 RPG KARAKTER SEÇİMİ\n");
değişken secim = KarakterSinifi::Buyucu;
sinif_ozellikleri(secim);
}
📝 Örnek 2: Oyun Durumları
🎲 oyun.berk
enum OyunDurumu {
Menu,
Oynuyor,
Durakladi,
BittiKazandi,
BittiKaybetti,
}
fonksiyon durum_goster(durum: OyunDurumu) {
esle durum yap
OyunDurumu::Menu => yazdir("🏠 ANA MENÜ"),
OyunDurumu::Oynuyor => yazdir("🎮 OYUN DEVAM EDİYOR..."),
OyunDurumu::Durakladi => yazdir("⏸️ DURAKLATILDI"),
OyunDurumu::BittiKazandi => {
yazdir("🏆 TEBRİKLER!");
yazdir("🎉 KAZANDIN!");
},
OyunDurumu::BittiKaybetti => {
yazdir("💀 GAME OVER");
yazdir("😢 Kaybettin...");
},
son
}
fonksiyon ana() {
değişken mut durum = OyunDurumu::Menu;
durum_goster(durum);
durum = OyunDurumu::Oynuyor;
durum_goster(durum);
durum = OyunDurumu::BittiKazandi;
durum_goster(durum);
}
📌 Özet
enumsabit seçenekler tanımlaresle/matchile pattern matching yapılır- Enum variants veri taşıyabilir