Commodore sayı 18, sayfa 59

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 59

TO JOYSTİCK. OKUMA PRINT JOYSTİCK 0 : JOYS- TİCK KONUMUNU YAZAR PRINT JOYBUTTON 0 : DÜĞMESİ BASILIYSA “TRUF' DEĞİLSE *“FALSE' YAZAR JOYSTİCK. OKUMA : TEKRAR KENDİNİ ÇAĞIRIR END

Şimdi joystick konumlarını gerçek açısal değerlere nasıl çevirebileceğimizi görelim.

TO AÇIYA. ÇEVİR MAKE “DEĞER JOYSTICK 0 IF: DEĞER > -1 THEN MAKE “AÇI: DEĞER * 45 ELSE MAKE “AÇI |ORTADAJ PRINT : AÇI AÇIYA. ÇEVİR END

Bu işlemde BASIC kullananların pek de yabancı olmadığı IF... THEN... ELSE sözcükleri dikkatinizi çekecektir. Bu yapı, belirtilen koşulların doğru ya da yanlış olup olmadığını değerlendirmek için kullanılır. Formatı aşağıdaki gibidir: IF (koşul) THEN (işlem1) ELSE (işlem2) Anlamı: EĞER (koşul) DOĞRUYSA (işlem1)'i YAP, YANLIŞSA (işlem 2)'yi YAP. Burada joystick ortada iken değerinin -1 olacağını göz önüne alarak bunu değerlendirme dışı bırakabilmek için IF :DEĞER > -1 koşulunu kullandık, yani :DEĞER'in büyük olduğu durumlarda bu :DEĞER joystick'in açı dilimi olan 45 derece ile çarpılarak çekildiği yön bulunmaktadır. Yukarı konumun 0 derece olduğuna dikkat edin (kaplumbağamız başlangıçta yukarı bakmaktadır). Joystick bir yöne çekilmemişse (ELSE...) bunun ortada durduğunu açı değerine atamaktadır. Burada bir nesneye hem sayısal hem de yazısal değerler atanabileceğini, LOGO'nun her ikisini de aynı biçimde değerlendirdiğini hatırlayalım. Sıra geldi joystick düğmesinin değerlendirilmesine:

TO JOSTİCK. DÜĞMESİ IF JOYBUTTON 0 THEN ELSE PRINT BASILI DEĞİL) JOYSTİCK. DÜĞMESİ END

Bu arada JOYBUTTON 0 sözcüğü zaten TRUE (doğru) veya FALSE (yanlış) diye sonuç vereceğinden doğrudan değerlendirmeye sokulmuştur. IF... işlemi, sonucu TRUE (doğru) veya FALSE (yanlış) olan işlemleri değerlendirir. Örneğin, “X = 10” terimi X nesnesinin değerine bağlı olarak doğru veya yanlış diye sonuç verecektir.

Değerlendirme sözcükleri dağarcığımıza birkaç tane daha katalım: TEST (koşul) ----- Belirtilen koşulu değerlendirir, IFTRUE (işlem 1)---TEST'te belirtilen koşul doğruysa işlem1'i yapar, IFFALSE (işlem2) ----TEST'te belirtilen koşul yanlışsa işlem2'yi yapar. Buna göre JOYSTICK DÜĞMESİ işlemini yeniden tanımlayalım:

TO JOYSTİC. DÜĞMESİ TEST JOYBUTTON 0 IFTRUE PRINT (DÜĞME BASILI) IFFALSE PRINT BASILI DEĞİL) JOYSTİCK DÜĞMESİ END

Şimdiye kadar öğrendiklerimizi uygulamasını dergimizin Program Döküm Eki'nde LOGO ÇİZİM programında açıklamalarıyla bulabilirsiniz. Bu program kasıtlı olarak basit tutulmuştur. Geliştirmesi sizden. Hoşça kalın.

Klavyeyle gezinmek için ← ve → tuşları.