تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 4 از 7 اولاول 1234567 آخرآخر
نمايش نتايج 31 به 40 از 70

نام تاپيک: 2D Soccer Simulation - شبیه سازی فوتبال دو بعدی

  1. #31
    پروفشنال Mehrdad-bx's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    ?Open source
    پست ها
    882

    پيش فرض

    اگه باینری تیم هایی رو که رو سرور 13 اجرا میشن دارید لطفا بزارید
    باینری تیم WrightEagle(تیم دوم جهان در سه سال گذشته! البته شایدم چهار سال گذشته!!)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یه تیم ضعیف تر برای شروع کار:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یه تیم باز هم ضعیف تر:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته اینها بازم یه کم! قوی اند(البته برای شروع ضعیف اند)


    بازم باینری میخواین؟!

  2. #32
    اگه نباشه جاش خالی می مونه without_all's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    315

    12 سلام

    اول ميگم كه من بسيار بسيار مبتديم

    اين چند روزه كه كه تاپيك خواب بود من يه كم اطلاعات جم كردم
    حالا به قسمت كد نويسي رفتم
    بيس من هم UVA 3.3 هستش فقط نميدونم تو كدوم فايل و از كجاي فايل بايد شروع كنم
    C++ رو هم تقريبا بلدم

    با تشكر

  3. #33
    پروفشنال Mehrdad-bx's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    ?Open source
    پست ها
    882

    1

    اول ميگم كه من بسيار بسيار مبتديم

    اين چند روزه كه كه تاپيك خواب بود من يه كم اطلاعات جم كردم
    حالا به قسمت كد نويسي رفتم
    بيس من هم UVA 3.3 هستش فقط نميدونم تو كدوم فايل و از كجاي فايل بايد شروع كنم
    C++ رو هم تقريبا بلدم

    با تشكر

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


    اما اگه به خود بیس UVA علاقه دارید نه شبیه سازی فوتبال باید یه فایلی به نام main.c پیدا کنید(این فایل وجود خارجی دارد و مثال نبود) بعد اگه تونستید شخص برنامه نویسی پیدا کنید که تمام کد های آنرا بفهمد(خود jelle kok هم قبوله!!) جایزه میگیرید! معمولا (در این بیس هایی که من دیدم) در این فایل یه سری تصمیم های اولیه گرفته میشه و مشخص میشه اگه الان برای مربی برنامه اجرا شده(برای تمام اجزای تیم شما یه فایل اجرایی اجرا میشود) کلاس coach و تابع آن اجرا شود(که در فایل coach.cpp به تعریف و ... باید پرداخت)
    پس باید در همچین فایلی برای مربی برنامه بنویسید.
    و مشخص میشه اگه برای بازیکن اجرا شده کلاس و تابعی به نامplayer اجرا شه(در فایل player.cpp یا یه چیز تو همین مایه ها)
    همین سلسله مراتب ادامه داره، مثلا تو player گفته میشه اگه شماره ات از 6 کمتره فایل defense و در غیر اینصورت offense و....(این سلسله مراتب ها و درک این کار ها و کنترل اینها از هر چیزی مهم تره!)

  4. این کاربر از Mehrdad-bx بخاطر این مطلب مفید تشکر کرده است


  5. #34
    اگه نباشه جاش خالی می مونه without_all's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    315

    پيش فرض

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


    اما اگه به خود بیس UVA علاقه دارید نه شبیه سازی فوتبال باید یه فایلی به نام main.c پیدا کنید(این فایل وجود خارجی دارد و مثال نبود) بعد اگه تونستید شخص برنامه نویسی پیدا کنید که تمام کد های آنرا بفهمد(خود jelle kok هم قبوله!!) جایزه میگیرید! معمولا (در این بیس هایی که من دیدم) در این فایل یه سری تصمیم های اولیه گرفته میشه و مشخص میشه اگه الان برای مربی برنامه اجرا شده(برای تمام اجزای تیم شما یه فایل اجرایی اجرا میشود) کلاس coach و تابع آن اجرا شود(که در فایل coach.cpp به تعریف و ... باید پرداخت)
    پس باید در همچین فایلی برای مربی برنامه بنویسید.
    و مشخص میشه اگه برای بازیکن اجرا شده کلاس و تابعی به نامplayer اجرا شه(در فایل player.cpp یا یه چیز تو همین مایه ها)
    همین سلسله مراتب ادامه داره، مثلا تو player گفته میشه اگه شماره ات از 6 کمتره فایل defense و در غیر اینصورت offense و....(این سلسله مراتب ها و درک این کار ها و کنترل اینها از هر چیزی مهم تره!)

    سلام

    آقا من كه تازه شروع كردم بگو باچه بيسي شرو كنم (آسون باشه خودتم بلد باشي كه ميخوام ازت انقد سوال كنم كه از دست من گريه كني البته ميبيني اين روزا كم ميام ايمتحانهاي دانشگاه وگرنه وا ويلا
    هر بيسي كه گفتي لطفا از اولش دقيق توزيح بده از كجاش بنويسم

    با تشكر

  6. #35
    پروفشنال Mehrdad-bx's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    ?Open source
    پست ها
    882

    1

    چشم! قعلا دارم یه سری آموزش برای بیس مرصاد مینوسیم(تاحالا تو اینترنت از مرصاد آموزش پیدا نشده)
    فعلا هم مرصاد 2005 رو یه سری تغییرات دادم شبیه بیس شه، بدرد تازه کار ها میخوره، چون کار باهاش خیلی آسونه.
    اینم لینک دانلودش :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دانلودش کنید و بعد extract.
    میتونید با ترمینال به دایکتوریش برید و make رو بزنید تا کامپایل شه. احتمالا تا چند ساعت دیگه چند تا پست آموزشی درباره همین make زدن و باقی کارا مینویسم.

  7. این کاربر از Mehrdad-bx بخاطر این مطلب مفید تشکر کرده است


  8. #36
    پروفشنال Mehrdad-bx's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    ?Open source
    پست ها
    882

    10 شروع کار

    ابتدا از فایل های موجود شروع میکنیم:
    مهمترین فایل همون Main.cpp هست که خیلی جزیی بررسیش میکنیم،در اینجا مشخص میشه کسی که براش برنامه اجرا شده coach هست یا بازیکن. اگر coach بود از این به بعد کار با کلاس AdvancedCoach است وگرنه کار با کلاس AdvancedAgent.(باز هم تاکید میکنم برای همه اعضای تیم یک برنامه اجرا میشود و شما باید در کد خود مشخص کنید چه موقع coach اجرا شود چه وقت بازیکن، کی دفاع اجرا شود کی دروازه بان و...)
    پس تا اینجای کار ما به دو class مربی و بازیکن(AdvancedCoach و AdvancedAgent) رسیدیم.
    چون فعلا میخواییم فایل های همون وسطو بررسی کنیم (فعلا) کاری به این دو و باقی جزییات که به فایل های ریخته شده وسط بیس ربطی ندارند، کاری نداریم.
    Makefile و Makefile.common هم کارشون اینه که وقتی شما make رو در خط فرمان تایپ میکنید همه فایل ها رو کامپایل کرده و یک فایل به اسم TeamName]Agent] بسازند. که در حالت عادی MersadBaseAgent میباشد.
    فایل اجرایی شما startAll است که میاد به اندازه مورد نیاز(11 -12 تا) این MersadBaseAgent رو اجرا میکنه.startCoach و start5+goalie و ... هم تعدادی از بازیکن ها یا مربی رو اجرا میکنند.
    به جز killAll میتونید بقیه فایل هارو پاک کنید :دی
    (البته unpackLogFiles هم بعدا بدردتون میخوره، و header هم استفاده میشه، میتونید استفادش نکنید و بعد پاکش کنید، استفاده مفیدی نداره! فقط وقتی تیم start میشه نوشته های توش تو کنسول یا ... نوشته میشه. بود و نبودش یکیه،.تو start ها استفاده میشه، یعنی از بالای آنها برش دارید مساوی با اینه که ازش استفاده نمیکنید و میتونید پاکش کنید)

    مشکلی بود درخدمتم

  9. 2 کاربر از Mehrdad-bx بخاطر این مطلب مفید تشکر کرده اند


  10. #37
    اگه نباشه جاش خالی می مونه without_all's Avatar
    تاريخ عضويت
    Jun 2007
    پست ها
    315

    پيش فرض

    ابتدا از فایل های موجود شروع میکنیم:
    مهمترین فایل همون Main.cpp هست که خیلی جزیی بررسیش میکنیم،در اینجا مشخص میشه کسی که براش برنامه اجرا شده coach هست یا بازیکن. اگر coach بود از این به بعد کار با کلاس AdvancedCoach است وگرنه کار با کلاس AdvancedAgent.(باز هم تاکید میکنم برای همه اعضای تیم یک برنامه اجرا میشود و شما باید در کد خود مشخص کنید چه موقع coach اجرا شود چه وقت بازیکن، کی دفاع اجرا شود کی دروازه بان و...)
    پس تا اینجای کار ما به دو class مربی و بازیکن(AdvancedCoach و AdvancedAgent) رسیدیم.
    چون فعلا میخواییم فایل های همون وسطو بررسی کنیم (فعلا) کاری به این دو و باقی جزییات که به فایل های ریخته شده وسط بیس ربطی ندارند، کاری نداریم.
    Makefile و Makefile.common هم کارشون اینه که وقتی شما make رو در خط فرمان تایپ میکنید همه فایل ها رو کامپایل کرده و یک فایل به اسم TeamName]Agent] بسازند. که در حالت عادی MersadBaseAgent میباشد.
    فایل اجرایی شما startAll است که میاد به اندازه مورد نیاز(11 -12 تا) این MersadBaseAgent رو اجرا میکنه.startCoach و start5+goalie و ... هم تعدادی از بازیکن ها یا مربی رو اجرا میکنند.
    به جز killAll میتونید بقیه فایل هارو پاک کنید :دی
    (البته unpackLogFiles هم بعدا بدردتون میخوره، و header هم استفاده میشه، میتونید استفادش نکنید و بعد پاکش کنید، استفاده مفیدی نداره! فقط وقتی تیم start میشه نوشته های توش تو کنسول یا ... نوشته میشه. بود و نبودش یکیه،.تو start ها استفاده میشه، یعنی از بالای آنها برش دارید مساوی با اینه که ازش استفاده نمیکنید و میتونید پاکش کنید)

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

    بازم شرمنده

  11. #38
    پروفشنال Mehrdad-bx's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    ?Open source
    پست ها
    882

    10

    بررسی فولدر های موجود و فایل های داخل آنها


    اول از آنهایی شروع میکنیم که زیاد باهاشون کاری نداریم، HPSو SignalHandling رو کلا باهاشون کاری نداشته باشید(شاید بعدا بخواهید تغییرشان بدهید)
    Formation هم نیازی به این فولدر نداره، یعنی کار formation میتونه بدون این فولدر انجام بشه(ignore ش کنید)
    Coach هم همانطور که از اسمش پیداست مربوط میشه به مربی، زمان شورع و کار مبتدی کاری به مربی نداشته باشید(از کار های پیشرفته تر محسوب میشه)
    Connection هم مربوط به ما نمیشه و اتصال بازیکنان به سرور هستش و ...(نیازی نیست تغییرش دهید)
    بقیه فولدر ها خیلی مهم اند و تقریبا با تک تک فایلاشون کار داریم، چون کلاس های مهمی توشون تعریف شده که خیلی استفاده میشوند.


    Configs: فایل های .conf اینجا هستند که اهمیتشون به اینه که راحت میشه تغییرشون داد و نیازی هم به کامپایل ندارند.( با تغییر دادن قسمتی کوچکی از آنها ممکن است تیم شما تغییر کلی ای بکند) مثل PassFactors.conf که فاکتور های پاس و ضریب آنها(وزن آنها) در آن لحاظ شده. علاوه بر این کانفیگ های اصلی Agent.conf و Coach.conf هم اینجا هست.
    فعلا کاری به استفاده از کانفیگ و خواندن آنها در برنامه cpp نداریم.


    دیگه قاعده صادق نیست(اول از اونهایی شروع میکنیم که زیاد باهاشون کاری ندارم)، WorldModel خیلی مهمه.


    WorldModel:تقریبا مهم ترین فولدری که باید کاملا به فایل هاش، کلاس هاش و تابع های کلاس هاش مسلط باشید. چون زیاد ازشون استفاده میشه. ارتباط یک Agent با محیط بیرون و اطرافش(شایدم سرور) از طریق WorldModel است. مثلا این که الان ball کجاست(مختصاتش) یا چه سرعتی داره(بردار سرعت، جهت و مقدار داره که البته با مشخص کردن x و y در اینجا مشخص میشه)، نزدیک ترین بازیکن به توپ کیه، هم تیمی یا نه، شمارش چنده،مختصاتش چیه و ...؛ من الان کجام، شمارم چنده، چه type ی دارم(حدود 17 type داریم،مثلا یکی تند میدود ولی مثلا زود خسته میشه، و کوچک تر از بقیس به این معنی که از فاصله کمتری میتونه رو توپ اثر بذاره و... . یعنی هر کدوم ویژگی های خاص خودشو داره) همگی اطلاعاتی هستند که WorldModel در اختیار ما قرار میده.
    میشه گفت کلاس WorldModelUtilities مهم ترین فایل WorldModel است.(که از WolrdModelBase ارث میبره) همون فایلیست که باید بهش مسلط باشید.
    قبل از توضیح WorldModelUtilities باید کلاس های زیر را بررسی کنیم:

    1. Object: همونطور که از اسمش معلومه یک شی هست که به تنهایی بی کاربرد ترین فایل cpp موجود در بیس مرصاد است!! ولی خیلی خیلی مهمه! چون کلاس های مهمی مثل Player و Ball ازش ارث میبرند که Body هم از Player ارث میبره. مهم ترین متغییر هاش position و velocity و decay(میزان اصطکاک با زمین) هستند و تابع های مهمش هم get و set این متغییر ها به همراه getDistance که فاصله آن با یک نقطه یا یک Object دیگر رو برمی گردونه، هستند.
    2. Ball: همون توپ است که تابع های مهمش simulate ها و update ها و isValid هستند.(مثلا به جز توپ اصلی شما یک شی از کلاس Ball تعریف میکنید و simulateش میکنید،(اول برابر قرار دادیدش با توپ اصلی) میتونید با این کار بفهمید که مثلا بعدا اگر فلان اتفاق بیفته، توپ کجاس و چه وضعیتی داره،وضعیت مثل سرعت)
    3. Player: یک بازیکن، چون ممکن است که منظور خود Agent باشد تابع isBody وجود دارد(چون از خودش بیشتر از بقیه اطلاعات دارید) تابع های مهمش خیلی زیادن ولی برخی از آنها عبارتند از: isValid,isAlive زنده بودنش یعنی این که تو زمین هست یا نه، مثلا اگه بهش بگیم که برو به position توپ و تو valid نباشه، بازیکن kill میشه(به اصطلاح) و میره بیرون زمین و سیاه میشه(دیگه قایل استفاده نیست). کارهای که باعث kill شدن یک بازیکن میشوند بیشتر از این ها هستند. و مهمترین توابع Player تمامی get ها هستند!چون اطلاعات رو در اختیار ما قرار میدن، پس همشون رو بخونید و بلد باشید.
    4. Body:این کلاس هم خود بازیکن است.

    پیشنهاد من این است کد .h تمام این کلاس ها رو بخونید.(فایل h. ی که این کلاس ها در آن تعریف شده اند)


    فکر کنم دیگه زیاد شد. شما اینها رو فعلا بخونید، بقیه WorldModel رو بعدا میگم.
    مشکلی بود در خدمتم

  12. این کاربر از Mehrdad-bx بخاطر این مطلب مفید تشکر کرده است


  13. #39
    داره خودمونی میشه
    تاريخ عضويت
    Jul 2007
    پست ها
    107

    پيش فرض سوال در مورد Agent

    سلام

    من دارم کد Trilearn رو میخونم با چند تا مفهوم مشکل دارم

    1- مفهوم Agent: من میدونم Agent یه بازیکن از تیم خودیه ولی کدومشون. تو فایل WorldModel تمامی اطلاعات رو روی Agent تعریف کرده. مثلا میگه تیم agent . جهت Agent من اینا رو نمیدونم چون نمیدونم agent چیه ؟


    2- منطور از Heterogenous player کدوم بازیکناست.

    با تشکر

  14. #40
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2009
    پست ها
    3

    پيش فرض

    چاکر پروبچ خوش تیپ.نماز روزه! هاتون قبول.

    میشه بگید که این ارورا واسه چیه؟
    آخری که تابلوه ولی علت دوتای اول رو نمی فهمم.

    این تو نصب boost رخ میده:

    الان تقریباً یک سال از این پست می گذره و به احتمال زیاد این مشکل شما حل شده. برای کسانی که این به این فروم مراجعه می کنند، باید بگم که خطای اول به خاطر فرمت MS Windows برای فایل های متنی است که به احتمال زیاد فایل در ویندوز مایکروسافت ویرایش شده. راه حل استفاده از ابزار dos2unix است برای فایل configure یا هر فایلی که دستخوش چنین تغییری است ( که نشانه ی آن M^ انتهای هر خط است که دلیل آن را می توان در کاراکتر ترکیبی «خط جدید» در فرمت های dos، unix و mac جست) اجرا نمود. ابزار dos2unix در repository عمده توزیع های لینوکس یافت می شود. پس نصب دستور زیر را در شاخه دایرکتوری اجرا کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    راه حل دیگر پاک کردن تمام کاراکتر های M^ از فایل هاست که کار پر زحمتی است.
    موفق باشید.

  15. این کاربر از a_cartoonist بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •