Python

Ejderhanı Nasıl Eğitirsin? & Bölüm-1

Onu sevgiyle mi eğitmek isterdin yoksa genetik algoritmalar yardımıyla mı?Bunun cevabını okuyucularımıza bırakıp biz T-rex’imizi eğitmek için Python ile bu işe girişelim.T-rex dediysek korkacak bir şey yok aslında Jurassic Park filiminde ki gibi elimizde T-rex kanı emmiş bir sivri sinek yok elimizde, Google Chrome tarayıcısı tarafından internet gittiğinde açılan T-rex oyununu kullanacağız.

Tabi bazı geliştiriciler bu oyunu internete yüklediklerinden dolayı orayı kullanacağım.Oyun oldukça basit , engellerden zıplayarak veya eğilerek kaçınıyorsunuz.Hadi o zaman eğitmeye başlayalım.

İndirmemiz gerekenler

Python 3.x

Pyautogui(Python kurulumu tamamladıktan sonra “pip install pyautogui” komutu ile kurulumu başlatabiliriz)

Tarayıcı ve Python idle’ı ikiye bölüp başlayalım.İlk önce oyuna başlamak için nasıl bir yol izlediğimizi bulup , neler yapmamız gerektiğine karar verelim.Oyun sayfası açıldığında ilk olarak oyun framesine tıklayıp ardından boşluk tuşuna basmamız gerekiyor.

Başarıyla oyunu başlattık , peki ya şimdi?Engellerden nasıl kaçacağız?T-rex öldü mü? Issız acun kaldı mı? Python öcün aldı mı ?Şimdi işlemci yırtılur…

Engellerden kaçmanın 2 yolu var , opencv ile oyun framesinin koordinatlarını işleyip , tensorflow ile engeller nedir düşman nedir tanıtmak veya pyautogui ile ekrandaki renkleri yakalayıp düşmanımızı sadece renk olarak ayırt etmek.Yani #535353 hex kodlu rengi görünce zıplayacağız veya eğileceğiz.

Kolay yöntemle devam edelim o zaman.Oyunda ilerde engel aralıkları sıklaşıyor , renkleri değişiyor , hızlanıyor , bilgisayar görüşünü kullanmak şart olacak.

Nerde adlı fonksiyon oluşturduk , ilk olarak fare imlecinin koordinatlarını x,y değişkenine attık , koordinatlara ait rgb renk kodunu okuduk ve karşılaştırdık , yani ekranda imlecimize x renkli nesne gelirse ve uyuşursa zıplayacağız.

Test ederken farkettigim bir şey fare tam olarak nerde duracak , zıplama mesafesi ne olacak?

Yani T-rex’den 30 pixel önde olup düşmanı tespit etmeliyiz.Oyun başlarken frame hareket ettiğinden fareye 20 pixel yaklaşıyor ve etki tepki süresi azalıyor , onun için basla fonksiyonumuz başladıktan 1 saniye sonra  ilgili koordinatlara gitsin.

Bitti sanırım , şimdi T-rex’miz hesapladığımız ihtimallere kadar kendi başına gidebilir, tabi ilerde bu ihtimallerin değişme sıklığı ve çeşitliği göz önünde bulundurduğumuzdan bu yazıyı bilgisayar görüşü ile yazacağım. Sağlıcakla kalın.

 

Yazar Hakkında

Andhrimnir
Yazara ait blog yazıları eğitim amaçlıdır.Etik kuralların dışında kullanım sorumluluğu kullanıcıya aittir.
~Tanrı denizcilere yardım eder ancak kaptan dümende olmalıdır.

Bu makaleyi 2 dakikada okuyabilirsiniz.
Andhrimnir
Yazara ait blog yazıları eğitim amaçlıdır.Etik kuralların dışında kullanım sorumluluğu kullanıcıya aittir. ~Tanrı denizcilere yardım eder ancak kaptan dümende olmalıdır.