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