CodeBlanks Logo Icon CodeBlanks

Özet - C# temelleri

Bu grubu özetleyen bir görevle C# temellerini pekiştirirsin.

Özet - C# Temelleri

Bu grupta Unity'de C# ile kodlamanın temel yapı taşlarını öğrendin. C# scriptlerinin MonoBehaviour sınıfından türediğini ve sahnede çalışabilmesi için bir GameObject'e atanması gerektiğini gördün. Değişken türlerini (int, float, string, bool), ad alanlarını (using UnityEngine;) ve Debug.Log ile Console penceresine çıktı üretmeyi kavradın.

using UnityEngine;

public class GameController : MonoBehaviour
{
    public int score = 0;
    public void AddScore() { score += 10; }
}

Bu temeller, sahnede hareket eden karakterler ve gelişmiş oyun mekanikleri oluşturmanın temelini oluşturur.

Uygulama Kahraman sınıfını tamamla

Hero sınıfı içine public string heroName = "Savasci"; ve public int hp = 100; alanlarını tanımla. Status metodu içinde Debug.Log ile "Kahraman: " + heroName + " - HP: " + hp yazdır.

Başlangıç kodu

Player.cs
using System;

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Hero
{
    // heroName ve hp alanlarini tanimla

    public void Status()
    {
        // Debug.Log ile yazdir
    }
}

public class Program
{
    public static void Main()
    {
        Hero hero = new Hero();
        hero.Status();
    }
}

Örnek çözüm

Player.cs
using System;

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Hero
{
    public string heroName = "Savasci";
    public int hp = 100;

    public void Status()
    {
        Debug.Log("Kahraman: " + heroName + " - HP: " + hp);
    }
}

public class Program
{
    public static void Main()
    {
        Hero hero = new Hero();
        hero.Status();
    }
}

Beklenen çıktı

Kahraman: Savasci - HP: 100

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Unity'de oluşturulan bir C# scripti hakkında aşağıdakilerden hangisi DOĞRUDUR?

  • Script dosyasının adı ile class adı birbirinden tamamen farklı olmalıdır.
  • Bir scriptin sahnede çalışabilmesi için bir GameObject'e bileşen olarak atanması gerekir. Doğru cevap
  • C#'ta float türündeki sayıların sonuna herhangi bir harf konulamaz.
  • Debug.Log komutu sadece oyun mağazada yayınlandıktan sonra çalışır.

Açıklama: Unity'de scriptler sahnedeki bir GameObject'e bileşen olarak bağlanmadığı sürece oyun döngüsüne katılamaz ve çalıştırılmaz.

2 MonoBehaviour miras alma

Soru
public class Enemy : ____
{
    public int damage = 25;
}
Cevap
public class Enemy : MonoBehaviour
{
    public int damage = 25;
}

Açıklama: Unity'de GameObject'e bileşen olarak eklenecek sınıflar MonoBehaviour sınıfından türetilir.

3 C# kavramları özeti

Kavram Anlamı
using UnityEngine; Unity motor sınıflarını koda dahil eder
MonoBehaviour Bileşenlerin türediği temel sınıf
float Sonunda 'f' bulunan ondalıklı sayı türü
Debug.Log Console'a mesaj ve değer yazdırır

Başlangıç bölümündeki tüm dersler