سرویس نوبت محور «TurnBased»

مقدمه

سرویس بازی های نوبتی به شما کمک میکند بازی هایی با اعمال نوبتی طراحی کنید. بدین صورت که در هر لحظه تنها یکنفر قادر به ارسال داده به سایر بازیکنان باشد. این نوبت توسط سرور یا نفر قبلی که داده ای ارسال کرده است مشخص میشود. در پایان نیز با استفاده از مکانیزم رای گیری از کاربران نتیجه بازی مورد تایید و مشخص میشود. برای آشنایی بیشتر با گردش چرخه بازی در ادامه توضیحاتی ارایه شده است.

چرخه بازی

۱- پس از ایجاد یک اتاق بازی و اتصال به سرور بازی های نوبتی به ازای هر بازیکن که به بازی افزوده شود رویداد onJoin به کاربران ارسال میشود. این رویداد حاوی اطلاعات بازیکن جدید میباشد.

۲- سرور بازی های نوبتی به صورت خودکار اولین نفر متصل شده به اتاق را به عنوان نوبت اول در نظر میگیرد. این رویداد توسط onChooseNext به اطلاع بازیکنان میرسد.

۳- بازیکنی که نوبت آن به اطلاع رسیده است میتواند با استفاده از تابع  takeTurn داده ای را به سایر بازیکنان ارسال کند. ورودی دوم این تابع مقدار آیدی بازیکن بعدی است. در صورتی که این مقدار را ارسال نکنید نوبت همچنان بر روی کاربر قبلی باقی میماند و این بازیکن میتواند چندین بار از این تابع استفاده کند.

۴- در صورتی که بخواهید بازیکن بدون ارسال داده بازیکن بعدی را مشخص کند میتوانید از تابع chooseNext استفاده کنید. ورودی این تابع مقدار آیدی فرد بعدی است و در صورت ارسال بدون ورودی سرور نفر بعدی را مشخص خواهد کرد.

۵- برای ارسال آیدی دیگر بازیکنان به لیست بازیکنان اتاق نیاز دارید. این لیست از طریق RoomMembersDetail قابل دریافت است.

۶- در انتها زمانی که بازی را اتمام یافته تشخیص دادید از تابع Finishاستفاده میکنیم. این تابع لیستی از امتیازات و رتبه بازیکنان را «از نظر بازیکنی که لیست را ارسال میکند» دریافت و برای سایر بازیکنان ارسال میکند. تهیه این لیست برعهده بازیکن و دیگر بازیکنان این لیست را قضاوت خواهند کرد.

۷- دیگر بازیکنان پس از مقایسه لیست دریافتی با نمونه خود آن را با استفاده از تابع onComplete و آیدی فرد ارسال کنند تایید میکنند.

۸- پس از اینکه تعداد آرا به تعداد بازیکنان رسید لیستی که بیشترین رای را آورده است به همه بازیکنان اعلام میشود.

برای آشنایی با نحوه پیاده سازی چرخه بازی های نوبتی مطلب پیاده سازی با اتصال مورد نظر را مطالعه بفرمایید.

پلاگین موتور یونیتی