‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنقدم هذا الجزء من الكود هنا ، نطاق ممثل RT
‫، ونرى كيف يسمح لنا بالتكرار على جميع الممثلين في مستوى معين.
‫دعونا نتعمق ونرى كيف يعمل.
‫لذلك في الوقت الحالي ، في البيدق الذي تم قتله من وضع قتل جميع ألعابنا الذي نطلق عليه ، انتهت اللعبة على وحدة تحكم اللاعب ولكن في الحقيقة
‫، انتهت اللعبة هي وظيفة على جميع وحدات التحكم حيث توجد A. أنا أو المتحكمون في اللاعب ، ومن المحتمل أن نقوم
‫بإخطار أجهزة التحكم بالذكاء الاصطناعي أيضًا بأن اللعبة قد انتهت ، وهذا بالتأكيد سيكون
‫هو الحال أو أنه سيجعل من السهل تنفيذ شرط الفوز أيضًا لأننا لن
‫نمتلك بالضرورة لاعب قادم هنا.
‫إذن كيف نمضي قدمًا ونفعل هذا؟
‫حسنًا ، سأقوم بإنشاء وظيفة جديدة في وضع لعبة KML ، وهي وظيفة خاصة تسمى End Game ، والتي
‫ستكون مسؤولة عن هذا الفعل.
‫لذا ، فإن لعبة End Game وستحتاج إلى بعض المعلومات.
‫سيحتاج إلى معرفة من فاز.
‫هل كان اللاعب أو هل كان اللاعب A. أنا.؟
‫لذلك سأقوم بإنشاء منطقي هنا يسمى B هو الفائز باللاعب.
‫وهذا ما يخبرنا ما إذا كان علينا إخبار منظمة العفو الدولية بأنها فازت أم لا ، أو إخبار اللاعب
‫بفوزها.
‫لأن تذكر هنا انتهت لعبتنا.
‫تأخذ منطقية تخبر وحدة التحكم ما إذا كانت واحدة من الفائزين أم لا.
‫لذا ما علينا القيام به هو معرفة ، أولاً وقبل كل شيء ، دعنا نمضي قدمًا وننشئ التنفيذ.
‫لذلك سأقوم بنقل التحكم P ثم أنشئ التنفيذ.
‫ومن ثم سيتعين علينا معرفة كيف يمكننا العثور على جميع وحدات التحكم في مشهدنا حتى
‫نتمكن من وصف اللعبة بأنها انتهت على وحدات التحكم تلك.
‫الآن الطريقة التي سنقوم بها هي استخدام مكالمة مساعد المحرك.
‫لذلك إذا ذهبنا إلى تضمين التجزئة ، فسنستخدم أدوات المحرك ، أولاً وقبل كل شيء.
‫وهذا سيجلب إلى النطاق المساعد الذي أريده والمساعد يسمى T Actor Range و T ممثل
‫النطاق هو شيء نموذجي.
‫إذن يمكننا عمل أقواس الزاوية هنا.
‫يمكننا بعد ذلك وضع وحدة تحكم ثم الأقواس والحصول على العالم.
‫الآن ماذا سيفعل هذا؟
‫سيعيد لنا كائن النطاق ، والذي هو في الأساس نوع من القائمة التي تشمل جميع وحدات
‫التحكم.
‫لهذا السبب لدينا معلمة وحدة التحكم هذه هناك في العالم أ. ك. a المستوى ، ويمكننا استخدام
‫هذا في حلقة for.
‫لذا اسمحوا لي أن أبدأ في لف هذا في حلقة for.
‫لذلك سنقوم بعمل أكثر من وحدة تحكم.
‫لذا فإن الشيء الذي هو المتغير الذي سنبتعد عنه سيكون مؤشر وحدة تحكم ، والذي
‫سأسميه وحدة التحكم.
‫ثم نستخدم النقطتين لتحديد المدى الذي ننتقل إليه.
‫سيكون هذا النطاق النشط T.
‫ثم يمكننا وضع أقواس الإغلاق والأقواس المتعرجة.
‫إذن ما هذا القول؟
‫إنه يقول أننا سنقوم بعمل أربع حلقات على كل وحدة تحكم في العالم وستكون في هذا المتغير
‫المسمى وحدة التحكم.
‫والآن هناك بعض الأشياء التي قد تحتاج إلى معرفتها.
‫هناك شيء واحد هو أنه يمكننا الاستعلام عن وحدة تحكم لمعرفة ما إذا كانت تحكم لاعب أم لا دون الحاجة إلى
‫الإرسال.
‫يمكننا في الواقع عمل سهم تحكم ومن ثم أعتقد أنني سأحتاج بالفعل إلى تضمين وحدة التحكم الخاصة بي هنا.
‫لذلك تم تضمين التجزئة في الجزء العلوي ، سنقوم بعمل إطار عمل للعبة وحدة تحكم مائلة للأمام H والآن سيعمل الإكمال التلقائي
‫على الأرجح.
‫نعم لديها.
‫إذن ما يمكننا فعله هو أنه من الواضح أننا يمكن أن نسمي اللعبة قد انتهت.
‫هذا هو أول إكمال تلقائي لي هنا ولكن يمكننا أيضًا أن نقول إنه وحدة تحكم اللاعب.
‫سيقول بشكل أساسي أن هذا الشيء في عالم تحكم اللاعب وسيتيح
‫لنا أن نقرر ما إذا كان يجب أن نمرر اللعبة بشكل صحيح أو خطأ أم لا.
‫لذا فإن التحدي الذي أواجهه هو ملء حلقة for هذه عن طريق استدعاء اللعبة انتهت بالمعامل المنطقي
‫الصحيح.
‫لذلك سنفعل ذلك بحيث يكون صحيحًا بشكل أساسي إذا كانت وحدة التحكم التي نتحدث عنها
‫حاليًا في حلقة for هي وحدة تحكم اللاعب والمنطقية التي مررناها تشير إلى أن وحدة
‫التحكم في المشغل هو الفائز يجب أن يكون صحيحًا أيضًا.
‫إذا لم تكن وحدة تحكم اللاعب وليس اللاعب ، فإن اللاعب هو الفائز في الأساس الذي يقول ما إذا كان هذا حليفًا وأنني
‫هو الفائز خطأ إذا كان جهاز التحكم في اللاعب ولكن اللاعب ليس هو الفائز وخطأ إذا لم يكن وحدة تحكم
‫اللاعب ولكن اللاعب هو الفائز.
‫أنت ترى نوعًا ما إلى أين يتجه هذا ، على أمل.
‫لذا أوقف الفيديو مؤقتًا وابدأ في تنفيذه على هذا النحو.
‫يمكنك استخدام عبارات if.
‫قد تستخدم بعض المنطق الآخر للسماح لك بحساب مقطع الفيديو المنطقي هذا والتوقف عن العمل.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك يمكنك القيام بذلك بعدة طرق.
‫قد تكون إحدى الطرق هي تحديد ما إذا كانت النحلة لاعبًا ، والتحكم في فائز ، ومن ثم
‫سنضع شيئًا ما في هذا البيان إذا كنا سنقوم بعمل منطقي هنا لنقرر أن B أساسًا هو وحدة تحكم اللاعب.
‫الذي سننقذه من حقيقة أننا نقوم بعمل وحدة تحكم.
‫السهم هو وحدة تحكم اللاعب مثل ذلك.
‫وبعد ذلك قد نقول ، حسنًا ، نريد استدعاء وحدة التحكم.
‫انتهت لعبة السهم.
‫سنقوم بتمرير المؤشر الفارغ في الوقت الحالي.
‫وبعد ذلك سنقول ، حسنًا ، إذا كان اللاعب هو الفائز ونحن متحكم في اللاعب ، فعندئذ نعم ،
‫اتبع هذه القيمة بشكل أساسي.
‫لذا العب وحدة تحكم.
‫خلاف ذلك ، إذا لم تكن وحدة تحكم اللاعب ، فستفقد.
‫ويمكننا أن نرفض هذا فقط حتى نتمكن من القول أننا سنقوم باستدعاء أن لعبة وحدة التحكم
‫انتهت مع عدم وجود وحدة تحكم اللاعب أساسًا لأننا نقول أن اللاعب ليس الفائز ، والعين هي
‫الفائز في هذا البيان .
‫ولذا فإن ما نريد فعله هو أن نقول إن الأمر يعتمد على ما إذا كان في الأساس عكس ما إذا كان اللاعب
‫قد فاز أم لا ، أي أن العين قد فازت.
‫لذلك فهذه طريقة واحدة للقيام بذلك بالتأكيد.
‫لكن هناك طريقة أخرى أبسط ، وهي ببساطة القول ، هل نحن الفائزون؟
‫لذا كن الفائز.
‫ويمكن أن يعني هذا ببساطة أن ما إذا كنت وحدة تحكم اللاعب هو الفائز.
‫الآن دعنا نفكر في هذا أكثر قليلاً وسأكمل هذا بالكامل وبعد ذلك سنتحدث عنه.
‫لذلك سنقول إن لعبة وحدة التحكم قد انتهت وستكون المؤشر الفارغ مع تمرير be هو الفائز
‫هنا.
‫الآن ، لماذا هذا البيان يعمل؟
‫حسنًا ، دعنا نفكر في الحالات ، أليس كذلك؟
‫إذن لدينا وحدة تحكم لاعب هنا واللاعب هو الفائز إذن؟
‫نعم نحن الفائزون وهم متساوون.
‫صحيح وصحيح.
‫ماذا لو لم تكن هذه هي وحدة تحكم اللاعب ولم يكن اللاعب هو الفائز؟
‫حسنًا ، هذا خطأ.
‫وهذا هنا خاطئ أيضًا ، لذا فإن الاثنين متساويان والنتيجة هي الفائز.
‫هل هذا صحيح؟
‫نعم ، لأننا إذا كنا الذكاء الاصطناعي وكان الذكاء الاصطناعي هو الفائز ، فيجب أن نكون الفائزين.
‫خلاف ذلك ، إذا كان هذان الاثنان غير متساويين ، أنا. ه. أن لدينا وحدة تحكم AI ، لكن اللاعب
‫هو الفائز ، أو لدينا وحدة تحكم اللاعب والذكاء الاصطناعي هو الفائز ، ثم سنحصل على صواب
‫وخطأ أو خطأ وصحيح.
‫لن يكون هذان العنصران متساويين وسيتم تقييم القيمة المنطقية على خطأ.
‫يمكنك أن ترى أنه في كل حالة وقد مررت بجميع الحالات هناك ، انتهى الأمر بالإجابة
‫الصحيحة.
‫لذلك نحن نعلم أن هذه هي الإجابة الصحيحة.
‫هذا هو الشيء العظيم في Booleans هو أنه يمكنك عادةً تقييم جميع الحالات لأنه يمكنك أن
‫تقول ، حسنًا ، حسنًا ، ما هي الحالات؟
‫سيكون ذلك صحيحًا وصحيحًا.
‫ستكون صحيحة وكاذبة.
‫ستكون خاطئة وصحيحة.
‫ستكون خاطئة وكاذبة.
‫يمكنك تقييم كل تلك الحالات.
‫إذا كانت كل هذه الحالات صحيحة ، فأنت تعلم أن لديك جملة منطقية صحيحة.
‫رائع.
‫هذه هي الطريقة التي سنحسب بها أن B هو الفائز.
‫أخيرًا ، نحتاج فقط إلى الاتصال بوضع نهاية اللعبة.
‫في الوقت الحالي ، نجري مكالمة مباشرة إلى لعبة وحدة التحكم في اللعب قد
‫انتهت وما أريد فعله هنا هو المضي قدمًا واستدعاء نهاية اللعبة ونريد أن نمرر خطأ لأن هذا
‫موقف خسر فيه اللاعب بالفعل وهذا أساسًا ما نريد تحقيقه.
‫الآن ، هناك شيء آخر يجب ملاحظته هنا وهو أن هذا المؤشر الفارغ الذي
‫مررنا به سيقودنا إلى مشاكل على الطريق ، لأنه إذا فاز اللاعب بالفعل ، فسيحاول التخلص من التركيز
‫عن لاعبنا بيدق.
‫لذا ما نريد أن نمرره هنا هو ببساطة أن التركيز يجب أن يكون على وحدة التحكم ، الحصول على نقطة بيدق.
‫وهذا يعني بشكل أساسي أنه يجب عليك التركيز على وحدة تحكم المشغل الخاصة بك ، سواء كان ذلك في الأساس إلى أين
‫يجب أن تشير الكاميرا؟
‫لا يزال يجب أن يشير إلى بيدقك.
‫لماذا من المهم أن نقوم بذلك ولماذا يوجد هذا الخيار هنا في المقام الأول؟
‫حسنًا ، في الكثير من الألعاب ، غالبًا أو في الكثير من ألعاب أسلوب المطابقة ، قد يكون لديك ذلك إذا
‫انتهت اللعبة ، فأنت تريد الذهاب واتباع البيدق.
‫كان هذا هو الفائز.
‫لذا تخيل مثل سيناريو Fortnite ، غالبًا ما تذهب وتتبع الشخص الذي قتلك.
‫هذه هي آلية القيام بذلك.
‫أنت تمرر في الأساس بيدق الشخص الذي ارتكب القتل.
‫هذا ليس ما نفعله في لعبتنا.
‫سنستمر في النظر إلى Apple وما إذا كنا سنفوز أو نموت.
‫هذا إلى حد كبير بالنسبة للمحاضرة.
‫دعنا فقط نجمع ونرى ما إذا كان يعمل.
‫دعنا نتعمق في لعبة Unreal ونبدأ اللعب.
‫لنذهب ونقتل أنفسنا.
‫ها أنت ذا.
‫كل شيء يعمل كما كان من قبل.
‫ما زلنا نتلقى هذه المكالمة إلى وحدة تحكم اللاعب ثم نعيد التشغيل.
‫أشياء عظيمة.
‫إذن في هذه المحاضرة ، فقط للتلخيص ، ماذا رأينا؟
‫حسنًا ، لقد رأينا كيف يمكننا التكرار على الممثلين في المستوى من أجل القيام بشيء مثل استدعاء
‫وظيفة لكل من هؤلاء الممثلين.
‫في المحاضرة القادمة سنستخدم مجموعة T ممثل مرة أخرى ، هذه المرة لحساب ما إذا كان اللاعب
‫قد فاز.
‫اراك هناك.