در این مطلب، ویدئو کدنویسی بازی مار در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:29:33
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,240 –> 00:00:09,280
[موسیقی]
2
00:00:09,280 –> 00:00:10,880
بچه ها به چه اتفاقی می افتد خوش آمدید در
3
00:00:10,880 –> 00:00:12,400
ویدیوی امروز ما می خواهیم یک
4
00:00:12,400 –> 00:00:13,519
بازی مار ساده
5
00:00:13,519 –> 00:00:16,640
در پایتون بسازیم، پس بیایید
6
00:00:16,640 –> 00:00:18,320
قبل از اینکه وارد کدنویسی
7
00:00:18,320 –> 00:00:19,439
واقعی بازی مار شویم، می خواهم به آن اشاره کنم که
8
00:00:19,439 –> 00:00:20,800
این ویدیو توسط تب نه حمایت می شود
9
00:00:20,800 –> 00:00:22,480
و قبل از اینکه آن قسمت
10
00:00:22,480 –> 00:00:24,160
را نادیده بگیرید، زیرا فقط یک حمایت مالی است، اجازه دهید
11
00:00:24,160 –> 00:00:25,760
به شما بگویم که من هرگز
12
00:00:25,760 –> 00:00:26,480
چیزی را توصیه نمی کنم یا
13
00:00:26,480 –> 00:00:28,560
چیزی را تبلیغ نمی کنم، مگر اینکه فکر کنم
14
00:00:28,560 –> 00:00:30,240
مفید و جالب باشد،
15
00:00:30,240 –> 00:00:32,320
بنابراین از تب 9 در ویدیوی امروز استفاده خواهم کرد،
16
00:00:32,320 –> 00:00:34,000
زیرا تب 9 یک
17
00:00:34,000 –> 00:00:35,200
مدل تکمیل خودکار است
18
00:00:35,200 –> 00:00:38,399
که می توانید از آن در
19
00:00:38,399 –> 00:00:40,640
محیط های توسعه مدرن مانند pycharm intellij
20
00:00:40,640 –> 00:00:43,360
یا vs code استفاده کنید و کاری که
21
00:00:43,360 –> 00:00:45,760
انجام می دهد این است که تکمیل خودکار را به شما پیشنهاد می کند
22
00:00:45,760 –> 00:00:47,360
که فراتر از تکمیل خودکار اولیه است
23
00:00:47,360 –> 00:00:48,800
که قبلاً در
24
00:00:48,800 –> 00:00:50,640
pycharm یا vs code دارید زیرا
25
00:00:50,640 –> 00:00:51,440
26
00:00:51,440 –> 00:00:55,120
با مدل ایستا کار نمی کند اما از یک
27
00:00:55,120 –> 00:00:57,680
مدل زبان gpt2 استفاده می کند بنابراین از یادگیری عمیق
28
00:00:57,680 –> 00:01:00,320
در ترکیب با gpt2 استفاده
29
00:01:00,320 –> 00:01:02,239
می کند تا بهترین تکمیل خودکار
30
00:01:02,239 –> 00:01:02,960
ممکن را ارائه دهد
31
00:01:02,960 –> 00:01:05,519
و همچنین در حال یادگیری است. با گذشت زمان، به
32
00:01:05,519 –> 00:01:06,479
این معنی است که
33
00:01:06,479 –> 00:01:08,479
وقتی با استفاده از تب 9 در پسزمینه برنامهنویسی میکنید،
34
00:01:08,479 –> 00:01:10,320
نه تنها پیشنهادات تکمیل خودکار هوشمند را به شما میدهد،
35
00:01:10,320 –> 00:01:12,000
36
00:01:12,000 –> 00:01:14,320
بلکه خود را برای
37
00:01:14,320 –> 00:01:15,200
ارائه
38
00:01:15,200 –> 00:01:16,880
پیشنهادات بهتر در طول زمان آموزش میدهد، به این معنی که
39
00:01:16,880 –> 00:01:19,200
برای مثال اگر یک پیشنهاد ممکن است
40
00:01:19,200 –> 00:01:20,240
کامل نباشد. در حال حاضر
41
00:01:20,240 –> 00:01:23,040
و شما آن را حذف کنید، بر اساس
42
00:01:23,040 –> 00:01:24,799
آن حذف یاد میگیرد و
43
00:01:24,799 –> 00:01:26,560
همان چیزی را توصیه نمیکند یا احتمال کمتری دارد
44
00:01:26,560 –> 00:01:27,119
45
00:01:27,119 –> 00:01:29,119
که در آینده چیزی مشابه را توصیه کنم
46
00:01:29,119 –> 00:01:30,880
و برعکس اگر
47
00:01:30,880 –> 00:01:33,200
از تکمیل خودکار خوب استفاده میکنید یا اگر
48
00:01:33,200 –> 00:01:34,799
از آن استفاده کنید پیشنهادی که به شما
49
00:01:34,799 –> 00:01:36,240
داده است، در آینده از این پیشنهادات بیشتر به شما
50
00:01:36,240 –> 00:01:37,920
خواهد داد،
51
00:01:37,920 –> 00:01:40,000
بنابراین آنچه می خواهم در اینجا به شما بگویم این است
52
00:01:40,000 –> 00:01:42,240
که تب 9 کاملا رایگان است اگر می
53
00:01:42,240 –> 00:01:43,920
خواهید از طرح رایگان استفاده کنید، برای همیشه
54
00:01:43,920 –> 00:01:44,479
رایگان است و
55
00:01:44,479 –> 00:01:45,920
ندارید. برای پرداخت هر چیزی فقط می توانید
56
00:01:45,920 –> 00:01:47,600
آن را در
57
00:01:47,600 –> 00:01:49,360
محیط توسعه uh خود نصب کنید تا به
58
00:01:49,360 –> 00:01:51,520
عنوان مثال به pycharm بروید و به تنظیمات و
59
00:01:51,520 –> 00:01:52,560
افزونه ها بروید و
60
00:01:52,560 –> 00:01:55,040
تب 9 را نصب کنید یا به پسوندهای کد vs
61
00:01:55,040 –> 00:01:56,079
و سپس تب 9 بروید
62
00:01:56,079 –> 00:01:58,240
و می توانید استفاده کنید. این مدل تکمیل کد پایه رایگان
63
00:01:58,240 –> 00:01:59,600
اینجاست، بنابراین شما یک
64
00:01:59,600 –> 00:02:01,040
مدل تکمیل اولیه
65
00:02:01,040 –> 00:02:02,880
داشته باشید و از پشتیبانی انجمن برخوردار باشید، اگر
66
00:02:02,880 –> 00:02:04,719
میخواهید برای آن هزینه کنید،
67
00:02:04,719 –> 00:02:06,399
مدل بهتری دریافت میکنید، یک مدل ابری دریافت میکنید،
68
00:02:06,399 –> 00:02:09,280
تکمیل کد نامحدود دریافت میکنید،
69
00:02:09,280 –> 00:02:11,440
تا پنج پیشنهاد در در همان زمان
70
00:02:11,440 –> 00:02:13,440
و به طور کلی، تجربه تکمیل خودکار
71
00:02:13,440 –> 00:02:14,959
بهتر است، بنابراین اگر میخواهید
72
00:02:14,959 –> 00:02:16,720
هزینه آن را بپردازید یا حتی اگر
73
00:02:16,720 –> 00:02:19,120
تیمی دارید که میخواهید با آن
74
00:02:19,120 –> 00:02:19,840
از
75
00:02:19,840 –> 00:02:22,239
تب نه استفاده کنید، میتوانید با پشتیبانی بیشتر و بیشتر هزینه تیم را نیز بپردازید.
76
00:02:22,239 –> 00:02:23,280
77
00:02:23,280 –> 00:02:25,440
78
00:02:25,440 –> 00:02:26,800
79
00:02:26,800 –> 00:02:28,400
مدلهای سفارشیشده و شخصیسازیشده و با
80
00:02:28,400 –> 00:02:29,920
تجزیه و تحلیل و غیره،
81
00:02:29,920 –> 00:02:31,440
بنابراین این یک محصول بسیار جالب است
82
00:02:31,440 –> 00:02:32,879
و من امروز از آن در سراسر این
83
00:02:32,879 –> 00:02:34,239
ویدیو استفاده میکنم و میتوانید
84
00:02:34,239 –> 00:02:35,920
نگاهی به آن بیندازید و در بخش نظرات به من بگویید که در
85
00:02:35,920 –> 00:02:37,360
مورد چه چیزی فکر میکنید.
86
00:02:37,360 –> 00:02:38,560
اگر علاقه دارید می توانید
87
00:02:38,560 –> 00:02:39,360
آن را
88
00:02:39,360 –> 00:02:42,080
روی محیط توسعه مورد علاقه خود نصب کنید،
89
00:02:42,080 –> 00:02:43,440
بنابراین بیایید وارد
90
00:02:43,440 –> 00:02:44,800
کدنویسی شویم اولین کاری که می خواهیم انجام دهیم
91
00:02:44,800 –> 00:02:46,560
نصب pygame است زیرا بازی پای همان چیزی است که
92
00:02:46,560 –> 00:02:48,160
ما در آن استفاده خواهیم کرد. به منظور ساخت
93
00:02:48,160 –> 00:02:48,959
بازی مار
94
00:02:48,959 –> 00:02:50,879
و برای این کار ما بازی پای را وارد
95
00:02:50,879 –> 00:02:52,319
می کنیم البته اگر بازی پای را نصب نکرده اید باید
96
00:02:52,319 –> 00:02:53,760
97
00:02:53,760 –> 00:02:54,720
98
00:02:54,720 –> 00:02:56,560
خط فرمان cmd یا ترمینال خود را بسته
99
00:02:56,560 –> 00:02:58,000
به سیستم عامل باز کنید
100
00:02:58,000 –> 00:03:00,959
و ما می رویم برای اینکه بگوییم pip install و
101
00:03:00,959 –> 00:03:01,599
بازی pi
102
00:03:01,599 –> 00:03:03,280
دقیقاً مثل این یک نصب بسیار ساده است
103
00:03:03,280 –> 00:03:05,519
و وقتی pycam را
104
00:03:05,519 –> 00:03:07,440
نصب کردید آن را وارد می کنید و سپس ما
105
00:03:07,440 –> 00:03:09,519
دو ماژول دیگر را که زمان
106
00:03:09,519 –> 00:03:10,239
و تصادفی
107
00:03:10,239 –> 00:03:12,000
هستند وارد می کنیم، برای مدتی به زمان نیاز داریم
108
00:03:12,000 –> 00:03:13,280
و ما
109
00:03:13,280 –> 00:03:15,840
برای تولید غذا در مکانهای تصادفی
110
00:03:15,840 –> 00:03:17,599
یا در مکانهای تصادفی به تصادفی نیاز داریم، بنابراین میخواهیم
111
00:03:17,599 –> 00:03:18,080
112
00:03:18,080 –> 00:03:21,280
بگوییم زمان
113
00:03:21,280 –> 00:03:25,519
واردات و تصادفی وارد کنید،
114
00:03:25,519 –> 00:03:27,599
حالا کاری که
115
00:03:27,599 –> 00:03:29,200
میخواهیم انجام دهیم این است که مقداردهی اولیه میکنیم. pygame
116
00:03:29,200 –> 00:03:30,640
چند رنگ
117
00:03:30,640 –> 00:03:32,319
را تنظیم می کنیم، ابعادی
118
00:03:32,319 –> 00:03:33,920
را تنظیم می کنیم، کل صفحه نمایش را تنظیم می
119
00:03:33,920 –> 00:03:35,680
کنیم و سپس شروع به کدنویسی
120
00:03:35,680 –> 00:03:37,680
منطق بازی می کنیم، بنابراین اول از همه می خواهیم
121
00:03:37,680 –> 00:03:39,120
پای را مقداردهی کنیم. بازی و برای این کار
122
00:03:39,120 –> 00:03:41,360
ما میخواهیم تا جایی که میتوانید از پای بازی
123
00:03:41,360 –> 00:03:44,080
پای بازی dot init استفاده کنیم ببینید که ما
124
00:03:44,080 –> 00:03:46,159
قبلاً یک تکمیل خودکار در اینجا
125
00:03:46,159 –> 00:03:47,599
نقطه بازی پای
126
00:03:47,599 –> 00:03:49,120
داریم و سپس چند رنگ را تعریف میکنیم،
127
00:03:49,120 –> 00:03:50,720
بنابراین اجازه دهید نظراتی را اضافه
128
00:03:50,720 –> 00:03:51,760
کنیم.
129
00:03:51,760 –> 00:03:55,120
130
00:03:55,120 –> 00:03:57,360
131
00:03:58,000 –> 00:03:59,680
132
00:03:59,680 –> 00:04:01,280
مساوی است
133
00:04:01,280 –> 00:04:03,360
و من می خواهم از دو پنج پنج دو
134
00:04:03,360 –> 00:04:05,599
پنج پنج دو پنج پنج در اینجا استفاده
135
00:04:05,599 –> 00:04:08,159
کنم و سپس می خواهم بگویم مشکی برابر است
136
00:04:08,159 –> 00:04:09,439
و نکته جالبی که
137
00:04:09,439 –> 00:04:11,519
در اینجا می توانید ببینید این است که وقتی شروع به تایپ سیاه می کنم
138
00:04:11,519 –> 00:04:13,680
از قبل نشان می دهد که می توانم استفاده کنم 0
139
00:04:13,680 –> 00:04:16,798
0 0 این برگه 9 تکمیل خودکار است،
140
00:04:16,798 –> 00:04:20,560
سپس می توانم بگویم قرمز برابر است و می توانم از
141
00:04:20,560 –> 00:04:24,400
2 5 5 0 0 در اینجا استفاده کنم و سپس می توانم از نارنجی استفاده کنم
142
00:04:24,400 –> 00:04:27,680
و نارنجی یک 255
143
00:04:27,680 –> 00:04:30,080
پنج صفر است، بنابراین آنها فقط رنگ هایی هستند که
144
00:04:30,080 –> 00:04:31,600
سفید خواهند بود. رنگ
145
00:04:31,600 –> 00:04:33,360
مار مشکی
146
00:04:33,360 –> 00:04:34,160
رنگ پسزمینه
147
00:04:34,160 –> 00:04:36,320
خواهد بود قرمز رنگ بازی
148
00:04:36,320 –> 00:04:37,520
روی پیام و
149
00:04:37,520 –> 00:04:39,280
نارنجی رنگ
150
00:04:39,280 –> 00:04:41,280
غذایی است که ما به عنوان مار
151
00:04:41,280 –> 00:04:44,080
یا با مار دنبالش میکنیم. ما
152
00:04:44,080 –> 00:04:45,440
عرض و
153
00:04:45,440 –> 00:04:48,400
ارتفاع این نمایشگر را تعیین می
154
00:04:48,400 –> 00:04:49,759
کنیم، بنابراین ما می رویم ng می گوییم
155
00:04:49,759 –> 00:04:52,800
600 ضربدر 400 و سپس
156
00:04:52,800 –> 00:04:55,040
نمایشگر را با گفتن این جمله که
157
00:04:55,040 –> 00:04:58,560
نمایش بازی نمایش بازی
158
00:04:58,560 –> 00:05:01,919
برابر است با حالت تنظیم نقطه نمایش نقطه پای بازی
159
00:05:01,919 –> 00:05:04,960
تنظیم می کنیم و می خواهیم
160
00:05:04,960 –> 00:05:08,080
چندین عرض و ارتفاع را تنظیم کنیم تا
161
00:05:08,080 –> 00:05:09,520
ابعاد را داشته باشیم. اینجا
162
00:05:09,520 –> 00:05:11,360
و بعد ما میخواهیم عنوانی را تنظیم
163
00:05:11,360 –> 00:05:12,720
کنیم، بنابراین میخواهیم بگوییم که میخواهیم بگوییم که بازی Pie
164
00:05:12,720 –> 00:05:16,800
dot display dot set set caption
165
00:05:16,800 –> 00:05:18,479
و به این میخواهیم
166
00:05:18,479 –> 00:05:19,919
167
00:05:19,919 –> 00:05:25,199
که اینگونه بازی Neural Nine Snake را نمیدانم بنامیم،
168
00:05:25,199 –> 00:05:27,280
پس بعد از آن ما
169
00:05:27,280 –> 00:05:29,600
چیز دیگری برای تنظیم نداریم، ما به
170
00:05:29,600 –> 00:05:31,280
فونتهایی نیاز داریم و البته به یک ساعت هم نیاز داریم،
171
00:05:31,280 –> 00:05:32,800
زیرا ساعت قرار است
172
00:05:32,800 –> 00:05:33,680
همه چیز را زمانبندی کند
173
00:05:33,680 –> 00:05:35,360
یا کل چیز را در حال اجرا نگه دارد، بنابراین
174
00:05:35,360 –> 00:05:38,000
میخواهیم بگوییم که ساعت برابر است با
175
00:05:38,000 –> 00:05:40,400
ساعت زمان بازی pi. همانطور که میتوانید
176
00:05:40,400 –> 00:05:42,400
تکمیل خودکار کامل را در اینجا ببینید،
177
00:05:42,400 –> 00:05:44,639
و سپس ما میخواهیم
178
00:05:44,639 –> 00:05:46,800
اندازه مار و سرعت مار را نیز تنظیم کنیم، بنابراین فرض
179
00:05:46,800 –> 00:05:47,600
180
00:05:47,600 –> 00:05:50,479
کنید اندازه مار 10 پیکسل و
181
00:05:50,479 –> 00:05:52,080
سرعت مار
182
00:05:52,080 –> 00:05:55,440
15 پیکسل خواهد بود و سپس ما. قرار است دو فونت تنظیم
183
00:05:55,440 –> 00:05:56,479
184
00:05:56,479 –> 00:05:58,080
کنیم یا در واقع می توانیم از همان فونت استفاده کنیم
185
00:05:58,080 –> 00:05:59,520
، واقعاً مهم نیست
186
00:05:59,520 –> 00:06:01,360
اوه شاید o ne باید بزرگتر از
187
00:06:01,360 –> 00:06:03,360
دیگری باشد، بنابراین ما
188
00:06:03,360 –> 00:06:06,800
یک فونت پیام خواهیم داشت، بنابراین اطلاعاتی مانند فونت پیام به ما می
189
00:06:06,800 –> 00:06:09,360
190
00:06:09,360 –> 00:06:10,960
191
00:06:10,960 –> 00:06:14,240
192
00:06:14,240 –> 00:06:16,720
دهد.
193
00:06:16,720 –> 00:06:18,720
شما میتوانید هر فونتی را که دوست دارید انتخاب کنید
194
00:06:18,720 –> 00:06:21,280
و من از اندازه 18 استفاده میکنم یا در واقع
195
00:06:21,280 –> 00:06:23,360
میتوانیم آن را بزرگتر کنیم، اجازه دهید از
196
00:06:23,360 –> 00:06:24,639
197
00:06:24,639 –> 00:06:27,360
30 استفاده کنیم. اوه شاید این خیلی بزرگ باشد، اما بیایید
198
00:06:27,360 –> 00:06:27,680
ببینیم
199
00:06:27,680 –> 00:06:29,280
و سپس ما نیز یک
200
00:06:29,280 –> 00:06:30,800
فونت امتیاز را بنویسید زیرا
201
00:06:30,800 –> 00:06:32,560
همیشه می خواهید بدانید که
202
00:06:32,560 –> 00:06:34,800
اگر یک غذا را می خورید نمره شما چقدر است، یک غذای دیگر یک امتیاز
203
00:06:34,800 –> 00:06:36,720
دارید، سپس
204
00:06:36,720 –> 00:06:38,160
دو نمره و غیره دارید، بنابراین می خواهید
205
00:06:38,160 –> 00:06:39,440
آن فونت را داشته باشید
206
00:06:39,440 –> 00:06:41,680
و فونت امتیاز را نیز داشته باشید. فونت بازی pi
207
00:06:41,680 –> 00:06:43,120
فونت cis
208
00:06:43,120 –> 00:06:45,520
و همچنین ubuntu در این مورد با
209
00:06:45,520 –> 00:06:48,560
اندازه فونت I don’t know 25 به عنوان مثال،
210
00:06:48,560 –> 00:06:51,360
بنابراین این تنظیمات اولیه snaking ما
211
00:06:51,360 –> 00:06:52,800
212
00:06:52,800 –> 00:06:54,160
کاملاً درست است، بنابراین کاری که ما می خواهیم انجام دهیم این
213
00:06:54,160 –> 00:06:55,599
است که ما می خواهیم دو تابع را تعریف کنید
214
00:06:55,599 –> 00:06:56,960
که
215
00:06:56,960 –> 00:06:58,800
بعداً در تابع اصلی در اجرا فراخوانی خواهیم کرد
216
00:06:58,800 –> 00:06:59,840
تابع بازی
217
00:06:59,840 –> 00:07:01,199
و آن دو تابع فقط
218
00:07:01,199 –> 00:07:03,759
مسئول به روز رسانی یا رسم
219
00:07:03,759 –> 00:07:04,240
امتیاز
220
00:07:04,240 –> 00:07:06,639
و به روز رسانی یا ترسیم مار
221
00:07:06,639 –> 00:07:08,400
کامل مار با موقعیت آن هستند
222
00:07:08,400 –> 00:07:10,400
بنابراین اولین تابع
223
00:07:10,400 –> 00:07:11,919
تابع امتیاز چاپ خواهد بود
224
00:07:11,919 –> 00:07:13,440
یا می توانید تابع امتیاز ترسیم را نیز
225
00:07:13,440 –> 00:07:15,280
در اینجا بگویید. دوباره
226
00:07:15,280 –> 00:07:17,680
به آن نمره می دهیم و سپس می خواهیم
227
00:07:17,680 –> 00:07:20,479
بگوییم که مقدار متن در اینجا
228
00:07:20,479 –> 00:07:21,840
فونت امتیاز است که فونتی
229
00:07:21,840 –> 00:07:24,479
است که برای نوشتن این پیام استفاده کرده ایم یا برای
230
00:07:24,479 –> 00:07:26,080
ترسیم این پیام
231
00:07:26,080 –> 00:07:27,680
در این مورد نمره پیام را ندارد. و
232
00:07:27,680 –> 00:07:30,000
سپس نقطه رندر بنابراین امتیاز فونت نقطه
233
00:07:30,000 –> 00:07:31,280
رندر و ما امتیاز را رندر می
234
00:07:31,280 –> 00:07:33,360
کنیم اما فقط
235
00:07:33,360 –> 00:07:35,120
مقدار عددی را رندر نمی کنیم بلکه می
236
00:07:35,120 –> 00:07:36,080
گوییم
237
00:07:36,080 –> 00:07:40,080
نمره دو نقطه و سپس
238
00:07:40,080 –> 00:07:43,360
رشته امتیاز را به این ترتیب یک
239
00:07:43,360 –> 00:07:44,319
رشته در اینجا
240
00:07:44,319 –> 00:07:48,160
خواهیم داشت و ما آن را ضد نام مستعار
241
00:07:48,160 –> 00:07:49,680
می کنیم و رنگی را در اینجا پاس می
242
00:07:49,680 –> 00:07:51,759
کنیم که برای نمره نارنجی است،
243
00:07:51,759 –> 00:07:53,199
244
00:07:53,199 –> 00:07:54,400
بنابراین من در ابتدا به این موضوع اشاره نکردم،
245
00:07:54,400 –> 00:07:55,759
فکر می کنم گفتم غذا
246
00:07:55,759 –> 00:07:56,800
قرار است نارنجی شود
247
00:07:56,800 –> 00:07:58,479
اما این پیغام امتیاز را نشان می دهد ge
248
00:07:58,479 –> 00:08:00,080
نیز نارنجی خواهد بود، البته شما
249
00:08:00,080 –> 00:08:01,680
میتوانید آزادانه آن را به سبز تغییر دهید، به
250
00:08:01,680 –> 00:08:03,440
عنوان مثال اگر میخواهید
251
00:08:03,440 –> 00:08:05,440
um و هنگامی که آن شیء متنی را
252
00:08:05,440 –> 00:08:06,800
داشتیم،
253
00:08:06,800 –> 00:08:08,560
آن را روی صفحه نمایش میکشیم تا
254
00:08:08,560 –> 00:08:10,240
255
00:08:10,240 –> 00:08:14,560
بگوییم متن نمایش نقطهای بازی و اوه ما
256
00:08:14,560 –> 00:08:18,080
اینجا از صفر به عنوان یک موقعیت عبور میکنیم، بنابراین
257
00:08:18,080 –> 00:08:19,520
این اولین تابع است.
258
00:08:19,520 –> 00:08:21,599
259
00:08:21,599 –> 00:08:22,960
260
00:08:22,960 –> 00:08:25,520
261
00:08:25,520 –> 00:08:27,039
262
00:08:27,039 –> 00:08:29,680
یک مار از تعداد زیادی
263
00:08:29,680 –> 00:08:31,759
پیکسل تشکیل شده است، به خصوص اگر
264
00:08:31,759 –> 00:08:33,679
تعداد زیادی تکه غذا بخورد،
265
00:08:33,679 –> 00:08:35,279
اندازه بزرگی خواهد داشت
266
00:08:35,279 –> 00:08:36,320
و کاری که ما می خواهیم انجام دهیم این
267
00:08:36,320 –> 00:08:37,760
است که لیستی از تمام
268
00:08:37,760 –> 00:08:39,599
موقعیت های این پیکسل ها
269
00:08:39,599 –> 00:08:42,399
و اندازه آن ها را داشته باشیم. تک تک پیکسل بنابراین
270
00:08:42,399 –> 00:08:43,760
در این مورد
271
00:08:43,760 –> 00:08:45,760
ما فقط میخواهیم بگوییم رسم مار و برای
272
00:08:45,760 –> 00:08:47,200
هر پیکسل
273
00:08:47,200 –> 00:08:50,880
در پیکسلهای مار میگوییم
274
00:08:50,880 –> 00:08:54,080
بازی پای dot draw
275
00:08:54,080 –> 00:08:57,920
draw dot مستطیل یا فقط rect
276
00:08:57,920 –> 00:09:00,320
و سپس به صفحه نمایش را با
277
00:09:00,320 –> 00:09:02,160
رنگ سفید ترسیم
278
00:09:02,160 –> 00:09:04,399
می کنیم و در اینجا یک لیست را ارسال می کنیم t
279
00:09:04,399 –> 00:09:06,240
که پیکسل
280
00:09:06,240 –> 00:09:08,959
0 خواهد بود و پیکسل یک که فقط
281
00:09:08,959 –> 00:09:11,120
موقعیت این بلوک جداگانه است
282
00:09:11,120 –> 00:09:13,120
و ما می خواهیم اندازه مار را
283
00:09:13,120 –> 00:09:14,320
در اینجا به
284
00:09:14,320 –> 00:09:17,680
اندازه مار و اندازه مار دیگر منتقل کنیم،
285
00:09:17,680 –> 00:09:20,800
بنابراین ایده اصلی این است که ما
286
00:09:20,800 –> 00:09:24,320
یک مستطیل ترسیم کنیم. اجازه دهید
287
00:09:24,320 –> 00:09:26,000
این را کمی کوچک کنم، یک
288
00:09:26,000 –> 00:09:28,160
مستطیل رسم می کنیم که فقط یک
289
00:09:28,160 –> 00:09:31,200
پیکسل در موقعیت 0 1 یا در
290
00:09:31,200 –> 00:09:31,839
291
00:09:31,839 –> 00:09:33,839
موقعیت شاخص 0 است، بنابراین ما این پیکسل را داریم و
292
00:09:33,839 –> 00:09:35,360
مختصات x و
293
00:09:35,360 –> 00:09:36,240
مختصات y را
294
00:09:36,240 –> 00:09:38,560
در این موقعیت دارد. یک پیکسل رسم می کنیم یا
295
00:09:38,560 –> 00:09:39,519
296
00:09:39,519 –> 00:09:41,920
پیکسلی به آن اندازه اندازه مار می کشیم، بنابراین
297
00:09:41,920 –> 00:09:44,240
این دو تابع اصلی هستند،
298
00:09:44,240 –> 00:09:45,519
بنابراین اکنون که همه چیز را در اختیار
299
00:09:45,519 –> 00:09:47,519
داریم می توانیم ادامه دهیم و شروع به کدنویسی تابع run
300
00:09:47,519 –> 00:09:49,120
game کنیم که تابع اصلی است.
301
00:09:49,120 –> 00:09:50,000
302
00:09:50,000 –> 00:09:52,240
بعداً برای شروع بازی تماس می گیریم و برای این
303
00:09:52,240 –> 00:09:53,600
کار می گوییم
304
00:09:53,600 –> 00:09:56,560
بازی def run و در اینجا باید
305
00:09:56,560 –> 00:09:58,080
چند چیز را تعریف کنیم
306
00:09:58,080 –> 00:09:59,680
اول از همه می خواهیم بگوییم که بازی
307
00:09:59,680 –> 00:10:02,000
تمام می
308
00:10:02,320 –> 00:10:03,839
شود نادرست باشد زیرا این
309
00:10:03,839 –> 00:10:05,120
متغیری است که در یک
310
00:10:05,120 –> 00:10:06,880
حلقه while از آن استفاده می کنیم بعداً که میگوید
311
00:10:06,880 –> 00:10:08,800
در حالی که بازی تمام نمیشود، همان کار را
312
00:10:08,800 –> 00:10:10,240
بارها و بارها انجام دهید،
313
00:10:10,240 –> 00:10:12,160
و همچنین ما میخواهیم بازی را
314
00:10:12,160 –> 00:10:13,920
315
00:10:13,920 –> 00:10:17,519
بهعنوان نادرست تعریف کنیم، زیرا بازی پایاندادن
316
00:10:17,519 –> 00:10:18,000
317
00:10:18,000 –> 00:10:19,440
بازی همان چیزی نیست که من میتوانم بازی
318
00:10:19,440 –> 00:10:21,760
را تمام کنم، اما هنوز هم بازی خاتمه نمی
319
00:10:21,760 –> 00:10:22,640
یابد من می توانم
320
00:10:22,640 –> 00:10:24,480
دور دوم را شروع کنم یا فقط می توانم
321
00:10:24,480 –> 00:10:26,720
به امتیاز نگاه کنم من می توانم هر کاری را که می خواهم انجام دهم
322
00:10:26,720 –> 00:10:28,560
بازی بسته به این معنی است که ما در واقع بازی را تعطیل می کنیم.
323
00:10:28,560 –> 00:10:29,920
324
00:10:29,920 –> 00:10:32,480
325
00:10:32,480 –> 00:10:33,040
326
00:10:33,040 –> 00:10:34,079
انجام دهید این است که ما
327
00:10:34,079 –> 00:10:35,680
یک موقعیت شروع را تعریف می کنیم، موقعیت
328
00:10:35,680 –> 00:10:37,440
شروع
329
00:10:37,440 –> 00:10:41,920
x در عرض تقسیم بر 2
330
00:10:41,920 –> 00:10:45,360
و y تقسیم ارتفاع بر
331
00:10:45,360 –> 00:10:47,040
دو خواهد بود و از آنجایی که ما فقط یک پیکسل داریم
332
00:10:47,040 –> 00:10:48,160
که um کافی است
333
00:10:48,160 –> 00:10:51,279
و می توانیم یک عدد نیز تعریف کنیم.
334
00:10:51,279 –> 00:10:53,760
سرعت پیشفرض و از آنجایی که
335
00:10:53,760 –> 00:10:55,440
ما هنوز بازی را شروع نکردهایم چون
336
00:10:55,440 –> 00:10:57,040
هنوز کاری انجام ندادهایم، فقط
337
00:10:57,040 –> 00:10:58,000
میخواهیم این
338
00:10:58,000 –> 00:10:59,279
مار را در مرکز صفحه
339
00:10:59,279 –> 00:11:01,200
نگه داریم بدون اینکه جایی حرکت کند، مگر
340
00:11:01,200 –> 00:11:03,120
اینکه شروع به فشار دادن چند کلید کنیم.
341
00:11:03,120 –> 00:11:05,040
می گوییم سرعت x فقط صفر خواهد بود
342
00:11:05,040 –> 00:11:07,200
an سرعت d y نیز
343
00:11:07,200 –> 00:11:08,399
در اینجا
344
00:11:08,399 –> 00:11:11,120
صفر خواهد شد، زمانی که ما باید
345
00:11:11,120 –> 00:11:12,240
مار را
346
00:11:12,240 –> 00:11:14,320
به عنوان یک لیست تعریف کنیم، در حال حاضر فقط یک
347
00:11:14,320 –> 00:11:15,440
پیکسل داریم، بنابراین
348
00:11:15,440 –> 00:11:17,040
واقعاً مهم نیست، یعنی
349
00:11:17,040 –> 00:11:18,560
ما یک پیکسل
350
00:11:18,560 –> 00:11:20,079
یا یک بلوک داریم، می توانید بگویید که اینطور نیست. یک
351
00:11:20,079 –> 00:11:23,120
پیکسل ام اما ما فقط یک پیکسل داریم، بنابراین لیستی
352
00:11:23,120 –> 00:11:24,880
واقعا ضروری نیست، اما با گذشت زمان
353
00:11:24,880 –> 00:11:26,640
اندازه مار بزرگتر می شود، بنابراین
354
00:11:26,640 –> 00:11:28,560
باید چند بلوک دیگر به آن اضافه کنیم
355
00:11:28,560 –> 00:11:30,160
و برای این کار می گوییم
356
00:11:30,160 –> 00:11:33,680
پیکسل های مار قرار است یک لیست خالی باشد
357
00:11:33,680 –> 00:11:36,560
و طول مار در حال حاضر در ابتدا یک است
358
00:11:36,560 –> 00:11:37,760
،
359
00:11:37,760 –> 00:11:40,800
زیرا اوه ما
360
00:11:40,800 –> 00:11:42,640
چیزی جز این یک پیکسل در
361
00:11:42,640 –> 00:11:44,160
وسط صفحه
362
00:11:44,160 –> 00:11:46,160
نداریم، اکنون که باید
363
00:11:46,160 –> 00:11:47,680
یک هدف تصادفی نیز ایجاد کنیم، در غیر این
364
00:11:47,680 –> 00:11:49,120
صورت هدف نیست. تصادفی، اما
365
00:11:49,120 –> 00:11:50,800
موقعیت هدف تصادفی است،
366
00:11:50,800 –> 00:11:53,279
بنابراین ما باید در جایی در نقشه مقداری غذا
367
00:11:53,279 –> 00:11:53,839
368
00:11:53,839 –> 00:11:56,959
داشته باشیم که خارج از محدوده نباشد و برای این منظور
369
00:11:56,959 –> 00:11:58,240
میخواهیم بگوییم
370
00:11:58,240 –> 00:12:00,560
هدف x یا غذای x شما میتوانید آن را
371
00:12:00,560 –> 00:12:01,600
هر
372
00:12:01,600 –> 00:12:04,639
چه میخواهید بنامید. در اطراف نقطه تصادفی باشید
373
00:12:04,639 –> 00:12:08,720
خشم رانت نه خشم رانت، بلکه محدوده رانت
374
00:12:08,720 –> 00:12:12,320
um آن را در حال رفتن T o از صفر
375
00:12:12,320 –> 00:12:16,079
شروع کنید و به عرض منهای
376
00:12:16,079 –> 00:12:19,120
اندازه مار می رود تا فضای کافی
377
00:12:19,120 –> 00:12:21,360
برای قرار گرفتن در خود مار داشته باشیم و
378
00:12:21,360 –> 00:12:23,920
سپس نتیجه را
379
00:12:23,920 –> 00:12:25,040
380
00:12:25,040 –> 00:12:26,639
به عنوان یک عدد ممیز بر 10 تقسیم می کنیم
381
00:12:26,639 –> 00:12:28,399
تا یک عدد شناور به دست آید. نتیجه نقطه
382
00:12:28,399 –> 00:12:30,720
و سپس
383
00:12:30,720 –> 00:12:31,519
کل چیز را در
384
00:12:31,519 –> 00:12:34,800
10 ممیز شناور ضرب می کنیم و
385
00:12:34,800 –> 00:12:35,600
همین کار را
386
00:12:35,600 –> 00:12:39,760
برای هدف y انجام می دهیم و در اینجا
387
00:12:39,760 –> 00:12:41,600
از ارتفاع و نه عرض استفاده می کنیم.
388
00:12:41,600 –> 00:12:43,040
389
00:12:43,040 –> 00:12:45,600
میگویید ارتفاع میروید و اینگونه است که ما
390
00:12:45,600 –> 00:12:47,519
اهداف تصادفی
391
00:12:47,519 –> 00:12:48,959
را درست میکنیم، بنابراین اکنون میخواهیم شروع به
392
00:12:48,959 –> 00:12:50,959
نوشتن حلقه بازی حلقه اصلی بازی
393
00:12:50,959 –> 00:12:52,000
کنیم که در
394
00:12:52,000 –> 00:12:54,240
حالی که بازی تمام نشده است، بنابراین در حالی که
395
00:12:54,240 –> 00:12:55,200
هنوز شکست نخوردهایم
396
00:12:55,200 –> 00:12:59,320
برای رویداد در
397
00:12:59,320 –> 00:13:01,120
pygamevent.get که یک تکمیل ممیزی عالی است،
398
00:13:01,120 –> 00:13:02,079
دوباره
399
00:13:02,079 –> 00:13:04,720
می گوییم اگر آن رویداد
400
00:13:04,720 –> 00:13:06,160
نوع این رویداد
401
00:13:06,160 –> 00:13:10,320
pie game dot quit است، بنابراین اگر این رویداد
402
00:13:10,320 –> 00:13:14,160
um است، پس می گوییم بازی over
403
00:13:14,160 –> 00:13:17,760
برابر است با true در غیر این صورت اگر نوع رویداد
404
00:13:17,760 –> 00:13:21,519
متوقف نشود اما اگر نوع
405
00:13:21,519 –> 00:13:24,959
رویداد باشد نوع رویداد در حال رفتن است برای
406
00:13:24,959 –> 00:13:28,320
پایین آمدن کلید pygame dot در صورتی که چنین است و ما
407
00:13:28,320 –> 00:13:31,200
در واقع میخواهیم که
408
00:13:31,200 –> 00:13:34,560
این مورد
409
00:13:34,560 –> 00:13:37,600
مانند آن فعال شود، اگر رویداد کلید خورده باشد،
410
00:13:37,600 –> 00:13:39,519
میخواهیم بپرسیم کدام کلید
411
00:13:39,519 –> 00:13:41,839
را واقعا فشار میدهیم، بنابراین میخواهیم بگوییم
412
00:13:41,839 –> 00:13:43,760
که کلید رویداد، بنابراین
413
00:13:43,760 –> 00:13:46,800
اگر کلید رویداد برابر با pygame dot k باشد
414
00:13:46,800 –> 00:13:48,480
و سپس میخواهیم بدانیم که آیا برای مثال باقی مانده است،
415
00:13:48,480 –> 00:13:50,240
کارهای متفاوتی انجام میدهیم
416
00:13:50,240 –> 00:13:51,440
417
00:13:51,440 –> 00:13:54,240
تا اینکه به سمت راست بالا و پایین فشار دهیم و به همین ترتیب، اگر
418
00:13:54,240 –> 00:13:54,560
419
00:13:54,560 –> 00:13:56,240
چپ را فشار دهیم چه میخواهیم انجام این کار این است که ما می خواهیم
420
00:13:56,240 –> 00:13:58,000
مار به سمت چپ برود بنابراین می خواهیم
421
00:13:58,000 –> 00:13:59,199
سرعت را تغییر دهیم
422
00:13:59,199 –> 00:14:01,839
تا مار به
423
00:14:01,839 –> 00:14:02,240
424
00:14:02,240 –> 00:14:05,279
اندازه اندازه ای که دارد به سمت چپ برود
425
00:14:05,279 –> 00:14:06,000
بنابراین
426
00:14:06,000 –> 00:14:08,720
می خواهیم یک بلوک در ثانیه حرکت دهیم یا
427
00:14:08,720 –> 00:14:10,639
در هر ساعت به سمت چپ um تیک بزنید،
428
00:14:10,639 –> 00:14:12,079
بنابراین کاری که ما می خواهیم انجام دهیم این است
429
00:14:12,079 –> 00:14:14,720
که می گوییم سرعت x
430
00:14:14,720 –> 00:14:18,240
منفی است اندازه Uh بنابراین
431
00:14:18,240 –> 00:14:19,600
432
00:14:19,600 –> 00:14:22,240
اندازه مار منفی خواهد بود چرا منفی، زیرا اگر
433
00:14:22,240 –> 00:14:23,519
شما یک پایتون
434
00:14:23,519 –> 00:14:25,519
um دارید. یک پنجره پایتون داشته باشی