Programlama mantığı nedir?

HD4450

Kilopat
Katılım
2 Nisan 2019
Mesajlar
2.211
Çözümler
6
Çok fazla konu attım biliyorum ama hiç beklediğim cevaba ulaşamadım. Çok kafam karıştı, şimdi ben yavaş yavaş kodlamaya gireceğimden basitinden örnek vereyim. Hesap makinesi yapacağım diyelim, onu yaptım. O tuşların yerini nasıl ayarlayacağım? Veya bir oyun yapmak istiyorum, ben kodları girince olacak mı? Yiğit hocamdan biraz bilgi aldım ama hala kafamda sorular var. O kadar kod içerisinden kopyala yapıştır mı yapacağız yoksa kafamızdan kendimiz kod mu uyduracağız? Ben hayatta kalma oyunu yapmak istiyorum. Bir yandan da Unreal Engine daha rahat geliyor. C++ kullanılıyor diye biliyorum. Önerebileceğiniz kurs varsa önerir misiniz? Ve bir de animsayonları Blender'le yapıldığını biliyorum ama Blender'den nasıl oyuna geçireceğim? Şimdi sadece normal bir C++ kursuna girip öğreneyim mi yoksa oyun yapmaya çalışayım mı?
 
Bilgisayar Mühendisliğine başladığımda ben de aynı şeyleri düşünüyordum. Ama bunları asla kafana takma ve öğrenmeye başla. Zaten yeri gelip de olayı öğrendiğin zaman "heeee bu da böyle oluyormuş demek ki" diyorsun.

Bu arada önceden sıfırdan C++ öğren ve sonra C++'da nesneye yönelik programlama öğren. Sonra oyun yapmaya geç.
 
Öncelikle Unreal Engine için illa yazılım dili bilmene gerek yok, Blueprint diye bir sistem var Scratch gibi oyun yazılımı oradan da yapılabiliyor. Blender'dan oyuna tasarımlarınızı göndermek için Unreal Engine'de 'İmport' bölümü var. Oradan Blender'dan yaptığınız modeli oyuna yükleyebiliyorsunuz.

Eklemek isterim ki daha yeni biri için C++ zor gelecektir. Muhtemelen de öğrenmeye çalışırken 3-4 gün sonra sıkılıp bırakırsınız C++'yı. Tavsiyem Unreal'ın Blueprint sistemini öğrenip yazılım dillerini ondan sonra öğrenmeniz.

Yine eklemek isterim ki Unreal Engine öğrenmesi zor bir oyun motorudur. Benim Unreal'daki ilk 1-2 ayım hatalarla ve o zaman için bana karmakarışık gelen arayüzle geçmişti.
 
C# için de aynısı geçerli mi?

Yapacağın iş ne olursa olsun. Web programlama olsun, oyun yapma olsun ya da yapay zeka olsun. İş ilerleyişi her zaman aynıdır. Önce ihtiyacın olan dilin girdi, çıktı alma, koşullar, döngüler vs. basit kısmını öğrenmelisin. Sonra dilde nesne ya da objeye yönelik programlama nasıl oluyor onu öğrenmelisin. Hatta sonra algoritmalara da bakmalısın ve ondan sonra yapacağın işe başlamalısın.

Bu söylediklerim C++, C#, Java, Python... Hepsinde geçerli.
 
Bilgisayar mühendisliğine başladığımda bende aynı şeyleri düşünüyordum. Ama bunları asla kafana takma ve öğrenmeye başla. Zaten yeri gelip de olayı öğrendiğin zaman "heeee bu da böyle oluyormuş demek ki" diyorsun.

Bu arada önceden sıfırdan C++ öğren ve sonra C++'da nesneye yönelik programlama öğren. Sonra oyun yapmaya geç.

Sıfırdan C++ diye kurs aldım
  • iOStream kütüphanesi.
  • String kütüphanesi.
  • Sstream kütüphanesi.
  • Değişkenler
  • Operatörler
  • Define komutu.
  • İf komutu.
  • Switch komutu.
  • Diziler
    Bunları öğretiyormuş tam bilmediğimden sormak istiyorumda bunlar başlangıç için yeter mi ileri seviyeye kadar öğretiyormuş bunlar şimdilik yeter mı?
 
Yapacağın iş ne olursa olsun. Web programlama olsun, oyun yapma olsun ya da yapay zeka olsun. İş ilerleyişi her zaman aynıdır. Önce ihtiyacın olan dilin girdi, çıktı alma, koşullar, döngüler vs. basit kısmını öğrenmelisin. Sonra dilde nesne ya da objeye yönelik programlama nasıl oluyor onu öğrenmelisin. Hatta sonra algoritmalara da bakmalısın ve ondan sonra yapacağın işe başlamalısın.

Bu söylediklerim C++, C#, Java, Python... Hepsinde geçerli.
Bunların üstüne o dildeki veri yapıları hakkında genel bir anlayışınız olursa ekstra iyi olur.
 
Sıfırdan C++ diye kurs aldım
  • iOStream kütüphanesi.
  • String kütüphanesi.
  • Sstream kütüphanesi.
  • Değişkenler
  • Operatörler
  • Define komutu.
  • İf komutu.
  • Switch komutu.
  • Diziler
    Bunları öğretiyormuş tam bilmediğimden sormak istiyorumda bunlar başlangıç için yeter mi ileri seviyeye kadar öğretiyormuş bunlar şimdilik yeter mı?
Bu konular bahsettiğim basit konuları öğretir. Ayrıca nesneye yönelik programlamaya da bakabilirsin.
 
Senin programladığın şeyin bir uygulama olduğunu düşünerek şöyle söylemek istiyorum, senin uygulaman bir şekilde işletim sistemi ile iletişime geçerek istenilen veriyi kullanıcıdan alıyor. Hesap makinesi örneğinden gideyim. İşletim sistemi senin klavye sürücünü dinliyor, ve bu klavye sürücüsünden kullanıcının girdiği tuşu alıyor. C++'ın std::cin'i, işletim sistemi API'sini kullanarak işletim sisteminden klavye tuşu hakkında bilgi alıyor ve senin programına veriyor. std::cin tabii konsol için olduğundan dolayı işletim sistemindeki konsol API'si üzerinden veri alıyor.

Aynı şekilde oyun motoru da öyle, işletim sistemi API'si ile iletişime geçiyor. Fakat oyunlarda şöyle bir ayrım var, konsol üzerinden değil de direkt olarak işletim sisteminin pencere yöneticisi API'si üzerinden dinliyor. Örneğin Linux için XLib, Windows için Win32 API.

Sonuç olarak işletim sistemi sana veriyi sağlıyor, sen de programının içindeki algoritma ile o veriyi işliyorsun. Programlama mantığı bu kadar.
 

Yeni konular

Geri
Yukarı