Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص

رثاء

‏خالص العزاء والمواساه في وفاة العضو القدير الأخ ياسر ياسين رحمه الله

https://www.maxforums.net/node/3676654
شاهد أكثر
شاهد أقل

مساعدة في ذكاء إصطناعي للعدو (لمتوسطي الخبرة في البرمجة)

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • مساعدة في ذكاء إصطناعي للعدو (لمتوسطي الخبرة في البرمجة)

    السلام عليكم إخواني الأعزاء. أنا أحاول تصميم لعبة 2دي , اللعبة شبيهة نوعا ما بلعبة Metal Slug ولعبة Contra.

    Metal Slug


    Contra


    الشيء الذي انا عالق فيه في الوقت الحال هو كيفية برمجة العدو. لحد الأن جعلته فقط يبحث عن البطل و يطلق عليه الرصاص. ما أريده هو أن يبحث العدو عن البطل ويذهب بإتجاهه وإذا كان قريبا يقوم بذبحه اما إذا كان بعيدا ولا يستطيع التقدم يقوم بإطلاق الرصاص أو العكس يقوم بإطلاق الرصاص من بعيد وإذا إقترب منه البطل بقوم بذبحه. على كل حال القصة الطويلة وانا أعي ذلك , لهذا ما أريده منكم هو إرشادي فقط إلى موقع او فيديو به مثل هذه البرمجيات وحتى وإن كانت بالإنجليزية أي مكان فيه أفكار عن كيفية برمجة الذكاء الإصطناعي , أو من كانت لديه فكرة مغايرة ومفيدة فليطرحها هنا وانا من سيقوم بكتابة النص البرمجي.
    وشكرا مقدما
    قال رسول الله صلى الله عليه وسلم: "<سياتى على أمتى سنوات خداعات يكذب فيها الصادق و يصدق فيها الكاذب ويؤتمن الخائن و يخون فيها الامين وينطق فيها الرويبضه) قيل (وما الرويبضه؟) قال: (الرجل التافه السفيه يتكلم فى أمر العامة">.
    مدوتني " الفنان الخبير " : http://www.theexpertartist.blogspot.com
    كامارو من تصميم : http://www.maxforums.net/showthread.php?t=229027

  • #2
    تفضل أخي أظن البرمجة يجب أن تكون كالتالي
    اذا كانت حركة العدو في المحور x لا تتغير أو تزيد ( بمعنى وجود عائق ) فان العدو سيتوقف و سيطلق النار
    أما اذا كانت حركة العدو في المحور x تتغير أو تزيد ( بدون عوائق )
    فاذا كان هناك تصادم مع لاعب فيجب ذبحه
    أما اذا لم يكن هناك تصادم فالعدور سيستمر في الحركة

    أرجو أن أكون قد وفقت في شرح

    قال الله سبحانه وتعالى: (إنَّ اللهَ وملائكَتَهُ يُصَلُّونَ على النَّبي يا أَيُّها الذِّين آمَنوا صَلُّوا عَلَيهِ وَسَلِّمُوا تَسْلِيما ً)


    تعليق


    • #3
      أهلا أخي بالتأكيد هل فقط يمكنك اخباري ماهو المحرك الذي تستعمل لكي أتمكن من مساعدتك

      تعليق


      • #4
        ادا كنت تستخدم محرك Unity3D استخدم متغير Vector3.Distance .
        مدونتي Home OF Games تهتم بتطوير الألعاب
        قناتي
        YouTube

        لو كان Internet Explorer شجاعاً لطلب منك ان يكون متصفحك الشخصي, فعليك ان تكون شجاعاً كفاية لتقوم بكل خطوة صعبة
        .

        تعليق


        • #5
          نعم أنا أستخدم بونتي ’
          بالجافا سكريبت
          قال رسول الله صلى الله عليه وسلم: "<سياتى على أمتى سنوات خداعات يكذب فيها الصادق و يصدق فيها الكاذب ويؤتمن الخائن و يخون فيها الامين وينطق فيها الرويبضه) قيل (وما الرويبضه؟) قال: (الرجل التافه السفيه يتكلم فى أمر العامة">.
          مدوتني " الفنان الخبير " : http://www.theexpertartist.blogspot.com
          كامارو من تصميم : http://www.maxforums.net/showthread.php?t=229027

          تعليق


          • #6
            نصيحة مني استخدم c# افضل و اسهل و مرتبة و مطورة .
            مدونتي Home OF Games تهتم بتطوير الألعاب
            قناتي
            YouTube

            لو كان Internet Explorer شجاعاً لطلب منك ان يكون متصفحك الشخصي, فعليك ان تكون شجاعاً كفاية لتقوم بكل خطوة صعبة
            .

            تعليق


            • #7
              كود PHP:
              #pragma strict

              var speed float 1.0f// سرعة تحرك العدو
              var distance float 2f;    // مسافة العدو بينه وبين لاعب أو الحاجز
              var player GameObject;    // الاعب

              function Update () {
              var 
              rock GameObject;    // الحاجز
              rock GameObject.FindWithTag ("rock");    // ايجاد حاجز المسمى الصخرة
              var distr Vector2.Distance(rock.transform.positiontransform.position);//المسافة بين العدو والحاجز
              var distp Vector2.Distance(player.transform.positiontransform.position); // المسافة بين العدو ولاعب

                      
              if (rock) {
                      if (
              distr distance){
                      print (
              distr);// كتابة المسافة بين العدو والحاجز
                      
              transform.position += Vector2.left speed Time.deltaTime;// تحرك العدو 
                      
              }else if(distr <= distance){
                      print (
              distr); // كتابة مسافة الحالية 
                      // اطلاق النار على لاعب             
                      
              }}

                      if (
              player) {
                      if (
              distp distance){
                      print (
              distp);
                      
              transform.position += Vector2.left speed Time.deltaTime;
                      }else if(
              distp <= distance){
                      print (
              distp);
                          
              // ضرب لاعب                         
                      
              }}



              هذا بالجافا سكربت
              للعلم يجب أن تكتب في Tag لجميع الحواجز rock أو تضع ما تشاء
              يجب وضع الكود في العدو وأن تحدد لاعب في inspector

              قال الله سبحانه وتعالى: (إنَّ اللهَ وملائكَتَهُ يُصَلُّونَ على النَّبي يا أَيُّها الذِّين آمَنوا صَلُّوا عَلَيهِ وَسَلِّمُوا تَسْلِيما ً)


              تعليق


              • #8
                المشاركة الأصلية بواسطة Mhamd0 مشاهدة المشاركة
                [LEFT][PHP]#pragma strict
                inspector
                جزاك الله خيرا , أظن ان هدا يفي بالغرض إلا انني سأغير فيه.
                سأضع الكود في FixedUpdate لأنني أريد التعامل مع الحركة , وأستبدل transform.postion بالدالة RigidBody2D.Addforce.
                المهم بارك الله فيك أخي (y)
                قال رسول الله صلى الله عليه وسلم: "<سياتى على أمتى سنوات خداعات يكذب فيها الصادق و يصدق فيها الكاذب ويؤتمن الخائن و يخون فيها الامين وينطق فيها الرويبضه) قيل (وما الرويبضه؟) قال: (الرجل التافه السفيه يتكلم فى أمر العامة">.
                مدوتني " الفنان الخبير " : http://www.theexpertartist.blogspot.com
                كامارو من تصميم : http://www.maxforums.net/showthread.php?t=229027

                تعليق


                • #9
                  العفو أخي الله يوفقك في انهاء لعبتك

                  قال الله سبحانه وتعالى: (إنَّ اللهَ وملائكَتَهُ يُصَلُّونَ على النَّبي يا أَيُّها الذِّين آمَنوا صَلُّوا عَلَيهِ وَسَلِّمُوا تَسْلِيما ً)


                  تعليق

                  يعمل...
                  X