SA:MP Destek Blogu
Samp Destek Sitesi

Döngüler ve Anlamları

 

1- If Döngüsü

If'in Türkçe karşılığı "eğer" oluyor. İki tane şart gerekiyor ve ortada da bir işaret gerekiyor. Fakat, ben bu kısmı uzatmayıp direkt kodlar üzerinde anlatacağım. Kodumuzun taslağını oluşturursak şöyle bir şey elde ediyoruz:

if(şart 1 işaret şart 2)

Şimdi, siz buna muhtemelen "Türkçesi nedir?" diyorsunuzdur. Şöyle sevgili takipçi; If eğer demekti, bunu biliyoruz. Şart 1 ise birinci şart, işaret ise aşağıda vereceğim listedeki işaretlerin ikinci şartta olup olmadığını kontrol ettirmeye yarıyor.

> Eğer şart 1, ikinci şarttan büyükse
< Eğer şart 1, ikinci şarttan küçükse
>= Eğer şart 1, ikinci şarttan büyük ve eşitse
<= Eğer şart 1, ikinci şarttan küçük ve eşitse
!= Eğer şart 1, ikinci şarta eşit değilse (Aynı değilse)
==
Eğer şart 1, ikinci şarta eşitse (Aynıysa)

Şimdi, ifadeleri öğrendiğimize göre kod ile pekiştirme sırasındayız.

if(GetPlayerMoney(playerid) < 1000)

Şimdi, buranın Türkçe anlamını okursak şöyle bir şey elde ederiz: Belirtilen ID'nin parası 1000'den düşükse.
Bir başka örnek ile pekiştirmeye devam edelim.

new i=5;

Yukarıda i değişkenini 5 olarak tanımladık.

if(i < 5)

Yukarıda i değeri 5'ten düşükse olacaklarını işledik. Fakat biz i değişkenini 5 olarak atadık. Yani, bu yaptığımız döngünün çalışması imkansızdır. Fakat kodu şöyle değiştirirsek:

i = 3;
if(i < 5)


Burada tanıttığımız i değişkenini 3 olarak değiştirdik. Kontrol ettirdiğimiz "i" değişkeninin 5'ten düşük olursa diye bir döngü çevirdik. Eğer öyle olacaksa da neler yapabileceğimizi anlatalım.

if(i < 5)
{
print("Sayı 5'ten küçük.");
}


Burada parantez içerisine gerçekleşecek olayları sıralıyoruz. Ben "Sayı 5'ten küçük." mesajı yazdırttım. Yaptığınız döngüye göre işleyişini de kendinize göre ayarlayacaksınız.

For döngüsüne geçmeden önce birde elseden bahsedelim. Else if döngüsünün aksinini iddia etmektedir. Yani çalışan döngünün tam tersi ise olacakları ele alır. Örnek bir komut ile yola koyulalım.

if(i < 5)
{
print("Sayı 5'ten küçük.");
}
else
{
print("Sayı 5'ten küçük değil.");
}


Anlayacağınız kadarıyla else bir zıtlık kavramı.

2- For Döngüsü


"Oha For" devrinden selamlar, hala unutamadık. Bu döngü için verebileceğimiz en büyük örnektir kendileri. Bu döngüye diyoruz ki, canım süper çıkmışsın ya for atar mısın? Bu döngüyü de gözümüzde büyütmemize hiç gerek yok. Çok artistlik yapmasın yani, havasını indirin biraz. Fazla egoluları hiç sevmeyiz, hem de hiç.

for(new deger; deger < 5; deger++)

Turuncu
bölümde değişkeni tanıttık. Yeşil bölümde if döngüsünden öğrendiğimiz şartı koyuyoruz, ama burada if vs. yazmamıza gerek yok. Mor kısımda ise belirttiğimiz değere ulaşana kadar olacakları yaptık, değeri arttırdık.

for(new deger; deger < 5; deger++)
{
// Olacakları ise parantez içerisine koyuyoruz.
}


Şimdi, örnek bir çalışan döngü yapalım. Mesela ekranı temizleme döngüsü yapalım.

for(new d; d < 50; d++)
{
print("");
}


For döngüsüne nokta koymadan önce birkaç yardımcı kodu tanımlayalım.

Break

Break döngüyü direkt sonlandırmaya yarar. İsterseniz, öncekilerinde olduğu gibi burada da kodlar ile yola çıkarak anlatayım.

for(new s; s < 50; s++)
{
print("%d",s);
if(s == 11)
{
break;
}
}



Çıktısı şöyle olacaktır:
1
2
3
4
5
6
7
8
9
10
11

Burada yaptıklarımızı sıralayalım.
  • Eğer şart 50'den küçükse olacakları yaptık.
  • Değişken 50 olana kadar arttırdık.
  • Olacakları parantez içerisine aldık.
  • Olacakların altına if döngüsü ile eğer değişken 11 ise break ile sonlandırdık.
Kısacası, break nereye yerleştirilir ise döngünün çalışma işlemi orada durduruluyor.

Continue

Continue, bildiğiniz gibi devam niteliği taşımaktadır. Continue atlama yapmak için kullanılır. Sayı 5 ise diye bir şart bağlanırsa ve sayı 5 olduğunda olacaklar bölümünde continue olursa 5 sayısı atlanır. Bunu küçük bir örnekle pekiştirelim.

for(new i; i < 10; i++) // Burada 10'a kadar devam etme şartını koyduk.
{
if(i == 6)
{
continue; // 6 atlanacak ve döngü devam edecek.
}
print("bos dongu");
}


Anlayacağınız üzere continue değer atlamaya yarıyor. Bir değer atladı ve kod şartı tamamlana kadar devam etti. Çıktısı ise aşağıdaki gibi oldu.

1
2
3
4
5
7
8
9

3- While

While, hemen aşağıda yer alan karşılaştırmadan da anlaşılacağı gibi, if döngüsü ile bir hayli benzerdir.

new i;
if(i < 5)
{
//Olacaklar
}

new i;
while(i < 5)
{
// Olacaklar
}

While döngüsünün kullanımı için küçük bir örnek verelim.

new s;
while(s < 11)
{
s++;
}

4- Switch

Switch döngüsü de çalışma bakımından if döngüsü ile oldukça benzerdir. Küçük bir örnek ile inceleyelim.

new sVariable = 5;
switch(sVariable)
{
case 0: print("değişken 0.");
case 1: print("değişken 1.");
case 2: print("değişken 2.");
case 3: print("değişken 3.");
case 4: print("değişken 4.");
case 5: print("değişken 5.");
}


Burada değişken tanıttık , değişkenin default değerini 5 olarak ayarladık. Switch döngüsünde ise değişkenimizi açtık ve caselerde neler olacağını işledik. Bunun birde if döngüsünde nasıl işlediğine bakalım.

new sVariable = 5;
if(sVariable == *)
{
print("değişken 0.");
}

if(sVariable == 2)
{
print("değişken 2.");
}

if(sVariable == 1)
{
print("değişken 1.");
}

if(sVariable == 3)
{
print("değişken 3.");
}

if(sVariable == 4)
{
print("değişken 4.");
}

if(sVariable == 5)
{
print("değişken 5.");
}

Görüldüğü gibi, if ile switch döngüsünün çalışma biçimi hemen hemen aynı. Switch ile satırdan tasarruf edildiğini düşünebilirsiniz ama if ile de satırdan tasarruf etmenin yolu var.

If kullanırken satırdan tasarruf etmek isteyen kişiler kodlarını şu şekilde yazabilirler:



new sVariable = 5;
if(sVariable == 5) print("değişken 5");
Mesaj At
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol