ویدیوهای راهنمایی منتشر شد.

 

  توضیح بازی و اطلاعات مربوط به server, client:

https://www.aparat.com/v/dmL3k 

 


 

آموزش اجرای server:

ubuntu:

 https://www.aparat.com/v/VioI6

 


 

آموزش نصب برنامه‌های ادیتور jetbrains:

برای راحتی در کدزنی این برنامه‌های برای زبان‌های مختلف پیشنهاد می‌شود:

python: PyCharm

java: IntelliJ

c++: CLion

نصب تمامی نسخه‌ها شبیه به یکدیگر است.

ubuntu:

لینک ویدیو آموزشی

windows:

لینک ویدیو آموزشی

 


 

آموزش اجرای client:

باقی زبان‌ها نیز به همین شکل است. توضیحات اضافه در Readme ریپازیتوری کلاینت مربوطه وجود دارد.

 


 

آپدیت ۱: ویدیو آموزش اجرای کلاینت‌ها قرار داده شد.


پرسش و پاسخ و نظرات

از کیفیت خارق العاده ویدیو هاتون به وجد اومدیم :)))
لااقل میگشتین دنبال یه گوشی بهتر، با ۱۱۰۰ فیلم نمیگرفتین :))))

برای کم حجم بودن ویدیوها ناچاریم کیفیت رو کم کنیم :)

قطعا اونچه که مهمه اینه که ویدیو ها قابل دیدن باشن. بعد از اون حجم
برای کسی که حجم براش مهم نیس، بهترین کیفیت رو بذارین!

آپارات خودش فیلم رو کیفیت پایین تر هم قرار میده. شما با کیفیت 1080p آپلود کن خود آپارات انواع کیفیت ها قرار میده برای مشاهده

ویدیو اول خوب بود // امیدوارم تو باقی ویدیو ها یه ویدیو پیدا بشه که توش یه کد مختصر بزنین و اجرا بگیرین و بذارین تو نمایشگر // واقعا نیازه که یکبار روند کااااامل مسابقه رو ببینیم // واقعا هرجور فکر میکنم این ویدیو ها باید قبل از شروع مسابقه آماده میشد !
#روزسوم #کمی_بهتر_از_روزدوم ...

👍👍

اینقدر سخت بود در دو کیفیت ویدوئو رو می ذاشتین . (فک کنم اگه کیفیت اصلی رو می ذاشتین خود آپارات نسخه های کم کیفیت تر رو قرار می داد)

سلام.
توی ویدیو همون اطلاعاتی که توی داکیومنت بود دوباره گفته شد ولی ابهامات من هنوز برطرف نشده.

مهمترین مسئله توی بازی استراتژیک اطلاعات دشمنه. چقدر از اطلاعات دشمن رو میتونیم داشته باشیم؟ مثلاً اگه یه هیرو پشت سنگ باشه یه هیرو از من ممکنه نتونه ببینه ولی اگه با یه حرکت جابجا شدن میتونه ببینه. آیا بعد از هر یک گام حرکت میشه اطلاعات نقشه و حریف رو دوباره گرفت؟
و اینکه حریف صبر میکنه که من 6 فاز حرکت کنم و اکشن کنم بعد اونم 6 فاز حرکت میکنه و اکشن میکنه؟
یا هم زمان اجرا میشن؟
وقتی نوبت ما نیست چجوری بفهمیم که زیر ضرب هستیم و از گریز استفاده کنیم؟
امتیازدهی ها بعد از هر نوبت از یک بازیکن انجام میشه یا بعد از اجرای 7 فاز هر دو بازیکن؟

سلام.
پاسخ تمامی ابهاماتی که مطرح کردید در مستند بازی (داکیومنت) موجود است.
در رابطه با اینکه کدام اطلاعات دشمن قابل مشاهده است، جلوی فیلدهای مرتبط با قهرمان و قابلیت اعمال شده (توابع get آنها) ذکر شده است. برای مثال گفته شده که سلامتی فعلی قهرمانان حریفی که در دید ما قرار دارند معتبر است.
پس ازهرفاز (چه انتخاب، چه حرکت و چه عمل) اطلاعات به روز می‌شوند.
فازها برای هردوتیم مشترک است. انتخاب قهرمان و حرکت کردن و اعمال قابلیت برای هردوتیم به طور همزمان (از نظر فازی) و در انتهای هر فاز مربوطه رخ می‌دهد.
برای استفاده از گریز از روی حرکات و حملات قبلی حریف باید پیش‌بینی کنید یا حدس بزنید که در این فاز قرار است که آسیبی متوجه قهرمان شما هست و گریز کنید. از آنجا که اثر قابلیت‌ها در یک فاز به تمامی اعمال می‌شوند، باید از پیش تصمیم به گریز گرفت.
امتیازدهی در انتهای فاز عمل یعنی فاز هفتم هر نوبت به روزرسانی می‌شود. نوبت‌ها و فازها گسستگی زمان در تمام بازی و برای هردوتیم مشترک است.

ممنون از توضیحاتتون

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

امشب انشالله در رابطه با اجرای کلاینت و طی کردن مراحل از سرور تا پایان یک ویدیو خواهیم داشت.

تابع getPickPhaseNum نداریم؟ اگه نداریم چطور بفهمیم توی کدومش‌ایم؟

توابع فایل ai توسط کلاینت صدا زده می‌شن.
در نتیجه شما کدی که داخل pickturn برای مثال میزنین، فقط وقتی اجرا میشن که موقع pickturn است!

ولی مساله اینه که ۴ بار pickTurn داریم...

با world.getCurrentTurn()
۰
۱
۲
۳
میتونین بفهمین تو کدوم pick turn هستیم :)

آخرین ورژن کلاینت سی‌پلاس‌پلاس رو دارم
آخرین ورژن سرور رو هم دارم
مساله اینه که وقتی یه درمانگر پیک می کنم توی لاگِ گرافیک نگهبان پیک شده و برعکس ینی درمانگر و نگهبان اشتباها بجای همدیگه پیک میشن!

میشه لطفا نقشه آپلود شده رو تایید کنید ؟ (یکی از نقشه های خودتون هست)

نقشه‌هایی تایید میشن که به اندازه کافی با نقشه‌های موجود متفاوت باشند و دلیل اینکه نقشه‌های اولیه در بازی دوستانه موجود نیست اضافه نشدن نمایشگر تا الان هست.

چجوری میتونیم یه نقشه درست کنیم؟

یه سازنده نقشه قرار می‌دیم.

خوب نمایشگر رو اضافه کنید :|

مگه تو مرحله ی move هر کاراکتر نمی تونه یه بار جا به جا بشه؟
من که کد می زنم تو هر راند هر هیرو رو فقط یه بار جا به جا می کنه.

توی هر فاز move هر هیرو حداکثر یک خونه میتونه جابجا شه.

اما الان تو هر راند یدونه جا به جا میشه
کلاینت پایتون

درست شد

بحث بعدی که وجود داره اینکه شما توی فیلم اموزشی ۲ تا main باهم برنامه رو اجرا کردید ولی تو editor من که version
2018.3.2(community edition)
هس یه همچین اجازه ای ندارم و میگه باید Rerun بشه تو سایت خودشون هم که چک کردم اینو میاره
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206444439-suddenly-I-can-t-run-multiple-program-in-parallel
که باز هم اول باید یکی تموم شه بعد بعدی اجرا شه
حالا باید چیکار کرد که همزمان اجرا بشه؟؟

توی intellij قابلیت run in parallel وجود داره که اون مشکل حل میشه علاوه بر اون میتونین دو تا window باز کنین با دوتا پروژه مختلف و هر کدوم رو جداگونه اجرا کنید :)

به یک فایل AI برای مثال نیازمندیم :|
نمیدونم چجوری pick و move و action کنم
نمیدونم تو تابع preprocess چی باید بنویسم

به یک نمایشگر بازی نیازمندیم :|

لطفا بگین چه زمانی اینا در اختیار ما قرار میگیره
نگین به زودی... :/

مثال‌های فایل AI برای هر سه کلاینت در گیت‌هاب قرار گرفته است.

من یه مپ خودم درست کردم , به اندازه کافی هم با مپ های شما متفاوته و آپلود کردم . لطفا تایید کنید تا بتونم بازی دوستانه انجام بدم

سرور هم با این مپ مشکلی نداره و لود میکنه

این چه وضعشه اخه ، بدین این نمایشگر رو دیگه ، هیچی معلوم نیست

شما میتونید از روی نوع خونه های مپ , یه شماتیکی درست کنید ( صرفا با حلقه فور و پرینت)

زین پس میتونین با
java -jar server.jar --view
و باز کردن فایل view.html خروجی بازی رو ببینین
(این یه نمایشگر غیراصلی هست!)

آقا جدا تو یوتوب آپلود کنین. هم ما راحت‌تر و سریع‌تر می‌بینیم (آپارات خیلی داغونه خداییش!) هم کیفیتش انقدر داغون نمی‌شه.

برای پرسش و پاسخ وارد شوید