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