BÖLÜM - 1 : İfadeler
if ifademiz bir koşulun sağlanıp sağlanmadığı durumları kontrol etmemize imkan sağlıyor. Mantıksal işlemlerin sonucu 1 (true) veya 0 (false) dır. if komutumuzun yanındaki koşul sağlandığı takdirde true yani 1 değeri döner. Bu true değerinin dönmesi, ifademizin altındaki kod bloğunun sistem tarafından okunacağı anlamına gelmektedir. Örnek verecek olursak:
Kod: Tümünü seç
new x = 5;
if(x > 10) {
//kod
} // x'e ilk değer olarak 5 verdik. (5 > 10) sonucunda false değeri döndü dolayısıyla ifadenin altındaki satır okunmadı.
Kod: Tümünü seç
new x = 5;
if(x > 10) {
//kod
}
else if(x == 5) {
//kod
}
// x'e ilk değer olarak 5 verdik. (5 > 10) sonucunda false değeri döndü ve if ifadesinin kod bloğu okunmadı.
Üstteki koşul sağlanmadığı için else if ifadesi okundu ve true değeri döndü. Eğer if ifadesinde true değeri dönseydi else if okunmayacaktı.
Kod: Tümünü seç
new x = 10;
if(x > 10) { // Eğer x değeri 10'dan büyükse yaz.
// yaz()
}
else if(x == 5) { // Eğer x değeri 10'dan büyük değil de 5'e eşitse ciz.
// ciz()
}
else { // Eğer üsttekilerin hiçbiri de değilse oku.
// oku()
}
Kod: Tümünü seç
new x = 100;
if(x < 100 && x > 50) { // Eğer x 100'den küçük ve 50'den büyükse uyu.
// uyu()
}
else if(x < 10 || x == 50) { // Eğer üstteki değilse de x 10'dan küçük veya 50'ye eşitse yat.
// yat()
}
else { // Eğer üsttekilerin tümü de doğru değilse uzan.
// uzan();
}
Kod: Tümünü seç
new x = 10;
switch(x) {
case 1: { // x değeri 1 ise koş.
// koş();
}
case 2: { // x değeri 2 ise yürü.
// yürü();
}
case 0..4: { // x değeri 0-4 (ikisi de dahil) arasındaysa uyu.
// uyu();
}
case 10: { // x değeri 10 ise yat.
// yat();
}
default: kalk(); // Üstteki tüm durumlar yanlışsa kalk.
}
ne olursa olsun okunmaktadır fakat pawn dilinde her bir case'in sonunda gizli bir break; komutu bulundurur.
Bu komut sistem tarafından okunduğunda içinde bulunduğu switch ifadesini veya herhangi bir döngüyü sonlandırır.
Dolayısıyla case'lerle belirtilen koşulların sağlanması halinde default etiketinin kod bloğu okunmamaktadır.
Bonus Örnek :
Kod: Tümünü seç
switch(get_user_team(id)) {
case 1: { // Takımı te ise
// ak47()
}
case 2: { // Takımı ct ise
// m4a1();
}
}