در این مطلب، ویدئو قدرت معماری پلاگین در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:24:06
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,560
در این ویدیو من در مورد معماری پلاگین صحبت می کنم
2
00:00:02,560 –> 00:00:04,400
که به شما امکان می دهد
3
00:00:04,400 –> 00:00:06,640
بدون
4
00:00:06,640 –> 00:00:08,720
تغییر یک خط در کد اصلی،
5
00:00:08,720 –> 00:00:11,759
از جمله واردات، عملکردی را به یک برنامه اضافه کنید،
6
00:00:11,759 –> 00:00:13,599
اگر می خواهید در مورد معماری نرم افزار
7
00:00:13,599 –> 00:00:16,000
و مهارت طراحی بیشتر بدانید
8
00:00:16,000 –> 00:00:18,400
که حامی برنامه امروزی است. ویدیو دارای
9
00:00:18,400 –> 00:00:20,880
کلاس های عالی در مورد آن موضوعات است skillshare
10
00:00:20,880 –> 00:00:22,800
یک جامعه یادگیری آنلاین با
11
00:00:22,800 –> 00:00:24,800
هزاران کلاس الهام بخش برای
12
00:00:24,800 –> 00:00:27,519
سازندگان است که مهارت های جدید را عمیق تر
13
00:00:27,519 –> 00:00:29,519
کردن علایق موجود و گم شدن در
14
00:00:29,519 –> 00:00:31,840
خلاقیت می دانند
15
00:00:31,840 –> 00:00:34,480
16
00:00:34,480 –> 00:00:36,719
17
00:00:36,719 –> 00:00:38,960
. من دوره Frank Kane
18
00:00:38,960 –> 00:00:40,640
را در مورد علم داده و
19
00:00:40,640 –> 00:00:42,320
یادگیری ماشین با پایتون دنبال میکنم، واقعاً
20
00:00:42,320 –> 00:00:44,399
جامع است، حاوی درسهایی در مورد
21
00:00:44,399 –> 00:00:46,559
انواع دادههای آماری
22
00:00:46,559 –> 00:00:48,879
الگوریتمهای خوشهبندی درختهای تصمیمگیری
23
00:00:48,879 –> 00:00:51,120
کتابخانههایی مانند پانداها را پوشش میدهد، اساساً
24
00:00:51,120 –> 00:00:52,800
همه چیزهایی را که برای شروع نیاز دارید بدانید، اشتراک
25
00:00:52,800 –> 00:00:55,039
مهارت برای
26
00:00:55,039 –> 00:00:57,039
یادگیری در آنجا تنظیم شده است. بدون تبلیغات و هفتم هستند ای
27
00:00:57,039 –> 00:00:59,600
همیشه در حال راهاندازی کلاسهای ممتاز جدید
28
00:00:59,600 –> 00:01:01,920
هستید، بنابراین میتوانید متمرکز بمانید و هر جا که
29
00:01:01,920 –> 00:01:04,799
خلاقیت شما را میبرد دنبال کنید، 1000 نفر
30
00:01:04,799 –> 00:01:06,640
از مشترکان اول من برای کلیک کردن بر روی پیوند
31
00:01:06,640 –> 00:01:08,560
در توضیحات، یک ماه
32
00:01:08,560 –> 00:01:10,720
آزمایشی رایگان از اشتراک مهارت دریافت خواهند کرد تا بتوانید از
33
00:01:10,720 –> 00:01:13,360
امروز شروع به کشف خلاقیت خود کنید. در
34
00:01:13,360 –> 00:01:15,840
این مثال ما سه فایل داریم
35
00:01:15,840 –> 00:01:16,720
36
00:01:16,720 –> 00:01:19,600
که فایل اصلی داریم که انواع مختلفی
37
00:01:19,600 –> 00:01:21,520
از شخصیت های بازی را ایجاد می کند و برخی از اطلاعات را چاپ می کند.
38
00:01:21,520 –> 00:01:23,520
39
00:01:23,520 –> 00:01:25,520
40
00:01:25,520 –> 00:01:27,920
41
00:01:27,920 –> 00:01:29,920
با
42
00:01:29,920 –> 00:01:31,520
تعریف سطح، بنابراین می بینید که
43
00:01:31,520 –> 00:01:34,159
بسیار ابتدایی است یک آرایه از کاراکترها دارد
44
00:01:34,159 –> 00:01:36,960
و هر کاراکتر یک نوع و یک نام دارد
45
00:01:36,960 –> 00:01:39,200
و وقتی به فایل شخصیت پایتون می روید
46
00:01:39,200 –> 00:01:41,920
که کلاسی است که
47
00:01:41,920 –> 00:01:44,560
یک شخصیت اصلی بازی را نشان می دهد، می بینید که
48
00:01:44,560 –> 00:01:46,560
دارای یک تابع ساده به نام make a
49
00:01:46,560 –> 00:01:50,000
noise و یک کلاس پروتکل است، بنابراین
50
00:01:50,000 –> 00:01:52,240
51
00:01:52,240 –> 00:01:55,040
52
00:01:55,040 –> 00:01:58,079
اگر به مثال اصلی f نگاه کنید، ما از سیستم تایپ ساختاری پایتون برای این مثال استفاده خواهیم کرد. اگر می
53
00:01:58,079 –> 00:01:59,920
بینید که چند کلاس وجود دارد که
54
00:01:59,920 –> 00:02:01,680
ما یک منبع برای کلاس داریم، ما یک
55
00:02:01,680 –> 00:02:05,360
کلاس wizard داریم و یک کلاس witcher داریم که
56
00:02:05,360 –> 00:02:07,759
هر کدام از آنها دارای این روش نویز هستند
57
00:02:07,759 –> 00:02:10,639
بنابراین آنها به
58
00:02:10,639 –> 00:02:12,720
ساختار پروتکل پایبند هستند آنها همچنین یک نام دارند.
59
00:02:12,720 –> 00:02:14,879
فیلدی است که
60
00:02:14,879 –> 00:02:17,920
از فایل level.json در تابع اصلی بارگذاری
61
00:02:17,920 –> 00:02:20,640
میکنیم، آن فایل json را
62
00:02:20,640 –> 00:02:23,760
باز میکنیم و دادهها را میخوانیم و سپس
63
00:02:23,760 –> 00:02:26,720
فهرستی از کاراکترها ایجاد میکنیم تا برای هر آیتم در
64
00:02:26,720 –> 00:02:28,879
آرایه کاراکترهایی که میخوانیم از
65
00:02:28,879 –> 00:02:30,959
روی دادهها، کاری که ما انجام میدهیم این است که یک
66
00:02:30,959 –> 00:02:31,920
کپی
67
00:02:31,920 –> 00:02:34,800
میسازیم، نوع کاراکتر را از
68
00:02:34,800 –> 00:02:38,319
آن آیتم بازیابی میکنیم و با استفاده از پوپر نیز
69
00:02:38,319 –> 00:02:41,200
آن را از کپی حذف میکنیم و این
70
00:02:41,200 –> 00:02:43,519
مهم است زیرا کلاس اولیه
71
00:02:43,519 –> 00:02:46,000
به آن نیاز ندارد و سپس بسته به
72
00:02:46,000 –> 00:02:47,599
آنچه نوع کاراکتر این است که چه
73
00:02:47,599 –> 00:02:50,160
جادوگر باشد، چه جادوگر باشد یا یک جادوگر، ما
74
00:02:50,160 –> 00:02:51,280
75
00:02:51,280 –> 00:02:53,680
نمونه مناسب را ایجاد می کنیم
76
00:02:53,680 –> 00:02:56,640
و پس از ایجاد همه کاراکترها، داده های دیگری را که در داخل
77
00:02:56,640 –> 00:02:59,040
این کپی قرار دارد، ارسال
78
00:02:59,040 –> 00:03:00,800
می کنیم و قرار است کاری
79
00:03:00,800 –> 00:03:02,400
با آنها انجام دهیم. رفتن به روابط عمومی
80
00:03:02,400 –> 00:03:05,040
آنها را وارد کنید و سپس اجازه دهید هر شخصیت
81
00:03:05,040 –> 00:03:08,560
صدایی ایجاد کند، بنابراین بیایید این مثال را اجرا کنیم و ببینیم
82
00:03:08,560 –> 00:03:10,000
چه اتفاقی میافتد،
83
00:03:10,000 –> 00:03:12,879
بنابراین این خروجی است که در حال حاضر بدیهی است که
84
00:03:12,879 –> 00:03:14,159
در حال حاضر
85
00:03:14,159 –> 00:03:15,920
خیلی خوب نیست، بنابراین ما
86
00:03:15,920 –> 00:03:18,159
میخواهیم مکانیزم بهتری برای مقابله
87
00:03:18,159 –> 00:03:20,080
با آن با استفاده از یک نوعی
88
00:03:20,080 –> 00:03:21,680
الگوی کارخانه ای که بر اساس یک معماری پلاگین ساخته شده
89
00:03:21,680 –> 00:03:23,680
است، اغلب می خواهید بتوانید
90
00:03:23,680 –> 00:03:25,760
کد را پس از ارسال گسترش دهید، به
91
00:03:25,760 –> 00:03:27,200
عنوان مثال، اگر بازی می سازید،
92
00:03:27,200 –> 00:03:28,959
ممکن است بخواهید به روز رسانی را منتشر کنید که
93
00:03:28,959 –> 00:03:30,959
کاراکترهای جدیدی اضافه می کند یا می خواهید به
94
00:03:30,959 –> 00:03:33,040
موددرها اجازه دهید کاراکترها یا حتی
95
00:03:33,040 –> 00:03:34,799
سطوح کامل را به بازی خود اضافه کنید در این صورت
96
00:03:34,799 –> 00:03:36,319
به معماری نیاز خواهید داشت که
97
00:03:36,319 –> 00:03:38,239
به شما امکان می دهد بدون دست زدن
98
00:03:38,239 –> 00:03:40,400
به کد اصلی این کار را انجام دهید و آن
99
00:03:40,400 –> 00:03:42,959
معماری معماری پلاگین نامیده می شود در این
100
00:03:42,959 –> 00:03:44,159
ویدیو من به شما نشان خواهم داد که چگونه شما می توانید
101
00:03:44,159 –> 00:03:46,159
این کار را در پایتون انجام دهید، ما
102
00:03:46,159 –> 00:03:47,920
کد اصلی را گسترش می دهیم تا بتوانید
103
00:03:47,920 –> 00:03:50,720
کاراکترهای یک فایل json را بخوانید و
104
00:03:50,720 –> 00:03:52,640
آنها را به صورت پویا با استفاده از مکانیزم افزونه وارد کنید
105
00:03:52,640 –> 00:03:54,400
که امکان ثبت
106
00:03:54,400 –> 00:03:56,879
پلاگین ها و لغو ثبت آنها را فراهم می کند. در هر زمان
107
00:03:56,879 –> 00:03:58,239
و نتیجه این است که میتوانید
108
00:03:58,239 –> 00:04:00,239
این افزونهها را کاملاً جدا از
109
00:04:00,239 –> 00:04:02,480
کد اصلی بنویسید. اولین کاری که
110
00:04:02,480 –> 00:04:05,040
میخواهیم انجام دهیم این است که این
111
00:04:05,040 –> 00:04:06,879
دستور زشت if را در اینجا اصلاح کنیم و یک
112
00:04:06,879 –> 00:04:08,959
سیستم کارخانهمانند را معرفی کنیم تا به ما امکان
113
00:04:08,959 –> 00:04:12,000
بارگذاری پویا متفاوت را بدهد. انواع کاراکترهای بازی
114
00:04:12,000 –> 00:04:13,120
115
00:04:13,120 –> 00:04:15,680
بنابراین وارد این پوشه بازی
116
00:04:15,680 –> 00:04:18,399
می شویم که در آن تعریف کاراکتر را نیز پیدا می
117
00:04:18,399 –> 00:04:20,160
کنیم و
118
00:04:20,160 –> 00:04:24,000
فایل دیگری به نام factory اضافه می کنیم
119
00:04:24,639 –> 00:04:26,479
و در این فایل
120
00:04:26,479 –> 00:04:29,759
ثبت نام اصلی و لغو ثبت
121
00:04:29,759 –> 00:04:32,240
شخصیت های مختلف را مدل سازی می کنیم. بنابراین یکی از
122
00:04:32,240 –> 00:04:34,160
چیزهایی که مطمئناً به آن نیاز خواهیم
123
00:04:34,160 –> 00:04:36,160
داشت شخصیت بازی است، بنابراین بیایید
124
00:04:36,160 –> 00:04:39,479
ابتدا آن را وارد کنیم
125
00:04:42,080 –> 00:04:44,000
و اکنون کاری که میخواهیم انجام دهیم این است
126
00:04:44,000 –> 00:04:47,199
که لیستی از عملکردها را حفظ کنیم که به
127
00:04:47,199 –> 00:04:49,680
ما امکان میدهد انواع خاصی از شخصیتهای بازی را ایجاد کنیم
128
00:04:49,680 –> 00:04:50,960
و سپس ما به
129
00:04:50,960 –> 00:04:52,800
سیستم اجازه میدهیم آن توابع را ثبت و
130
00:04:52,800 –> 00:04:55,120
لغو ثبت کند، بنابراین بیایید
131
00:04:55,120 –> 00:04:57,040
متغیری به نام
132
00:04:57,040 –> 00:04:58,639
کاراکتر
133
00:04:58,639 –> 00:05:01,600
ایجاد funcs ایجاد کنیم
134
00:05:01,600 –> 00:05:03,759
و در حال حاضر خالی است، اما این
135
00:05:03,759 –> 00:05:06,160
یک دیکشنری خواهد بود
136
00:05:06,160 –> 00:05:08,320
که در حال اجراست. برای نگاشت رشته چون هر
137
00:05:08,320 –> 00:05:10,560
نوع کاراکتر به صورت رشته ای در
138
00:05:10,560 –> 00:05:12,720
یک فایل json ذخیره می شود و آن را به تابعی نگاشت می
139
00:05:12,720 –> 00:05:15,600
کند که یک کاراکتر بازی را برمی گرداند،
140
00:05:15,600 –> 00:05:17,280
بنابراین برای آن از
141
00:05:17,280 –> 00:05:18,880
قابل فراخوانی استفاده می کنیم که نمی دانیم
142
00:05:18,880 –> 00:05:21,759
این تابع چند پارامتر را می گیرد.
143
00:05:21,759 –> 00:05:23,360
چون بعداً این کلاسها را
144
00:05:23,360 –> 00:05:25,120
به صورت پویا اضافه میکنیم، بنابراین به سادگی نمیدانیم،
145
00:05:25,120 –> 00:05:28,000
بنابراین من این سه نقطه را مینویسم و
146
00:05:28,000 –> 00:05:30,639
نوع برگشتی یک شخصیت بازی است، من
147
00:05:30,639 –> 00:05:32,400
رفدار زیادی از ای
148
00:05:32,400 –> 00:05:35,360
نوع نحو تایپ نیستم. فکر کنید
149
00:05:35,360 –> 00:05:37,199
زبانهای دیگر این کار را واضحتر انجام میدهند،
150
00:05:37,199 –> 00:05:40,160
مثلاً تایپاسکریپ، اما خوب این همان
151
00:05:40,160 –> 00:05:42,000
چیزی است که هست، بنابراین ما
152
00:05:42,000 –> 00:05:43,840
فرهنگ لغت ایجاد کاراکتر خود را داریم که
153
00:05:43,840 –> 00:05:46,320
در ابتدا خالی است و اکنون باید انجام دهیم این
154
00:05:46,320 –> 00:05:49,360
است که توابع ثبت و لغو ثبت را ایجاد کنیم
155
00:05:49,360 –> 00:05:51,360
که به ما اجازه میدهد کاری را با این انجام دهیم.
156
00:05:51,360 –> 00:05:53,520
دیکشنری بنابراین ابتدا اجازه دهید
157
00:05:53,520 –> 00:05:56,960
یک تابع ثبت بسازیم
158
00:05:58,160 –> 00:05:59,440
و به یک نوع کاراکتر نیاز دارد
159
00:05:59,440 –> 00:06:01,680
160
00:06:02,400 –> 00:06:04,639
که یک رشته است و همچنین به
161
00:06:04,639 –> 00:06:06,639
یک
162
00:06:06,639 –> 00:06:09,360
تابع ایجاد نیاز دارد
163
00:06:09,360 –> 00:06:10,400
و آن
164
00:06:10,400 –> 00:06:12,639
یک قابلیت فراخوانی است
165
00:06:12,639 –> 00:06:14,160
که
166
00:06:14,160 –> 00:06:16,960
یک کاراکتر بازی را برمی گرداند،
167
00:06:17,199 –> 00:06:19,520
حالا این سرعت چندانی ندارد. تابع cial
168
00:06:19,520 –> 00:06:21,919
خیلی پیچیده نیست کاری
169
00:06:21,919 –> 00:06:23,440
که انجام می دهد
170
00:06:23,440 –> 00:06:27,120
ثبت یک نوع شخصیت بازی جدید است
171
00:06:27,120 –> 00:06:30,400
و این بسیار ساده است، بنابراین
172
00:06:30,400 –> 00:06:32,800
ما توابع ایجاد را داریم و
173
00:06:32,800 –> 00:06:35,840
سپس می
174
00:06:35,840 –> 00:06:38,880
خواهیم تابع را به فرهنگ لغت اضافه کنیم و در
175
00:06:38,880 –> 00:06:40,960
آنجا می رویم که همه چیز برای آن وجود دارد به
176
00:06:40,960 –> 00:06:42,960
طور مشابه ما یک
177
00:06:42,960 –> 00:06:46,319
تابع unregister خواهیم داشت
178
00:06:46,720 –> 00:06:49,039
و تنها چیزی که نیاز دارد یک
179
00:06:49,039 –> 00:06:51,840
نوع کاراکتر است
180
00:06:56,960 –> 00:06:59,520
181
00:07:00,560 –> 00:07:03,120
که از تابع pop استفاده
182
00:07:03,120 –> 00:07:05,599
183
00:07:06,560 –> 00:07:07,680
می کند و ما می خواهیم که
184
00:07:07,680 –> 00:07:09,840
نوع کاراکتر i نیز یک
185
00:07:09,840 –> 00:07:11,599
186
00:07:11,599 –> 00:07:14,240
مقدار بازگشتی پیش فرض اضافه کند. که اگر به طور تصادفی
187
00:07:14,240 –> 00:07:15,919
سعی کنید یک نوع کاراکتر را حذف کنید که
188
00:07:15,919 –> 00:07:17,759
وجود ندارد، استثنایی دریافت نمی کنیم
189
00:07:17,759 –> 00:07:19,520
زیرا در این مورد من
190
00:07:19,520 –> 00:07:21,840
واقعاً به آن اهمیت نمی دهم، بنابراین این
191
00:07:21,840 –> 00:07:24,000
تابع ثبت نام است، بنابراین آخرین کاری که
192
00:07:24,000 –> 00:07:25,599
باید انجام دهیم تا تکمیل شود. این یک تابع اضافه کردن
193
00:07:25,599 –> 00:07:27,759
است که به شما امکان می دهد
194
00:07:27,759 –> 00:07:30,960
195
00:07:30,960 –> 00:07:33,520
با جستجوی تابع سازنده در
196
00:07:33,520 –> 00:07:35,440
فرهنگ لغت و سپس فراخوانی آن
197
00:07:35,440 –> 00:07:37,599
تابع خالق، نمونه ای از نوعی کاراکتر بازی ایجاد کنید، بنابراین بیایید یک تابع ایجاد برای آن اضافه کنیم
198
00:07:37,599 –> 00:07:40,400
199
00:07:41,599 –> 00:07:45,560
و این کار انجام می شود. برخی از آرگومانها
200
00:07:45,919 –> 00:07:48,960
که یک فرهنگ لغت رشته است به خوبی
201
00:07:48,960 –> 00:07:50,479
ما نمیدانیم چه نوع است، بنابراین ما
202
00:07:50,479 –> 00:07:53,039
فقط میخواهیم از هر کدام در اینجا استفاده کنیم و آن
203
00:07:53,039 –> 00:07:55,360
تابع یک
204
00:07:55,360 –> 00:07:58,680
کاراکتر بازی را
205
00:08:06,160 –> 00:08:07,599
چیزی شبیه به
206
00:08:07,599 –> 00:08:08,400
این
207
00:08:08,400 –> 00:08:10,720
برمیگرداند آنچه که ما میخواهیم انجام دهیم اساساً این است.
208
00:08:10,720 –> 00:08:13,599
روی بخشی از کدی که در اینجا است کپی کنید، بنابراین
209
00:08:13,599 –> 00:08:15,280
باید یک کپی
210
00:08:15,280 –> 00:08:16,720
از آرگومان ها ایجاد
211
00:08:16,720 –> 00:08:18,879
کنیم، سپس نوع کاراکتر را
212
00:08:18,879 –> 00:08:20,560
از آرگومان ها بازیابی می کنیم و سپس تابع سازنده
213
00:08:20,560 –> 00:08:22,319
مناسب را فراخوانی می کنیم
214
00:08:22,319 –> 00:08:23,840
،
215
00:08:23,840 –> 00:08:27,840
بنابراین ابتدا یک کپی ایجاد کنید
216
00:08:30,000 –> 00:08:32,080
و سپس بیایید نوع کاراکتر را بازیابی کنیم
217
00:08:32,080 –> 00:08:34,399
218
00:08:37,360 –> 00:08:39,440
و اکنون بیایید
219
00:08:39,440 –> 00:08:40,958
عملکرد creator را بازیابی کنیم و من میخواهم آن
220
00:08:40,958 –> 00:08:44,080
را در یک بلوک try accept قرار دهم تا
221
00:08:44,080 –> 00:08:46,480
بتوانیم مواردی را که یک نوع کاراکتر
222
00:08:46,480 –> 00:08:48,880
در فرهنگ لغت
223
00:08:48,880 –> 00:08:50,560
وجود ندارد مدیریت کنیم، بنابراین بیایید
224
00:08:50,560 –> 00:08:52,560
یک متغیر به نام ایجاد کنیم
225
00:08:52,560 –> 00:08:56,000
Creation funk و این
226
00:08:56,000 –> 00:08:59,360
کاراکتر ایجاد funk است
227
00:08:59,360 –> 00:09:02,160
و ما آن را به نوع کاراکتر منتقل
228
00:09:02,160 –> 00:09:03,120
می کنیم
229
00:09:03,120 –> 00:09:05,120
و سپس می توانیم
230
00:09:05,120 –> 00:09:07,279
231
00:09:07,279 –> 00:09:10,080
آن تابع را
232
00:09:10,080 –> 00:09:13,519
با آرگومان های copy فراخوانی کنیم
233
00:09:13,519 –> 00:09:18,000
و بیایید یک خطای کلیدی بند پذیرش اضافه
234
00:09:18,000 –> 00:09:20,160
کنیم تا فلش های کلیدی را اینجا بگیریم.
235
00:09:20,160 –> 00:09:23,360
و این یک
236
00:09:23,360 –> 00:09:24,800
خطای مقدار ایجاد می کند
237
00:09:24,800 –> 00:09:27,120
که ما یک
238
00:09:27,120 –> 00:09:28,399
239
00:09:28,399 –> 00:09:31,200
نوع کاراکتر ناشناخته داریم
240
00:09:32,640 –> 00:09:35,200
و بیایید نوع کاراکتر را
241
00:09:35,200 –> 00:09:38,560
در اینجا چاپ
242
00:09:38,560 –> 00:09:40,640
243
00:09:40,640 –> 00:09:43,519
244
00:09:43,519 –> 00:09:46,480
کنیم.
245
00:09:46,480 –> 00:09:47,839
این کار را
246
00:09:47,839 –> 00:09:50,160
برای حل این مشکل انجام دهید، بنابراین اکنون که
247
00:09:50,160 –> 00:09:52,399
کارخانه خود را داریم، میتوانیم از آن در مثال استفاده کنیم
248
00:09:52,399 –> 00:09:53,519
249
00:09:53,519 –> 00:09:55,600
و اساساً این عبارت if را
250
00:09:55,600 –> 00:09:58,320
با استفاده از factory جایگزین کنیم.
251
00:09:58,320 –> 00:10:00,720
252
00:10:00,720 –> 00:10:03,040
253
00:10:03,040 –> 00:10:05,600
ما می توانیم این کار را انجام دهیم، اجازه دهید
254
00:10:05,600 –> 00:10:09,120
کارخانه را وارد کنیم،
255
00:10:10,160 –> 00:10:12,000
بنابراین اکنون کارخانه را داریم و سپس
256
00:10:12,000 –> 00:10:13,760
بیایید
257
00:10:13,760 –> 00:10:16,160
این کلاس ها را ثبت کنیم تا بتوانیم
258
00:10:16,160 –> 00:10:19,839
نمونه هایی از آنها ایجاد کنیم،
259
00:10:27,040 –> 00:10:29,440
بنابراین به این ترتیب جادوگر را ثبت می کنیم
260
00:10:29,440 –> 00:10:32,480
و سپس بیایید جادوگر
261
00:10:32,480 –> 00:10:35,600
و ویچر را
262
00:10:42,320 –> 00:10:44,880
نیز در آنجا ثبت کنیم. اکنون میتوانیم این
263
00:10:44,880 –> 00:10:47,120
کد را در اینجا بهروزرسانی کنیم تا در واقع دستهی کارخانهای را
264
00:10:47,120 –> 00:10:49,920
که کاراکترها را برای ما ایجاد میکند، بچرخانیم
265
00:10:49,920 –> 00:10:52,720
و در واقع میتوانیم کل این
266
00:10:52,720 –> 00:10:54,880
کد را با یک خط
267
00:10:54,880 –> 00:10:59,160
با استفاده از یک لیست کامل جایگزین کنیم.
268
00:11:00,240 –> 00:11:02,079
بنابراین ما از تابع create
269
00:11:02,079 –> 00:11:04,800
از کارخانه استفاده
270
00:11:05,920 –> 00:11:08,320
می کنیم، آیتمی
271
00:11:08,320 –> 00:11:11,360
را که از داده ها به دست می آوریم ارسال می کنیم
272
00:11:13,120 –> 00:11:15,839
273
00:11:18,399 –> 00:11:20,480
و بیایید همه این کدها را نیز حذف
274
00:11:20,480 –> 00:11:22,160
کنیم، بنابراین اکنون
275
00:11:22,160 –> 00:11:24,000
این کد را تغییر داده ایم و اکنون می بینید که
276
00:11:24,000 –> 00:11:26,880
تابع اصلی در واقع
277
00:11:26,880 –> 00:11:29,680
بسیار کوتاهتر می شود و بیایید ببینیم که در
278
00:11:29,680 –> 00:11:31,839
اینجا دچار نوعی خطا می شویم،
279
00:11:31,839 –> 00:11:33,360
بنابراین در واقع اکنون
280
00:11:33,360 –> 00:11:35,120
دیگر به شخصیت بازی نیازی نداریم زیرا به کارخانه اجازه می دهیم
281
00:11:35,120 –> 00:11:36,560
آن را مدیریت کند و
282
00:11:36,560 –> 00:11:38,800
شخصیت بازی یک پروتکل است بنابراین نعلبکی و
283
00:11:38,800 –> 00:11:40,880
جادوگر و غیره. نیازی به دانستن چیزی
284
00:11:40,880 –> 00:11:43,920
در مورد آن نیست، بنابراین بیایید سعی کنیم این کد را اجرا کنیم
285
00:11:43,920 –> 00:11:46,480
و بررسی کنیم که هنوز کار می کند و
286
00:11:46,480 –> 00:11:48,959
این کار را انجام
287
00:11:48,959 –> 00:11:51,120
288
00:11:51,120 –> 00:11:54,079
289
00:11:54,079 –> 00:11:56,160
می دهد.
290
00:11:56,160 –> 00:11:58,240
این دستورات if ثابت شد، بنابراین اگر
291
00:11:58,240 –> 00:12:00,880
میخواستید، اکنون میتوانیم یک کلاس اضافی را به اینجا اضافه کنیم.
292
00:12:00,880 –> 00:12:01,839
293
00:12:01,839 –> 00:12:04,000
294
00:1