عبارت Switch

در بعضی مواقع شما میخواهید با توجه به یک مقدار مشخص شی شما عملی را انجام دهد البته شما میتوانید از if استفاده کنید اما زمانی که تعداد انتخاب ها(شروط) بیش از 2 یا 3 می شود استفاده از switch کار را اسان می کند

شکل کلی عبارت به شرح زیر است :

switch ()
{
case : ; ... ; break;
case : ; ... ; break;
...
default: ;
}

ابتدا نگاهی به اجزای ان بیندازیم :

Expression : متغیر مورد شرط

expression1 : مقدار مورد شرط

statement1 : دستورات اجرایی شرط

break : قطع و جدا سازی بین دو شرط

Default : حالت پیش فرض

نحوه نوشتاری این عبارت را خوب به خاطر بسپارید

حال نگاهی به نحوه کارکرد آن می کنیم ابتدا expression اجرا می شود سپس مقدار متغیر تعیین شده در expression با مقادیر تعیین شده در Case ها که همان expression1  و expression2 است مورد بررسی قرار میگیرد اگر با هر یک از آن ها برابر بود دستورات اجرایی آن حالت تا رسیدن به break اجرا می شوند اگر مقدار متغیر expression با هیچ یک از case ها برابر نبود حالت default مورد استفاده قرار میگیرد (البته اگر عبارت default  از قبل نوشته شده باشد)

نکته مهمی که باید در نظر داشته باشید این است که میتوانید از چند case برای یک دستورات اجرایی استفاده کنید برای این کار  اگر از break استفاده نکنید اجرای کد ادامه می یابد و مقدار متغیر مورد شرط با case های بعد نیز مقایسه می شود

به مثال زیر دقت کنید :

{
switch (keyboard_key)
   {
   case vk_left:
   case ord("A"):
      x -= 4;
      break;
   case vk_right:
   case ord("D"):
      x += 4;
      break;
   case vk_up:
   case ord("W"):
      y -= 4;
      break;
   case vk_down:
   case ord("S"):
      y += 4;
      break;
   }
}

در مثال بالا که در ایونت کیبورد قرار گرفته اگر دکمه فشرده شده با یکی از حالت های لیست شده برابر باشد دستورات آن اجرا می شود همانطور که ملاحظه میکنید از دو کیس برای یک دستور استفاده شده این یکی از راه های ایجاد حرکت برای کاراکتر پلیر در بازی است



نسخه PDF این مطلب را دانلود کنید






نویسنده: hadi eb