Fonksiyonları Keşfetmek

Fonksiyon Nedir?

Fonksiyonlar, bir değişkene benzer şekilde çalışır; bir şeyi başka bir şeyi temsil etmek için kullanırız. Ancak değişkenler genellikle kısa bir değeri (örneğin bir sayıyı) temsil ederken, fonksiyonlar birkaç kod satırını birden temsil edebilir.

Bu, özellikle tekrar edeceğimiz bir kod bölümü varsa veya kodumuzu düzenlemesi kolay parçalara ayırmak istiyorsak son derece faydalıdır.


Blocks'ta Yeni Bir Fonksiyon Oluşturma

Blocks programımızda yeni bir fonksiyon oluşturmak için, Functions menüsünden bir blok çekerek başlayabiliriz:

Sonra, "do something" kısmını uygun bir adla değiştirebiliriz. Örneğin, burada bir tırmanma fonksiyonu ekliyoruz:

Fonksiyonumuza bir ad verdikten sonra, bu fonksiyon artık "Functions" menüsünde görünecek ve kodumuzun ana döngüsüne veya istediğimiz herhangi bir yerine eklenebilir:

Yeni fonksiyonu ana kodumuza eklediğimizde şuna benzeyecek:

Eğer bloğu silinirse, bu işlem fonksiyonu "Functions" menüsünden de kaldırır.


Fonksiyonların Kullanımı - Örnek

Bu örnek, 2024-25 FTC Başlangıç Bot programının bir parçası olarak oluşturulmuş, ancak başka bir robotta da uygulanabilir!

Başlamak için yapılandırma tamamlandıktan sonra yeni bir OpMode oluşturun. Bizimki FunctionsDemo olarak adlandırılmıştır.

Diyelim ki otonom bir kod üzerinde çalışıyoruz ve robotumuzun bir kare çizerek hareket etmesini istiyoruz. Otonom, kodun Play tuşuna basıldığında robotun kendi kendine hareket edeceği anlamına gelir:

Şimdi, robotun bir dönüşten önce bir şeyler yapmasını istiyoruz, örneğin kolunu hareket ettirmek veya bir servonun pençesini açmak. Fonksiyonlar olmadan bunu birkaç şekilde yapabiliriz:

Kodumuz zaten biraz uzun görünüyor, bu yüzden yan hareket ve dönüşü bir fonksiyona taşıyalım:

Şimdi döngümüz şu şekilde görünebilir:

Kodu test ettiğimizde, robotumuzun tam bir kare çizmediğini fark edebiliriz. Neyse ki, fonksiyon sayesinde sadece bir yerde değişiklik yapmamız gerekiyor:

Bu değişiklik, DRIVE_AND_TURN fonksiyonunun kullanıldığı her yerde yansıtılacaktır.

Deneyin: Sağ motorun gücünü veya zamanlayıcıyı değiştirerek kareyi hassaslaştırabilirsiniz!

Last updated