﻿1
00:00:04,350 --> 00:00:05,340
‫أهلا ومرحبا.

2
00:00:05,340 --> 00:00:12,540
‫في هذه المحاضرة ، سنصل إلى الممثلين المتداخلين في شيء يسمى المصفوفة حتى

3
00:00:12,540 --> 00:00:19,860
‫نتمكن من طباعة الممثلين الذين نراهم داخل هذا المجلد بالكامل من C ++.

4
00:00:19,860 --> 00:00:21,510
‫دعنا نتعمق ونرى كيف يتم ذلك.

5
00:00:22,420 --> 00:00:30,970
‫لذا ، كما في التشبيهات السابقة ، لنتخيل أن نوعًا ما أو متغيرًا هو مربع نضع فيه قيمة.

6
00:00:31,000 --> 00:00:35,290
‫الآن ، ماذا يحدث إذا لم نعرف عدد القيم التي نريد تخزينها؟

7
00:00:35,290 --> 00:00:36,670
‫قد نخلق الكثير من المتغيرات.

8
00:00:36,670 --> 00:00:39,610
‫إذا علمنا أنه سيكون لدينا خمسة ، فقد نصنع خمسة متغيرات.

9
00:00:39,610 --> 00:00:45,910
‫ولكن ماذا لو كان لدينا شيء كثير بشكل غير متوقع ، مثل عدد الممثلين لدينا في مستوانا

10
00:00:46,540 --> 00:00:51,220
‫، أو الجهات الفاعلة التي تتداخل مع حجم تشغيل معين؟

11
00:00:51,370 --> 00:01:00,220
‫في هذه الحالة ، نحتاج إلى استخدام نوع بيانات جديد يسمى مصفوفة T في Unreal وأساسًا مصفوفة T من

12
00:01:00,220 --> 00:01:01,270
‫نوع معين.

13
00:01:01,270 --> 00:01:08,860
‫هنا مرة أخرى ، نرى أقواس الزاوية هذه ، كما قلنا سابقًا ، تجمع معاملات الوقت.

14
00:01:08,860 --> 00:01:14,800
‫وهذه المرة نتناول ، مرة أخرى ، نوعًا يخبرنا بالنوع الذي يمكننا تخزينه في صفيفنا.

15
00:01:14,800 --> 00:01:21,520
‫المصفوفة تشبه المتغير ، باستثناء أنها تحتوي على عدة مربعات ويمكن أن يختلف عدد المربعات

16
00:01:21,550 --> 00:01:23,980
‫التي لدينا عندما نلعب لعبتنا.

17
00:01:23,980 --> 00:01:24,940
‫يمكن أن يتغير.

18
00:01:24,940 --> 00:01:28,330
‫يمكننا أن نضيف أكثر أو أقل كلما مررنا باللعبة.

19
00:01:28,330 --> 00:01:32,650
‫عندما تبدأ الأشياء في التداخل ، نضيف المزيد من الصناديق كأشياء تترك المنطقة المتداخلة.

20
00:01:32,650 --> 00:01:33,850
‫سنأخذهم بعيدًا.

21
00:01:33,850 --> 00:01:37,510
‫وكما قلت ، هذه معلمة ضمن هذه.

22
00:01:38,300 --> 00:01:39,560
‫أقواس زاوية.

23
00:01:39,560 --> 00:01:46,190
‫وهكذا يمكن أن يكون لدينا علبة من ints ، على سبيل المثال ، والتي من شأنها تخزين أعداد صحيحة مختلفة في تلك المربعات.

24
00:01:46,190 --> 00:01:52,940
‫يمكن أن يكون لدينا علبة من مؤشرات الممثلين ، وهذا من شأنه أن يخزن المؤشرات في المربعات ، والتي

25
00:01:52,940 --> 00:01:55,880
‫من شأنها أن تشير إلى الممثلين في العالم.

26
00:01:55,880 --> 00:01:57,740
‫وكما ترى ، يمكن أن تتداخل.

27
00:01:57,740 --> 00:02:01,430
‫لذا فإن بعض هذه المؤشرات تشير إلى نفس الممثلين.

28
00:02:01,460 --> 00:02:04,760
‫الآن ، من الناحية العملية ، لن يكون ذلك مفيدًا للغاية ، لكنه بالتأكيد ممكن.

29
00:02:04,760 --> 00:02:11,450
‫لذلك أريد إعادة النظر في توثيق المكون البدائي ، لأن ما أبحث عنه هنا هو

30
00:02:11,450 --> 00:02:16,490
‫وظيفة تسمى الحصول على الجهات الفاعلة المتداخلة.

31
00:02:16,490 --> 00:02:21,170
‫وإذا ألقيت نظرة على وظيفة الحصول على الممثلين المتداخلين ، فهناك نسختان منها.

32
00:02:21,530 --> 00:02:26,810
‫لكن الشيء الأكثر إثارة بالنسبة لي هو الثاني.

33
00:02:27,170 --> 00:02:30,470
‫ليس لها قيمة مرتجعة ، إنها قيمة إرجاع باطلة.

34
00:02:30,470 --> 00:02:38,750
‫لكن يمكنك أن ترى أن المعلمة الأولى هنا هي مجموعة t من مؤشرات الفاعلين مع علامة العطف في النهاية

35
00:02:38,750 --> 00:02:43,700
‫، مما يعني أن هذا الأمر برمته هو إشارة إلى مصفوفة t.

36
00:02:43,700 --> 00:02:51,950
‫لاحظ الآن أنه ليس مرجعًا ثابتًا ، لذلك يمكننا أن نفترض أن هذه المعلمة هي في الواقع معلمة خارج.

37
00:02:51,950 --> 00:03:00,230
‫إنه يعطينا نتيجة الممثلين المتداخلين ويخبرنا أي الممثلين يتداخلون حاليًا

38
00:03:00,230 --> 00:03:02,450
‫مع مكوننا البدائي.

39
00:03:02,450 --> 00:03:06,740
‫الآن يحدث أن مكون الصندوق لدينا هو مكون بدائي.

40
00:03:06,740 --> 00:03:09,890
‫لذا فإن عنصر الزناد لدينا هو أيضًا مكون بدائي.

41
00:03:09,890 --> 00:03:12,680
‫ومن يمكنه الوصول إلى هذه الوظيفة؟

42
00:03:13,460 --> 00:03:18,200
‫هناك حجة ثانية هنا ، لكن لا داعي للقلق بشأن ذلك لأنه يحتوي بالفعل على قيمة افتراضية

43
00:03:18,200 --> 00:03:19,670
‫إذا استخدمناه.

44
00:03:19,670 --> 00:03:26,120
‫لذلك دعونا نمضي قدمًا ونحاول الحصول على علبة من مؤشرات الممثل وملؤها.

45
00:03:26,120 --> 00:03:27,710
‫سنذهب إلى مكون المشغل.

46
00:03:27,710 --> 00:03:31,610
‫CP سننزل إلى مكون التجزئة.

47
00:03:31,700 --> 00:03:38,270
‫وهنا سننشئ مصفوفة t فارغة يمكننا ملؤها باستخدام هذه الدالة.

48
00:03:38,270 --> 00:03:48,170
‫إذن ، فإن الصيغة هي أقواس زاوية مفتوحة من مصفوفة t ، وهي عبارة عن نجم ممثل ليقول إن لدينا مجموعة t من مؤشرات الممثلين

49
00:03:48,170 --> 00:03:55,310
‫، ونغلق أقواس الزاوية ، ومن ثم يمكننا إعطاء اسم المتغير هذا كممثلين.

50
00:03:55,310 --> 00:04:05,780
‫ثم ندعو للحصول على ممثلين متداخلين وسنمر في مصفوفة الممثلين.

51
00:04:06,590 --> 00:04:06,950
‫حاليا.

52
00:04:06,950 --> 00:04:11,900
‫لا أعرف لماذا لا يقومون فقط بتمرير هذا كقيمة مرتجعة ، ولكن.

53
00:04:12,840 --> 00:04:13,450
‫ها أنت ذا.

54
00:04:13,470 --> 00:04:18,340
‫يمنحنا فرصة لاستخدام هذه المعلمات أكثر قليلاً.

55
00:04:18,360 --> 00:04:19,530
‫الآن ، كل هذا جيد وجيد.

56
00:04:19,530 --> 00:04:22,350
‫لدينا بعض الممثلين في مجموعة.

57
00:04:22,710 --> 00:04:24,120
‫هناك أطوال متغيرة منهم.

58
00:04:24,120 --> 00:04:25,140
‫قد يكون هناك عدد غير قليل.

59
00:04:25,140 --> 00:04:26,520
‫قد يكون هناك صفر.

60
00:04:26,730 --> 00:04:29,670
‫ماذا نفعل بمصفوفات مثل هذه؟

61
00:04:29,670 --> 00:04:34,020
‫حسنًا ، يمكننا الاستعلام عن عدد العناصر الموجودة في المصفوفة.

62
00:04:34,020 --> 00:04:41,610
‫يمكنك استخدام أقواس المصفوفة والعدد النقطي والتي يمكن أن تعيد عددًا صحيحًا يخبرك بعدد العناصر الموجودة في المصفوفة.

63
00:04:41,610 --> 00:04:48,630
‫لذلك في هذه المصفوفة بالذات يمكننا القول إن هناك خمسة ثم يمكننا الوصول إلى العناصر الموجودة داخل

64
00:04:48,630 --> 00:04:52,020
‫تلك المصفوفة باستخدام هذه الأقواس المربعة.

65
00:04:52,410 --> 00:04:56,100
‫ثم يخبرك الرقم الذي تمرره بين قوسين مربعين بالعنصر الذي يجب أن تحصل عليه.

66
00:04:56,100 --> 00:05:02,820
‫ومن الاصطلاح المعتاد في الكثير من لغات البرمجة أن نبدأ العد من الصفر في المصفوفات.

67
00:05:02,820 --> 00:05:09,630
‫لذا فإن العنصر الصفري في المصفوفة هو العنصر الأول ، والعنصر الوحيد في المصفوفة هو الثاني ، إلخ.

68
00:05:09,630 --> 00:05:15,180
‫وهكذا ينتهي بك الأمر إلى أن يكون العنصر الأخير دائمًا أقل بمقدار واحد من عدد العناصر في المصفوفة.

69
00:05:15,660 --> 00:05:17,640
‫فكيف يمكننا استخدام هذه المعرفة؟

70
00:05:17,640 --> 00:05:24,540
‫حسنًا ، على سبيل المثال ، لا يمكننا طباعة الممثلين المتداخلين إلا إذا كان هناك أكثر من واحد منهم.

71
00:05:24,540 --> 00:05:26,070
‫فكيف سنفعل هذا؟

72
00:05:26,070 --> 00:05:38,130
‫سنضع عبارة if تقول أنه إذا كان عدد أقواس الممثل أكبر من الصفر ، فيمكننا فعل شيء هنا ، مثل الوصول إلى العناصر

73
00:05:38,130 --> 00:05:46,500
‫الصفرية لممثلينا لأننا نعلم أنه إذا كان أكبر من الصفر ، فيجب أن يكون هناك

74
00:05:46,500 --> 00:05:50,130
‫عنصر واحد على الأقل هناك.

75
00:05:50,130 --> 00:05:54,690
‫لذلك يجب أن يحتوي العنصر الصفري لهذه المصفوفة على شيء ما.

76
00:05:54,690 --> 00:05:59,940
‫لا يمكننا أن نضمن أن العنصر الأول ، وهو عنصر واحد من المصفوفة يحتوي على أي شيء أو يحتوي

77
00:05:59,940 --> 00:06:01,620
‫العنصران على أي شيء فيه.

78
00:06:01,620 --> 00:06:06,870
‫سيتعين علينا التحقق مما إذا كان لدينا عناصر كافية في المصفوفة للقيام بذلك ، لكننا نعلم بالتأكيد

79
00:06:06,870 --> 00:06:08,700
‫أن هناك العنصر الأول هنا.

80
00:06:08,700 --> 00:06:12,690
‫لذلك دعونا نتحداك لطباعة أول ممثل متداخل من تلك المصفوفة.

81
00:06:12,720 --> 00:06:16,680
‫استخدم المصفوفة للحصول على المؤشر باستخدام تلك الأقواس المربعة.

82
00:06:16,680 --> 00:06:22,290
‫ثم ستستخدم هذا المؤشر للاتصال ، والحصول على الممثل أو الاسم أو التسمية ، وبعد ذلك ستطبع

83
00:06:22,290 --> 00:06:25,140
‫ذلك ، وتوقف الفيديو مؤقتًا وتنطلق.

84
00:06:28,340 --> 00:06:29,650
‫مرحبًا بعودتك.

85
00:06:29,660 --> 00:06:34,730
‫لذا يمكننا الحصول على المؤشر هنا باستخدام الأقواس المربعة.

86
00:06:34,730 --> 00:06:41,300
‫وبعد ذلك سأحصل على الاسم بطريقة مباشرة باستخدام عامل السهم واستدعاء

87
00:06:41,300 --> 00:06:43,610
‫get ممثل أو اسم أو ملصق.

88
00:06:44,090 --> 00:06:50,210
‫وسأضع ذلك في متغير سلسلة F يسمى اسم الممثل.

89
00:06:50,210 --> 00:06:56,510
‫ثم سنقوم بعمل سجل U ، والذي سنسميه النقطتين المتراكبتين.

90
00:06:56,510 --> 00:06:58,390
‫ثم بالمائة s.

91
00:06:58,400 --> 00:07:03,740
‫ومن ثم يجب أن تكون الوسيطة الثانية هنا علامة النجمة ، اسم الممثل.

92
00:07:03,740 --> 00:07:09,650
‫ثم يمكننا إعادة التحويل البرمجي ، والانتقال إلى ملف سجل الإخراج الخاص بنا في التخطيط.

93
00:07:09,650 --> 00:07:16,130
‫ثم سنقوم بفتح الجدار السري BPP لأنني لا أريد طباعة هذه السلسلة التي تربك

94
00:07:16,130 --> 00:07:17,270
‫الأشياء.

95
00:07:17,270 --> 00:07:24,230
‫في Blueprint ، نقوم بهذا الآن من C ++ ، لذلك دعونا ننتقل إلى اللعب الضرب على مستوى الأبراج المحصنة.

96
00:07:25,160 --> 00:07:28,700
‫ومن الواضح أنه لا يوجد شيء يتداخل مع هذا الممثل الآن.

97
00:07:28,700 --> 00:07:31,850
‫إذن ماذا يحدث إذا ذهبنا ودخلنا؟

98
00:07:31,940 --> 00:07:36,320
‫يمكنك أن ترى أنه يبدأ على الفور في الطباعة ، وأننا نتداخل مع مشغل الصفير.

99
00:07:36,560 --> 00:07:37,760
‫أشياء رائعة.

100
00:07:37,760 --> 00:07:40,370
‫ماذا لو ذهبنا وأخذنا الجرغول بدلاً من ذلك؟

101
00:07:40,370 --> 00:07:43,820
‫خذها إلى الكوة ، ألصقها وهناك تذهب.

102
00:07:43,820 --> 00:07:46,400
‫تقول أنها تتداخل مع تمثال الجرغول.

103
00:07:46,670 --> 00:07:47,270
‫أشياء عظيمة.

104
00:07:47,270 --> 00:07:55,340
‫لذلك تعلمنا كيفية استخدام مصفوفة t للحصول على قائمة بالممثلين ومعرفة عدد الأشياء الموجودة

105
00:07:55,340 --> 00:08:00,980
‫في تلك القائمة وكيفية الحصول على عنصر معين من تلك القائمة.

106
00:08:00,980 --> 00:08:05,750
‫في المحاضرة التالية ، سننظر في بعض هياكل البرمجة التي تسمح لنا

107
00:08:05,750 --> 00:08:10,790
‫بالتعامل مع عدد متغير من الأشياء للقيام بعدد متغير من المهام.

108
00:08:10,790 --> 00:08:11,870
‫سأراك هناك.

