Rica ederim, anlamadığınız noktaları sorabilirsiniz bu konu üzerinden. Gördüğüm gibi cevaplamaya çalışacağım.
|
kodlarını kendiniz şu şekilde düzeltebilirsiniz:
|
işaretinin bulunduğu tüm dosyaların en üstüne from typing import Optional
yazın.
- Daha sonra örneğin
bg: pygame.Surface | None
şeklindeki kodları bg: Optional[pygame.Surface]
şeklinde değiştirin.
Ayrıca main.py dosyasındaki bir kod için de hata alacaksınız eğer Python 3.10 altı sürüm kullanıyorsanız. Onu da şu şekilde düzeltebilrisiniz:
- main.py dosyasının başına
from typing import List
yazın.
objects: list[BaseObject] = []
satırını objects: List[BaseObject] = []
şeklinde değiştirin.
Şimdi sorunuza gelecek olursak açıkçası bunu sadece pygame özelinde cevaplamak istemiyorum. Bunun sebebi yeni başlayan biri için herhangi bir dili öğrenmek adına 2 haftanın çok kısa bir süre olması. Öncelikle bolca proje yapmanız gerekiyor. Aslında bana kalırsa dil öğrenmenin tek yolu bu. Dillerin Syntax'ını öğrenmek zaten kolaydır genelde ama öğrenmesi zor olan programlama mantığıdır. Bunun için de bolca proje yapıp aklınızda belirli temelleri oturtmalısınız. Yapabiliyorsanız başkalarının yazdığı kodlara bakmalı ve onları anlamaya çalışmalısınız. Ha bir de kesinlikle İngilizce öğrenin.
Pygame ve genel oyun programlama için konuşacak olursak ben şahsen OOP mantığına kendinizi derhal aşina etmenizi tavsiye ederim. İşiniz çok daha kolay olur. Ayrıca Python başkalarıyla çalışmadığınız veya sunucular içinde çalışacak bir kod yazmadığınız takdirde her daim en son sürümü kullanmaya özen gösterin. Performans artışları kayda değerdir.
Son olarak ana hedefiniz oyun programlamaysa Python yerine C# veya C++ öğrenmenizi tavsiye ederim. Gerçek bir oyun yapmak için bu tarz dillere ihtiyacınız var. C# ile Unity, C++ ile Unreal kullanabilirsiniz. Kendinizi daha da ilerletmek istediğinizde C++ ile OpenGL, DirectX veya sdl2 (bu çok basit şeyler için) kullanarak kendi motorunuzu veya oyun altyapınızı tasarlayıp yazabilirsiniz.
Kendi kodunuzu da atabilirseniz yardımcı olmam kolaylaşır.