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

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




صفحه 2 از 7 اولاول 123456 ... آخرآخر
نمايش نتايج 11 به 20 از 66

نام تاپيک: 2D Soccer Simulation --- هوش مصنوعی -- Closed

  1. #11
    داره خودمونی میشه tizhoosh4com's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    71

    پيش فرض

    تاپیک خیلی جالب راه انداختی محسن جان می تونه مرجع خوبی برامون بشه !


    من هم میتونم بازی این شکلی بسازم ولی باید زیاد روش تمرکز بشه.
    اصلا بحث سر ساخت چنین چیزی نیست !!!
    اگر توپ به طرف دروازه می آمد دو تا خط از توپ به دو سر تیرک دروازه رسم کن و دروازه بان روی نیمساز بین این دو خط حرکت کند و اگر توپ از 2 متری اش رد شد اونا بگیر ...
    چرا نیمساز ؟ نمیساز چه خصوصیتی داره که در اینجا میشه ازش استفاده کرد ؟


    میشه تو این تاپیک در مورد برنامه نویسی تیم هم صحبت کرد یا فقط باید بحث در مورد هوش مصنوعی باشه ؟

  2. #12
    حـــــرفـه ای Moh3en_DDD's Avatar
    تاريخ عضويت
    Jun 2005
    محل سكونت
    1391
    پست ها
    3,761

    پيش فرض

    تاپیک خیلی جالب راه انداختی محسن جان می تونه مرجع خوبی برامون بشه !



    اصلا بحث سر ساخت چنین چیزی نیست !!!


    چرا نیمساز ؟ نمیساز چه خصوصیتی داره که در اینجا میشه ازش استفاده کرد ؟


    میشه تو این تاپیک در مورد برنامه نویسی تیم هم صحبت کرد یا فقط باید بحث در مورد هوش مصنوعی باشه ؟
    بهیه ! تویی ؟

    چند تا User داری تو ؟

    چرا نیمساز ؟ نمیساز چه خصوصیتی داره که در اینجا میشه ازش استفاده کرد ؟
    چون ما که نمی دونیم بازیکن توپ را می خواد به کجا شکیک کنه . . . پس باید دقیقا وسط ترین نقطه ای که وجود داره بیاستیم ... وسط ترین نقطه هم نقطه های روی نیمساز هستند ...

    میشه تو این تاپیک در مورد برنامه نویسی تیم هم صحبت کرد یا فقط باید بحث در مورد هوش مصنوعی باشه ؟
    جفتش یکیه ... منظور من برنامه نویسیه هوش مصنوعی تیم است . ..

    اگه بهیه هستی بگو تا برات تابع های Basic Player را 30 تاش را ترجمه کردم ... بهت بدم ..

  3. #13
    داره خودمونی میشه tizhoosh4com's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    71

    پيش فرض

    آره خودمم ! اون تابع ها را هم اگه بدی خیلی ممنون میشم.

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

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

    چقدر سوال پرسیدم !!


    خردی !!! تاحالا وقت کردی تیم بنویسی ؟ اگه نوشتی منم یکی نوشتم بیا یه تست بزنیم ببینیم چند چند میشند !!!

  4. #14
    حـــــرفـه ای Moh3en_DDD's Avatar
    تاريخ عضويت
    Jun 2005
    محل سكونت
    1391
    پست ها
    3,761

    پيش فرض

    آره خودمم ! اون تابع ها را هم اگه بدی خیلی ممنون میشم.



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

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

    چقدر سوال پرسیدم !!


    خردی !!! تاحالا وقت کردی تیم بنویسی ؟ اگه نوشتی منم یکی نوشتم بیا یه تست بزنیم ببینیم چند چند میشند !!!


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

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که وردوی هاش به صورت زیر هست :

    obj : ابجکت حریف که می خواهیم از آن دفاع کنیم .
    double : یک عدد اعشاری که میگه ما در چند متری بازی کن حریف بیاستیم .
    mark type : این تابع سه نوع مدل داره که به شرح زیر است :

    MARKGOAL :
    این نوع میگوید که بازی کن ما روی خط بین توپ و بازیکن و در فاصله ی double (ورودی دوم ) قرار بگیرد تا توپ نتوانت به بازیکن حریف برسد .
    MARKBALL:
    این نوع می گوید که بازی کن ما روی خط بین وسط دروازه و بازی کن حریف بیاستد در فاصله ی Double ..
    MARKBISECTOR :
    این نوع میگوید که بازیکن ما روی نیمساز بین توپ - بازیکن حریف - وسط دروازه بیاستد.

    حالا با استفاده از این تابع ها میتونیم وسط بین دو بازی کن بیاستیم تا نتونند به هم پاس بدند ..



    یه مشکل دیگه ای که من دارم باهاش اینه که به الگوریتم صحیحی برای چرخش زاویه دید بازیکن نتونستم برسم. یعنی ما چطور زاویه دید بازیکن را تغییر بدیم تا بتونیم بیشترین اطلاعات را از محیط اطراف بدست بیاریم مثل : مکان دقیق بازیکنهای نزدیک تیم خودی و حریف ، مکان دقیق توپ ، ....
    این تابع ها همش توی World Model هست ...
    چند تا پر کاربرد ترین تابع هاش را میگم :

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این تابع مختصات Obj را برمی گرداند ... obj میتواند توپ باشد , بازیکن باشد یا هر چیز دیگری ...
    مثلا برای گرفتن مختصات توپ باید بنویسی :

    getGlobalPost(OBJECT_BALL);
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این تابع مختصات نزدیک ترین آبجکت را برمی گرداند ... ورودی های زیادی داره ... خودت برو از تو word model بخون ...

    خردی !!! تاحالا وقت کردی تیم بنویسی ؟ اگه نوشتی منم یکی نوشتم بیا یه تست بزنیم ببینیم چند چند میشند !!!
    نه هنوز !! حالش را نداشتم ... ولی دیگه امیدی نداریم ... رد شدیم رفت ... کاشی امید های واهی میداد





  5. #15
    داره خودمونی میشه tizhoosh4com's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    71

    پيش فرض

    که وردوی هاش به صورت زیر هست :

    obj : ابجکت حریف که می خواهیم از آن دفاع کنیم .
    double : یک عدد اعشاری که میگه ما در چند متری بازی کن حریف بیاستیم .
    mark type : این تابع سه نوع مدل داره که به شرح زیر است :


    MARKGOAL :
    این نوع میگوید که بازی کن ما روی خط بین توپ و بازیکن و در فاصله ی double (ورودی دوم ) قرار بگیرد تا توپ نتوانت به بازیکن حریف برسد .
    MARKBALL:
    این نوع می گوید که بازی کن ما روی خط بین وسط دروازه و بازی کن حریف بیاستد در فاصله ی Double ..
    MARKBISECTOR :
    این نوع میگوید که بازیکن ما روی نیمساز بین توپ - بازیکن حریف - وسط دروازه بیاستد.


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

    این تابع ها همش توی World Model هست ...
    چند تا پر کاربرد ترین تابع هاش را میگم :
    درسته ولی مثلا همین searchball یه مشکل داره.
    من وقتی از این searchball برای دروازبان استفاده کردم خوب می تونست توپ را دنبال کنه اما در بعضی از موقیعت ها توپ را گم می کرد و دیگه تا 5 ، 6 ثانیه توپ را نمی تونست پیدا کنه!


    چطور میشه از دستور :
    WM->setAgentViweAngle استفاده کرد.
    من هرکاری کردم نتونستم کاری کنم که مثلا زاویه دید بازیکن Wide یا Narrow بشه.


    این تابع ها همش توی World Model هست ...
    چند تا پر کاربرد ترین تابع هاش را میگم :



    کد:
    searchBallاین تابع دنبال توپ میگرده و وقتی پیداش کرد زاویه بدن را در راستای مختصات توپ میکنه ...


    کد:
    getGlobalpos(obj)این تابع مختصات Obj را برمی گرداند ... obj میتواند توپ باشد , بازیکن باشد یا هر چیز دیگری ...
    مثلا برای گرفتن مختصات توپ باید بنویسی :


    نقل قول:
    getGlobalPost(OBJECT_BALL);

    کد:
    getClosetInSetToاین تابع مختصات نزدیک ترین آبجکت را برمی گرداند ... ورودی های زیادی داره ... خودت برو از تو word model بخون ...
    به نظر من باید بیشتر روی این کار کنیم که چطور خودمون از این توابع درست کنیم مثلا چطور یه چیز شبیه همون BestPass بنویسیم به طوری که نزدیکترین بازیکنی که بازیکنان حریف کمتر احاطه کرده باشندش (!) را پیدا کنیم .
    تا با استفاده از این تابع به بازیکنی که دربهترین شرایط قرار داره پاس بدیم.

  6. #16
    حـــــرفـه ای Moh3en_DDD's Avatar
    تاريخ عضويت
    Jun 2005
    محل سكونت
    1391
    پست ها
    3,761

    پيش فرض

    چطور میشه از دستور :
    WM->setAgentViweAngle استفاده کرد.
    من هرکاری کردم نتونستم کاری کنم که مثلا زاویه دید بازیکن Wide یا Narrow بشه.
    برای این کار باید از دستور زیر استفاده کنی :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که ورودی هاش میتونه اینا باشه :

    VA_NARROW, VA_NORMAL, VA_WIDE or VA_ILLEGAL

    درسته ولی مثلا همین searchball یه مشکل داره.
    من وقتی از این searchball برای دروازبان استفاده کردم خوب می تونست توپ را دنبال کنه اما در بعضی از موقیعت ها توپ را گم می کرد و دیگه تا 5 ، 6 ثانیه توپ را نمی تونست پیدا کنه!
    فکر کنم مشکلش اینکه بعضی وقت ها توپ از زاویه دید دروازه بان خارج میشه و بعضی وقت ها هم یک بازی کن جلوی دید دروازه بان را میگیره و نمی زاره دروازه بان توپ را ببینه .. البته مطمئن نیستم .

  7. #17
    حـــــرفـه ای Moh3en_DDD's Avatar
    تاريخ عضويت
    Jun 2005
    محل سكونت
    1391
    پست ها
    3,761

    پيش فرض

    این آموزش را بخونی 50 % مشکلاتت حل میشه !!

    اگه پسورد خواست اینا بزن :

    Moh3en_DDD

  8. #18
    داره خودمونی میشه tizhoosh4com's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    71

    پيش فرض

    محسن جان دستت درد نکنه خیلی حال داد ! :d
    میگم من هنوز نتونستم از این دستور WM->SetViweAngle استفاده کنم یعنی توی PlayerTeames.cpp که ازش استفاده کردم به هیچ نتیجه ای نرسیدم. وقت کردی یه نگاه بنداز ببین چطوریا باید ازش استفاده کرد.

  9. #19
    کـاربـر بـاسـابـقـه dizgah's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    8PAR
    پست ها
    1,820

    پيش فرض

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

  10. #20
    حـــــرفـه ای Moh3en_DDD's Avatar
    تاريخ عضويت
    Jun 2005
    محل سكونت
    1391
    پست ها
    3,761

    پيش فرض

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

    دقیقا Soruce هاش هست یا binary هاش هست ؟ اگه سورس هاشه حتما این کارا بکن


    میگم من هنوز نتونستم از این دستور WM->SetViweAngle استفاده کنم یعنی توی PlayerTeames.cpp که ازش استفاده کردم به هیچ نتیجه ای نرسیدم. وقت کردی یه نگاه بنداز ببین چطوریا باید ازش استفاده کرد.
    فعلا لینوکسم خرابه ... نمیتونم امتحان کنم ... ولی باید همین دستور باشه ...

Thread Information

Users Browsing this Thread

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

User Tag List

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

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