در این مطلب، ویدئو Build A Tic Tac Toe Logic Game Part 2 – Python Kivy GUI Tutorial #64 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:16:52
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,199
بچه ها جان
2
00:00:01,199 –> 00:00:02,720
الیور
3
00:00:02,720 –> 00:00:03,840
4
00:00:03,840 –> 00:00:07,600
5
00:00:08,639 –> 00:00:09,920
اینجا
6
00:00:09,920 –> 00:00:11,040
از coding.com چه خبره منطق
7
00:00:11,040 –> 00:00:12,639
بازی تیک تاک ما را قبل از
8
00:00:12,639 –> 00:00:13,599
شروع شروع کنیم، اگر این ویدیو را دوست دارید، میخواهم
9
00:00:13,599 –> 00:00:14,799
بیشتر شبیه آن را ببینم، حتماً
10
00:00:14,799 –> 00:00:16,079
دکمه لایک زیر را فشار دهید در کانال مشترک شوید.
11
00:00:16,079 –> 00:00:17,039
12
00:00:17,039 –> 00:00:18,400
خارج از
13
00:00:18,400 –> 00:00:19,920
kotami.com که در آن ده ها دوره با
14
00:00:19,920 –> 00:00:21,039
صدها ویدیو که به شما کدنویسی را آموزش می دهند،
15
00:00:21,039 –> 00:00:23,199
از کد کوپن youtube1 استفاده کنید تا 30
16
00:00:23,199 –> 00:00:24,400
تخفیف عضویت دریافت کنید همه فیلم ها و کتاب های دوره های من
17
00:00:24,400 –> 00:00:26,480
برای یک بار هزینه فقط 49
18
00:00:26,480 –> 00:00:28,640
است که بسیار ارزان است، خوب همانطور که
19
00:00:28,640 –> 00:00:30,480
در این ویدیو گفتم
20
00:00:30,480 –> 00:00:32,079
ما می خواهیم منطق را اینجا
21
00:00:32,079 –> 00:00:34,320
بسازیم تا بتوانیم بگوییم هی ما برنده شدیم و اینجا بمب
22
00:00:34,320 –> 00:00:37,440
می گوید x برد اوه ما می توانیم دوباره برویم
23
00:00:37,440 –> 00:00:39,600
تبر برنده اگر به
24
00:00:39,600 –> 00:00:41,520
نوعی بیایید ببینیم
25
00:00:41,520 –> 00:00:42,800
یک نوع
26
00:00:42,800 –> 00:00:46,000
x بیایید اینجا را ببینیم آنجا آنجا برویم
27
00:00:46,000 –> 00:00:47,680
این یک تساوی است. که در این ویدیو به آن نگاه خواهیم کرد
28
00:00:47,680 –> 00:00:48,960
، پس بیایید
29
00:00:48,960 –> 00:00:50,399
به کد خود بازگردیم من از ویرایشگر متن sublime استفاده می کنم
30
00:00:50,399 –> 00:00:51,760
و سپس مثل همیشه bash journal را دریافت می کنم
31
00:00:51,760 –> 00:00:53,280
و مثل همیشه می توانید
32
00:00:53,280 –> 00:00:54,879
پیوند کد را در قسمت نظرات پین
33
00:00:54,879 –> 00:00:56,480
زیر و همچنین پیوندی به
34
00:00:56,480 –> 00:00:57,680
لیست پخش kv با سایر ویدیوهای
35
00:00:57,680 –> 00:00:58,800
این مجموعه پیدا کنید. بررسی کنید اگر
36
00:00:58,800 –> 00:01:00,239
تا به حال این کار را نکرده اید، بنابراین ما دو
37
00:01:00,239 –> 00:01:03,120
فایل toe.kv و toe.pi خود را داریم و
38
00:01:03,120 –> 00:01:04,159
در این
39
00:01:04,159 –> 00:01:06,479
فایل toe.kv در این ویدیو کاری انجام نمی دهیم و تمام کاری که
40
00:01:06,479 –> 00:01:07,840
باید انجام دهیم در این ویدیو روی منطق کار می کنیم
41
00:01:07,840 –> 00:01:10,159
و یک کاری که من درست بعد
42
00:01:10,159 –> 00:01:11,520
از آخرین ویدیویی که روی دوربین قرار ندادم انجام دادم این
43
00:01:11,520 –> 00:01:13,920
است که وارد تابع راه اندازی مجدد خود شدم
44
00:01:13,920 –> 00:01:14,880
45
00:01:14,880 –> 00:01:16,960
و این برچسب را به جایی اضافه کردم که وقتی
46
00:01:16,960 –> 00:01:18,560
دکمه راه اندازی مجدد را فشار دادیم می گوید x می رود
47
00:01:18,560 –> 00:01:20,720
ابتدا فقط یک چیز کوچک و به محض
48
00:01:20,720 –> 00:01:21,840
اینکه آن ویدیو را تمام کردم، فکر می کنم اوه
49
00:01:21,840 –> 00:01:23,439
باید این کار را انجام می دادم و فراموش کردم،
50
00:01:23,439 –> 00:01:25,119
بنابراین ادامه دادم و این کار را انجام دادم، بنابراین
51
00:01:25,119 –> 00:01:27,520
اکنون باید هر بار که
52
00:01:27,520 –> 00:01:29,520
روی یک دکمه کلیک می کنیم مشخص کنیم که اوه این کار را انجام داد. فقط
53
00:01:29,520 –> 00:01:31,680
برنده شوید یا نه، بنابراین ما عملکرد پرس خود را
54
00:01:31,680 –> 00:01:33,200
داریم و اینجاست که
55
00:01:33,200 –> 00:01:35,520
روی دکمه ها کلیک می کنیم و کارهایی را که می دانید انجام می دهیم
56
00:01:35,520 –> 00:01:37,520
اگر عبارت x است، x را
57
00:01:37,520 –> 00:01:39,840
در آنجا میگذاریم، اگر عبارت o است
58
00:01:39,840 –> 00:01:41,840
، برچسب اطراف را تغییر میدهیم، همچنین میخواهیم به
59
00:01:41,840 –> 00:01:43,840
اینجا بیاییم و وقتی
60
00:01:43,840 –> 00:01:45,600
همه کارها روی دکمهها انجام شد،
61
00:01:45,600 –> 00:01:47,280
باید تابع دیگری را اجرا کنیم تا بگو هی
62
00:01:47,280 –> 00:01:48,720
برنده شدند یا نه پس بیایید
63
00:01:48,720 –> 00:01:51,040
self.win را صدا بزنیم و ما هنوز
64
00:01:51,040 –> 00:01:52,720
این تابع را ایجاد نکرده ایم، بنابراین باید این کار را انجام دهیم
65
00:01:52,720 –> 00:01:56,479
و سپس بیایید بررسی کنیم تا ببینیم آیا یکی
66
00:01:56,479 –> 00:01:58,960
پس بیایید اینجا و بیایید
67
00:01:58,960 –> 00:02:00,880
تعریف کنیم چه زمانی و چه زمانی
68
00:02:00,880 –> 00:02:02,719
می خواهیم برای عبور از خود و بیایید به
69
00:02:02,719 –> 00:02:05,360
اینجا نیز بیایم و یک متغیر ایجاد
70
00:02:05,360 –> 00:02:06,399
کنیم که بگوید
71
00:02:06,399 –> 00:02:07,200
72
00:02:07,200 –> 00:02:10,639
پیروز شدن یا باخت را پیگیری کنید و من فقط
73
00:02:10,639 –> 00:02:13,680
این برنده را صدا می زنم و وقتی بازی شروع می شود آن را روی false تنظیم می کنم
74
00:02:13,680 –> 00:02:15,680
، بنابراین وقتی بازی
75
00:02:15,680 –> 00:02:17,360
شروع می شود واضح است که ما این کار را نمی کنیم.
76
00:02:17,360 –> 00:02:19,599
اگر کسی برنده شود، برنده ای نداشته باشیم، این را به درستی
77
00:02:19,599 –> 00:02:23,920
در اینجا برگردانیم، بنابراین ابتدا اجازه دهید از آنطرف عبور
78
00:02:23,920 –> 00:02:26,640
کنیم، ما نیز باید پایین را پیدا کنیم و همچنین
79
00:02:26,640 –> 00:02:29,120
باید مورب را پیدا کنیم،
80
00:02:29,120 –> 00:02:30,239
بنابراین
81
00:02:30,239 –> 00:02:33,120
وقتی شخصی سه ردیف را پشت سر هم
82
00:02:33,120 –> 00:02:35,920
در هر یک از سه ردیف در عرض قرار داد. ما
83
00:02:35,920 –> 00:02:37,680
باید بررسی کنیم و ببینیم که آیا این اتفاق افتاده است یا خیر و
84
00:02:37,680 –> 00:02:39,840
سپس کاری بر اساس آن انجام دهیم
85
00:02:39,840 –> 00:02:42,000
بیایید یک دستور if انجام دهیم، بنابراین بیایید بگوییم اگر
86
00:02:42,000 –> 00:02:45,000
87
00:02:46,239 –> 00:02:49,200
متن نقطه self.root.ids.button1
88
00:02:49,200 –> 00:02:51,040
خالی نیست، بنابراین اولین چیزی که باید
89
00:02:51,040 –> 00:02:53,200
بدانیم این
90
00:02:53,200 –> 00:02:55,280
است که اگر کسی روی آن کلیک کرد،
91
00:02:55,280 –> 00:02:57,200
یک x یا o وجود خواهد داشت. در آن در غیر این صورت خالی خواهد بود،
92
00:02:57,200 –> 00:02:59,360
بنابراین اگر خالی نباشد، این
93
00:02:59,360 –> 00:03:00,959
پایتون برای درست نیست
94
00:03:00,959 –> 00:03:02,840
95
00:03:02,840 –> 00:03:06,239
و بیایید فقط این را کپی کنیم
96
00:03:06,239 –> 00:03:07,599
و اکنون فقط باید مقداری
97
00:03:07,599 –> 00:03:10,640
برابر با چیزها تنظیم کنیم، بنابراین اگر دکمه
98
00:03:10,640 –> 00:03:15,599
یک برابر با دکمه دو
99
00:03:15,920 –> 00:03:17,040
و
100
00:03:17,040 –> 00:03:19,120
دکمه دو است.
101
00:03:19,120 –> 00:03:20,879
برابر با
102
00:03:20,879 –> 00:03:23,200
دکمه سه است، بنابراین دکمه ها فقط یک
103
00:03:23,200 –> 00:03:25,599
دو سه در سمت راست هستند، بنابراین اگر همه
104
00:03:25,599 –> 00:03:27,920
این موارد درست باشد، چه کاری را می خواهیم
105
00:03:27,920 –> 00:03:30,000
خوب انجام دهیم، اجازه دهید عملکرد دیگری
106
00:03:30,000 –> 00:03:31,840
به نام پایان بازی را اجرا کنیم و در
107
00:03:31,840 –> 00:03:33,760
واقع هنوز آن را در داخل خود ایجاد نکرده ایم.
108
00:03:33,760 –> 00:03:35,280
عملکرد بازی همه
109
00:03:35,280 –> 00:03:36,560
چیزهایی را که ما میخواهیم در زمان
110
00:03:36,560 –> 00:03:39,360
پایان بازی واقعی اتفاق بیفتد مراقبت میکند، بنابراین
111
00:03:39,360 –> 00:03:41,760
اگر این درست باشد به این معنی است که کسی برنده شده است
112
00:03:41,760 –> 00:03:43,840
و اگر آنها برنده شدند، باید بازی را
113
00:03:43,840 –> 00:03:45,280
درست به
114
00:03:45,280 –> 00:03:46,959
پایان برسانیم، بنابراین وقتی بازی را تمام کردیم، ما نیز میخواهیم برای
115
00:03:46,959 –> 00:03:49,040
عبور این دکمه ها به دلیل یکی از
116
00:03:49,040 –> 00:03:50,239
کارهایی که می خواهیم انجام دهیم wh در پایان
117
00:03:50,239 –> 00:03:52,239
بازی، رنگ دکمههای
118
00:03:52,239 –> 00:03:56,720
سمت راست را تغییر میدهیم، بنابراین در اینجا میتوانیم فقط
119
00:03:59,040 –> 00:03:59,080
دکمه self.root.ids.button1 را نقطهبندی کنیم
120
00:04:01,280 –> 00:04:03,360
و من فقط میخواهم این را دو بار دیگر
121
00:04:03,360 –> 00:04:04,959
122
00:04:04,959 –> 00:04:06,000
دو
123
00:04:06,000 –> 00:04:07,120
و سه بار کپی کنم
124
00:04:07,120 –> 00:04:09,280
و سپس آن را به دکمه دو تغییر دهم. و
125
00:04:09,280 –> 00:04:11,840
دکمه سه خیلی خوب است که خوب به نظر می رسد
126
00:04:11,840 –> 00:04:13,840
حالا بیایید سریع به
127
00:04:13,840 –> 00:04:16,639
اینجا بیاییم و پایان بازی را تعریف کنیم و ما می خواهیم
128
00:04:16,639 –> 00:04:18,798
در خود پاس بدهیم ما همچنین می خواهیم
129
00:04:18,798 –> 00:04:20,959
این سه دکمه را پاس کنیم بنابراین من فقط می خواهم
130
00:04:20,959 –> 00:04:23,280
با آنها تماس بگیرم نمی دانم a b و c
131
00:04:23,280 –> 00:04:24,960
واقعاً مهم نیست و ما می خواهیم
132
00:04:24,960 –> 00:04:26,000
چه اتفاقی بیفتد
133
00:04:26,000 –> 00:04:26,880
وقتی
134
00:04:26,880 –> 00:04:28,560
کسی خوب برنده می شود، ابتدا
135
00:04:28,560 –> 00:04:32,479
متغیر self.winner را به true
136
00:04:32,479 –> 00:04:34,240
تغییر می دهیم و سپس رنگ دکمه خود را تغییر می
137
00:04:34,240 –> 00:04:36,160
دهیم تا دکمه های ما b و c
138
00:04:36,160 –> 00:04:38,720
باشند تا بتوانیم فقط a.color را بگویید
139
00:04:38,720 –> 00:04:42,840
و آن را برابر با قرمز قرار دهید
140
00:04:43,280 –> 00:04:45,520
و این رنگ b.color و رنگ نقطه c خواهد بود،
141
00:04:45,520 –> 00:04:47,440
بنابراین باید مراقب باشید که
142
00:04:47,440 –> 00:04:49,840
ما همچنین میخواهیم همه دکمهها را به درستی غیرفعال
143
00:04:49,840 –> 00:04:50,639
144
00:04:50,639 –> 00:04:52,479
کنیم، بنابراین آیا هنوز یک تابع برای انجام این کار ایجاد کردهایم.
145
00:04:52,479 –> 00:04:53,600
146
00:04:53,600 –> 00:04:56,320
ما یک تابع راه اندازی
147
00:04:56,320 –> 00:04:59,440
148
00:04:59,440 –> 00:05:01,120
مجدد داریم فراخوانی self
149
00:05:01,120 –> 00:05:03,120
dot disable
150
00:05:03,120 –> 00:05:05,199
underscore همه دکمههای زیرخط
151
00:05:05,199 –> 00:05:06,800
را که هنوز ایجاد نکردهایم، فقط در
152
00:05:06,800 –> 00:05:09,360
یک ثانیه این کار را انجام میدهیم و همچنین بیایید یک برچسب بگذاریم
153
00:05:09,360 –> 00:05:10,960
که میگوید چه کسی برنده
154
00:05:10,960 –> 00:05:11,759
چنین
155
00:05:11,759 –> 00:05:13,919
مجموعهای برچسب یا برنده شده است و این
156
00:05:13,919 –> 00:05:16,600
فقط به صورت self dot
157
00:05:16,600 –> 00:05:18,639
root.ids.score خواهد بود. به یاد داشته باشید که برچسب ما
158
00:05:18,639 –> 00:05:21,520
متن نقطه امتیاز نام دارد حالا بیایید
159
00:05:21,520 –> 00:05:24,880
یک رشته f ایجاد کنیم و در داخل اینجا
160
00:05:24,880 –> 00:05:27,440
می دانیم که چه کسی برنده می شود زیرا هر
161
00:05:27,440 –> 00:05:29,919
متنی از این دکمه ها
162
00:05:29,919 –> 00:05:31,360
برنده است، بنابراین می توانیم یک متن را درست صدا
163
00:05:31,360 –> 00:05:33,120
بزنیم
164
00:05:33,120 –> 00:05:34,960
و سپس اجازه دهید بگو برنده
165
00:05:34,960 –> 00:05:37,840
باشه پس حالا بالاخره ما به این
166
00:05:37,840 –> 00:05:40,960
تابع غیرفعال کردن همه دکمه ها نیاز داریم،
167
00:05:40,960 –> 00:05:43,120
پس بیایید اینجا بیایم و بگوییم
168
00:05:43,120 –> 00:05:44,320
بازی را تمام
169
00:05:44,320 –> 00:05:46,080
کنید و در اینجا بیایید
170
00:05:46,080 –> 00:05:48,639
همه دکمه هایی را که می خواهیم
171
00:05:48,639 –> 00:05:50,880
در خود عبور دهیم غیرفعال کنید و لیستی از
172
00:05:50,880 –> 00:05:52,800
همه دکمه های خود را اینجا پیدا کنیم.
173
00:05:52,800 –> 00:05:55,199
ما همه دکمهها را فعال میکنیم، من
174
00:05:55,199 –> 00:05:58,080
فقط میتوانم این را کپی کنم
175
00:05:58,880 –> 00:06:02,000
و فرض کنیم همه دکمهها را غیرفعال
176
00:06:02,000 –> 00:06:03,919
کنیم، بنابراین میتوانیم آن را برابر با true برای
177
00:06:03,919 –> 00:06:04,840
هر یک از
178
00:06:04,840 –> 00:06:08,319
اینها قرار دهیم، بنابراین اجازه دهید همین کار را انجام دهم، پس
179
00:06:08,319 –> 00:06:10,319
بیایید ادامه دهیم و این را ذخیره کنیم و ببینیم آیا
180
00:06:10,319 –> 00:06:12,800
این اگر بیانیه کار می کرد ما انجام دادیم
181
00:06:12,800 –> 00:06:14,960
خیلی سریع است، بنابراین من در
182
00:06:14,960 –> 00:06:16,160
دایرکتوری ckvmd خود هستم، محیط مجازی من
183
00:06:16,160 –> 00:06:19,120
روشن است و بیایید پایتون toe dot pi را اجرا
184
00:06:19,120 –> 00:06:22,400
کنیم، اوه، ما در دستور if خود خطایی داریم
185
00:06:22,400 –> 00:06:24,639
آه، نگاه کنید آنچه را که من در آنجا انجام دادم با استفاده از
186
00:06:24,639 –> 00:06:26,560
تک علامت برابر است، پس بیایید به
187
00:06:26,560 –> 00:06:27,680
اینجا
188
00:06:27,680 –> 00:06:30,000
برگردیم. دوشنبه صبح،
189
00:06:30,000 –> 00:06:31,680
بنابراین اگر عبارات ما نیاز به دو
190
00:06:31,680 –> 00:06:35,520
برابر علائم داشته باشیم، البته
191
00:06:35,520 –> 00:06:37,759
اینجا انجام می دهیم، خوب به نظر می رسد، بنابراین بیایید این را
192
00:06:37,759 –> 00:06:40,639
ذخیره کنیم و اجرا کنیم، یک پایتون دیگر را امتحان کنیم
193
00:06:40,639 –> 00:06:43,039
تا آن را بالا
194
00:06:43,039 –> 00:06:44,960
ببریم و در اینجا ما می توانیم خیلی سریع
195
00:06:44,960 –> 00:06:47,759
برنده این رونق باشیم. قرمز
196
00:06:47,759 –> 00:06:50,800
میشود، میگوید x برنده است، بیایید دوباره آن را با o امتحان کنیم
197
00:06:50,800 –> 00:06:52,160
198
00:06:52,160 –> 00:06:53,680
، متوجه میشوید که این بار قرمز نمیشود،
199
00:06:53,680 –> 00:06:56,240
اما میگوید o برنده میشود، بنابراین ما باید آن را نیز
200
00:06:56,240 –> 00:06:58,720
برطرف کنیم، پس خوب است
201
00:06:58,720 –> 00:07:00,000
که اکنون
202
00:07:00,000 –> 00:07:02,080
به همان اندازه دیوانهکننده بود. این است که ما باید
203
00:07:02,080 –> 00:07:04,160
از اینجا عبور کنیم و همه
204
00:07:04,160 –> 00:07:06,960
سناریوهای برنده بازی را انجام دهیم، بنابراین اگر به
205
00:07:06,960 –> 00:07:09,280
اینجا برگشتیم، بیایید با
206
00:07:09,280 –> 00:07:11,199
ضربدر شروع کنیم، بنابراین ما این یک
207
00:07:11,199 –> 00:07:13,599
ردیف را انجام دادیم حالا بیایید این ردیف و این
208
00:07:13,599 –> 00:07:15,360
ردیف را مستقیماً انجام دهیم. ما
209
00:07:15,360 –> 00:07:17,360
دو صلیب دیگر برای انجام داریم،
210
00:07:17,360 –> 00:07:19,120
بنابراین کاری که می خواهم انجام دهم این است که من فقط هستم
211
00:07:19,120 –> 00:07:22,160
میخواهم کل این مورد را کپی
212
00:07:22,160 –> 00:07:24,800
کنم و فقط دو بار دیگر آن را پیست میکنم،
213
00:07:24,800 –> 00:07:26,880
بنابراین اکنون وسط را میخواهیم
214
00:07:26,880 –> 00:07:30,240
که یکی دو سه چهار 5 و 6 است. بنابراین
215
00:07:30,240 –> 00:07:33,840
من میخواهم 4
216
00:07:34,160 –> 00:07:35,599
5
217
00:07:35,599 –> 00:07:36,479
و
218
00:07:36,479 –> 00:07:39,599
6 را اینجا قرار دهم تا ما می تواند آنها را ردیابی کند، بنابراین
219
00:07:39,599 –> 00:07:42,720
بیایید این کار را شروع کنیم، بنابراین اگر دکمه
220
00:07:42,720 –> 00:07:46,240
4 خالی نیست، اگر دکمه
221
00:07:46,240 –> 00:07:49,280
4 برابر با دکمه 5 است
222
00:07:49,280 –> 00:07:50,800
و اگر
223
00:07:50,800 –> 00:07:54,800
دکمه 5 برابر با دکمه 6
224
00:07:54,800 –> 00:07:57,280
باشد، می خواهیم کاری را انجام دهیم، بنابراین
225
00:07:57,280 –> 00:07:59,280
اکنون آخرین مورد یکی دو سه چهار پنج شش
226
00:07:59,280 –> 00:08:01,919
هفت هشت نه نه ردیف
227
00:08:01,919 –> 00:08:04,879
آخر دکمه پایین است، پس بیایید هفت هشت و نه را برویم،
228
00:08:04,879 –> 00:08:06,000
229
00:08:06,000 –> 00:08:08,080
230
00:08:08,080 –> 00:08:09,280
بنابراین
231
00:08:09,280 –> 00:08:11,440
در اینجا دوباره با هفت شروع می کنیم، اگر هفت
232
00: