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