Önceki Ders 4 / 10

⚙️ Fonksiyonlar

🎮 Ortaokul Bu derste: Büyü kitabı - Tekrar kullanılabilir büyüler yaz!
📚 Lise Bu derste: Fonksiyonlar ile kodu organize et
🎓 Üniversite Bu derste: Higher-order functions, closures ve generics

📖 Büyü Kitabı

Fonksiyonlar, büyüler gibidir! Bir kere yaz, istediğin kadar kullan. 🧙‍♂️

📝 Örnek 1: Saldırı Büyüleri

🔮 buyuler.berk
// 🔥 Ateş topu büyüsü
fonksiyon ates_topu() {
    yazdir("🔥 ATEŞ TOPU!");
    yazdir("💥 50 hasar verdin!");
}

// ❄️ Buz oku büyüsü
fonksiyon buz_oku() {
    yazdir("❄️ BUZ OKU!");
    yazdir("💥 30 hasar + yavaşlatma!");
}

// ⚡ Şimşek büyüsü - parametre ile
fonksiyon simsek(guc: tamsayı) {
    yazdir("⚡ ŞİMŞEK! Güç: {}", guc);
    değişken hasar = guc * 10;
    yazdir("💥 {} hasar verdin!", hasar);
}

fonksiyon ana() {
    yazdir("🧙‍♂️ Büyücü savaşa hazır!\n");
    
    ates_topu();
    yazdir("");
    
    buz_oku();
    yazdir("");
    
    simsek(5);  // 50 hasar
    simsek(10); // 100 hasar!
}

📝 Örnek 2: Karakter Yetenekleri

🦸 yetenekler.berk
// İyileştirme büyüsü - değer döndürüyor!
fonksiyon iyilestir(mevcut_can: tamsayı) -> tamsayı {
    değişken iyilesme = 25;
    yazdir("💚 +{} can iyileştirildi!", iyilesme);
    don mevcut_can + iyilesme;
}

// Hasar hesapla
fonksiyon hasar_hesapla(guc: tamsayı, zirh: tamsayı) -> tamsayı {
    değişken net_hasar = guc - zirh;
    eğer net_hasar < 0 yap
        don 0;
    son
    don net_hasar;
}

fonksiyon ana() {
    değişken mut can = 50;
    yazdir("❤️ Başlangıç canı: {}", can);
    
    can = iyilestir(can);
    yazdir("❤️ Şimdiki can: {}", can);
    
    can = iyilestir(can);
    yazdir("❤️ Şimdiki can: {}", can);
    
    yazdir("\n⚔️ Savaş!");
    değişken hasar = hasar_hesapla(30, 10);
    yazdir("Alınan hasar: {}", hasar);
}

🎯 Senin Görevin!

  1. "Kalkan" büyüsü yaz - zırhı 2 katına çıkarsın!
  2. "Kritik Vuruş" fonksiyonu yaz - %20 şansla hasar 3 katına çıksın!

📌 Özet

  • fonksiyon/function ile fonksiyon tanımlanır
  • Parametreler isim: tip formatında yazılır
  • -> tip ile dönüş tipi belirtilir
  • don/return ile değer döndürülür