در این مطلب، ویدئو کد بازی مار با پایتون و پایگیم ًںگچ – آموزش با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 1:35:53
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:01,360
در این دوره شما
2
00:00:01,360 –> 00:00:03,840
با ایجاد یک بازی مار
3
00:00:03,840 –> 00:00:06,480
با استفاده از کتابخانه
4
00:00:06,480 –> 00:00:08,480
5
00:00:08,480 –> 00:00:11,440
6
00:00:11,440 –> 00:00:14,000
7
00:00:14,000 –> 00:00:16,320
8
00:00:16,320 –> 00:00:19,119
pygame مهارت های پایتون خود را بهبود می بخشید. سری پروژه به عنوان
9
00:00:19,119 –> 00:00:21,680
یک پیش نیاز تنها چیزی که شما باید بدانید
10
00:00:21,680 –> 00:00:25,119
این است که پایتون پایه ای است که هر کسی می تواند آن را انجام دهد، من می
11
00:00:25,119 –> 00:00:26,800
خواهم
12
00:00:26,800 –> 00:00:28,720
بسیاری از مفاهیم را ساده کنم و این
13
00:00:28,720 –> 00:00:30,800
چند سری ویدیو خواهد بود، بنابراین ما
14
00:00:30,800 –> 00:00:32,880
گام به گام مفاهیم مختلف بازی pi را مرور
15
00:00:32,880 –> 00:00:36,559
خواهیم کرد و ما یک بازی کامل می سازم
16
00:00:36,559 –> 00:00:39,040
تا نه تنها بازی پایتون پای را یاد
17
00:00:39,040 –> 00:00:41,600
بگیرید، بلکه یاد می گیرید که چگونه
18
00:00:41,600 –> 00:00:44,399
یک پروژه کامل و انتها به انتها در پایتون بسازید،
19
00:00:44,399 –> 00:00:46,879
من همچنین
20
00:00:46,879 –> 00:00:49,680
تمرینی برای شما دارم که باید روی آن کار کنید تا بتوانید
21
00:00:49,680 –> 00:00:50,960
از دانشی که در این ویدیوها یاد می گیرید استفاده کنید
22
00:00:50,960 –> 00:00:52,960
و سپس می
23
00:00:52,960 –> 00:00:54,800
توانید بازی را به عنوان بخشی از آن تمرین شخصی سازی کنید و من
24
00:00:54,800 –> 00:00:56,559
نیز راه حل را دارم، بنابراین این
25
00:00:56,559 –> 00:00:58,239
فقط این نیست که شما فقط یک
26
00:00:58,239 –> 00:01:00,000
ویدیو را تماشا کنید، بلکه یادگیری تعاملی خواهد بود، بنابراین
27
00:01:00,000 –> 00:01:02,399
بسیار خواهد بود. خیلی مفید است،
28
00:01:02,399 –> 00:01:04,159
اجازه دهید ابتدا در مورد چیزهایی
29
00:01:04,159 –> 00:01:05,760
که باید نصب کنید صحبت
30
00:01:05,760 –> 00:01:07,680
کنیم، اول اینکه نصب پایتون واضح است
31
00:01:07,680 –> 00:01:09,439
که باید
32
00:01:09,439 –> 00:01:11,680
پایتون را روی رایانه خود نصب کنید،
33
00:01:11,680 –> 00:01:13,680
سپس باید یک ماژول بازی pi را نصب کنید
34
00:01:13,680 –> 00:01:16,479
که می توانید با اجرای
35
00:01:16,479 –> 00:01:18,479
pep install خرید بازی
36
00:01:18,479 –> 00:01:20,159
i این کار را انجام دهید. قبلاً آن را نصب کردهاید، به
37
00:01:20,159 –> 00:01:22,000
همین دلیل است که این قسمت را نشان میدهد که باید
38
00:01:22,000 –> 00:01:23,439
این مرحله را اجرا کنید
39
00:01:23,439 –> 00:01:26,240
و من از ویرایشگر انجمن pycharm استفاده میکنم،
40
00:01:26,240 –> 00:01:28,000
41
00:01:28,000 –> 00:01:30,799
اگر دوست دارید از کد vs استفاده کنید، فقط میتوانید آن را دانلود کنید.
42
00:01:30,799 –> 00:01:32,560
43
00:01:32,560 –> 00:01:34,799
44
00:01:34,799 –> 00:01:36,880
45
00:01:36,880 –> 00:01:39,520
برای ذخیره کد من، بنابراین شما فقط پیش بروید
46
00:01:39,520 –> 00:01:42,000
یک دایرکتوری ایجاد کنید و سپس با رفتن به فایل open آن
47
00:01:42,000 –> 00:01:44,240
دایرکتوری را در pycharm
48
00:01:44,240 –> 00:01:46,880
باز کنید،
49
00:01:46,880 –> 00:01:48,560
بنابراین وقتی این کار را انجام دادم
50
00:01:48,560 –> 00:01:51,200
این چیزی را به من نشان می داد اکنون در این
51
00:01:51,200 –> 00:01:52,320
دایرکتوری
52
00:01:52,320 –> 00:01:55,280
من قبلاً چیزهای مفیدی قرار داده ام بنابراین
53
00:01:55,280 –> 00:01:57,600
ابتدا شما نیاز دارید main dot pi بنابراین main dot
54
00:01:57,600 –> 00:02:02,079
pi فایل اصلی در حال حاضر خالی است
55
00:02:02,079 –> 00:02:04,880
من همچنین پوشه
56
00:02:04,880 –> 00:02:07,360
منابعی دارم که منابع مختلفی دارد که
57
00:02:07,360 –> 00:02:10,399
برای پروژه خود به آن نیاز خواهیم داشت.
58
00:02:10,399 –> 00:02:13,599
دارای تصویری از یک سیب است و
59
00:02:13,599 –> 00:02:16,319
مقداری پسزمینه چند
60
00:02:16,319 –> 00:02:18,720
تصویر بلوک و بسیار خوب است که میتوانید
61
00:02:18,720 –> 00:02:21,440
با نگاه کردن به
62
00:02:21,440 –> 00:02:24,560
لینک کد در توضیحات ویدیوی زیر، تمام
63
00:02:24,560 –> 00:02:25,760
64
00:02:25,760 –> 00:02:28,239
65
00:02:28,239 –> 00:02:31,360
66
00:02:31,360 –> 00:02:32,720
67
00:02:32,720 –> 00:02:34,160
این
68
00:02:34,160 –> 00:02:37,440
کدها را دانلود کنید. پنجره بازی ساده
69
00:02:37,440 –> 00:02:39,760
بسیار خوب است، بنابراین در پایان این جلسه تنها
70
00:02:39,760 –> 00:02:41,680
چیزی که دریافت می کنید یک پنجره ساده بازی پای
71
00:02:41,680 –> 00:02:45,599
با پس زمینه است، بنابراین
72
00:02:45,599 –> 00:02:47,440
73
00:02:47,440 –> 00:02:52,080
اجازه دهید من فقط این را ببندم و به
74
00:02:52,080 –> 00:02:53,440
حالت zen
75
00:02:53,440 –> 00:02:55,680
بروم، بنابراین pyjam دارای این ویژگی خوب به نام
76
00:02:55,680 –> 00:02:57,360
enters و mode است
77
00:02:57,360 –> 00:02:59,040
که در آن شما
78
00:02:59,040 –> 00:03:01,599
میتوانم یک تجربه تمام صفحه داشته باشم، خوب است،
79
00:03:01,599 –> 00:03:04,080
بنابراین در
80
00:03:04,080 –> 00:03:07,040
اینجا میگویم پایتون را وارد
81
00:03:07,040 –> 00:03:08,640
کنید، آن را کمی بزرگتر میکنم
82
00:03:08,640 –> 00:03:10,879
83
00:03:10,879 –> 00:03:12,800
و
84
00:03:12,800 –> 00:03:16,319
سپس اگر نام زیرخط
85
00:03:16,319 –> 00:03:17,519
86
00:03:17,519 –> 00:03:19,360
برابر با زیرخط اصلی باشد،
87
00:03:19,360 –> 00:03:23,280
این روال اصلی در پایتون است.
88
00:03:23,280 –> 00:03:24,159
89
00:03:24,159 –> 00:03:26,560
در این روال کاری که میخواهیم
90
00:03:26,560 –> 00:03:27,680
انجام دهیم این
91
00:03:27,680 –> 00:03:28,879
است
92
00:03:28,879 –> 00:03:32,560
که نقطه pygame را
93
00:03:32,560 –> 00:03:34,239
در آن راهاندازی کنیم،
94
00:03:34,239 –> 00:03:35,599
بنابراین بیایید به مستندات بازی پای نگاه
95
00:03:35,599 –> 00:03:37,920
کنیم، بنابراین اگر به
96
00:03:37,920 –> 00:03:39,040
97
00:03:39,040 –> 00:03:42,560
مستندات بازی پای در اینجا نگاه
98
00:03:42,720 –> 00:03:44,959
میکنید، میتوانید به بازی پای بروید. وب سایت به
99
00:03:44,959 –> 00:03:46,799
همه آموزش ها نگاه می کند و به نوعی آن را کاوش می
100
00:03:46,799 –> 00:03:49,360
کند، اما در این آموزش
101
00:03:49,360 –> 00:03:51,120
102
00:03:51,120 –> 00:03:52,879
هر زمان که از بازی pi استفاده می کنید،
103
00:03:52,879 –> 00:03:55,200
باید از این نقطه در روش استفاده کنید، به نوعی
104
00:03:55,200 –> 00:03:57,599
کل آن
105
00:03:57,599 –> 00:03:59,120
ماژول uh را مقداردهی اولیه
106
00:03:59,120 –> 00:04:01,519
107
00:04:01,519 –> 00:04:02,879
108
00:04:02,879 –> 00:04:05,519
می کند. ایجاد یک سطح، بنابراین
109
00:04:05,519 –> 00:04:07,760
چه سطحی است، بنابراین شما می گویید pi بازی
110
00:04:07,760 –> 00:04:09,720
111
00:04:09,720 –> 00:04:14,080
dot نمایش حالت تنظیم نقطه
112
00:04:14,080 –> 00:04:16,319
خوب است،
113
00:04:16,798 –> 00:04:19,440
بنابراین حالت تنظیم شده چیست، بنابراین اجازه دهید به مستندات نگاه کنیم،
114
00:04:19,440 –> 00:04:23,919
بنابراین حالت تنظیم بازی pi
115
00:04:24,800 –> 00:04:28,080
116
00:04:28,080 –> 00:04:30,240
به طور کلی من آن را در گوگل جستجو می کنم و وقتی
117
00:04:30,240 –> 00:04:32,639
آن را در گوگل جستجو می کنید، می توانید مستقیماً به آن بروید.
118
00:04:32,639 –> 00:04:34,080
بنابراین در اینجا
119
00:04:34,080 –> 00:04:37,280
شما می گویید حالت تنظیم، بنابراین حالت تنظیم،
120
00:04:37,280 –> 00:04:40,240
مقداردهی اولیه پنجره بازی شما است،
121
00:04:40,240 –> 00:04:42,000
این مرحله بسیار اساسی است که
122
00:04:42,000 –> 00:04:43,360
باید در
123
00:04:43,360 –> 00:04:45,759
همه برنامه بازی pi انجام دهید
124
00:04:45,759 –> 00:04:47,680
و ببینید اولین آرگومان اندازه
125
00:04:47,680 –> 00:04:48,960
126
00:04:48,960 –> 00:04:51,919
پنجره اندازه پنجره شما چقدر است اندازه پنجره شما خوب است.
127
00:04:51,919 –> 00:04:55,360
بنابراین من می گویم اندازه پنجره من ممکن
128
00:04:55,360 –> 00:04:57,840
است 500 در 500 باشد،
129
00:04:57,840 –> 00:05:01,120
این 500 در 500 پیکسل است، خوب است
130
00:05:01,120 –> 00:05:02,479
و
131
00:05:02,479 –> 00:05:03,919
اکنون می توانید
132
00:05:03,919 –> 00:05:06,639
بگویید که
133
00:05:07,360 –> 00:05:09,520
پس بیایید
134
00:05:09,520 –> 00:05:11,120
این برنامه را اجرا کنیم و ببینیم چه
135
00:05:11,120 –> 00:05:13,440
اتفاقی می افتد،
136
00:05:14,400 –> 00:05:16,080
پنجره آمد
137
00:05:16,080 –> 00:05:18,000
و ناپدید شد، زیرا برنامه
138
00:05:18,000 –> 00:05:20,720
تمام شد، بنابراین من فقط
139
00:05:20,720 –> 00:05:23,039
ممکن است
140
00:05:23,039 –> 00:05:25,520
مقداری تایمر بگذارد تا بتوانید واقعاً
141
00:05:25,520 –> 00:05:27,600
ببینید که میدانید من یک تایمر برای پنج
142
00:05:27,600 –> 00:05:29,280
ثانیه قرار میدهم تا حداقل ببینید چه اتفاقی میافتد،
143
00:05:29,280 –> 00:05:31,280
144
00:05:31,280 –> 00:05:34,160
بنابراین خوب، متأسفانه پنجره من
145
00:05:34,160 –> 00:05:36,080
146
00:05:36,080 –> 00:05:39,039
در یک صفحه دیگر وارد شد، در واقع بله
147
00:05:39,039 –> 00:05:42,000
میبینید که این پنجره 500 را دریافت میکنید. با 500 اگر
148
00:05:42,000 –> 00:05:43,919
149
00:05:43,919 –> 00:05:46,720
1000 داشته باشید، یک پنجره بزرگتر
150
00:05:46,720 –> 00:05:48,320
خواهید داشت،
151
00:05:48,320 –> 00:05:49,840
پس
152
00:05:49,840 –> 00:05:51,280
این همان کاری است که اکنون انجام می دهد
153
00:05:51,280 –> 00:05:53,840
، پس زمینه پنجره سیاه است
154
00:05:53,840 –> 00:05:55,680
، می خواهم
155
00:05:55,680 –> 00:05:58,800
آن را تغییر دهم، بنابراین شما می گویید سطح نقطه
156
00:05:58,800 –> 00:06:00,400
پر شود،
157
00:06:00,400 –> 00:06:03,120
بنابراین این تابع
158
00:06:03,120 –> 00:06:04,319
159
00:06:04,319 –> 00:06:06,560
پر کردن پس زمینه را با مقداری رنگ پر می کند. حالا
160
00:06:06,560 –> 00:06:08,479
هر رنگی rgb است
161
00:06:08,479 –> 00:06:10,560
پس قرمز سبز آبی
162
00:06:10,560 –> 00:06:12,720
و این رنگ ها مقادیری از 0 تا
163
00:06:12,720 –> 00:06:15,600
255 دارند، بنابراین اگر رنگ سفید را می خواهید
164
00:06:15,600 –> 00:06:18,160
165
00:06:18,160 –> 00:06:21,120
سه بار می گویید مانند 255
166
00:06:21,120 –> 00:06:24,080
این کار نمی کند زیرا هر زمان
167
00:06:24,080 –> 00:06:25,039
که
168
00:06:25,039 –> 00:06:29,199
سطح خود را به روز می کنید باید بگویید
169
00:06:29,199 –> 00:06:31,440
ah
170
00:06:31,520 –> 00:06:34,880
buy game dot نمایش
171
00:06:34,880 –> 00:06:38,960
نقطه یا بهروزرسانی یا تلنگر،
172
00:06:38,960 –> 00:06:41,680
بنابراین فلیپ به این معناست که
173
00:06:41,680 –> 00:06:44,479
هر کدی را که اینجا
174
00:06:44,479 –> 00:06:47,280
نوشتهاید،
175
00:06:47,360 –> 00:06:49,919
فقط صفحهتان را با آن بهروزرسانی میکنید،
176
00:06:49,919 –> 00:06:52,639
بنابراین میگویید F5 را کنترل کنید حالا
177
00:06:52,639 –> 00:06:54,960
صفحهتان سفید است
178
00:06:54,960 –> 00:06:57,120
اگر مطمئن نیستید کدام
179
00:06:57,120 –> 00:06:59,120
c اگر می خواهید مقادیر rgb را انتخاب کنید،
180
00:06:59,120 –> 00:07:02,639
بنابراین می توانید
181
00:07:02,639 –> 00:07:05,199
انتخابگر رنگ rgb را انجام دهید
182
00:07:05,199 –> 00:07:07,599
تا گوگل گوگل انتخابگر رنگ rgb داشته باشد
183
00:07:07,599 –> 00:07:10,400
تا بتوانید رنگ خود را انتخاب کنید، خوب است
184
00:07:10,400 –> 00:07:12,960
که چه رنگی را می خواهید،
185
00:07:12,960 –> 00:07:15,599
شاید من این رنگ را به عنوان پس زمینه می خواهم
186
00:07:15,599 –> 00:07:20,759
. rgb 92 چیست؟ 2584
187
00:07:21,520 –> 00:07:24,000
شما آن را اینجا قرار می دهید
188
00:07:24,000 –> 00:07:26,080
و می بینید که این رنگ را دریافت می کنید، بنابراین دریافت
189
00:07:26,080 –> 00:07:28,800
آن رنگ مشکل چندانی نیست، بنابراین من
190
00:07:28,800 –> 00:07:31,919
فقط از رنگی
191
00:07:31,919 –> 00:07:34,639
استفاده می کنم که می توانید از رنگ دیگری استفاده کنید، بسیار
192
00:07:34,639 –> 00:07:36,160
خوب،
193
00:07:36,160 –> 00:07:40,240
بنابراین اکنون پنجره شما تنظیم شده است.
194
00:07:40,240 –> 00:07:42,880
کار بعدی که میخواهم انجام دهم این
195
00:07:42,880 –> 00:07:45,120
است که
196
00:07:45,120 –> 00:07:47,759
ببینم باید از تایمر استفاده
197
00:07:47,759 –> 00:07:49,360
کنم، چیزی است که دوست ندارم،
198
00:07:49,360 –> 00:07:51,840
میخواهم کاری انجام دهم که پنجره
199
00:07:51,840 –> 00:07:53,280
بماند
200
00:07:53,280 –> 00:07:55,840
و وقتی فرار
201
00:07:55,840 –> 00:07:57,280
یا لغو
202
00:07:57,280 –> 00:08:00,160
را فشار میدهم، تنها پنجره ناپدید میشود،
203
00:08:00,160 –> 00:08:02,000
بنابراین میخواهم این خواب را حذف کنم.
204
00:08:02,000 –> 00:08:03,919
بیانیه
205
00:08:03,919 –> 00:08:06,560
پس چگونه این کار را انجام می دهید، بنابراین در
206
00:08:06,560 –> 00:08:08,560
هر برنامه رابط کاربری
207
00:08:08,560 –> 00:08:12,000
یک چیزی به نام حلقه رویداد دارید
208
00:08:12,000 –> 00:08:14,879
حلقه رویداد منتظر ورودی کاربر است،
209
00:08:14,879 –> 00:08:17,919
زمانی که روی هر صفحه ای کار می
210
00:08:17,919 –> 00:08:19,840
کنید، منتظر ورودی ماوس یا
211
00:08:19,840 –> 00:08:22,080
ورودی صفحه کلید است، بنابراین شما باید آن رویداد را اجرا کنید.
212
00:08:22,080 –> 00:08:25,360
حلقه رویداد حلقه برای
213
00:08:25,360 –> 00:08:27,840
هر برنامه رابط کاربری اساسی است مهم نیست
214
00:08:27,840 –> 00:08:30,400
بازی پای هر رابط کاربری که استفاده می کنید باید
215
00:08:30,400 –> 00:08:31,680
216
00:08:31,680 –> 00:08:35,039
یک حلقه رویداد داشته باشید یک حلقه رویداد چیزی شبیه به حلقه while خواهد بود
217
00:08:35,039 –> 00:08:36,559
،
218
00:08:36,559 –> 00:08:38,479
بنابراین می گویید
219
00:08:38,479 –> 00:08:41,279
اجرا کردن خوب نادرست است
220
00:08:41,279 –> 00:08:43,200
یا شاید اجرای درست است در واقع بنابراین
221
00:08:43,200 –> 00:08:47,279
اجرای درست است و در حالی که در حال اجرا
222
00:08:48,640 –> 00:08:51,120
کاری انجام دهید، بنابراین اکنون ببینید که این یک
223
00:08:51,120 –> 00:08:52,480
حلقه بی نهایت است،
224
00:08:52,480 –> 00:08:54,880
ما باید از آن در جایی خارج شویم،
225
00:08:54,880 –> 00:08:56,959
اما اصول برنامه نویسی رابط کاربری
226
00:08:56,959 –> 00:08:59,760
این است که شما این حلقه بی نهایت را اجرا می کنید،
227
00:08:59,760 –> 00:09:00,720
اما
228
00:09:00,720 –> 00:09:02,959
با زدن کلید خاصی مانند
229
00:09:02,959 –> 00:09:06,160
لغو یا فرار، می خواهید از بازی خود خارج شوید.
230
00:09:06,160 –> 00:09:07,279
231
00:09:07,279 –> 00:09:09,120
پس چگونه میتوانید آن را خوب انجام دهید
232
00:09:09,120 –> 00:09:09,920
233
00:09:09,920 –> 00:09:12,959
بازی pi دارای این چیزی است که به آن
234
00:09:12,959 –> 00:09:14,480
رویداد میگویند، بنابراین
235
00:09:14,480 –> 00:09:15,760
pygame
236
00:09:15,760 –> 00:09:17,440
dot event
237
00:09:17,440 –> 00:09:20,080
dot
238
00:09:20,480 –> 00:09:26,240
get so for event in pygame.
239
00:09:27,360 –> 00:09:29,760
240
00:09:29,760 –> 00:09:31,440
241
00:09:31,440 –> 00:09:32,480
242
00:09:32,480 –> 00:09:34,720
243
00:09:34,720 –> 00:09:36,959
244
00:09:36,959 –> 00:09:39,279
میتوانم مستندات را به صورت آنلاین بخوانم،
245
00:09:39,279 –> 00:09:42,160
اما این رویدادها دارای نوع هستند، بنابراین اگر
246
00:09:42,160 –> 00:09:43,440
247
00:09:43,440 –> 00:09:46,000
نوع نقطه رویداد
248
00:09:46,000 –> 00:09:47,440
برابر با مقداری باشد که
249
00:09:47,440 –> 00:09:50,480
برای آن باید محلی خاصی را
250
00:09:50,480 –> 00:09:51,920
251
00:09:51,920 –> 00:09:54,480
وارد کنم، بنابراین میگویم که
252
00:09:54,480 –> 00:09:56,080
pi game
253
00:09:56,080 –> 00:09:58,800
dot
254
00:09:58,800 –> 00:09:59,920
locals را وارد
255
00:09:59,920 –> 00:10:01,120
256
00:10:01,120 –> 00:10:03,519
کنم، اوه از من فقط این
257
00:10:03,519 –> 00:10:06,000
ستاره واردات را انجام میدهم.
258
00:10:06,000 –> 00:10:07,600
قرار است
259
00:10:07,600 –> 00:10:09,920
متغیرهای جهانی خاصی را وارد کند که
260
00:10:09,920 –> 00:10:12,399
برای ما مفید خواهد بود، مانند
261
00:10:12,399 –> 00:10:14,880
کلید پایین،
262
00:10:15,200 –> 00:10:17,120
ببینید این کلید پایین
263
00:10:17,120 –> 00:10:20,560
آمده است،
264
00:10:20,560 –> 00:10:21,360
265
00:10:21,360 –> 00:10:23,839
بنابراین اگر میخواهید در مورد آن بیشتر بخوانید،
266
00:10:23,839 –> 00:10:27,760
میتوانید بگویید بازی
267
00:10:30,839 –> 00:10:34,560
محلیها را بخرید و این همه چیز را به شما میگوید
268
00:10:34,560 –> 00:10:36,050
. محلی ها درست است بنابراین
269
00:10:36,050 –> 00:10:37,440
270
00:10:37,440 –> 00:10:39,839
رویداد [Music] بنابراین برای رویداد شما
271
00:10:39,839 –> 00:10:42,320
افراد محلی متفاوتی خواهید داشت و بنابراین
272
00:10:42,320 –> 00:10:44,320
برای رویداد ببینید این سایت های رویداد هستند
273
00:10:44,320 –> 00:10:47,279
بنابراین p down چیزی است که ما استفاده می کنیم
274
00:10:47,279 –> 00:10:49,120
رویداد دیگری به نام quit
275
00:10:49,120 –> 00:10:51,279
وجود دارد که وقتی پنجره لغو را فشار دهید فراخوانی می
276
00:10:51,279 –> 00:10:52,880
277
00:10:52,880 –> 00:10:55,360
شود. می گوید خوب است اگر
278
00:10:55,360 –> 00:10:58,839
نوع حتی نقطه کلید پایین است، پس کاری را انجام دهید
279
00:10:58,839 –> 00:11:01,600
lf
280
00:11:01,600 –> 00:11:04,240
281
00:11:04,240 –> 00:11:06,880
event.type برابر است با خروج از
282
00:11:06,880 –> 00:11:08,560
Okay
283
00:11:08,560 –> 00:11:11,440
پس خوب است، بنابراین اگر کاربر روی لغو کلیک می کند
284
00:11:11,440 –> 00:11:12,880
چه کاری را می خواهید به خوبی انجام دهید،
285
00:11:12,880 –> 00:11:16,800
فقط متغیر در حال اجرا خود را روی
286
00:11:16,800 –> 00:11:19,360
false تنظیم
287
00:11:20,959 –> 00:11:23,360
کنید، ممکن است در مورد آن خوانده باشید.
288
00:11:23,360 –> 00:11:25,600
حلقه while قبلاً یا اگر
289
00:11:25,600 –> 00:11:27,040
آموزشهای پایتون من را دنبال کردهاید،
290
00:11:27,040 –> 00:11:28,800
در مورد while میدانید حلقه while شبیه
291
00:11:28,800 –> 00:11:29,680
292
00:11:29,680 –> 00:11:31,200
به تکرار میشود
293
00:11:31,200 –> 00:11:33,680
تا زمانی که این شرط درست باشد،
294
00:11:33,680 –> 00:11:36,000
بنابراین اجرای همیشه درست است،
295
00:11:36,000 –> 00:11:37,040
به جز
296
00:11:37,040 –> 00:11:39,839
زمانی که یک رویداد خروج داشته باشیم، خوب
297
00:11:39,839 –> 00:11:41,839
است، بیایید این را امتحان کنیم. رویداد خروج
298
00:11:41,839 –> 00:11:43,920
زمانی ایجاد میشود که
299
00:11:43,920 –> 00:11:46,240
وقتی روی لغو کلیک میکنید، اکنون
300
00:11:46,240 –> 00:11:48,240
برنامهتان را خارج
301
00:11:48,240 –> 00:11:50,079
کنید، در غیر این صورت حرفهای شما از آن پنجره خارج نمیشود،
302
00:11:50,079 –> 00:11:52,720
303
00:11:52,720 –> 00:11:54,320
همچنین فرض کنید
304
00:11:54,320 –> 00:11:57,760
میخواهم وقتی کلید escape را فشار میدهم از آن خارج شوم، بنابراین
305
00:11:57,760 –> 00:11:59,600
میتوانید بگویید اگر
306
00:11:59,600 –> 00:12:02,639
نقطه
307
00:12:02,639 –> 00:12:06,160
رویداد، اگر نقطه e برابر است، آن را ترک کنم.
308
00:12:06,160 –> 00:12:08,639
فرار کردن و
309
00:12:09,600 –> 00:12:11,120
سپس
310
00:12:11,120 –> 00:12:14,079
اجرا کردن نیز نادرست است،
311
00:12:14,079 –> 00:12:16,880
بنابراین وقتی اکنون آن را اجرا می کنم
312
00:12:16,880 –> 00:12:19,200
و می بینم که از ماوس استفاده نمی کنم،
313
00:12:19,200 –> 00:12:20,639
کلید فرار را می
314
00:12:20,639 –> 00:12:23,279
زنم و برنامه من به خوبی خارج شد،
315
00:12:23,279 –> 00:12:25,360
بنابراین درک کل این
316
00:12:25,360 –> 00:12:28,639
حلقه رویداد در بازی pi بسیار ضروری است
317
00:12:28,639 –> 00:12:30,240
و این کار خواهد بود. زمانی مفید است
318
00:12:30,240 –> 00:12:32,000
که با
319
00:12:32,000 –> 00:12:34,240
هر زبانی با هر فریم ورکی برنامه نویسی رابط کاربری را
320
00:12:34,240 –> 00:12:35,760
انجام می دهید
321
00:12:35,760 –> 00:12:37,279
تا اینجای
322
00:12:37,279 –> 00:12:39,920
کار خوب به نظر می رسد
323
00:12:39,920 –> 00:12:42,880
اکنون مرحله بعدی من مقداری
324
00:12:42,880 –> 00:12:45,040
محتوای مرجع در اینجا دارم تا بتوانم ویدیوهایم را به درستی انجام دهم
325
00:12:45,040 –> 00:12:46,720
326
00:12:46,720 –> 00:12:49,839
بنابراین کاری که می خواهم انجام دهم این است
327
00:12:49,839 –> 00:12:52,959
که می خواهم برای ترسیم یک بلوک خوب است، بنابراین
328
00:12:52,959 –> 00:12:55,040
بلوکی که شما اینجا دیدید،
329
00:12:55,040 –> 00:12:57,279
بنابراین من این بلوک را اینجا دارم،
330
00:12:57,279 –> 00:12:59,600
بنابراین این تصویر را می خواهم روی
331
00:12:59,600 –> 00:13:01,360
صفحه نمایش خود در
332
00:13:01,360 –> 00:13:04,000
جایی درست بکشم، بنابراین چگونه می توانید آن را به خوبی انجام دهید
333
00:13:04,000 –> 00:13:05,040
334
00:13:05,040 –> 00:13:06,800
335
00:13:06,800 –> 00:13:08,240
که باید
336
00:13:08,240 –> 00:13:10,160
آن تصویر را بارگیری کنید.
337
00:13:10,160 –> 00:13:13,440
شما آن تصویر را
338
00:13:13,440 –> 00:13:15,839
با
339
00:13:15,839 –> 00:13:17,519
انجام t بارگذاری می کنید وی
340
00:13:17,519 –> 00:13:19,519
so pygame این ماژول تصویر را دارد شما
341
00:13:19,519 –> 00:13:20,959
فقط می توانید بگویید load
342
00:13:20,959 –> 00:13:23,440
و منابع block.image و
343
00:13:23,440 –> 00:13:25,600
تبدیل نقطه این روش
344
00:13:25,600 –> 00:13:27,839
بارگذاری تصویر است و هنگامی که
345
00:13:27,839 –> 00:13:28,720
تصویر را
346
00:13:28,720 –> 00:13:30,880
در این متغیر بلوک
347
00:13:30,880 –> 00:13:33,120
دارید می توانید ببینید
348
00:13:33,120 –> 00:13:36,160
بیایید به مستندات بار نگاه کنیم
349
00:13:36,160 –> 00:13:38,480
ببینید این است اسناد را بارگیری کنید خوب
350
00:13:38,480 –> 00:13:40,240
و بلاک
351
00:13:40,240 –> 00:13:43,600
کنید، می توانید روی یک سطح نقاشی کنید، بنابراین
352
00:13:43,600 –> 00:13:46,240
صفحه پس زمینه شما این سطح باشد
353
00:13:46,240 –> 00:13:49,040
، می گوییم سطح می دانید سطح
354
00:13:49,040 –> 00:13:51,040
پس زمینه شماست، پنجره اصلی شما
355
00:13:51,040 –> 00:13:53,600
روی آن اگر می خواهید یک بلوک بکشید،
356
00:13:53,600 –> 00:13:55,199
برای آن تابعی به نام وجود دارد.
357
00:13:55,199 –> 00:13:57,519
blit
358
00:13:58,399 –> 00:14:00,639
بنابراین این تابع تیغه چیزی نیست جز
359
00:14:00,639 –> 00:14:02,959
این تصویر را بکشید و چه چیزی را میخواهید به
360
00:14:02,959 –> 00:14:05,360
خوبی رسم کنید بلوک
361
00:14:05,360 –> 00:14:07,279
کجا میخواهید ترسیم کنید
362
00:14:07,279 –> 00:14:08,959
این ابعاد هستند
363
00:14:08,959 –> 00:14:11,199
بنابراین
364
00:14:11,839 –> 00:14:15,040
شاید 100 صد تا
365
00:14:15,519 –> 00:14:18,240
ببینید 100 در اینجا ترسیم شده است
366
00:14:18,240 –> 00:14:20,399
اگر انجام دهید 0 0
367
00:14:20,399 –> 00:14:23,199
این x و y است بنابراین اگر 0 0 را انجام دهید،
368
00:14:23,199 –> 00:14:27,680
در سمت چپ رسم می شود، بنابراین x و y
369
00:14:28,839 –> 00:14:33,120
خوب است، بنابراین من فقط یک متغیر را
370
00:14:33,120 –> 00:14:36,560
برای بعد اختصاص می دهم، بنابراین می گویم بلوک
371
00:14:36,560 –> 00:14:39,519
x 100 است، فرض کنید
372
00:14:39,519 –> 00:14:40,880
و بلوک
373
00:14:40,880 –> 00:14:44,160
y نیز 100
374
00:14:44,160 –> 00:14:45,680
خوب است
375
00:14:45,680 –> 00:14:48,160
و سپس آن را
376
00:14:51,120 –> 00:14:53,839
مسدود می کنم. x
377
00:14:53,839 –> 00:14:56,399
بلوک y
378
00:14:57,199 –> 00:14:58,480
all ri
379
00:14:58,480 –> 00:14:59,519
حالا کار
380
00:14:59,519 –> 00:15:01,680
بعدی که میخواهم انجام دهم این است که میخواهم
381
00:15:01,680 –> 00:15:05,360
این بلوک را جابهجا کنم، بنابراین وقتی این
382
00:15:05,360 –> 00:15:06,959
بلوک را
383
00:15:06,959 –> 00:15:08,800
با استفاده از کلید شایدم جابهجا میکنم، مانند یکی از
384
00:15:08,800 –> 00:15:11,040
چیزهای رایج در هر بازی، استفاده از
385
00:15:11,040 –> 00:15:13,920
کلیدهای سمت چپ بالا به پایین و راست است، خوب
386
00:15:13,920 –> 00:15:14,880
وقتی
387
00:15:14,880 –> 00:15:16,720
آن کلیدها را فشار میدهم
388
00:15:16,720 –> 00:15:19,120
. میخواهم بلوک را جابهجا کنم،
389
00:15:19,120 –> 00:15:21,920
پس چگونه میتوانم این کار را به خوبی انجام دهم، ابتدا اجازه دهید
390
00:15:21,920 –> 00:15:24,959
یک تابع بنویسم که این بلوک را ترسیم کند،
391
00:15:24,959 –> 00:15:27,040
بنابراین میخواهم یک تابع پایتون بنویسم
392
00:15:27,040 –> 00:15:29,600
که بلوک را رسم میکند،
393
00:15:29,600 –> 00:15:31,279
بنابراین همان کد است،
394
00:15:31,279 –> 00:15:33,839
این کد را که من دارم، ببینید. آن را در یک
395
00:15:33,839 –> 00:15:35,040
تابع قرار دهید،
396
00:15:35,040 –> 00:15:36,560
بنابراین من
397
00:15:36,560 –> 00:15:39,040
یک دو
398
00:15:39,040 –> 00:15:42,160
و سه این سه خط
399
00:15:42,160 –> 00:15:44,959
را در یک تابع قرار میدهم،
400
00:15:44,959 –> 00:15:47,040
بنابراین وقتی آن تابع را فراخوانی میکنم،
401
00:15:47,040 –> 00:15:49,120
فقط یک بلوک را میکشد،
402
00:15:49,120 –> 00:15:51,360
بنابراین حالا چگونه میتوانم آن بلوک را به درستی جابهجا
403
00:15:51,360 –> 00:15:53,440
کنم، بنابراین بیایید در مورد آن فکر کنیم، بنابراین در اینجا
404
00:15:53,440 –> 00:15:55,680
داریم دریافت میکنیم این سایت رویداد،
405
00:15:55,680 –> 00:15:59,920
بنابراین اگر کلید نقطه رویداد
406
00:16:00,880 –> 00:16:04,480
برابر است، بیایید بگوییم بالا
407
00:16:06,399 –> 00:16:08,959
ببین وقتی کلید بالا را فشار میدهی،
408
00:16:08,959 –> 00:16:11,120
کاری که انجام میدهی این است که
409
00:16:11,120 –> 00:16:13,680
بلوک شما در موقعیت x
410
00:16:13,680 –> 00:16:14,480
خوب است،
411
00:16:14,480 –> 00:16:16,240
بنابراین اجازه دهید
412
00:16:16,240 –> 00:16:20,440
آن را بکشم تا متوجه شوید
413
00:16:24,079 –> 00:16:26,000
که چه زمانی
414
00:16:26,000 –> 00:16:27,839
هستید. این صفحه نمایش شما است،
415
00:16:27,839 –> 00:16:30,959
در این صفحه شما یک بلوک دارید، بنابراین
416
00:16:30,959 –> 00:16:32,399
این yo است بلوک
417
00:16:32,399 –> 00:16:37,519
و بلوک ur در موقعیت x ویرگول y است،
418
00:16:37,519 –> 00:16:39,120
پس
419
00:16:39,120 –> 00:16:42,720
این یک سیستم مختصات است x و y
420
00:16:42,720 –> 00:16:43,839
خوب است،
421
00:16:43,839 –> 00:16:44,880
بنابراین
422
00:16:44,880 –> 00:16:48,800
بیایید بگوییم که این x در حال حاضر
423
00:16:49,120 –> 00:16:52,880
100 است، بنابراین x 100 است و y نیز 100 خوب است،
424
00:16:52,880 –> 00:16:53,839
بنابراین
425
00:16:53,839 –> 00:16:55,839
وقتی کلید را بالا می برید
426
00:16:55,839 –> 00:16:58,399
، y باقی می ماند. x ثابت می ماند اما
427
00:16:58,399 –> 00:17:00,320
شما y خود را تغییر می
428
00:17:00,320 –> 00:17:02,399
دهید y شما 100 است و اکنون آن را به سمت
429
00:17:02,399 –> 00:17:04,559
بالا می برید، بنابراین ممکن است
430
00:17:04,559 –> 00:17:06,559
431
00:17:06,559 –> 00:17:08,559
زمانی که دوباره آن را پایین می آورید مقداری آن را
432
00:17:08,559 –> 00:17:11,919
تغییر می دهید، y را تغییر می دهید، اما وقتی این بلوک را جابه جا می کنید
433
00:17:11,919 –> 00:17:14,400
ببینید وقتی این بلوک را
434
00:17:14,400 –> 00:17:16,880
دارید و وقتی آن را به این شکل حرکت می
435
00:17:16,880 –> 00:17:20,079
دهید x شما یکسان می ماند زیرا x این است
436
00:17:20,079 –> 00:17:23,359
اما شما نیستید y شما ثابت می ماند اما
437
00:17:23,359 –> 00:17:25,760
x شما تغییر می کند بنابراین
438
00:17:25,760 –> 00:17:28,400
y خود را ببینید
439
00:17:29,919 –> 00:17:31,679
پس این
440
00:17:31,679 –> 00:17:33,600
y این محور
441
00:17:33,600 –> 00:17:34,559
خوب است
442
00:17:34,559 –> 00:17:36,240
و این
443
00:17:36,240 –> 00:17:38,320
x این خاص است محوری که ممکن
444
00:17:38,320 –> 00:17:39,679
است در مورد
445
00:17:39,679 –> 00:17:42,160
سیستم مختصات پایه در کلاس ریاضی خود یاد گرفته باشید،
446
00:17:42,160 –> 00:17:43,840
447
00:17:43,840 –> 00:17:46,240
بنابراین این x است،
448
00:17:46,240 –> 00:17:48,559
بنابراین هنگامی که حرکت چپ و راست
449
00:17:48,559 –> 00:17:49,520
دارید،
450
00:17:49,520 –> 00:17:50,960
با حرکت x
451
00:17:50,960 –> 00:17:52,400
بالا و پایین بازی می کنید، با y بازی می کنید،
452
00:17:52,400 –> 00:17:53,840
453
00:17:53,840 –> 00:17:55,840
بنابراین وقتی کلید شما به سمت بالا است
454
00:17:55,840 –> 00:17:58,480
همان چیزی است که من می خواهم انجام
455
00:17:58,480 –> 00:18:01,120
هر کاری است که y
456
00:18:01,120 –> 00:18:04,400
دارم شاید بخواهم 10 را از y کم
457
00:18:04,400 –> 00:18:07,919
کنم همین است اگر این کار را انجام دهید
458
00:18:08,480 –> 00:18:10,559
خوب است
459
00:18:10,559 –> 00:18:13,120
، هر دو یکسان هستند
460
00:18:13,120 –> 00:18:15,280
و
461
00:18:15,280 –> 00:18:18,080
وقتی دارید فرض
462
00:18:18,400 –> 00:18:19,760
463
00:18:19,760 –> 00:18:21,840
کنید می خواهید y را 10 افزایش دهید
464
00:18:21,840 –> 00:18:24,640
465
00:18:24,799 –> 00:18:28,360
و اگر دارید
466
00:18:29,919 –> 00:18:31,440
، فرض کنید
467
00:18:31,440 –> 00:18:33,440
وقتی کلید چپ را فشار می دهید،
468
00:18:33,440 –> 00:18:35,600
می خواهید x
469
00:18:35,600 –> 00:18:37,360
خود را به روز کنید
470
00:18:37,360 –> 00:18:40,000
471
00:18:41,200 –> 00:18:43,840
و اگر
472
00:18:46,880 –> 00:18:49,200
کلید رویداد شما
473
00:18:49,200 –> 00:18:52,200
474
00:18:58,080 –> 00:19:00,320
این است درک همه اینها احتمالاً بسیار
475
00:19:00,320 –> 00:19:02,240
آسان است که
476
00:19:02,240 –> 00:19:03,840
شما فقط در حال تغییر مختصات خود هستید،
477
00:19:03,840 –> 00:19:05,200
زمانی که کلید را در دست دارید،
478
00:19:05,200 –> 00:19:07,280
x خود را تغییر نمیدهید زیرا x ثابت باقی میماند
479
00:19:07,280 –> 00:19:08,320
480
00:19:08,320 –> 00:19:10,799
و زمانی که این اتفاق میافتد، دقیقاً
481
00:19:10,799 –> 00:19:12,880
پس از تغییر مختصات خود، در حال
482
00:19:12,880 –> 00:19:15,919
فراخوانی قرعهکشی هستید. تابع بلوک
483
00:19:15,919 –> 00:19:18,559
چون بلوک قرعه کشی باید آن را بکشد حالا
484
00:19:18,559 –> 00:19:21,039
بیایید تابع بلوک ترسیم را بررسی کنیم،
485
00:19:21,039 –> 00:19:22,640
بنابراین در تابع بلوک ترسیم به هر حال
486
00:19:22,640 –> 00:19:25,039
وقتی در حال حرکت هستید بلوک خود را بالا
487
00:19:25,039 –> 00:19:26,240
و پایین
488
00:19:26,240 –> 00:19:27,200
بیندازید،
489
00:19:27,200 –> 00:19:28,640
اجازه دهید من در این خط نظر بدهم، به شما می گویم
490
00:19:28,640 –> 00:19:30,559
چرا آن خط مورد نیاز است. اجازه دهید ابتدا
491
00:19:30,559 –> 00:19:32,559
بدون آن خط
492
00:19:32,559 –> 00:19:33,760
این کار
493
00:19:33,760 –> 00:19:36,400
را انجام دهیم تا بلوک x و y را آپلود کنید
494
00:19:36,400 –> 00:19:37,760
و با استفاده از آن
495
00:19:37,760 –> 00:19:38,720
496
00:19:38,720 –> 00:19:41,280
دوباره آن بلوک را ترسیم کنید
497
00:19:41,280 –> 00:19:43,440
و باید این روش تلنگر را فراخوانی کنید
498
00:19:43,440 –> 00:19:45,840
در غیر این صورت به شما نشان نمی دهد که چه
499
00:19:45,840 –> 00:19:47,360
کاری را درست انجام داده
500
00:19:47,360 –> 00:19:49,200
اید، همچنین می توانید به روز رسانی را نیز فراخوانی کنید.
501
00:19:49,200 –> 00:19:50,640
متر
502
00:19:50,640 –> 00:19:52,480
خوب است، بنابراین من فقط تماس میگیرم، یک
503
00:19:52,480 –> 00:19:54,320
تفاوت جزئی وجود دارد که میتوانید در مورد آن
504
00:19:54,320 –> 00:19:58,240
به صورت آنلاین بخوانید، بنابراین اگر ctrl f5 را انجام دهم، ببینید
505
00:19:58,240 –> 00:20:00,240
وقتی کلید راست را فشار میدهم، به
506
00:20:00,240 –> 00:20:02,320
سمت راست حرکت میکند و وقتی
507
00:20:02,320 –> 00:20:04,320
پایین را فشار میدهم به سمت پایین
508
00:20:04,320 –> 00:20:06,880
و سپس حرکت میکند. سمت چپ اما
509
00:20:06,880 –> 00:20:10,320
بلوک قبلی هنوز وجود دارد،
510
00:20:10,320 –> 00:20:12,400
من نمیخواهم آن بلوکها وقتی
511
00:20:12,400 –> 00:20:14,640
حرکت میکنم، بلوک فقط باید حرکت کند
512
00:20:14,640 –> 00:20:17,520
و به همین دلیل شما به این خط نیاز دارید،
513
00:20:17,520 –> 00:20:19,919
بنابراین قبل از ترسیم بلوک،
514
00:20:19,919 –> 00:20:22,320
صفحه خود را پاک میکنید،
515
00:20:22,320 –> 00:20:24,159
بنابراین وقتی این خط را دارید
516
00:20:24,159 –> 00:20:25,760
اکنون ببینید
517
00:20:25,760 –> 00:20:27,360
شما هر کاری را به سمت چپ بالا و
518
00:20:27,360 –> 00:20:28,400
519
00:20:28,400 –> 00:20:29,280
راست
520
00:20:29,280 –> 00:20:33,840
انجام میدهید و بلوک به آرامی حرکت میکند
521
00:20:33,840 –> 00:20:36,960
کنگره شما اولین
522
00:20:36,960 –> 00:20:38,960
برنامه بازی خرید اولیه را دارید که برای شما
523
00:20:38,960 –> 00:20:40,400
کار میکند،
524
00:20:40,400 –> 00:20:42,400
وقتی من به شما آموزش ویدیویی میدهم کار فوقالعادهای انجام دادید
525
00:20:42,400 –> 00:20:44,640
، مطمئن شوید که ویرایشگر کد خود را
526
00:20:44,640 –> 00:20:46,880
باز کردهاید و با من برنامه نویسی
527
00:20:46,880 –> 00:20:48,960
کنید زیرا
528
00:20:48,960 –> 00:20:51,600
در جلسه بعدی به شما یادگیری موثری می دهد، ما به این کار
529
00:20:51,600 –> 00:20:54,640
ادامه می دهیم، اما در این جلسه
530
00:20:54,640 –> 00:20:56,320
من فقط همین مقدار
531
00:20:56,320 –> 00:20:58,240
را دارم شما فقط یک
532
00:20:58,240 –> 00:21:01,440
صفحه و یک بلوک می سازید که می تواند به خوبی حرکت کند
533
00:21:01,440 –> 00:21:03,840
534
00:21:07,840 –> 00:21:10,159
تا جایی که کد ما به نظر می رسد. خوب
535
00:21:10,159 –> 00:21:11,360
536
00:21:11,360 –> 00:21:14,080
اما کد خیلی خوانا نیست، بنابراین در این
537
00:21:14,080 –> 00:21:15,039
جلسه
538
00:21:15,039 –> 00:21:17,000
قصد داریم آن را به عنوان
539
00:21:17,000 –> 00:21:19,120
برنامه نویسی شی گرا بسازیم، بنابراین
540
00:21:19,120 –> 00:21:20,240
چیزی به نام
541
00:21:20,240 –> 00:21:22,159
برنامه نویسی شی گرا یا اوپس وجود دارد،
542
00:21:22,159 –> 00:21:24,480
بنابراین می خواهیم آن را طوری بسازیم
543
00:21:24,480 –> 00:21:26,960
که از اصل oops پیروی کند.
544
00:21:26,960 –> 00:21:28,480
545
00:21:28,480 –> 00:21:30,640
تبدیل این به
546
00:21:30,640 –> 00:21:33,760
کلاس ها و آبجکت ها،
547
00:21:33,760 –> 00:21:37,280
بنابراین بیایید از اینجا شروع کنیم،
548
00:21:37,280 –> 00:21:39,440
یک بلوک عظیم از کد را در خود
549
00:21:39,440 –> 00:21:41,840
تابع اصلی خود می بینید، معمولاً
550
00:21:41,840 –> 00:21:44,400
وقتی روی پروژه های پایتون مناسب کار می
551
00:21:44,400 –> 00:21:46,159
کنید، ترجیح نمی دهید آنقدر کد در نقطه ورودی اصلی خود بنویسید تا بنویسید.
552
00:21:46,159 –> 00:21:48,240
553
00:21:48,240 –> 00:21:51,039
چیزهایی مثل
554
00:21:51,039 –> 00:21:53,120
همه چیز خوب است اگر
555
00:21:53,120 –> 00:21:55,520
من کلاسی به نام game
556
00:21:55,520 –> 00:21:58,480
okay داشته باشم و به این صورت کلاس را تعریف می کنید اگر
557
00:21:58,480 –> 00:21:59,919
در مورد کلاس ها و اشیاء نمی
558
00:21:59,919 –> 00:22:01,360
دانید می توانید
559
00:22:01,360 –> 00:22:03,760
ویدیوی پایتون من را روی کلاس ها و اشیاء دنبال کنید
560
00:22:03,760 –> 00:22:05,120
و به درک درستی خواهید رسید که
561
00:22:05,120 –> 00:22:07,039
مانند پیش نیاز
562
00:22:07,039 –> 00:22:09,280
اینجا این یک سازنده است، بنابراین سازنده را می
563
00:22:09,280 –> 00:22:11,679
نویسیم،
564
00:22:11,679 –> 00:22:12,559
565
00:22:12,559 –> 00:22:13,919
اما اگر
566
00:22:13,919 –> 00:22:16,400
در روش اصلی من در
567
00:22:16,400 –> 00:22:19,840
اینجا فقط دو خط کد داشته باشم
568
00:22:19,840 –> 00:22:21,919
و آن کد این باشد
569
00:22:21,919 –> 00:22:24,159
که شما یک شی از یک بازی ایجاد می کنید
570
00:22:24,159 –> 00:22:26,400
و فقط می گویید dot run
571
00:22:26,400 –> 00:22:27,520
ok ay
572
00:22:27,520 –> 00:22:28,720
و در
573
00:22:28,720 –> 00:22:31,919
اینجا البته شما یک تابع
574
00:22:31,919 –> 00:22:33,919
اجرا خواهید داشت و ما همه این توابع را پیاده سازی می کنیم،
575
00:22:33,919 –> 00:22:36,559
اما این ایده من است
576
00:22:36,559 –> 00:22:39,120
من می خواهم فقط دو خط کد
577
00:22:39,120 –> 00:22:40,559
در متد اصلی خود داشته باشم
578
00:22:40,559 –> 00:22:42,240
و بقیه چیزها باید کلاس ها
579
00:22:42,240 –> 00:22:43,760
و اشیاء
580
00:22:43,760 –> 00:22:44,960
باشند،
581
00:22:44,960 –> 00:22:46,720
بنابراین
582
00:22:46,720 –> 00:22:48,720
بیایید شروع کنیم
583
00:22:48,720 –> 00:22:51,919
همه این کدها را به کلاسهای خود منتقل کنید
584
00:22:51,919 –> 00:22:53,200
585
00:22:53,200 –> 00:22:55,120
تا بازی پای در آن البته
586
00:22:55,120 –> 00:22:56,720
وارد
587
00:22:56,720 –> 00:23:00,080
مقداردهی اولیه بازی شما میشود،
588
00:23:00,080 –> 00:23:01,200
589
00:23:01,200 –> 00:23:03,520
سپس چیزی که
590
00:23:03,520 –> 00:23:05,120
دارید یک سطح است،
591
00:23:05,120 –> 00:23:09,039
بنابراین این سطح نیز وارد
592
00:23:09,039 –> 00:23:11,600
مقداردهی اولیه بازی شما میشود و من این
593
00:23:11,600 –> 00:23:13,520
سطح را به یک کلاس تبدیل میکنم.
594
00:23:13,520 –> 00:23:14,559
عضو
595
00:23:14,559 –> 00:23:15,679
و هنگامی که شما خود را انجام می دهید.
596
00:23:15,679 –> 00:23:17,840
چیزی را
597
00:23:17,840 –> 00:23:19,600
می سازید که
598
00:23:19,600 –> 00:23:20,400
یک
599
00:23:20,400 –> 00:23:22,400
عضو کلاس را می سازید تا
600
00:23:22,400 –> 00:23:24,400
بعداً در سطح اینجا نیز در دسترس
601
00:23:24,400 –> 00:23:27,679
باشد، خوب است، بنابراین ایده
602
00:23:27,679 –> 00:23:31,520
کاملاً درست است، بنابراین ما آن را انتقال دادیم بسیار
603
00:23:31,520 –> 00:23:34,400
خوب، بلوکی داریم که
604
00:23:34,400 –> 00:23:35,600
605
00:23:35,600 –> 00:23:38,000
کمی بعداً بررسی خواهیم کرد.
606
00:23:38,000 –> 00:23:40,799
بیایید ببینیم آیا چیز دیگری وجود دارد،
607
00:23:40,799 –> 00:23:43,039
نه همه چیز درست است، بنابراین
608
00:23:43,039 –> 00:23:44,240
تا اینجای کار
609
00:23:44,240 –> 00:23:45,679
بازی خوب به نظر می رسد
610
00:23:45,679 –> 00:23:48,000
اکنون بلوک
611
00:23:48,000 –> 00:23:49,279
612
00:23:49,279 –> 00:23:51,520
چیزی است که ما در حال ساختن آن هستیم تا
613
00:23:51,520 –> 00:23:54,720
در نهایت مار خود را
614
00:23:54,720 –> 00:23:56,640
بسازیم، پس
615
00:23:56,640 –> 00:23:58,320
چطور می
616
00:23:58,320 –> 00:24:01,679
شود کلاسی به نام snake
617
00:24:02,080 –> 00:24:03,760
okay
618
00:24:03,760 –> 00:24:07,039
و th بسازیم. در کلاس،
619
00:24:07,840 –> 00:24:12,240
این کلاس آن شیء بلوک را خواهد داشت،
620
00:24:12,240 –> 00:24:16,080
بنابراین اجازه دهید همه اینها را به اینجا منتقل کنم،
621
00:24:16,240 –> 00:24:19,520
بنابراین دوباره می گویم self.block
622
00:24:19,520 –> 00:24:21,120
و سپس
623
00:24:21,120 –> 00:24:23,440
um
624
00:24:23,480 –> 00:24:27,919
self.x صدها نقطه است y
625
00:24:27,919 –> 00:24:30,240
صدها درست است،
626
00:24:30,240 –> 00:24:33,440
بنابراین من از شر آن کد خلاص می شوم.
627
00:24:33,440 –> 00:24:35,679
بنابراین
628
00:24:35,679 –> 00:24:38,080
اکنون می بینید که به
629
00:24:38,080 –> 00:24:40,159
نوعی احساسی از این فرآیند دریافت کرده اید که در آن شما
630
00:24:40,159 –> 00:24:43,520
مقداری کد آزمایشی نوشته اید و
631
00:24:43,520 –> 00:24:45,279
زمانی که کار
632
00:24:45,279 –> 00:24:47,600
می کند می خواهید آن را به یک
633
00:24:47,600 –> 00:24:49,520
کد شی گرا تبدیل کنید
634
00:24:49,520 –> 00:24:52,080
و به این صورت است که
635
00:24:52,080 –> 00:24:53,120
636
00:24:53,120 –> 00:24:55,360
در حال حاضر همه این کارها را انجام می دهید. مانند
637
00:24:55,360 –> 00:24:58,640
رسم بلوک، بنابراین من می خواهم بلوک
638
00:24:58,640 –> 00:25:02,000
را بکشم، بنابراین در روش snake خود، شاید بتوانم
639
00:25:02,000 –> 00:25:04,320
تابع ترسیم را اضافه کنم،
640
00:25:04,320 –> 00:25:06,559
بنابراین وقتی می گویید snakesnake.draw،
641
00:25:06,559 –> 00:25:09,120
آن مار را می کشد، بنابراین در حال حاضر یک
642
00:25:09,120 –> 00:25:11,039
مار فقط یک بلوک
643
00:25:11,039 –> 00:25:12,840
644
00:25:12,840 –> 00:25:15,120
است.
645
00:25:15,120 –> 00:25:16,799
یک سطح والد
646
00:25:16,799 –> 00:25:18,559
اما من آن را ندارم،
647
00:25:18,559 –> 00:25:20,240
به طور کلی وقتی برنامه نویسی کلاس را انجام
648
00:25:20,240 –> 00:25:22,880
می دهید، می خواهید
649
00:25:22,880 –> 00:25:25,360
آن سطح را به عنوان آرگومان به این
650
00:25:25,360 –> 00:25:26,480
تابع منتقل کنید
651
00:25:26,480 –> 00:25:28,960
یا گزینه دیگری که دارید این
652
00:25:28,960 –> 00:25:31,679
است که آن را به عنوان یک عضو کلاس ذخیره کنید، بنابراین من
653
00:25:31,679 –> 00:25:34,320
فقط قرار است آن سطح را صفحه والد بنامم
654
00:25:34,320 –> 00:25:35,520
655
00:25:35,520 –> 00:25:37,919
و i ذخیره خواهم کرد t در یکی از
656
00:25:37,919 –> 00:25:41,200
اعضای کلاس جدید به نام صفحه والد
657
00:25:41,200 –> 00:25:43,200
okay
658
00:25:43,200 –> 00:25:44,799
و وقتی آن را ترسیم می
659
00:25:44,799 –> 00:25:46,640
کنم می گویم self dot
660
00:25:46,640 –> 00:25:48,240
apparent screen dot
661
00:25:48,240 –> 00:25:50,080
blit
662
00:25:50,080 –> 00:25:52,880
و این بلوک باید خود نقطه بلوک باشد
663
00:25:52,880 –> 00:25:55,120
و این x و y باید
664
00:25:55,120 –> 00:25:58,120
self.x
665
00:25:59,600 –> 00:26:02,000
self.y بسیار
666
00:26:02,000 –> 00:26:03,760
667
00:26:03,760 –> 00:26:06,159
خوب است.
668
00:26:06,480 –> 00:26:08,799
پس
669
00:26:08,840 –> 00:26:10,400
حالا
670
00:26:10,400 –> 00:26:13,039
می دانید که این بازی را
671
00:26:13,039 –> 00:26:15,440
ببینید این بازی به نوعی شی اصلی است
672
00:26:15,440 –> 00:26:18,799
و بازی داشتن یک مار در داخل آن است، بنابراین
673
00:26:18,799 –> 00:26:21,520
شما یک بازی دارای یک مار هستید
674
00:26:21,520 –> 00:26:23,919
بنابراین به همین دلیل
675
00:26:23,919 –> 00:26:28,320
من یک مار در کلاس بازی خود
676
00:26:28,320 –> 00:26:30,240
ایجاد خواهم کرد بنابراین من ایجاد کردم یک مار
677
00:26:30,240 –> 00:26:32,559
در کلاس بازی من
678
00:26:32,559 –> 00:26:33,760
اکنون
679
00:26:33,760 –> 00:26:36,080
سازنده مار انتظار صفحه والد را دارد، بنابراین
680
00:26:36,080 –> 00:26:38,000
681
00:26:38,000 –> 00:26:40,400
سطح خود نقطه صفحه نمایش والد
682
00:26:42,000 –> 00:26:43,520
من چیست
683
00:26:43,520 –> 00:26:45,440
و وقتی این کار تمام شد
684
00:26:45,440 –> 00:26:47,360
، میخواهم
685
00:26:47,360 –> 00:26:50,840
مار را
686
00:26:53,039 –> 00:26:54,240
کاملاً درست بکشم،
687
00:26:54,240 –> 00:26:57,600
بنابراین تا اینجا خوب به نظر میرسد، به هر
688
00:26:57,600 –> 00:26:58,720
حال
689
00:26:58,720 –> 00:27:00,320
وقتی این را میکشید،
690
00:27:00,320 –> 00:27:02,320
شما این را ترسیم
691
00:27:02,320 –> 00:27:05,840
میکنید، بنابراین شما به نوعی این را جایگزین
692
00:27:05,840 –> 00:27:08,320
میکنید تا تابع ترسیم دقیقاً همین
693
00:27:08,320 –> 00:27:09,200
ترسیم باشد،
694
00:27:09,200 –> 00:27:11,120
بنابراین دو کار دیگر وجود داشت که
695
00:27:11,120 –> 00:27:14,480
میخواستیم انجام دهیم که پر کنید
696
00:27:14,480 –> 00:27:16,000
و
697
00:27:16,000 –> 00:27:17,679
ببینید این خط در
698
00:27:17,679 –> 00:27:19,520
وسط میآید، خوب
699
00:27:19,520 –> 00:27:21,760
و این خودش خواهد بود. سطح نقطه
700
00:27:21,760 –> 00:27:23,440
پر کنید
701
00:27:23,440 –> 00:27:25,120
و این
702
00:27:25,120 –> 00:27:28,240
بازی پی خواهد بود نمایش نقطه،
703
00:27:28,320 –> 00:27:29,039
بنابراین
704
00:27:29,039 –> 00:27:30,880
وقتی snake دارید و وقتی می گویید
705
00:27:30,880 –> 00:27:32,480
snake dot
706
00:27:32,480 –> 00:27:35,279
draw، مار یا یک بلوک را
707
00:27:35,279 –> 00:27:37,440
روی سطح می
708
00:27:37,440 –> 00:27:40,000
کشد، بنابراین اکنون این تابع را نیز حذف می کنیم،
709
00:27:40,000 –> 00:27:43,120
خوب چیزی که اکنون باقی مانده
710
00:27:44,399 –> 00:27:47,200
است، حلقه رویداد اصلی باقی مانده است، بنابراین این
711
00:27:47,200 –> 00:27:50,080
حلقه رویداد اصلی باقی مانده است.
712
00:27:54,000 –> 00:27:55,760
من این را در یک تابع اجرا کپی خواهم کرد،
713
00:27:55,760 –> 00:27:58,880
714
00:27:59,039 –> 00:28:00,880
زیرا آن تابع اجرا به
715
00:28:00,880 –> 00:28:03,360
نوعی تابع اصلی است،
716
00:28:03,360 –> 00:28:05,440
بنابراین ما رویداد را اجرا می
717
00:28:05,440 –> 00:28:07,120
کنیم، بیایید اینجا خوب به آن نگاه کنیم،
718
00:28:07,120 –> 00:28:09,360
من به بلوک x دسترسی ندارم
719
00:28:09,360 –> 00:28:10,080
و
720
00:28:10,080 –> 00:28:13,279
بلوک و غیره را درست رسم
721
00:28:13,279 –> 00:28:14,799
نمی کنم، پس چه کنیم
722
00:28:14,799 –> 00:28:18,399
اما ما به شیء snake دسترسی داریم
723
00:28:18,399 –> 00:28:21,200
پس snake all right پس بیایید این کار را انجام دهیم تا
724
00:28:21,200 –> 00:28:22,240
725
00:28:22,240 –> 00:28:23,440
726
00:28:23,440 –> 00:28:25,360
وقتی کلیک چپ میکنید میخواهید
727
00:28:25,360 –> 00:28:26,480
728
00:28:26,480 –> 00:28:27,360
729
00:28:27,360 –> 00:28:29,760
مار را به سمت چپ حرکت دهید،
730
00:28:29,760 –> 00:28:32,000
پس اگر تابعی به نام
731
00:28:32,000 –> 00:28:33,919
حرکت به چپ
732
00:28:33,919 –> 00:28:35,279
داشته باشیم تا من نداشته باشم چه میشود. نگران بودن در مورد همه
733
00:28:35,279 –> 00:28:37,279
اینها
734
00:28:37,279 –> 00:28:39,039
وقتی می گویید حرکت به چپ باید حرکت کند
735
00:28:39,039 –> 00:28:40,559
736
00:28:40,559 –> 00:28:43,360
وقتی کلید راست را فشار می دهید باید به
737
00:28:43,360 –> 00:28:45,840
سمت چپ حرکت کند
738
00:28:46,159 –> 00:28:48,000
آزاد کردن این کار شگفت انگیز خواهد بود و
739
00:28:48,000 –> 00:28:50,320
باعث می شود کد بسیار
740
00:28:50,320 –> 00:28:52,880
خوانا شود
741
00:28:53,279 –> 00:28:54,880
بنابراین به راست حرکت کنید
742
00:28:54,880 –> 00:28:56,880
من فقط دارم این روش ها را تایپ می کنم آنها
743
00:28:56,880 –> 00:29:00,720
وجود ندارند اما من می خواهم آنها را
744
00:29:00,720 –> 00:29:02,559
اینگونه بنویسم شما آیا
745
00:29:02,559 –> 00:29:03,840
746
00:29:03,840 –> 00:29:05,840
برنامه نویسی شی گرا
747
00:29:05,840 –> 00:29:07,520
حرکت به سمت پایین
748
00:29:07,520 –> 00:29:09,760
خوب است،
749
00:29:10,480 –> 00:29:13,600
بنابراین من باید همه این متدها را
750
00:29:13,600 –> 00:29:17,919
در کلاس snake خود بنویسم، پس بیایید آن متد را بنویسیم
751
00:29:17,919 –> 00:29:19,360
752
00:29:19,360 –> 00:29:22,960
تا به سمت چپ حرکت کنیم، خوب وقتی به چپ حرکت می
753
00:29:23,120 –> 00:29:26,159
کنید چه کار می کنید
754
00:29:26,159 –> 00:29:28,799
، در جلسه قبلی دیدیم که
755
00:29:28,799 –> 00:29:30,640
حرکت به چپ به این معنی است که شما فقط در حال تغییر هستید
756
00:29:30,640 –> 00:29:33,679
یک موقعیت x چون y شما یکسان است،
757
00:29:33,679 –> 00:29:35,440
بنابراین من فقط
758
00:29:35,440 –> 00:29:36,960
خود
759
00:29:36,960 –> 00:29:38,720
نقطه x -10 را انجام میدهم،
760
00:29:38,720 –> 00:29:41,600
میدانید که 10 پیکسل از x خود کم
761
00:29:41,600 –> 00:29:42,480
میکنم تا
762
00:29:42,480 –> 00:29:45,440
بلوک شما پس از تفریق در سمت چپ حرکت کند
763
00:29:45,440 –> 00:29:47,279
،
764
00:29:47,279 –> 00:29:49,520
میخواهید آن را بکشید
765
00:29:49,520 –> 00:29:51,039
و برای ترسیم در
766
00:29:51,039 –> 00:29:54,080
آنجا روشی است تا بتوانید ببینید
767
00:29:54,080 –> 00:29:56,399
کد شما خواناتر می شود، این به
768
00:29:56,399 –> 00:29:58,399
نوعی منطقی است که در مغز شما
769
00:29:58,399 –> 00:30:00,799
حرکت به راست به چپ 10 کم شود و
770
00:30:00,799 –> 00:30:02,159
سپس ترسیم آن
771
00:30:02,159 –> 00:30:05,360
کد قبلی کمی رمزآلود بود
772
00:30:05,360 –> 00:30:09,120
و به همین ترتیب
773
00:30:09,120 –> 00:30:11,360
می توانید بقیه موارد را پیاده سازی کنید.
774
00:30:11,360 –> 00:30:15,039
روش ببینید حرکت به سمت راست حرکت به بالا و پایین
775
00:30:15,039 –> 00:30:16,000
776
00:30:16,000 –> 00:30:17,520
بسیار خوب است، بنابراین درک آن
777
00:30:17,520 –> 00:30:19,760
بسیار آسان است، بنابراین
778
00:30:19,760 –> 00:30:21,520
وقتی کد خود را می خوانید، می
779
00:30:21,520 –> 00:30:24,240
بینید که ابتدا برنامه پایتون خود را شروع می کنید،
780
00:30:24,240 –> 00:30:25,279
781
00:30:25,279 –> 00:30:27,600
بازی بازی را ایجاد می کنید، می گوید اجرا
782
00:30:27,600 –> 00:30:30,799
کنید خوب چه می کند run do
783
00:30:30,799 –> 00:30:32,720
run عبارت است از اجرای حلقه
784
00:30:32,720 –> 00:30:34,480
رویداد شما در حلقه رویداد شما snake دارید شما در
785
00:30:34,480 –> 00:30:36,799
حال حرکت به چپ و راست هستید بنابراین کد
786
00:30:36,799 –> 00:30:39,039
اکنون خواناتر است و وقتی راست کلیک می کنید
787
00:30:39,039 –> 00:30:41,840
و اجرا می کنید این
788
00:30:41,840 –> 00:30:42,880
789
00:30:42,880 –> 00:30:45,679
شیء Okay snake ویژگی
790
00:30:45,679 –> 00:30:48,240
سطح خود نقطه ندارد
791
00:30:48,240 –> 00:30:49,919
بله خود درایو ندارد، بنابراین
792
00:30:49,919 –> 00:30:53,919
صفحه اصلی خود را دارد،
793
00:30:55,440 –> 00:30:56,720
بنابراین
794
00:30:56,720 –> 00:30:58,960
من چپ و راست را فشار می دهم و
795
00:30:58,960 –> 00:31:01,600
بلوک در حال حرکت است، من هیچ
796
00:31:01,600 –> 00:31:04,320
تغییری در عملکرد ایجاد نکردم اما در این جلسه
797
00:31:04,320 –> 00:31:05,919
ما یک کار شگفت انگیز انجام دادیم که
798
00:31:05,919 –> 00:31:07,919
تبدیل به یک برنامه نویسی شد. برای
799
00:31:07,919 –> 00:31:09,600
برنامه نویسی شی گرا
800
00:31:09,600 –> 00:31:11,840
این مورد نیاز است اگر می خواهید
801
00:31:11,840 –> 00:31:14,480
برنامه نویس خوبی شوید یک برنامه
802
00:31:14,480 –> 00:31:16,960
نویس خوب می تواند
803
00:31:16,960 –> 00:31:17,679
برنامه
804
00:31:17,679 –> 00:31:20,480
نویسی روش برنامه نویسی شی گرا را برنامه ریزی کند
805
00:31:20,480 –> 00:31:21,679
806
00:31:21,679 –> 00:31:24,720
و کد قابل خواندن است و قابل نگهداری است شما می
807
00:31:24,720 –> 00:31:26,880
دانید زمانی که برای شرکت های بزرگ کار می
808
00:31:26,880 –> 00:31:29,120
کنید پایه های کد بسیار بزرگ هستند
809
00:31:29,120 –> 00:31:30,960
بنابراین وقتی فرد جدیدی به آن ملحق می شود.
810
00:31:30,960 –> 00:31:32,960
در حال حاضر میلیونها خط وجود دارد،
811
00:31:32,960 –> 00:31:34,640
بنابراین اگر کد قابل خواندن است، مثل همین الان ببینید،
812
00:31:34,640 –> 00:31:36,480
کد خواناتر است،
813
00:31:36,480 –> 00:31:37,919
پس به شما کمک میکند
814
00:31:37,919 –> 00:31:38,720
تا
815
00:31:38,720 –> 00:31:40,559
اوه یا مفاهیم برنامهنویسی شی گرا
816
00:31:40,559 –> 00:31:42,720
شما را به برنامهنویس بهتری
817
00:31:42,720 –> 00:31:44,640
تبدیل کند. به همین دلیل است که فکر میکنم این
818
00:31:44,640 –> 00:31:46,480
جلسه بسیار مهم است، بنابراین
819
00:31:46,480 –> 00:31:50,159
امیدوارم همه این درسها را یاد گرفته باشید.
820
00:31:52,320 –> 00:31:53,679
821
00:31:53,679 –> 00:31:56,880
822
00:31:56,880 –> 00:31:58,640
823
00:31:58,640 –> 00:32:00,559
824
00:32:00,559 –> 00:32:02,799
825
00:32:02,799 –> 00:32:04,799
826
00:32:04,799 –> 00:32:07,360
آیا هواپیماهایی که در حال سقوط هستند پرواز می
827
00:32:07,360 –> 00:32:09,279
کنند شما چیزی نمی دانید و آنها به
828
00:32:09,279 –> 00:32:10,720
حرکت خود
829
00:32:10,720 –> 00:32:12,399
ادامه می دهند بنابراین من همین کار را با این
830
00:32:12,399 –> 00:32:14,720
بلوک انجام می دهم تا اگر به هیچ کلیدی دست نمی زنم
831
00:32:14,720 –> 00:32:16,320
و اگر پایین می
832
00:32:16,320 –> 00:32:19,120
رود با لمس سمت راست به پایین ادامه می دهد. بیایید
833
00:32:19,120 –> 00:32:21,200
بگوییم که فقط جهت را تغییر میدهد،
834
00:32:21,200 –> 00:32:23,440
اما به تنهایی به حرکت
835
00:32:23,440 –> 00:32:24,480
خود ادامه میدهد،
836
00:32:24,480 –> 00:32:26,640
بنابراین
837
00:32:26,640 –> 00:32:29,760
کاری که باید در اینجا انجام دهم این است
838
00:32:29,760 –> 00:32:31,760
که یک تایمر را معرفی
839
00:32:31,760 –> 00:32:34,399
کنم، در حالی که حلقه
840
00:32:34,399 –> 00:32:37,120
این کد همه رویدادهای کلیدی را مدیریت میکند، اما
841
00:32:37,120 –> 00:32:39,840
خارج از این بلوک میدانید که
842
00:32:39,840 –> 00:32:41,679
دوست دارید. در
843
00:32:41,679 –> 00:32:43,440
اینجا باید
844
00:32:43,440 –> 00:32:46,720
یک تایمر بگذارم، بنابراین در
845
00:32:46,720 –> 00:32:49,039
اینجا مقداری تایمر
846
00:32:49,039 –> 00:32:51,519
و روی آن رویداد قرار خواهم داد، بنابراین
847
00:32:51,519 –> 00:32:55,440
فرض کنید من روشی به
848
00:32:55,440 –> 00:32:57,200
نام نقطه
849
00:32:57,200 –> 00:32:59,440
850
00:32:59,679 –> 00:33:02,159
دارم، پس اگر روشی به نام خود نقطه
851
00:33:02,159 –> 00:33:06,880
مار داشته باشم، نقطه راه بروید، بنابراین مار درست است،
852
00:33:06,880 –> 00:33:08,640
بنابراین این فرضیه است ما انجام می دهیم این
853
00:33:08,640 –> 00:33:11,360
روش را ندارم اما فرضاً فکر کنید
854
00:33:11,360 –> 00:33:13,519
که در این روش
855
00:33:13,519 –> 00:33:15,600
مار به تنهایی راه میرود بدون اینکه
856
00:33:15,600 –> 00:33:17,760
شما کلیدی بگذارید،
857
00:33:17,760 –> 00:33:20,399
اکنون این حلقه قانون بسیار سریع اجرا میشود،
858
00:33:20,399 –> 00:33:22,240
بنابراین اگر این کار را انجام دهید، مار واقعاً سریع حرکت میکند،
859
00:33:22,240 –> 00:33:23,840
بنابراین باید
860
00:33:23,840 –> 00:33:25,519
کمی تأخیر ایجاد کنید.
861
00:33:25,519 –> 00:33:27,679
و شما می توانید از
862
00:33:27,679 –> 00:33:30,799
ماژول زمان برای آن استفاده کنید،
863
00:33:32,080 –> 00:33:34,960
بنابراین ما مقداری زمان خواب را معرفی می کنیم،
864
00:33:34,960 –> 00:33:36,320
بنابراین در اینجا
865
00:33:36,320 –> 00:33:37,519
می گوییم
866
00:33:37,519 –> 00:33:39,840
زمان
867
00:33:39,840 –> 00:33:43,039
خواب، مثلا نقطه دو ثانیه،
868
00:33:43,039 –> 00:33:45,279
بنابراین هر دو ثانیه، نقطه دو ثانیه،
869
00:33:45,279 –> 00:33:47,440
روی نقطه خود حرکت می کند، دو ثانیه حرکت می کند،
870
00:33:47,440 –> 00:33:49,360
نقطه دو ثانیه حرکت می کند.
871
00:33:49,360 –> 00:33:50,810
و
872
00:33:50,810 –> 00:33:53,120
[Music] را
873
00:33:53,120 –> 00:33:55,440
در این تابع
874
00:33:55,440 –> 00:33:58,000
875
00:33:58,000 –> 00:34:00,559
پیادهسازی باید در اینجا پیادهسازی کنیم، بنابراین اجازه دهید من فقط
876
00:34:00,559 –> 00:34:02,960
تابع بلوک را در اینجا پیادهسازی
877
00:34:02,960 –> 00:34:04,320
کنم، خوب راه بروید،
878
00:34:04,320 –> 00:34:07,200
خوب در پیادهروی چه کار میکنیم،
879
00:34:07,200 –> 00:34:08,239
880
00:34:08,239 –> 00:34:09,918
البته در تابع پیادهروی اکنون شما
881
00:34:09,918 –> 00:34:13,440
مار را و
882
00:34:13,440 –> 00:34:15,520
بر اساس جهت میکشید. در
883
00:34:15,520 –> 00:34:16,879
جهت فعلی
884
00:34:16,879 –> 00:34:19,119
در یک نقطه زمانی مشخص، مار می تواند
885
00:34:19,119 –> 00:34:22,159
به سمت چپ و راست بالا پایین حرکت کند،
886
00:34:22,159 –> 00:34:24,320
بنابراین بر اساس جهت باید
887
00:34:24,320 –> 00:34:27,359
مختصات x و y را افزایش دهید خوب است، بنابراین
888
00:34:27,359 –> 00:34:29,679
ما باید این پارامتر جهت را داشته باشیم
889
00:34:29,679 –> 00:34:31,599
که من در اینجا اضافه می کنم.
890
00:34:31,599 –> 00:34:33,839
جهت نقطه، فرض کنید در
891
00:34:33,839 –> 00:34:35,359
892
00:34:35,359 –> 00:34:37,918
ابتدا یک جهت را به سمت بالا
893
00:34:37,918 –> 00:34:40,398
یا پایین
894
00:34:41,599 –> 00:34:43,359
895
00:34:43,359 –> 00:34:44,879
896
00:34:44,879 –> 00:34:45,918
897
00:34:45,918 –> 00:34:48,159
898
00:34:48,159 –> 00:34:49,560
899
00:34:49,560 –> 00:34:51,119
میسازید
900
00:34:51,119 –> 00:34:52,480
، این میتواند هر چیزی باشد که من بهطور تصادفی انتخاب میکنم و بر اساس آن جهت، پس اجازه دهید این کار را انجام دهم، بنابراین اگر خود.جهت بالا است،
901
00:34:52,480 –> 00:34:54,639
پس اگر بالا است، چه کار میکنید
902
00:34:54,639 –> 00:34:55,440
خوب
903
00:34:55,440 –> 00:34:58,800
قبلاً دیدیم که اگر بالا باشد شما
904
00:34:58,800 –> 00:35:00,000
فقط
905
00:35:00,000 –> 00:35:04,240
yc را کاهش می دهید ما y را کاهش می دهیم
906
00:35:04,320 –> 00:35:05,280
و
907
00:35:05,280 –> 00:35:08,560
اگر جهت آن است
908
00:35:08,560 –> 00:35:10,720
اجازه دهید فقط برای صرفه جویی در
909
00:35:10,720 –> 00:35:13,280
وقت در اینجا فقط کپی پیست کنم
910
00:35:13,359 –> 00:35:15,760
اگر درست است البته
911
00:35:15,760 –> 00:35:18,000
شما فقط x را در صورت بالا بودن y بیشتر دستکاری می کنید
912
00:35:18,000 –> 00:35:20,720
. و به همین ترتیب
913
00:35:20,720 –> 00:35:22,320
این چیزی است که ما
914
00:35:22,320 –> 00:35:23,839
قبلاً وقتی به این تابع نگاه میکنیم
915
00:35:23,839 –> 00:35:25,680
916
00:35:25,680 –> 00:35:27,599
و شما آن را ترسیم میکنید، اتفاقی
917
00:35:27,599 –> 00:35:29,359
که میافتد این است که
918
00:35:29,359 –> 00:35:32,160
حتی اگر هیچ کلیدی
919
00:35:32,160 –> 00:35:34,720
را در حلقه while فشار ندهید بر اساس یک جهت،
920
00:35:34,720 –> 00:35:36,000
مار
921
00:35:36,000 –> 00:35:39,359
به حرکت خود ادامه میدهد. به خودی خود
922
00:35:39,359 –> 00:35:42,000
حالا چه اتفاقی می افتد وقتی هر کلیدی را فشار می
923
00:35:42,000 –> 00:35:44,480
دهید، مثلاً اگر کلید چپ را فشار دهید،
924
00:35:44,480 –> 00:35:46,480
حرکت به چپ را صدا می زنید که خوب است،
925
00:35:46,480 –> 00:35:48,720
اما در این حرکت به چپ نمی خواهید
926
00:35:48,720 –> 00:35:50,720
چیزی را تغییر دهید که می خواهید فقط جهت را تغییر دهید
927
00:35:50,720 –> 00:35:52,240
928
00:35:52,240 –> 00:35:53,520
خوب است،
929
00:35:53,520 –> 00:35:55,200
بنابراین من می گویم
930
00:35:55,200 –> 00:35:59,760
حرکت به چپ
931
00:35:59,760 –> 00:36:01,599
اگر حرکت ری باشد جهت من چپ است اگر
932
00:36:01,599 –> 00:36:04,000
جهت من
933
00:36:04,000 –> 00:36:05,359
درست است
934
00:36:05,359 –> 00:36:07,839
حرکت به
935
00:36:08,400 –> 00:36:11,119
سمت بالا
936
00:36:11,280 –> 00:36:14,160
حرکت به سمت پایین حرکت به سمت پایین
937
00:36:14,160 –> 00:36:17,359
خوب به نظر می رسد، فکر می کنم اکنون اجازه دهید آن را امتحان کنم، بنابراین
938
00:36:17,359 –> 00:36:19,200
برای
939
00:36:19,200 –> 00:36:20,560
940
00:36:20,560 –> 00:36:22,240
اینکه وقتی این تابع را صدا می زنید، فقط
941
00:36:22,240 –> 00:36:24,839
یک جهت را تغییر می دهید
942
00:36:24,839 –> 00:36:27,839
و حتی اگر هیچ کلیدی را فشار ندهید، فقط برای ادامه دادن به حلقه در حالت جهانی
943
00:36:27,839 –> 00:36:29,920
عملکرد راه رفتن بر اساس جهتی
944
00:36:29,920 –> 00:36:31,440
که مار را حرکت میدهید،
945
00:36:31,440 –> 00:36:32,720
946
00:36:32,720 –> 00:36:34,000
بنابراین
947
00:36:34,000 –> 00:36:36,000
بگویید اکنون با استفاده از دستانم هیچ کلیدی را فشار
948
00:36:36,000 –> 00:36:38,240
نمیدهم و وقتی کلید راست را فشار میدهم بلوک حرکت میکند،
949
00:36:38,240 –> 00:36:39,520
فقط
950
00:36:39,520 –> 00:36:42,240
کلید جهت را به بالا تغییر
951
00:36:42,240 –> 00:36:44,880
952
00:36:44,880 –> 00:36:46,960
دهید. عالی به نظر می رسد از قبل
953
00:36:46,960 –> 00:36:49,359
یک بازی به نظر می رسد فکر نمی کنید
954
00:36:49,359 –> 00:36:51,920
در بازی های بلوک های متحرک این کاری است که آنها
955
00:36:51,920 –> 00:36:52,800
انجام می دهند
956
00:36:52,800 –> 00:36:56,480
بنابراین تبریک می گویم شما فقط
957
00:36:56,480 –> 00:36:57,520
یک
958
00:36:57,520 –> 00:37:00,800
نسخه زیبا از یک بازی کوچک احمقانه را
959
00:37:00,800 –> 00:37:01,839
960
00:37:01,839 –> 00:37:04,000
در ویدیوی بعدی
961
00:37:04,000 –> 00:37:05,920
یا در جلسه بعدی
962
00:37:05,920 –> 00:37:08,720
تبدیل خواهیم کرد. این بلوک به یک
963
00:37:08,720 –> 00:37:11,920
مار تمام عیار
964
00:37:14,400 –> 00:37:16,320
در این جلسه ما در حال ساختن یک
965
00:37:16,320 –> 00:37:18,720
مار از یک بلوک هستیم.
966
00:37:18,720 –> 00:37:20,880
967
00:37:20,880 –> 00:37:24,000
968
00:37:24,000 –> 00:37:25,440
969
00:37:25,440 –> 00:37:27,760
مثلاً
970
00:37:27,760 –> 00:37:29,920
پنج شش بلوک بگذارم، فرض کنیم اگر شش بلوک بگذارم،
971
00:37:29,920 –> 00:37:32,800
این تبدیل به یک مار می شود،
972
00:37:32,800 –> 00:37:35,280
بنابراین یک پارامتر طول را
973
00:37:35,280 –> 00:37:37,520
در کلاس snake خود معرفی می کنیم و اگر فرض کنیم طول
974
00:37:37,520 –> 00:37:38,320
975
00:37:38,320 –> 00:37:40,720
5 باشد، به این شکل به نظر می رسد، بنابراین به
976
00:37:40,720 –> 00:37:43,920
جای یک بلوک، پنج بلوک داریم. بلوک می کند
977
00:37:43,920 –> 00:37:46,800
بنابراین اولین کاری که اکنون می خواهم انجام دهم این
978
00:37:46,800 –> 00:37:47,760
است که
979
00:37:47,760 –> 00:37:50,480
وارد حالت ذن خود شوید، می دانید که من در حال مدیتیشن هستم،
980
00:37:50,480 –> 00:37:51,839
981
00:37:51,839 –> 00:37:54,560
مراقبه میان وعده و سیب را انجام می دهم،
982
00:37:54,560 –> 00:37:57,359
بنابراین در اینجا پارامتری از طول طول را معرفی می کنم،
983
00:37:57,359 –> 00:37:59,680
984
00:38:00,320 –> 00:38:02,720
985
00:38:02,720 –> 00:38:04,400
بنابراین زمین خود نقطه
986
00:38:04,400 –> 00:38:08,640
برابر طول است
987
00:38:08,640 –> 00:38:12,640
و اکنون من یک x و y ندارم
988
00:38:12,640 –> 00:38:14,800
زیرا وقتی شما یک مار با سایز
989
00:38:14,800 –> 00:38:16,400
پنج
990
00:38:16,400 –> 00:38:17,760
991
00:38:17,760 –> 00:38:20,720
دارید، در اصل پنج x و y c یک x دارید و y
992
00:38:20,720 –> 00:38:21,920
چیزی نیست جز
993
00:38:21,920 –> 00:38:26,240
مختصات بالای سمت چپ یک بلوک،
994
00:38:26,240 –> 00:38:28,240
بنابراین اگر پنج بلوک شما باید
995
00:38:28,240 –> 00:38:31,040
پنج x داشته باشید. و y و چگونه این کار را
996
00:38:31,040 –> 00:38:34,400
در پایتون به خوبی انجام می دهید این کار آسان است،
997
00:38:34,400 –> 00:38:37,680
می توانید کاری مانند طول انجام دهید،
998
00:38:39,280 –> 00:38:40,400
999
00:38:40,400 –> 00:38:41,599
1000
00:38:41,599 –> 00:38:44,960
بنابراین
1001
00:38:44,960 –> 00:38:46,640
1002
00:38:46,640 –> 00:38:47,520
1003
00:38:47,520 –> 00:38:51,119
اگر می خواهید آن را تأیید کنید، یک آرایه خالی از اندازه را راه اندازی می
1004
00:38:51,119 –> 00:38:53,839
1005
00:38:53,839 –> 00:38:55,440
1006
00:38:55,440 –> 00:38:58,079
کند. در همان حالت من اینجا به کنسول پایتون می روم
1007
00:38:58,079 –> 00:39:00,880
1008
00:39:00,880 –> 00:39:03,359
و اگر کاری انجام دهید
1009
00:39:03,359 –> 00:39:05,520
مثلاً فرض کنید این فایل
1010
00:39:05,520 –> 00:39:06,960
کار نمیکند، اوه، خوب کار نمیکند، باید
1011
00:39:06,960 –> 00:39:08,880
1012
00:39:08,880 –> 00:39:13,839
مقداری به ما بدهم، بنابراین بیایید بگوییم اگر 67 را انجام دهم،
1013
00:39:13,839 –> 00:39:14,720
ببینید
1014
00:39:14,720 –> 00:39:17,599
اگر پنج را انجام دهم،
1015
00:39:17,599 –> 00:39:18,560
1016
00:39:18,560 –> 00:39:20,480
اگر سه کار کنم، آرایهای از پنج
1017
00:39:20,480 –> 00:39:21,280
1018
00:39:21,280 –> 00:39:22,640
ایجاد میکند، آرایهای از سه
1019
00:39:22,640 –> 00:39:24,960
عنصر ایجاد میکند. دقیقاً من این کار را انجام می دهم
1020
00:39:24,960 –> 00:39:26,800
کنسول پایتون یک ویژگی مفید است که
1021
00:39:26,800 –> 00:39:29,359
می توانید از آن استفاده کنید،
1022
00:39:29,359 –> 00:39:30,640
بنابراین
1023
00:39:30,640 –> 00:39:31,920
1024
00:39:31,920 –> 00:39:35,440
اکنون فقط آن را با اندازه 40 مقداردهی اولیه می کنم،
1025
00:39:35,440 –> 00:39:37,440
بنابراین من فقط
1026
00:39:37,440 –> 00:39:38,720
1027
00:39:38,720 –> 00:39:40,240
یک
1028
00:39:40,240 –> 00:39:43,760
متغیر ایجاد می کنم اندازه تماس برابر با 40 است
1029
00:39:43,760 –> 00:39:45,839
و این اندازه چیزی نیست جز اندازه
1030
00:39:45,839 –> 00:39:47,839
یک بلوک در
1031
00:39:47,839 –> 00:39:49,839
واقع طول واقعی
1032
00:39:49,839 –> 00:39:53,200
مار به این طول است و
1033
00:39:53,200 –> 00:39:56,240
ببینید آیا به نقطه بلوک من نگاه می کنید
1034
00:39:56,240 –> 00:39:58,240
jpg این تصویری است که ما استفاده می کنیم
1035
00:39:58,240 –> 00:39:59,839
1036
00:39:59,839 –> 00:40:02,720
اگر به ابعاد آن نگاه
1037
00:40:02,720 –> 00:40:06,319
کنید 40 در 40 است. بنابراین به همین دلیل است که
1038
00:40:06,319 –> 00:40:07,760
من می خواهم
1039
00:40:07,760 –> 00:40:10,800
موقعیت اولیه را
1040
00:40:10,800 –> 00:40:13,359
بگذارم، فرض کنیم 40 40 می تواند 80 باشد، می
1041
00:40:13,359 –> 00:40:15,200
تواند 120 باشد
1042
00:40:15,200 –> 00:40:16,480
و سپس
1043
00:40:16,480 –> 00:40:17,760
اوم
1044
00:40:17,760 –> 00:40:19,760
من می خواهم
1045
00:40:19,760 –> 00:40:21,040
فقط
1046
00:40:21,040 –> 00:40:23,280
منطق حرکت خود را پیاده کنم قبل از اینکه
1047
00:40:23,280 –> 00:40:25,440
منطق حرکت خود را پیاده کنم
1048
00:40:25,440 –> 00:40:28,000
، باید
1049
00:40:28,000 –> 00:40:30,079
تابع ترسیم را تغییر دهم
1050
00:40:30,079 –> 00:40:32,000
زیرا
1051
00:40:32,000 –> 00:40:34,960
تابع ترسیم فقط ترسیم است 1 x و y اکنون
1052
00:40:34,960 –> 00:40:37,839
به جای آن چندین x و y داریم از این نظر من
1053
00:40:37,839 –> 00:40:41,680
نگاه ضعیفی خواهم داشت و میگویم
1054
00:40:41,680 –> 00:40:44,640
میدانید تا طول بروید
1055
00:40:44,640 –> 00:40:46,960
و
1056
00:40:46,960 –> 00:40:49,200
1057
00:40:51,680 –> 00:40:54,240
x و y را بکشید، اساساً
1058
00:40:54,240 –> 00:40:56,079
خوب است،
1059
00:40:56,079 –> 00:40:58,000
اکنون در ابتدا
1060
00:40:58,000 –> 00:41:00,400
کل آرایهام را مقداردهی اولیه کردم، فرض
1061
00:41:00,400 –> 00:41:01,920
کنید اگر طول مار دو است، پس
1062
00:41:01,920 –> 00:41:03,200
بیایید این کار
1063
00:41:03,200 –> 00:41:07,440
را در اینجا انجام دهیم، زمانی که شما مار خود را ایجاد می کنید
1064
00:41:07,440 –> 00:41:08,880
، فرض کنید من یک
1065
00:41:08,880 –> 00:41:12,400
اندازه کوچک دو
1066
00:41:12,400 –> 00:41:13,920
دارم، از من می پرسید
1067
00:41:13,920 –> 00:41:15,920
که چرا بلوک ها را در یک موقعیت خریداری کرده اید، در
1068
00:41:15,920 –> 00:41:17,440
1069
00:41:17,440 –> 00:41:18,960
حالت ایده آل باید آن را در موقعیت های مختلف
1070
00:41:18,960 –> 00:41:20,560
داشته باشید،
1071
00:41:20,560 –> 00:41:23,119
اما منطق حرکت من از آن مراقبت می
1072
00:41:23,119 –> 00:41:25,119
کند و مار من را به شما باز می کند. همانطور که من
1073
00:41:25,119 –> 00:41:27,760
حرکت می کنم بدانید چگونه منطق حرکت خود را تغییر دهم،
1074
00:41:27,760 –> 00:41:28,800
1075
00:41:28,800 –> 00:41:30,720
قبل از انجام هر کاری اجازه دهید
1076
00:41:30,720 –> 00:41:35,040
فقط به خاطر آن آن را اجرا کنم،
1077
00:41:35,040 –> 00:41:37,359
اوه بله، کار نمی کند زیرا وقتی
1078
00:41:37,359 –> 00:41:39,680
راه می روید این x را تغییر می دهید و
1079
00:41:39,680 –> 00:41:42,960
این x اکنون یک آرایه است
1080
00:41:42,960 –> 00:41:45,200
خوب، پس ما باید این تابع راه رفتن را پیاده سازی
1081
00:41:45,200 –> 00:41:47,920
کنیم، خوب راه رفتن چگونه کار می
1082
00:41:47,920 –> 00:41:48,960
کند،
1083
00:41:48,960 –> 00:41:51,359
بیایید
1084
00:41:51,520 –> 00:41:53,839
ببینیم وقتی مار مانند این دارید
1085
00:41:53,839 –> 00:41:55,920
خوب است و بیایید ببینیم آیا آن را در جهت درست حرکت می دهم
1086
00:41:55,920 –> 00:41:59,520
، یک کلید سمت راست قرار
1087
00:41:59,520 –> 00:42:01,680
می دهم آنچه اتفاق می افتد این است که اجازه دهید این خط را علامت گذاری کنم ببینید
1088
00:42:01,680 –> 00:42:03,040
این سر من است
1089
00:42:03,040 –> 00:42:05,280
درست این p بلوک مفصلی وقتی
1090
00:42:05,280 –> 00:42:06,480
آن را به سمت
1091
00:42:06,480 –> 00:42:09,119
راست حرکت
1092
00:42:09,119 –> 00:42:11,040
میدهم، بلوک به سمت راست حرکت میکند، بنابراین بلوک من به سمت راست حرکت میکند
1093
00:42:11,040 –> 00:42:12,319
1094
00:42:12,319 –> 00:42:14,560
، منطق این
1095
00:42:14,560 –> 00:42:15,359
است
1096
00:42:15,359 –> 00:42:17,280
که قبلاً دیدهایم
1097
00:42:17,280 –> 00:42:18,880
اگر به سمت راست حرکت میکنید،
1098
00:42:18,880 –> 00:42:21,200
x را مقداری افزایش دهید به سمت
1099
00:42:21,200 –> 00:42:24,480
بالا حرکت کنید، y را با مقداری افزایش دهید.
1100
00:42:24,480 –> 00:42:26,160
با این بلوک های دیگر چه می کنید
1101
00:42:26,160 –> 00:42:27,680
خوب
1102
00:42:27,680 –> 00:42:30,800
بلوک دوم من در موقعیت
1103
00:42:30,800 –> 00:42:33,280
بلوک اول
1104
00:42:33,280 –> 00:42:36,079
من قرار می گیرد بلوک سوم من در موقعیت بلوک دوم من می آید
1105
00:42:36,079 –> 00:42:37,680
1106
00:42:37,680 –> 00:42:41,040
و به همین ترتیب هر بلوک
1107
00:42:41,040 –> 00:42:45,119
موقعیت بلوک قبلی خود را می گیرد
1108
00:42:45,119 –> 00:42:47,760
اکنون نوشتن این منطق می شود بسیار آسان است
1109
00:42:47,760 –> 00:42:49,119
زیرا
1110
00:42:49,119 –> 00:42:51,040
در اینجا زمانی که شما در حال تغییر جهت هستید
1111
00:42:51,040 –> 00:42:52,079
،
1112
00:42:52,079 –> 00:42:54,160
البته منطق برای اولین
1113
00:42:54,160 –> 00:42:57,280
بلوک که سر مار شما
1114
00:42:57,280 –> 00:43:00,240
است یکسان باقی می ماند، بنابراین این یکسان باقی می ماند،
1115
00:43:00,240 –> 00:43:02,240
اما ما بلوک های بیشتری داریم،
1116
00:43:02,240 –> 00:43:05,839
بنابراین برای آن بلوک ها باید آنها را
1117
00:43:05,839 –> 00:43:07,680
در موقعیت قرار دهید. بلوک قبلی چگونه
1118
00:43:07,680 –> 00:43:10,800
این کار را به خوبی انجام میدهید، باید یک
1119
00:43:10,800 –> 00:43:13,040
یا حلقه را در جهت معکوس اجرا کنید
1120
00:43:13,040 –> 00:43:15,200
تا با بلوک آخر شروع کنید، بنابراین بلوک پنجم
1121
00:43:15,200 –> 00:43:17,920
را در چهارمین بلوک قرار دهید، در
1122
00:43:17,920 –> 00:43:19,440
سه قرار دهید
1123
00:43:19,440 –> 00:43:21,040
و برای انجام این
1124
00:43:21,040 –> 00:43:23,640
کار فقط میتوانید این کار را انجام دهید. این
1125
00:43:23,640 –> 00:43:25,839
طول خود منهای یک
1126
00:43:25,839 –> 00:43:26,800
خوب است
1127
00:43:26,800 –> 00:43:29,359
تا آخر راه را تا
1128
00:43:29,359 –> 00:43:31,599
صفر
1129
00:43:31,599 –> 00:43:33,599
1130
00:43:33,599 –> 00:43:35,040
در یک محدوده بروید، به این دلیل
1131
00:43:35,040 –> 00:43:36,880
که صفر را در نظر نمی گیرد، بنابراین در واقع شما تا یک می روید
1132
00:43:36,880 –> 00:43:38,000
1133
00:43:38,000 –> 00:43:40,319
و منهای یک یک اندازه پله است، بنابراین اندازه گام
1134
00:43:40,319 –> 00:43:42,640
به این معنی است که شما به سمت معکوس می روید.
1135
00:43:42,640 –> 00:43:44,720
این حلقه for چیزی نیست جز رفتن در
1136
00:43:44,720 –> 00:43:47,760
جهت معکوس شما با 5 4 3 2
1137
00:43:47,760 –> 00:43:50,000
و غیره شروع می کنید
1138
00:43:50,000 –> 00:43:52,240
1139
00:43:52,560 –> 00:43:55,440
و موقعیت x فعلی
1140
00:43:55,440 –> 00:43:57,520
موقعیت بلوک قبلی شما خواهد بود
1141
00:43:57,520 –> 00:43:58,480
خوب است
1142
00:43:58,480 –> 00:44:02,240
و شما همین کار را با y خود انجام می
1143
00:44:07,440 –> 00:44:10,319
1144
00:44:10,319 –> 00:44:12,800
دهید
1145
00:44:15,760 –> 00:44:16,880
1146
00:44:16,880 –> 00:44:18,960
بسیار خوب. یک مار با دو
1147
00:44:18,960 –> 00:44:20,880
بلوک اما ببینید فاصله
1148
00:44:20,880 –> 00:44:23,920
بین بلوک ها بسیار کم است،
1149
00:44:23,920 –> 00:44:25,520
مانند 10 پیکسل است،
1150
00:44:25,520 –> 00:44:28,319
بنابراین باید اندازه آن را 40
1151
00:44:28,319 –> 00:44:31,440
کنم تا بدانید اندازه بلوک 40 است،
1152
00:44:31,440 –> 00:44:36,520
بنابراین می خواهید آنها را 40 پیکسل نگه دارید. جدا
1153
00:44:38,400 –> 00:44:39,440
بنابراین
1154
00:44:39,440 –> 00:44:43,760
بله اندازه من اندازه اندازه
1155
00:44:45,200 –> 00:44:47,280
بزرگ است ببینید
1156
00:44:47,280 –> 00:44:49,680
من آن را بالا می
1157
00:44:49,680 –> 00:44:52,480
برم و صفحه من اکنون کمی کوچکتر است بنابراین
1158
00:44:52,480 –> 00:44:54,640
می خواهم اندازه را در اینجا افزایش دهم تا
1159
00:44:54,640 –> 00:44:56,640
فرض کنیم هزار
1160
00:44:56,640 –> 00:44:59,520
و هشتصد و همچنین
1161
00:45:00,560 –> 00:45:01,599
1162
00:45:01,599 –> 00:45:03,680
فقط تایمر را افزایش می دهم به طوری که
1163
00:45:03,680 –> 00:45:06,480
خیلی حرکت نمی کند سریع ببینید
1164
00:45:06,480 –> 00:45:09,040
پس این است که چگونه مار e با
1165
00:45:09,040 –> 00:45:11,200
طول 2 به نظر می رسد اگر دارید اجازه دهید
1166
00:45:11,200 –> 00:45:14,880
مار با طول 6.
1167
00:45:16,319 –> 00:45:18,079
اینطور به نظر می رسد ببینید وقتی من
1168
00:45:18,079 –> 00:45:22,400
به سمت چپ بالا پایین و غیره حرکت می کنم
1169
00:45:24,319 –> 00:45:26,800
اکنون که مار من به نوعی آماده است
1170
00:45:26,800 –> 00:45:28,640
می خواهم اکنون
1171
00:45:28,640 –> 00:45:31,680
سیب را برای سیب بکشم
1172
00:45:31,680 –> 00:45:34,160
بنابراین هدف از بازی میان وعده است
1173
00:45:34,160 –> 00:45:35,680
خوردن یک سیب
1174
00:45:35,680 –> 00:45:38,240
سیب در موقعیت تصادفی می رود و همانطور که
1175
00:45:38,240 –> 00:45:40,960
مار سیب می خورد طول مار
1176
00:45:40,960 –> 00:45:43,280
افزایش می یابد
1177
00:45:43,280 –> 00:45:44,960
اگر در این مورد مطمئن نیستید من
1178
00:45:44,960 –> 00:45:46,079
تمام کد منبع را در
1179
00:45:46,079 –> 00:45:48,319
توضیحات ویدیوی زیر دارم، بنابراین فقط نسخه نهایی را بگیرید
1180
00:45:48,319 –> 00:45:50,240
. کد منبع را
1181
00:45:50,240 –> 00:45:53,359
اجرا کنید و بازی را اجرا کنید تا ایده ای به دست آورید،
1182
00:45:53,359 –> 00:45:54,720
بنابراین در اینجا
1183
00:45:54,720 –> 00:45:55,680
1184
00:45:55,680 –> 00:45:57,440
اکنون باید
1185
00:45:57,440 –> 00:45:59,680
یک کلاس Apple ایجاد کنم، بنابراین در برنامه نویسی شی گرا ببینید
1186
00:45:59,680 –> 00:46:01,119
1187
00:46:01,119 –> 00:46:03,280
هر شی که
1188
00:46:03,280 –> 00:46:06,079
دارید، برای آن اشیاء کلاس ایجاد کنید تا
1189
00:46:06,079 –> 00:46:08,560
ما snake داشته باشیم، اپل داریم.
1190
00:46:08,560 –> 00:46:11,200
ما کلاس هایی را برای هر دوی آن ایجاد کردیم
1191
00:46:11,200 –> 00:46:13,359
اکنون اپل
1192
00:46:13,359 –> 00:46:16,000
نیز یک تصویر است، بنابراین اگر به این تصویر نگاه کنید، این
1193
00:46:16,000 –> 00:46:17,040
تصویر
1194
00:46:17,040 –> 00:46:20,079
نیز 40 در 40 پیکسل است،
1195
00:46:20,079 –> 00:46:23,040
بنابراین من باید ابتدا آن تصویر را درست بارگذاری کنم
1196
00:46:23,040 –> 00:46:24,960
و قبلاً دیده ایم که چگونه
1197
00:46:24,960 –> 00:46:26,560
تصویر را به همان شکل بارگذاری می کنید.
1198
00:46:26,560 –> 00:46:28,480
کد من فقط کپی پیست i اینجا
1199
00:46:28,480 –> 00:46:29,839
1200
00:46:29,839 –> 00:46:32,079
و
1201
00:46:32,480 –> 00:46:35,520
مردم هم به یک صفحه والد نیاز دارند اینجا
1202
00:46:35,520 –> 00:46:37,040
ببینید چگونه شما یک صفحه والد دارید، من
1203
00:46:37,040 –> 00:46:40,240
فقط می خواهم این را تغییر دهم،
1204
00:46:40,240 –> 00:46:42,880
ما به یک صفحه والد نیاز داریم تا بتوان اپل
1205
00:46:42,880 –> 00:46:46,319
را روی آن صفحه والد نقاشی کرد،
1206
00:46:46,319 –> 00:46:47,920
1207
00:46:47,920 –> 00:46:49,280
خوب
1208
00:46:49,280 –> 00:46:52,319
و چه چیز دیگری نیاز داریم
1209
00:46:52,319 –> 00:46:54,880
بله x و y
1210
00:46:54,880 –> 00:46:57,599
چون اپل یک موقعیت درست دارد
1211
00:46:57,599 –> 00:46:58,640
و
1212
00:46:58,640 –> 00:47:00,160
این موقعیت نیز در
1213
00:47:00,160 –> 00:47:03,760
مضرب 40 خواهد بود، بنابراین من آن را 120 نگه می
1214
00:47:03,760 –> 00:47:07,520
دارم، پس مانند 120 در 120
1215
00:47:08,800 –> 00:47:12,079
ببینم اگر آن را 20 ب