آموزش یونیتی- قسمت شانزدهم

بازی ما تقریبا شکل گرفته است . تا به حال ، ما طراحی بازی ؛ محیط بازی ؛ کاراکتر بازیکن ؛ کاراکترهای غیربازیکن و انیمیشن ها را تکمیل کرده ایم . چند چیز دیگر باقی مانده تا بازی کامل شود . اسکریپت نویسی یکی از آنهاست . در ادامه برای انجام کارهای زیر اسکریپت می نویسیم :

  • مدیریت مقدار آب و غله ای که Colt جمع آوری می کند .
  • نظارت بر مقدار آب و غله ای که به هر حیوان مزرعه داده شده است .
  • مدیریت تبدیل یک بچه گراز یا جوجه به حیوانی بالغ.

قبل از رفتن به سراغ اسکریپت نویسی ، مرور کلی بر روی برنامه نویسی #C خواهیم داشت . ما همچنین نحوه اسکریپت نویسی در یونیتی و نحوه استفاده از MonoDevelop را نیز بررسی می کنیم . بعد از مطالعه چند قسمت آتی با مفاهیم زیر آشنا می‌شوید:

  • اصول #C
  • می توانید از MonoDevelop برای ایجاد و ویرایش اسکریپت ها ، استفاده کنید .
  • می توانید اسکریپت ها را در پروژه یونیتی ، پیدا کنید .
  • با نحوه خواندن اسکریپت های یونیتی آشنا می شوید .
  • می توانید اسکریپت های دلخواهتان را ایجاد کنید.

توجه : در ادامه خواهید دید که اصطلاحات اسکریپت نویسی و برنامه نویسی به جای یکدیگر استفاده می شوند . در این آموزش، هردو اینها ؛ یک مفهوم هستند.

برنامه نویسی #C


 #C یک زبان برنامه نویسی جامع است . آموزش نحوه استفاده از این زبان ، خارج از حد این کتاب است . اما در این قسمت ، ما اطلاعات مناسبی را فراهم کرده ایم تا بتوانید اسکریپت هائی را که برای بازی می نویسیم ، درک کنید.

 #C یک زبان برنامه نویسی مبتنی بر تابع و شئ گراست . تابع ها ؛ قطعاتی از کدهاست که ما اسکریپت نویسی می کنیم و دارای قابلیت استفاده مجدد هستند . مثلا اگر اسکریپتی به نام feedPig ایجاد کنیم ؛ احتمال دارد این اسکریپت مسئول مدیریت انتقال آب و غله از Colt به یک گراز باشد . چون ما چندین گراز در بازی داریم ؛ احتمالا از این تابع خیلی زیاد استفاده خواهد شد . همانطور که گفتم ، #C یک زبان برنامه نویسی شئ گراست . زبان های شئ گرا از کلاس ها استفاده می کنند . کلاس ها مجموعه ای از داده ها و تابع ها هستند . برای مثال اگر یک کلاس به نام babyChick داشته باشیم ؛ این کلاس می تواند داده “مقدار غله مصرف شده توسط جوجه” را نگه دارد . کلاس دیگری می تواند “عمل رشد و تبدیل جوجه به مرغ” را انجام دهد.

گرامر


گرامر زبان برنامه نویسی ، شبیه به ساختار جمله و دستور زبان است . کد #C زیر را در نظر بگیرید

  ;int cornAmount = 0

لیست زیر نشان می دهد ، این کد درباره چه چیزی است:

  در سمت چپ علامت مساوی ؛ int cornAmount است . این متغییر جدید  (cornAmount )به عنوان یک عدد صحیح اعلام شده است . بنابراین ، نحوه اعلام یک عدد صحیح ، استفاده از int و سپس اسم متغییر است.

  ۰ = یک مقدار به عدد صحیح واگذار می کند . در این مورد ؛ این مقدار صفر است .

کد با یک سمیکولون (;) پایان یافته است .

آموزش یونیتی- قسمت شانزدهم

چند نکته در خصوص برنامه نویسی در #C

  • فاصله ها معمولا مهم نیستند مگر اینکه بخشی از یک متن باشند . در بیشتر قسمت ها ، #C  فاصله ها را نادیده میگیرد.
  • حرف کوچک و بزرگ ، باعث ایجاد تفاوت می شود . مثلا cornAmount و cornamount یکی نیستند .


قراردادهای نام گذاری


هنگام برنامه نویسی ، استفاده از یک قرارداد نام گذاری ، کمک کننده خواهد بود . چندین دلیل برای انجام این کار وجود دارد:

  • اولا ، خواندن کدها را آسان تر می کند .
  • همچنین به افرادی غیر از برنامه نویس اصلی کمک می کند ، به سرعت کدها را بفهمند .
  • سومین مزیت استفاده از یک قرارداد نام گذاری این است که به شما کمک می کند سریع تر برنامه بنویسید .

در زیر چند مثال از قراردادهای استاندارد نام گذاری می بینید .

اسامی کلاس ها ، تابع ها و متدها حرف اول هر کلمه از اسم کلاس ها ، تابع ها و متدها باید یک حرف بزرگ باشد . در مثال های زیر ، EatCorn ؛ Start و Update از این قرارداد پیروی می کنند

}public class EatCorn : MonoBehavior
}  void Start ( )
 } void Update ( )
{
{

 

آموزش یونیتی- قسمت شانزدهم


قرارداد  Camel case


 متغییرهــا و آرگومــان هــا از قــراردادی معــروف بــه camelCase اســتفاده مــی کننــد . ایــن قــرارداد مــی گویــد ، اولــین کلمــه دارای حــرف کوچــک باشــد امــا کلمــات بعــدی بــا حــرف بــزرگ شــروع شــوند . ســه مثال زیر را ببینید

  pigletGrowth
 coltCornHolding
chickenEatCorn


اختصار


هنگام برنامه نویسی باید از اختصار و کوتاه نویسی دوری کرد البته به جز چند استثنا . قبلا دیدیم که برای integer) اعداد صحیح) از int استفاده کردیم . این علاوه بر اینکه یک اختصار است ، یک کلمه کلیدی #C است . مثال های زیر زمانی را نشان می دهد که نباید از اختصار و کوتاه نویسی استفاده کرد:

مثال بد:  p1CrnCon

مثال خوب:  piglet1CornConsumed

مثال بد  cknay

مثال خوب: chickenArray

مثال بد: plyH20Hld

مثال خوب: playerWaterHeld

هدف این قرارداد ؛ خواناتر شدن اسکریپت هاست .


کاراکترهای خاص


باید از استفاده کاراکترهای خاص مثل خط تیره (-) و underscore (_ ) دوری کرد . اینها تعداد خطاهای ممکن در زمان اسکریپت نویسی را افزایش می دهند . بنابراین به جای Array_chicken از chickenArray استفاده کنید .


انواع داده


در #C بیش از ۱۲ نوع داده استفاده می شود و حتی خودتان نیز می توانید یک نوع داده مخصوص ایجاد کنید . لیست زیر ، انواع داده مورد استفاده در بازی ما خواهد بود :

نوع داده : بولی (bool)

توضیح : True یا False (صحیح یا غلط)

نوع داده : عدد صحیح (int)

توضیح:  همه اعداد بین ۲,۱۴۷,۴۸۳,۶۴۸- تا ۲,۱۴۷,۴۸۳,۶۴۷

نوع داده : رشته متنی (string)

توضیح : متن هائی مثل “Colt Farmer Hello “

نوع داده : آرایه

توضیح : آرایه ها را می توانید به شکل داده های کنار هم در حافظه ؛ تصور کنید.


منبع:
javad.arbabi e-book
ir.dev-bazi