در این مطلب، ویدئو یادگیری پایتون با ساخت پنج بازی – دوره کامل با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 6:43:42
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,179 –> 00:00:05,160
به این دوره آموزش ساخت پایتون از طریق
بازی خوش آمدید. در این دوره، ما
2
00:00:05,160 –> 00:00:12,710
پنج آموزش عالی برنامه نویسی بازی، همه در پایتون را گردآوری
کرد. برای کمک به یادگیری پایتون از طریق
3
00:00:12,710 –> 00:00:20,970
با ایجاد بازی، نحوه ایجاد Pong snake Connect برای
تتریس را یاد خواهید گرفت. و در نهایت،
4
00:00:20,970 –> 00:00:26,800
یک بازی چند نفره ساده این دوره همه چیز در
مورد یادگیری از طریق انجام است. اگر بخواهید
5
00:00:26,800 –> 00:00:31,030
برای یادگیری مستقیم نحو پایتون، دوره های
آموزشی بزرگ پایتون ما را بررسی کنید
6
00:00:31,030 –> 00:00:35,890
یک پیوند در اینجا یا پایین در توضیحات. برخی از
مردم تنها با پریدن بهترین چیز را یاد می گیرند
7
00:00:35,890 –> 00:00:40,329
در مورد پروژه ها، به خصوص افرادی که ممکن
است قبلاً کمی تجربه داشته باشند
8
00:00:40,329 –> 00:00:46,140
با یک زبان برنامه نویسی دیگر اما تجربیات شما هرچه که باشد،
ممکن است بهترین یادگیری را فقط با آن انجام دهید
9
00:00:46,140 –> 00:00:52,059
با پرش به این پروژه های توسعه بازی، تعدادی از آموزش ها
از بازی PI استفاده می کنند، شما این کار را نمی کنید
10
00:00:52,059 –> 00:00:58,520
از قبل باید در مورد بازی pi بدانید. اما همیشه
می توانید دوره pygame ما را بررسی کنید
11
00:00:58,520 –> 00:01:02,129
پیوندهای همان بالا در توضیحات دوباره،
شما باید بتوانید آن را دنبال کنید،
12
00:01:02,129 –> 00:01:07,631
حتی اگر واقعاً آنقدر درباره pygame نمی دانید. بنابراین
در صورت تمایل توضیحات را بررسی کنید
13
00:01:07,631 –> 00:01:12,560
لینک به کد یا اگر فقط می خواهید اطلاعات
بیشتری در مورد افرادی که
14
00:01:12,560 –> 00:01:18,970
این آموزش های عالی را ایجاد کرد. پس بیایید مستقیماً
وارد آن شویم.
15
00:01:18,970 –> 00:01:24,954
بیایید نگاهی به آنچه که امروز قرار است بسازیم
بیندازیم. بازی کلاسیک پنگ. پس گرفتیم
16
00:01:24,954 –> 00:01:33,410
یک پارو در سمت راست، یک پارو در سمت
چپ گرفتیم. و ما یک توپ در مرکز داریم.
17
00:01:33,410 –> 00:01:38,060
خوب، توپ از روی صفحه می رود.
18
00:01:38,060 –> 00:01:41,560
و
19
00:01:41,560 –> 00:01:46,311
بازیکن مقابل یک امتیاز می گیرد و توپ ادامه می
یابد. خوب، پس این چیزی است که ما می خواهیم
20
00:01:46,311 –> 00:01:51,410
روی کار باشد پس بیایید شروع کنیم. امروز، ما این
کار را با استفاده از پایتون انجام خواهیم داد.
21
00:01:51,410 –> 00:01:55,350
البته این در پایتون سه نوشته شده است.
اما باید در پایتون دو نیز کار کند،
22
00:01:55,350 –> 00:02:01,380
فکر نمیکنم در این آموزش خاص، کد سهگانه
پایتون وجود داشته باشد. پس ما هستیم
23
00:02:01,380 –> 00:02:06,450
قرار است این را در بالای ماژول لاک پشت
بسازیم. در ماژول لاک پشت، کمی خوب بود
24
00:02:06,450 –> 00:02:10,649
ماژول، به شما امکان می دهد برخی از گرافیک های اولیه
را انجام دهید، برای شروع بازی ها عالی است،
25
00:02:10,649 –> 00:02:16,450
بسیاری از آموزش ها از pygame استفاده می کنند که شگفت
انگیز است. این دارای بسیاری از ویژگی های عالی است.
26
00:02:16,450 –> 00:02:20,669
اما برای مبتدیان، این بسیار ساده تر است. و
آن را ساخته شده است، شما لازم نیست نصب کنید
27
00:02:20,669 –> 00:02:27,590
آن را مانند شما با pygame انجام می دهید. بنابراین اکنون
که لاک پشتم ماژول را وارد کرده است، نیاز دارم
28
00:02:27,590 –> 00:02:32,370
برای ایجاد یک پنجره بنابراین من آن را w n می نامم،
شما باد w i n دارید یا هر کجا که بخواهید
29
00:02:32,370 –> 00:02:40,180
برای تماس با آن و اما من از w n استفاده می کنم و
صفحه لاک پشت است، توجه کنید S بزرگ شده است،
30
00:02:40,180 –> 00:02:46,620
خیلی مهم. و من به آن عنوان خواهم داد.
و من می خواهم آن شعر را صدا کنم
31
00:02:46,620 –> 00:02:53,400
در Tokyo edtech. این دسته توییتر من است. و در صورت
تمایل نظراتی را که من می گیرم بنویسید
32
00:02:53,400 –> 00:02:58,699
مراقب چیزها باشید و اگر مشکلی دارید به من
اطلاع دهید. و من می خواهم تغییر کنم
33
00:02:58,699 –> 00:03:04,281
رنگ پس زمینه پنجره به رنگ سیاه کلاسیک
پنگ. و میخوام سایزشو عوض کنم
34
00:03:04,281 –> 00:03:12,549
از پنجره و عرض آن 800 و ارتفاع
آن 600 پیکسل باشد.
35
00:03:12,549 –> 00:03:18,019
من قصد دارم کاری به نام ردیاب باد انجام
دهم. و توضیح این موضوع کمی سخت است.
36
00:03:18,019 –> 00:03:23,529
اما اساساً کاری که انجام می دهد این است که در واقع پنجره
را از به روز رسانی متوقف می کند. و بنابراین ما
37
00:03:23,529 –> 00:03:28,260
باید به صورت دستی آن را به روز کنیم، آنچه به ما امکان می
دهد اساساً سرعت بازی های خود را کاملاً افزایش دهیم
38
00:03:28,260 –> 00:03:33,219
کمی اگر این کار را نمیکردیم، همه چیز بسیار کندتر
پیش میرفت. بنابراین هر بازی ملاقات می کند
39
00:03:33,219 –> 00:03:38,639
به چیزی به نام حلقه اصلی بازی نیاز دارد. و
این جایی است که اساسا تمام گوشت و سیب زمینی
40
00:03:38,639 –> 00:03:46,419
از بازی شما می رود به. بنابراین ما یک حلقه
واقعی درست می کنیم. چهار قرار نمی دهم
41
00:03:46,419 –> 00:03:51,409
فضاهای آنجا اوم، می توانید از برگه ها استفاده کنید، اما فاصله
ها توصیه می شود. اما هر چه استفاده می کنید، بسازید
42
00:03:51,409 –> 00:03:57,150
مطمئن باشید که سازگار هستید شما نمی توانید فاصله ها و تب
ها را ایجاد کنید، و سپس ما ویندوز را انجام می دهیم
43
00:03:57,150 –> 00:04:03,879
به روز رسانی. و کاری که انجام می دهد این است که هر بار
که حلقه اجرا می شود، صفحه را به روز می کند. باشه فقط
44
00:04:03,879 –> 00:04:07,680
یک نکته سریع این برنامه برای مبتدیان نوشته شده
است، بنابراین من واقعاً از شی استفاده نمی کنم
45
00:04:07,680 –> 00:04:12,119
برنامه نویسی گرا، من واقعاً از کلاس ها استفاده
نمی کنم، مگر اینکه به لاک پشت مربوط می شود
46
00:04:12,119 –> 00:04:19,699
مدول. این اساساً یک روش برنامهنویسی
واقعاً ساده و قدیمی است.
47
00:04:19,699 –> 00:04:26,539
پس بیایید آن را اجرا کنیم و ببینیم چگونه پیش می رود. و آنچه
باید داشته باشیم این است که عنوان خود را داشته باشیم،
48
00:04:26,539 –> 00:04:36,199
پس زمینه سیاه عرض آن 800 در 600 ارتفاع است.
00 در مرکز است. پس به علاوه 300 منهای 300
49
00:04:36,199 –> 00:04:41,400
به علاوه 400 منهای 400. این اعداد را به خاطر بسپارید
زیرا در برنامه بعدی ما مفید خواهند بود
50
00:04:41,400 –> 00:04:45,900
چند آموزش پس این همه برای این درس خاص است.
من فقط می خواهم شما را شروع کنم. ما
51
00:04:45,900 –> 00:04:51,050
به درس دوم بروید، دست و پا زدن خود را در سمت چپ، دست
و پا زدن در سمت راست و توپ خود را اضافه می کنیم
52
00:04:51,050 –> 00:04:56,650
در مرکز. در این قسمت از آموزش، ما می خواهیم
پاروهای خود را به صفحه اضافه کنیم
53
00:04:56,650 –> 00:05:02,590
و توپ را نیز به صفحه اضافه می کنیم. پس
بیایید با آن شروع کنیم. بنابراین
54
00:05:02,590 –> 00:05:08,759
اساساً آنچه ما در پونگ داریم این است که پت
داریم، من آن را پارویی a می نامم، ما پارو داریم
55
00:05:08,759 –> 00:05:16,129
ب. و ما یک توپ داریم. بنابراین این سه موردی
هستند که باید به صفحه اضافه کنیم. اکنون،
56
00:05:16,129 –> 00:05:22,401
همانطور که قبلاً اشاره کردم، در ویدیوی قبلی،
ما از ماژول لاک پشت استفاده می کنیم تا،
57
00:05:22,401 –> 00:05:26,030
گرافیک های خود را اضافه کنید و پنجره ها و مواردی
از این قبیل را باز کنید. خیلی خیلی راحته
58
00:05:26,030 –> 00:05:31,819
برای بازی های پایه عالی کار می کند، بسیاری از مردم از بازی
PI استفاده می کنند که عالی است. اما برای ساده
59
00:05:31,819 –> 00:05:36,500
بازیها، این احتمالاً راه سادهتری برای شروع
است. بنابراین همه چیز در بازی ما نیاز به یک
60
00:05:36,500 –> 00:05:41,541
نام، بنابراین من قصد دارم آن را paddle ng بسیار
اصلی بنامم. و در واقع یک خواهد بود
61
00:05:41,541 –> 00:05:48,090
لاک پشت، چیزی که به عنوان یک شی لاک پشت شناخته می شود. بنابراین
برای انجام این کار، لاک پشت نقطه لاک پشت سرمایه است.
62
00:05:48,090 –> 00:05:53,190
به بزرگی t کوچک توجه کنید، زیرا این
نام ماژول ما، T بزرگ است، زیرا
63
00:05:53,190 –> 00:05:57,939
این نام کلاس است. در حال حاضر، از آنجا که این آموزش
برای مبتدیان است، من قصد ندارم صحبت کنم
64
00:05:57,939 –> 00:06:03,810
در مورد کلاس ها، من به سبک شی گرا نمی
نویسم، فقط به صورت کاربردی می نویسم
65
00:06:03,810 –> 00:06:09,639
سبک. اگر چه برخی از اشیاء از نوع الگوها در
اینجا وجود دارد، شما خواهید دید. اما برای
66
00:06:09,639 –> 00:06:14,909
مبتدیان، فعلا نگران این چیزها نباشید. بنابراین آنچه
من می خواهم انجام دهم این است که یک پارو بزنم،
67
00:06:14,909 –> 00:06:21,240
باید سرعت رو تنظیم کنم حالا این سرعتی
نیست که پارو روی صفحه حرکت می کند.
68
00:06:21,240 –> 00:06:25,750
این سرعت انیمیشن است، این فقط چیزی است که
ما باید برای ماژول لاک پشت انجام دهیم.
69
00:06:25,750 –> 00:06:30,850
و کاری که این کار انجام می دهد این است که سرعت را روی
حداکثر سرعت ممکن تنظیم می کند، در غیر این صورت، چیزها
70
00:06:30,850 –> 00:06:34,909
واقعا کند خواهد بود می خواهیم به پاروی خود
شکلی بدهیم.
71
00:06:34,909 –> 00:06:42,509
و چند شکل ساخته شده وجود دارد. و در این مورد
از مربع استفاده می کنیم. باشه، هست
72
00:06:42,509 –> 00:06:49,770
دایره مربع، دایره، مثلث مربع، چند تای
دیگر، ما به پاروی خود a می دهیم
73
00:06:49,770 –> 00:06:58,749
رنگ و ما آن را سفید می نامیم، زیرا
پونگ به این شکل است. و ما می رویم
74
00:06:58,749 –> 00:07:09,600
اساساً کاری به نام pin up انجام دهید. لاک پشت ها، طبق تعریف،
کاری که انجام می دهند این است که یک را می کشند
75
00:07:09,600 –> 00:07:12,960
همانطور که آنها در حال حرکت هستند، ما نیازی به کشیدن خطوط
نداریم، زیرا این چیزی نیست که این برنامه دارد
76
00:07:12,960 –> 00:07:22,819
میکند. بنابراین ما حیوان خانگی را انجام می دهیم، و من می خواهم
که دست و پا زدن من از منهای 350 شروع شود. این یک مختصات X است.
77
00:07:22,819 –> 00:07:28,881
و صفر و به صورت عمودی در مرکز صفحه نمایش. بنابراین
در بازی ما، 00 در وسط است، منهای
78
00:07:28,881 –> 00:07:37,259
350 بعلاوه 350. بنابراین من میروم و آن را اجرا میکنم
و میبینم که تا اینجا چگونه به نظر میرسد. باشه،
79
00:07:37,259 –> 00:07:44,159
بنابراین این الگوی سمت چپ ما است. حالا، می دانید،
شما Pong را بازی کرده اید، دمو را از آن دیده اید
80
00:07:44,159 –> 00:07:52,319
اولین ویدیو واضح است که اندازه مناسبی ندارد. بنابراین آنچه
ما می توانیم در برنامه خود انجام دهیم این است
81
00:07:52,319 –> 00:07:58,270
این. اکنون فقط برای اطلاع شما، به طور
پیش فرض، آن شکل 20 پیکسل در 20 است
82
00:07:58,270 –> 00:08:03,309
پیکسل، بنابراین عرض آن 20 پیکسل در ارتفاع 20 پیکسل است. بنابراین
کاری که می خواهیم انجام دهیم این است که می رویم
83
00:08:03,309 –> 00:08:10,490
برای کشش شکل بنابراین ما از روش اندازه شکل استفاده
می کنیم، می بینید که من از ویژوال استفاده می کنم
84
00:08:10,490 –> 00:08:14,909
کدهای استودیویی، برنامه خیلی خوبیه،
مک نمیخوای و بهت میگه میدونی چیه
85
00:08:14,909 –> 00:08:21,110
شما می توانید کشش را با طول کشش و غیره و غیره انجام دهید. بنابراین
کاری که من می خواهم انجام دهم این است که می خواهم کشش کنم
86
00:08:21,110 –> 00:08:34,529
عرض پنج ست پنج برابر 20 باشد. بنابراین
قد آن 100 می شود. و سپس در 20،
87
00:08:34,529 –> 00:08:40,380
پهن، و اندام کششی یکی از مواردی خواهد بود که ما
آن را در حالت پیش فرض نگه می داریم. پس بیایید
88
00:08:40,380 –> 00:08:49,139
آن را ذخیره کرده و اجرا کنید. خوب، پس می بینید که
اکنون ما یک پارو در اینجا داریم، با عرض 20 پیکسل
89
00:08:49,139 –> 00:08:57,160
با 20 پیکسل ارتفاع باشه الان پس این دست و پا زدن است.
الان یه جورایی آدم تنبلی هستم پس من فقط می روم
90
00:08:57,160 –> 00:09:02,860
برای کپی کردن این بنابراین آنچه که من همیشه توصیه
می کنم اگر چیزی مشابه است، سبک های مشابه مشابه هستند،
91
00:09:02,860 –> 00:09:09,130
می دانید، عملکردها، می دانید، یک بار آن را به درستی کار
کنید و آن را کپی کنید، جایگذاری کنید و فقط بسازید
92
00:09:09,130 –> 00:09:14,320
تغییرات لازم بنابراین اکنون که این کار را انجام
دادیم، فقط باید آن را تغییر دهیم. بنابراین
93
00:09:14,320 –> 00:09:17,959
اگر نام های ثابتی داشته باشید، واقعا به برنامه
نویسی شما کمک می کند. و در این مورد ما
94
00:09:17,959 –> 00:09:23,350
می خواهید آن را در سمت راست صفحه نمایش قرار دهید. پس
این می شود به اضافه 350. بنابراین من می خواهم
95
00:09:23,350 –> 00:09:29,209
آن را اجرا کنید و تست کنید و آزمایش برنامه شما
بسیار بسیار مهم است. در هر مرحله، الف
96
00:09:29,209 –> 00:09:33,829
بسیاری از مبتدیان من نمی دانم چرا آنها اصرار دارند
که کل برنامه را تایپ کنند و سپس امتحان کنند
97
00:09:33,829 –> 00:09:37,360
آن را تست کنید و هرگز نخواهید توانست بفهمید
مشکلات کجاست، به خصوص به عنوان
98
00:09:37,360 –> 00:09:42,800
یک مبتدی مگر اینکه این کار را گام به گام به این صورت انجام دهید. بنابراین
ما دست و پا زدن سمت چپ خود را گرفتیم، ما خودمان را گرفتیم
99
00:09:42,800 –> 00:09:48,459
دست و پا زدن سمت راست، بنابراین من آن را پارویی گفته شده یک
دست و پا زدن B می نامم. و سپس آخرین چیزی که نیاز داریم
100
00:09:48,459 –> 00:09:53,089
توپ ما خواهد شد بنابراین من فقط ادامه می دهم
و این را کپی می کنم زیرا اساساً اینطور است
101
00:09:53,089 –> 00:09:59,760
همان چیز نیازی به کشش ندارم من می خواهم
آن را در اندازه اصلی نگه دارم و من
102
00:09:59,760 –> 00:10:04,890
می خواهم از وسط صفحه شروع کنم و به
جای دست و پا زدن به آن توپ می گویم.
103
00:10:04,890 –> 00:10:11,110
بنابراین یک بار می بینید، اگر این کار را مانند این روش
انجام دهید، اگر همه چیز را درست کار کنید، وجود دارد
104
00:10:11,110 –> 00:10:15,440
بدون خطایی و شما آن را تست کردید، فقط کپی و پیست می
کنید، این واقعا سرعت برنامه نویسی شما را افزایش می دهد.
105
00:10:15,440 –> 00:10:22,100
بنابراین من می خواهم آن را یک بار دیگر اجرا کنم. خوب،
می بینید که ما دست و پا چپ خود را داریم، دست و پا زدن
106
00:10:22,100 –> 00:10:26,680
a، دست و پا زدن سمت راست ما، دست و پا زدن B، و ما
توپ خود را داریم که از مرکز شروع می شود،
107
00:10:26,680 –> 00:10:31,440
بنابراین ما شروع خوبی داریم. خوب، پس ما پنجره
حوضمان را داریم، دست و پا زدنمان را داریم
108
00:10:31,440 –> 00:10:35,820
a در سمت چپ، دست و پا زدن B، در سمت راست، ما توپ خود
را در وسط قرار داده ایم. بنابراین در این درس،
109
00:10:35,820 –> 00:10:41,120
ما یاد خواهیم گرفت که چگونه پاروها را با استفاده از
صفحه کلید حرکت دهیم. خوب، پس آنچه ما نیاز داریم
110
00:10:41,120 –> 00:10:48,500
برای انجام این است که اساسا، ما قصد داریم چند توابع
ایجاد کنیم، بسیار خوب. و اگر تا به حال نکرده اید
111
00:10:48,500 –> 00:10:56,880
توابع استفاده شده قبل از آن، یک تابع
اساساً نوعی از برنامه است که یک
112
00:10:56,880 –> 00:11:01,300
چیزی که برای آن تعریف شده است. بنابراین. بنابراین
در این حالت می خواهیم paddle a را حرکت دهیم
113
00:11:01,300 –> 00:11:08,259
بالا، ما می خواهیم پارویی a را به سمت پایین حرکت دهیم، وقتی B را به سمت پایین
حرکت می دهیم، پارو B را به سمت بالا حرکت می دهیم. بنابراین برای استفاده
114
00:11:08,259 –> 00:11:12,230
توابع، ابتدا باید تابع خود را تعریف کنید. و من
این اولین تابع را فراخوانی می کنم
115
00:11:12,230 –> 00:11:13,389
دست و پا زدن به بالا
116
00:11:13,389 –> 00:11:19,959
اگر به خاطر داشته باشید، در آخرین ویدیو، در مورد انجام
یک عملکرد در یک زمان یا یک بار صحبت کردیم
117
00:11:19,959 –> 00:11:24,339
تکه تکه کنید، آن را به خوبی کار کنید، و سپس می
توانید کپی کنید و فقط موارد لازم را بسازید
118
00:11:24,339 –> 00:11:31,370
تغییر می کند. بنابراین این کاری است که ما اینجا انجام خواهیم
داد. باشه پس پارو بزن بالا بنابراین برای حرکت دادن پارو،
119
00:11:31,370 –> 00:11:36,370
کاری که باید انجام دهم این است که باید مختصات y فعلی را بدانم. بنابراین
کاری که من می خواهم انجام دهم این است که هستم
120
00:11:36,370 –> 00:11:44,339
می خواهم بگویم y برابر است با دست و پا زدن، یک نقطه y هسته.
باشه؟ حالا این قسمت اینجا، پارو A نام آن است
121
00:11:44,339 –> 00:11:52,130
شیئی که در اینجا ایجاد کردیم، آن را paddle
a می نامیم. و روش dot y core از لاک پشت است
122
00:11:52,130 –> 00:11:56,690
مدول. بسیار خوب، کاری که انجام می دهد این است که مختصات
y را برمی گرداند. و بنابراین ما فقط اختصاص می دهیم
123
00:11:56,690 –> 00:12:02,920
آن مقدار به متغیری به نام y که منطقی است. خوب،
بنابراین ما تابع را تعریف کرده ایم
124
00:12:02,920 –> 00:12:09,320
با استفاده از کلمه کلیدی def، متوجه می شوید که
ما یک تب داریم، حدس می زنم، در این مورد، whammies
125
00:12:09,320 –> 00:12:14,220
فضا، خواهیم دید که ممکن است یک خطا در آنجا دریافت کند.
و اگر این کار را بکنیم یک ثانیه توضیح خواهم داد. و
126
00:12:14,220 –> 00:12:19,350
قرار است طوری تنظیم شود که به طور خودکار فاصله ها را
تغییر دهد، اما فکر می کنم این تنظیم نشده است
127
00:12:19,350 –> 00:12:22,730
مسیر. بنابراین من آن را به همان شکلی که هست می گذارم. پس
کاری که میخواهم انجام دهم این است که ادامه دهم
128
00:12:22,730 –> 00:12:32,290
صفحه نمایش، آن را به این سمت، بنابراین بالا. پس چرا با بالا رفتن
افزایش می یابد، با پایین آمدن کاهش می یابد. بنابراین
129
00:12:32,290 –> 00:12:38,670
ما قصد داریم انجام دهیم این است که من 20 مورد را اضافه
می کنم که چرا شما این کار را انجام می دهید. تو بگو y
130
00:12:38,670 –> 00:12:45,430
به علاوه برابر با 20 است. بنابراین 20 پیکسل به مختصات
y اضافه می شود. خوب، پس اکنون توجه کنید،
131
00:12:45,430 –> 00:12:53,779
ما فقط y ها را محاسبه کرده ایم، سپس کاری که باید
انجام دهیم این است که یک مجموعه y را به سمت
132
00:12:53,779 –> 00:13:04,089
وای جدید. بنابراین تا زمانی که تابع را فراخوانی نکنیم، داشتن
یک تابع عملاً کاری انجام نمی دهد. بنابراین
133
00:13:04,089 –> 00:13:08,530
تابع به تازگی تعریف شده است، اما ما از آن استفاده نمی
کنیم. بنابراین چه کاری انجام می دهید شما هستید
134
00:13:08,530 –> 00:13:16,920
کاری به نام صحافی صفحه کلید انجام دهید. خوب، پس
در ماژول لاک پشت، باید w n را انجام دهیم.
135
00:13:16,920 –> 00:13:25,381
پس این پنجره ما بود. و گوش کنید، این به آن می گوید
که برای ورودی صفحه کلید گوش کند. و بود
136
00:13:25,381 –> 00:13:34,139
قرار است از روش فشار دادن کلید استفاده کنید. خوب، و تماشا
کن که من اینجا چه کار می کنم، پارو بزن. دبلیو
137
00:13:34,139 –> 00:13:43,600
خوب، اجازه دهید توضیح دهم که چه کاری انجام می دهد. بنابراین،
این خط در اینجا، به برنامه می گوید که گوش کند
138
00:13:43,600 –> 00:13:50,300
برای ورودی صفحه کلید این خط در اینجا می گوید، وقتی کاربر
W را فشار می دهد، متوجه شوید که یک حروف کوچک است
139
00:13:50,300 –> 00:13:57,209
W. بنابراین اگر caps lock را روشن کنید، کار نخواهد کرد. تابع را
فراخوانی کنید، دست و پا زدن به بالا، اینجا ما است
140
00:13:57,209 –> 00:14:05,430
تابع، a paddle a up، paddle a up، می گوید مختصات
y را بگیر، 20 را به مختصات y اضافه کن،
141
00:14:05,430 –> 00:14:12,060
و سپس در واقع y پارو را روی مختصات y
جدید قرار دهید. باشه پس بیا تست کنیم
142
00:14:12,060 –> 00:14:22,180
که و ببینید چه اتفاقی می افتد. خوب، پس من کلید W
را می زنم. خوب، پس می توانید ببینید چگونه
143
00:14:22,180 –> 00:14:28,610
به سمت بالا حرکت می کند. خوب، ما در واقع از صفحه
خارج شدیم. پس حالا که به آن رسیدیم
144
00:14:28,610 –> 00:14:39,720
کار می کنم، خوب، کاری که می توانم انجام دهم این است که می
توانم آن را کپی کنم و این را به پارو زدن تغییر می دهم
145
00:14:39,720 –> 00:14:47,920
پایین. بنابراین به جای اضافه کردن 20، من 20 را
کم می کنم. و سپس باید یک اتصال کلید انجام دهم.
146
00:14:47,920 –> 00:14:54,660
برای آن نیز. بنابراین من آن را کپی و پیست
می کنم. بنابراین آن را پارو زدن به پایین
147
00:14:54,660 –> 00:14:58,940
و در این مورد، من از کلید AES استفاده خواهم کرد. شما می توانید
از هر کلیدی که می خواهید استفاده کنید، اما من فقط
148
00:14:58,940 –> 00:15:04,930
آنهایی را که معمولاً swa SD در سمت چپ و کلیدهای جهتنما
در سمت راست انتخاب میکنند. پس دوباره،
149
00:15:04,930 –> 00:15:13,579
من یه کاری کردم عوضش کردم الان میرم
تستش کنم. باشه، خب، باشه،
150
00:15:13,579 –> 00:15:20,290
بنابراین همه چیز دقیقاً همانطور که انتظار می رود کار می
کند. پس کاری که میخواهم بکنم این است که اکنون دارم
151
00:15:20,290 –> 00:15:29,810
هر دوی آنهایی که کار میکنند، من آن را
کپی میکنم، و پارویی B را انجام میدهم.
152
00:15:29,810 –> 00:15:35,920
بودن. بنابراین اگر نامگذاری خود را ثابت نگه دارید،
انجام کاری که من هستم را بسیار بسیار آسان می کند
153
00:15:35,920 –> 00:15:45,769
انجام دادن، که تنبلی است. و فقط از کپی و پیست استفاده
کنید. و سپس اینجا. اکنون برای پارو B،
154
00:15:45,769 –> 00:15:51,740
من قصد دارم از کلیدهای جهت دار استفاده
کنم. و سپس برای فلش بالا، کمی متفاوت است
155
00:15:51,740 –> 00:15:58,450
از این حروف بزرگ استفاده کنید و پایین فلش رو به پایین
است. بنابراین دوباره، من چند تغییر ایجاد کردم،
156
00:15:58,450 –> 00:16:00,750
من قصد دارم کدم را تست کنم.
157
00:16:00,750 –> 00:16:09,079
خوب، پس w در سمت چپ، بالا و پایین در سمت راست است.
و voila، شما آن را دارید، در حال حرکت هستید
158
00:16:09,079 –> 00:16:14,850
توپ. این واقعاً نوعی گوشت
و بخش مرکزی برنامه است.
159
00:16:14,850 –> 00:16:20,209
اینجاست که ما در واقع توپ را برای حرکت میدهیم.
بنابراین ما باید حرکت کنیم، ما باید حرکت کنیم
160
00:16:20,209 –> 00:16:24,870
از بالا و پایین پرش کنید. و ما باید
آن را بدست آوریم تا از بین برود
161
00:16:24,870 –> 00:16:28,519
دست و پا زدن و بنابراین من به شما نشان خواهم داد
که چگونه کار می کند. چون ما خودمان را داریم
162
00:16:28,519 –> 00:16:35,040
پاروها می توانند حرکت کنند. و اما توپ هنوز این کار
را نکرده است. پس بیایید با آن شروع کنیم. و همینطور
163
00:16:35,040 –> 00:16:44,050
کاری که من می خواهم با توپ انجام دهم این است
که می خواهم حرکت توپ را به دو قسمت تقسیم کنم
164
00:16:44,050 –> 00:16:50,949
یک حرکت X و یک حرکت y. بنابراین ما به آن زنگ می
زنیم که من می خواهم بگویم نقطه توپ d x
165
00:16:50,949 –> 00:16:57,089
d به معنای دلتا یا تغییر است. شما حتی می توانید آن را
XP یا هر چیزی که می خواهید بنامید، اما dx کار می کند
166
00:16:57,089 –> 00:17:03,380
خیلی خیلی خوب حالا روی کامپیوترم متوجه شدم
که دو شماره دو خیلی خیلی خوب کار می کند،
167
00:17:03,380 –> 00:17:08,380
کامپیوتر من در خانه، در واقع، مانند 0.1
بود، خیلی خیلی سریعتر است، نمی دانم
168
00:17:08,380 –> 00:17:13,619
کاملا می دانم چرا بنابراین ممکن است مجبور شوید با اعداد
اینجا بازی کنید تا آن را به جایی که دارید برسانید
169
00:17:13,619 –> 00:17:23,039
احساس کنید بازی باید باشد. بنابراین dx و dy y برابر
است با دو. بنابراین معنای آن هر بار است
170
00:17:23,040 –> 00:17:28,640
توپ ما حرکت می کند، دو پیکسل حرکت می کند.
بنابراین از آنجایی که x مثبت است، به سمت
171
00:17:28,640 –> 00:17:32,800
حق و از آنجایی که y مثبت است، به سمت بالا
حرکت می کند، بنابراین به نوعی حرکت می کند
172
00:17:32,800 –> 00:17:38,670
بالا و مورب خوب، برای اینکه واقعاً این
اتفاق بیفتد، باید به داخل آن برویم
173
00:17:38,670 –> 00:17:48,660
حلقه اصلی بازی خوب، و در اینجا، می خواهم بگویم توپ را حرکت
دهید. بنابراین آنچه ما باید انجام دهیم این است
174
00:17:48,660 –> 00:17:57,230
مجموعه نقطه توپ x. و آنچه ما می خواهیم مختصات x
فعلی است. بنابراین من اساساً یک نوع هستم
175
00:17:57,230 –> 00:18:06,220
ترکیب کارهایی که در اینجا انجام دادم در یک خط به
اضافه ball.dx. خوب، پس توپ از ساعت شروع می شود
176
00:18:06,220 –> 00:18:13,490
00. پس 0x. بنابراین اولین بار از طریق
این حلقه، به x برابر حلقه می رود
177
00:18:13,490 –> 00:18:18,880
قرار است به دو برسد، بنابراین بسته به سرعت رایانه
شما، می تواند از صفحه نمایش خارج شود یا
178
00:18:18,880 –> 00:18:22,220
می تواند، می تواند کمی کندتر پیش رود. بنابراین
دوباره، شما باید با آن a بازی کنید
179
00:18:22,220 –> 00:18:30,140
کمی به طوری که وقتی می گویم توپ نقطه مجموعه y و
اساسا همان چیزی است که می توانستم داشته باشم
180
00:18:30,140 –> 00:18:39,780
کپی و پیست کردم، اما باید انجام می دادم و توپ
نقطه d y. بنابراین من می خواهم بگویم که و
181
00:18:39,780 –> 00:18:44,560
دارم تست میکنم ببینم چی میشه در اینجا چند خط
قرمز می بینید. من فکر می کنم وجود دارد
182
00:18:44,560 –> 00:18:49,370
شاید ما مشکل داریم آره بنابراین من آن را اجرا
می کنم و توضیح می دهم که چرا کار نمی کند.
183
00:18:49,370 –> 00:18:53,770
خوب، پس اینجا را ببینید، من یک خطا دارم.
و این دوباره چیزی است، مبتدیان، من
184
00:18:53,770 –> 00:18:59,430
نمی دانم چرا نمی خواهم پیام های خطا را بخوانم. پیام
های خطا اساساً به شما می گویند که چیست
185
00:18:59,430 –> 00:19:05,850
اشتباه. CCR می گوید خطای تب، استفاده ناسازگار از
زبانه ها و فاصله ها. خوب، پس من به این اشاره کردم
186
00:19:05,850 –> 00:19:12,170
در ویدیوی قبلی بنابراین در اینجا، من از چهار فاصله استفاده می کنم.
اما در اینجا، آن یک برگه است. باشه باید استفاده کنی
187
00:19:12,170 –> 00:19:15,700
هر بار همان چیز بنابراین من می خواهم با
چهار فاصله، که در واقع ترجیح داده شده است
188
00:19:15,700 –> 00:19:20,830
روش. اکنون می توانم ویرایشگر خود را تنظیم کنم. بنابراین
وقتی یک تب را می زنم، چهار فاصله را به طور خودکار تغییر می دهد.
189
00:19:20,830 –> 00:19:25,690
اما من این کار را یک بار دیگر انجام خواهم داد. هی،
پس من آن را اجرا می کنم. و امیدوارم ببینیم
190
00:19:25,690 –> 00:19:34,220
توپ حرکت می کند بسیار خوب، به علاوه، به علاوه و درست
خارج از صفحه نمایش. بسیار خوب، چیزی که ما هستیم
191
00:19:34,220 –> 00:19:39,100
انتظار می رود. خوب، پس همین است، خوب است. بنابراین اکنون آنچه
باید انجام دهیم این است که باید برخی از آنها را انجام دهیم
192
00:19:39,100 –> 00:19:47,420
بازرسی مرزی پس وقتی توپ به مرز برخورد می کند، می
خواهیم چه اتفاقی بیفتد؟ خوب، پس از آن زمان
193
00:19:47,420 –> 00:19:51,870
به سمت راست بالا می رود، ابتدا حاشیه بالایی را انجام
می دهیم. هنگامی که مرز بالایی را دریافت کردید
194
00:19:51,870 –> 00:19:56,920
کار می کند، پس به راحتی می توان به نتیجه ای که در حال کار هستیم دست
یافت. پس تنها کاری که باید انجام دهیم این است که خودمان باشیم
195
00:19:56,920 –> 00:20:03,290
باید توپ ها را با مختصات y مقایسه کنیم خوب،
پس وقتی به یک نقطه خاص رسید، می خواهیم
196
00:20:03,290 –> 00:20:09,160
آن را به پرش. بنابراین اگر قبلاً در برنامه به
خاطر بیاورید، ارتفاع پنجره را تنظیم می کنیم
197
00:20:09,160 –> 00:20:18,400
600 باشد. پس این بدان معناست که مختصات
y بالا به اضافه 300 و پایین
198
00:20:18,400 –> 00:20:27,680
منهای 300 است. بسیار خوب، اما خود توپ 2020 است،
با 20 عرض بالا. خوب، پس چه خواهیم کرد
199
00:20:27,680 –> 00:20:33,490
انجام دهید، سپس این تفاوت به چه صورت است، بنابراین
ما میگوییم که اگر توپ نقطهای در هسته است،
200
00:20:33,490 –> 00:20:50,260
بنابراین اگر مختصات y فعلی بزرگتر از 290
باشد، و من باید از فاصله استفاده کنم،
201
00:20:50,260 –> 00:20:59,530
به من گفتن اگر بزرگتر از 290 است، کاری که انجام می
دهیم این است که آن را به 90 برگردانیم.
202
00:20:59,530 –> 00:21:06,920
این از انواع خاصی از مشکلات جلوگیری می کند. و سپس کاری
که باید انجام دهیم این است که بگوییم نقطه توپ
203
00:21:06,920 –> 00:21:20,630
d y برابر با یک منفی است. و کاری که انجام می دهد این
است که جهت را معکوس می کند. باشه؟ بنابراین
204
00:21:20,630 –> 00:21:28,940
اگر d Y دو باشد، پس d y منهای منفی یک منفی
دو است. خوب، و این باید معکوس شود
205
00:21:28,940 –> 00:21:38,850
جهت توپ بیایید آن را اجرا کنیم. بیایید آن را
تماشا کنیم و ما خوب هستیم. دقیقا همینطوره
206
00:21:38,850 –> 00:21:47,210
آنچه می خواستیم اتفاق بیفتد خوب، حالا، چون
این کار می کند، درست همانطور که ما می خواهیم
207
00:21:47,210 –> 00:21:54,650
آن را کپی و پیست می کنم و فقط تغییراتی ایجاد
می کنم. بنابراین از سوی دیگر، آن است
208
00:21:54,650 –> 00:22:02,150
کمتر از منفی 290. ما آن را روی منفی 290 قرار دادیم. و
این همان است، پس بیایید آن را آزمایش کنیم.
209
00:22:02,150 –> 00:22:09,300
برای آزمایش اینکه در حال حاضر باید توپ
را با DUI منفی شروع کنیم. و دوباره،
210
00:22:09,300 –> 00:22:15,700
توجه کنید که چگونه آزمایش تغییر انجام می دهم و آزمایش
تغییر را انجام می دهم. باشه کار میکنه یعنی
211
00:22:15,700 –> 00:22:20,960
در مورد آنچه ما آن را کمی از صفحه نمایش می خواستیم،
خرس. اما ما آن را رها می کنیم. پس همین است
212
00:22:20,960 –> 00:22:28,200
مرزها این مرزهای بالا و پایین است. حالا، کار
بعدی که باید انجام دهیم سمت چپ است
213
00:22:28,200 –> 00:22:38,390
و حاشیه سمت راست بنابراین این جایی است که کار دشوارتر
یا چیز دیگری نمی شود، اما باید به آن بپردازید
214
00:22:38,390 –> 00:22:41,620
به این فکر کنیم که می خواهیم چه اتفاقی بیفتد.
بنابراین در این مورد، زیرا ما به سمت چپ و
215
00:22:41,620 –> 00:22:48,242
درست. خوب، ما به مختصات y نگاه نمی کنیم، ما
به صادرات نگاه می کنیم. و حالا چی
216
00:22:48,242 –> 00:22:57,030
ما می خواهیم انجام دهیم این است که اگر مختصات x، اساساً
از سمت راست خارج شود، بنابراین اگر به یاد داشته باشید،
217
00:22:57,030 –> 00:23:02,990
عرض آن 800 است. این یعنی به اضافه 400
در سمت چپ منهای 400. در سمت راست.
218
00:23:02,990 –> 00:23:09,880
بنابراین بیایید بگوییم اگر بزرگتر از آن باشد، می گوییم
290. یا متأسفیم، 390. این اساساً به ما می گوید،
219
00:23:09,880 –> 00:23:22,140
از کنار دست و پا رد شده و از صفحه خارج شده
است. باشه. خوب، پس اگر اینطور است،
220
00:23:22,140 –> 00:23:32,510
در اصل، ما توپ را به مرکز، صفر برمیگردانیم.
و سپس کاری که می توانم انجام دهم این است
221
00:23:32,510 –> 00:23:43,060
من می توانم، شاید ball.dx ممکن است آن را معکوس
کند. خوب، پس بیایید نگاهی به آن بیندازیم.
222
00:23:43,060 –> 00:23:48,230
باز هم دارم تست می کنم تا مطمئن شوم که کار می کند.
و اگر این کار را کرد، می توانم کپی و پیست کنم
223
00:23:48,230 –> 00:23:53,860
و طرف دیگر را انجام دهید.
224
00:23:53,860 –> 00:24:05,730
خوب، پس با خطا مواجه شدیم. خوب، پس می گوید که ما
چیزهای عجیب و غریب زیادی در اینجا داریم. بود
225
00:24:05,730 –> 00:24:07,550
یک واقعا طولانی و
226
00:24:07,550 –> 00:24:18,930
اینجا را بگویید، اگر دیدید خط 87 را مینویسد. بنابراین
این خطی است که فکر میکند خطا است. و
227
00:24:18,930 –> 00:24:22,780
چیزهای عجیب و غریب زیادی وجود دارد اما اساساً
چیزی که فراموش کردم انجام دهم کاما صفر بود
228
00:24:22,780 –> 00:24:35,580
صفر پس بیایید دوباره آن را آزمایش کنیم. بنابراین
نباید از صفحه خارج شود و به مرکز برگردد
229
00:24:35,580 –> 00:24:45,680
و جهت معکوس خوب، پس ما می دانیم که کار می کند.
پس بیایید آن را کپی کنیم
230
00:24:45,680 –> 00:24:49,700
و آن را بچسبانید. و دوباره، ما فقط آن را
معکوس می کنیم. پس اگر کمتر از منفی باشد
231
00:24:49,700 –> 00:25:00,630
390، و این تمام کاری است که باید انجام دهیم. بنابراین، دوباره،
بیایید آن را آزمایش کنیم. انشالله که برمیگرده
232
00:25:00,630 –> 00:25:12,310
خوب، پس اساساً این همان چیزی است که ما می خواستیم
اتفاق بیفتد. باشه. بنابراین در این
233
00:25:12,310 –> 00:25:16,800
درس، ما یاد خواهیم گرفت که چگونه توپ را با
پاروها برخورد کنیم. پس بیایید ببینیم
234
00:25:16,800 –> 00:25:21,630
چیزی که تا الان داریم بنابراین ما توپمان
را گرفته ایم، از بالای صفحه می پرد، و
235
00:25:21,630 –> 00:25:24,890
در لبه صفحه است، به مرکز برمی گردد،
چیزی که ما می خواهیم. پس چی
236
00:25:24,890 –> 00:25:29,920
ما باید انجام دهیم این است که باید آن را طوری
بسازیم که وقتی پاروها را لمس کرد، معکوس شود.
237
00:25:29,920 –> 00:25:34,200
و اینکه ما چگونه این کار را انجام خواهیم داد اساساً، کاری که می
خواهیم انجام دهیم این است که اینها را با هم مقایسه می کنیم
238
00:25:34,200 –> 00:25:41,700
مختصات x و y پارو و توپ. بنابراین اگر به
کد خود نگاه کنیم، paddle را قرار می دهیم
239
00:25:41,700 –> 00:25:51,090
B در 350. بنابراین مختصات x مرکز 350 است.
اگر به خاطر بیاورید، مرکز، متأسفم،
240
00:25:51,090 –> 00:25:58,870
عرض آن 20 پیکسل و ارتفاع آن 100 پیکسل است. بنابراین
ما باید اساسا نگاه کنیم، باید بسازیم
241
00:25:58,870 –> 00:26:05,210
مطمئن باشید که توپ اساساً بین اینجا و اینجا
است. و اینکه اساساً بین آن است
242
00:26:05,210 –> 00:26:10,830
اینجا و اینجا اگر اینطور باشد، آن را جهش می
نامیم. باشه، پس بذار یه جورایی بازی کنم
243
00:26:10,830 –> 00:26:14,920
کمی در مورد آن ریاضیات و آن را امتحان کنید. پس
بیایید، بیایید دوباره، همانطور که اشاره کردم
244
00:26:14,920 –> 00:26:18,400
قبل از این، ما فقط سعی می کنیم دست و پا زدن مناسب را به
کار بگیریم. اگر دست و پا زدن مناسب را بدست آوریم
245
00:26:18,400 –> 00:26:26,020
کار می کند، سپس کار کردن دست و پا چپ آسان است.
خوب، پس من می خواهم بگویم که دست و پا زدن
246
00:26:26,020 –> 00:26:36,610
و برخورد توپ خوب، پس اگر توپ نقطه x هسته
است، پس اگر توپ ها x مختصات هستند
247
00:26:36,610 –> 00:26:46,780
بزرگتر از. بنابراین ما گفتیم 350، عرض آن
10 است. پس از c 340 بزرگتر است. و توپ؟
248
00:26:46,780 –> 00:26:51,130
خوب، آیا باید آن را به همان حال رها کنم؟ من آن نه را
می گذارم، ما برمی گردیم و بعد از مدتی درستش می کنیم.
249
00:26:51,130 –> 00:27:11,090
پس این یک شرط است. و توپ ها، مختصات
y کمتر از پدال b نقطه y هسته است،
250
00:27:11,090 –> 00:27:21,600
به علاوه 50. چیزهای زیادی در اینجا وجود دارد.
و اینجا خیلی چیزهای مختلف وجود دارد. توپ
251
00:27:21,600 –> 00:27:46,880
Dot y core بزرگتر از paddle است. b dot y Cor. منهای
50. از این که پیمایش کنید خوشحال نیستم
252
00:27:46,880 –> 00:27:58,620
از توضیح که واقعا سریع. پس اگر اینطور
است، یا.
253
00:27:58,620 –> 00:28:04,950
اگر اینطور باشد، اساساً ما فقط DX را می خواهیم، همان
کاری که در زمان های بالا انجام دادیم
254
00:28:04,950 –> 00:28:10,580
برابر است با یکی از آنها x هیچ y، متاسفم،
منفی است. بنابراین اگر به این سمت می رود،
255
00:28:10,580 –> 00:28:16,730
dx مثبت است. تعادل برقرار می کند و به این سمت برمی
گردد. بنابراین آنچه ما می خواهیم ببینیم این است
256
00:28:16,730 –> 00:28:22,121
توپ x مختصات بزرگتر از 340. این بدان معناست که
لبه ها اساساً لمس می شوند. و آیا آن است
257
00:28:22,121 –> 00:28:27,890
بین بالای پارو و پایین پارو
در واقع 50 بوده احتمالا
258
00:28:27,890 –> 00:28:33,130
40. به دلیل اندازه توپ. بیایید بیایید با
آن بازی کنیم. بیا تست کنیم ببینیم چیه
259
00:28:33,130 –> 00:28:49,430
اتفاق می افتد. بنابراین من آن را اجرا می کنم. خوب،
پس می بینی آنجا چه اتفاقی افتاده است؟ که نیست
260
00:28:49,430 –> 00:29:01,631
فقط یکی خوب، ببینید که آنجا پرش می کند. ببینید چه اتفاقی
می افتد. اگه دلم براش تنگ شد ببینید، مانند وجود دارد
261
00:29:01,631 –> 00:29:07,280
کمی اشکال وجود دارد به این دلیل است که
حتی اگر آن را در پشت مختصات x است
262
00:29:07,280 –> 00:29:13,680
بزرگتر از 340. و بین اینجاست. خوب، پس می
بینید که چگونه رفتار عجیبی دارد.
263
00:29:13,680 –> 00:29:21,120
بنابراین ما باید انجام دهیم این است که من می خواهم این شرط را اضافه کنم.
264
00:29:21,120 –> 00:29:30,630
و توپی که امتیاز آن x کمتر از 350 است. بنابراین
اساساً آن را به وسط میدهد
265
00:29:30,630 –> 00:29:32,290
از دست و پا زدن
266
00:29:32,290 –> 00:29:41,660
بنابراین ما می گوییم که نقطه توپ x را روی 340 تنظیم
کنید. بنابراین آن را کمی به سمت چپ برمی گرداند. و
267
00:29:41,660 –> 00:29:44,870
سپس جهت را برعکس می کند،
268
00:29:44,870 –> 00:29:55,630
چیزی که ما می خواستیم باشه پس بذار یه بار دیگه
تستش کنم مطمئن شوید که کار می کند.
269
00:29:55,630 –> 00:30:11,130
بنابراین پرش که خوب است. به امید اینکه بگذریم
و ببینیم خوب، پس می بینید که چطور شد
270
00:30:11,130 –> 00:30:15,270
آن زمان گیر نکنید بنابراین اساساً این چیزی است که ما
می خواستیم اتفاق بیفتد. بیایید فقط تست کنیم
271
00:30:15,270 –> 00:30:20,630
آن یک بار دیگر بله پس این همان جایی است که ما آن را
می خواستیم. هی، بنابراین من فقط می خواهم اساسا
272
00:30:20,630 –> 00:30:29,400
این را بگیرید، من آن را کپی می کنم، آن را پیست می
کنم. و ما همین کار را روی دیگری انجام خواهیم داد
273
00:30:29,400 –> 00:30:37,800
سمت. بنابراین منهای 340. بزرگتر از منهای
350. و بالا و پایین مهم نیست. ولی
274
00:30:37,800 –> 00:30:42,470
در این مورد، پارویی A خواهد بود، نه پارویی
B.
275
00:30:42,470 –> 00:30:48,610
این قطعاً اشکالات عجیبی به شما می
دهد. و سپس همان، ما می خواهیم
276
00:30:48,610 –> 00:30:51,970
توپ را معکوس کنید پس بیایید دوباره آن را آزمایش کنیم.
277
00:30:51,970 –> 00:30:59,410
خوب، پس اینجا، او فلش های بالا و پایین است، او برگشت.
در اینجا، ما می خواهیم استفاده کنیم
278
00:30:59,410 –> 00:31:10,890
کلیدهای W و s خودشه. خوب، پس مشکلی در آنجا
پیش آمد. پس می دانم چه اشتباهی کردم.
279
00:31:10,890 –> 00:31:17,090
بنابراین من x را در اینجا روی 340 تنظیم کرده بودم، باید 340 منفی
باشد. پس دوباره توجه کنید، زیرا من در حال تست هستم
280
00:31:17,090 –> 00:31:21,820
میدونی، بعد از هر کد کمی، میدونستم
که مشکل باید اینجا باشه
281
00:31:21,820 –> 00:31:25,680
جایی، چون این تنها چیزی است که تغییر دادم. من
فقط نمی توانم به اندازه کافی بر آن تأکید کنم.
282
00:31:25,680 –> 00:31:30,370
چون دانشآموزان من، همانطور که گفتم، همیشه میخواهند
کل مطلب را تایپ کنند و سپس اشکالزدایی کنند.
283
00:31:30,370 –> 00:31:37,870
که هرگز ایده خوبی نیست. خوب، پس بیایید یک بار دیگر
آن را آزمایش کنیم. بنابراین شما این روند را می بینید،
284
00:31:37,870 –> 00:31:43,920
ما در حال تکرار هستیم، در حال آزمایش هستیم و فقط مطمئن می شویم
که همه چیز همانطور که قبلاً انتظار می رفت کار می کند
285
00:31:43,920 –> 00:31:49,910
ما ادامه می دهیم، بسیار خوب، پس این برای آن بخش
است. بنابراین اکنون ما با آن برخورد کرده ایم
286
00:31:49,910 –> 00:31:54,140
دست و پا زدن، از صفحه نمایش خارج می شود، کاری که باید
انجام دهیم این است که نوعی از آن را اضافه کنیم
287
00:31:54,140 –> 00:31:58,070
مکانیسم امتیازدهی پس این چیزی است که ما داریم.
تا کنون، ما در واقع یک پونگ کارآمد داریم
288
00:31:58,070 –> 00:32:03,310
بازی پارو در سمت راست با استفاده از فلش های بالا
و پایین حرکت می کند. دست و پا زدن در سمت چپ
289
00:32:03,310 –> 00:32:09,370
با استفاده از W و s حرکت می کند، توپ های پرش همه چیز
را انجام می دهند و او به دلیل آن است. بعد ما
290
00:32:09,370 –> 00:32:15,070
می خواهید یک سیستم امتیازدهی اضافه کنید. پس بیایید برویم
و نگاهی به آن بیندازیم. بنابراین اساسا، چه چیزی
291
00:32:15,070 –> 00:32:19,400
ما انجام می دهیم این است که می خواهیم نمره را
روی صفحه بکشیم. و در اینجا نحوه انجام آن است.
292
00:32:19,400 –> 00:32:25,170
در پایتون با استفاده از ماژول لاک پشت، بنابراین ما این کار
را انجام می دهیم این است که در واقع می خواهیم ایجاد کنیم
293
00:32:25,170 –> 00:32:30,330
یک خودکار، خوب، اسمش قلم است، اما در واقع
فقط یک لاک پشت است، درست مثل توپ
294
00:32:30,330 –> 00:32:36,980
دست و پا زدن. اما ماژول لاک پشت به این اشیاء
لاک پشت ها توانایی های بسیار متفاوتی می دهد.
295
00:32:36,980 –> 00:32:44,860
بنابراین من می خواهم یک خودکار بسازم. و مانند دیگری
یک لاک پشت نقطه ای است. و من همیشه املا می کنم
296
00:32:44,860 –> 00:32:50,620
اون اشتباهه. و حواستان به حروف بزرگ باشد. t
بسیار کوچک برای نام ماژول، T بزرگ
297
00:32:50,620 –> 00:32:57,720
برای نام کلاس، که ما در پسزمینه اتفاق میافتد.
همان چیزی که قبلا بود، بنابراین
298
00:32:57,720 –> 00:33:02,470
سرعت نقطه پین و باز هم، این سرعت انیمیشن
است، نه سرعت حرکتی که ما می خواهیم
299
00:33:02,470 –> 00:33:07,740
برای حرکت، اما ما به آن رنگ قلم رنگی
می دهیم، شکل آن مهم نیست زیرا
300
00:33:07,740 –> 00:33:13,250
ما قرار نیست آن را ببینیم اگر بخواهیم به رنگ سفید
روی صفحه چاپ کنیم، مانند سبک کلاسیک پنگ،
301
00:33:13,250 –> 00:33:19,880
و قلم نقطه پان به بالا. این به این دلیل است که ما
نمی خواهیم خط بکشیم. وقتی قلم حرکت می کند، هر
302
00:33:19,880 –> 00:33:23,490
لاک پشت در واقع از مرکز مرده صفحه شروع می
شود، سپس آن را به جایی منتقل می کنیم.
303
00:33:23,490 –> 00:33:29,410
و اگر pen up را انجام ندهیم، خطی را خواهید دید
که بین آن دو نقطه حرکت می کند. و سپس
304
00:33:29,410 –> 00:33:37,590
در اینجا می خواهیم لاک پشت را پنهان کنیم زیرا
نیازی به دیدن آن نداریم. حالا با توپ و
305
00:33:37,590 –> 00:33:41,480
دست و پا زدن، ما آن را پنهان نکردیم زیرا می خواهیم
آنهایی را که روی صفحه نمایش هستند ببینیم. اما
306
00:33:41,480 –> 00:33:46,670
قلمی که نمیخواهیم ببینیم، فقط میخواهیم
متنی را ببینیم که قرار است بنویسد. پس قلم برو
307
00:33:46,670 –> 00:33:51,680
کامای دو و صفر، فکر کنم 260 فکر کنم و
با اعداد بازی کردم، به همین دلیل
308
00:33:51,680 –> 00:33:58,220
شماره 260 شماره یک است. اگر یادتان باشد باز
هم ارتفاع صفحه 600 است. پس یعنی صفر
309
00:33:58,220 –> 00:34:04,530
در اینجا به 300 رسیده است، بنابراین میخواهیم امتیاز
در اطراف این قسمت از صفحه نمایش باشد. و سپس آن را
310
00:34:04,530 –> 00:34:10,000
در این مرحله بسیار آسان می شود این است که ما از روش مناسب استفاده
می کنیم. بنابراین می خواهیم بنویسیم و چه زمانی
311
00:34:10,000 –> 00:34:15,980
بازیکن مناسب الف. و حالا که بازی شروع
می شود، امتیاز، البته 02 فاصله است،
312
00:34:15,980 –> 00:34:25,349
بازیکن B، صفر، کاما، تراز در هر نقطه برابر با مرکز
است که نیروی متن را در اطراف متمرکز می کند
313
00:34:25,349 –> 00:34:31,349
آن نقطه و سپس می خواهیم یک فونت انتخاب کنیم. می دانید،
اینجا را تماشا کنید، من یک مجموعه اضافی دارم
314
00:34:31,349 –> 00:34:36,279
از پرانتز در اینجا باشه اینو فراموش
نکن و من پیک فونت را می خواهم
315
00:34:36,279 –> 00:34:43,809
تکنسین مدرسه قدیمی اندازه فونت 24 را انتخاب کنید. و عادی
فکر می کنم عادی است، فکر می کنم شما انتخاب کنید
316
00:34:43,809 –> 00:34:48,179
پررنگ و مورب من 100% در مورد آن مطمئن هستم. پس خیلی
مراقب باشید. باز هم، ما یک مجموعه داریم
317
00:34:48,179 –> 00:34:52,779
از پرانتز در اینجا من یک مجموعه پرانتز
اضافی در اینجا برای فونت دارم. پس چون
318
00:34:52,779 –> 00:35:00,110
سه آرگومان وجود دارد که باید به آنجا بفرستیم، بسیار خوب،
پس اکنون، کد خود را تست کنید. از این مطمئن شوید
319
00:35:00,110 –> 00:35:07,059
در حال کار است. بنابراین من آن را اجرا می کنم. خوب، پس این همان چیزی
است که ما می خواستیم ببینیم که آیا فضای کمی قرمز است یا خیر
320
00:35:07,059 –> 00:35:12,800
بعد از بازیکن B. هی، اما بله، این همان چیزی
است که ما می خواستیم. خوب، پس همین است
321
00:35:12,800 –> 00:35:17,920
چگونه نمره پیش فرض را روی صفحه نمایش می گیریم. بنابراین
کاری که باید انجام دهیم این است که باید پیگیری کنیم
322
00:35:17,920 –> 00:35:26,960
از امتیاز. و بنابراین کاری که قرار است انجام دهم،
و این را اینجا قرار می دهم و امتیاز می دهم،
323
00:35:26,960 –> 00:35:32,590
بنابراین من باید چند متغیر ایجاد کنم،
من آن را نمره a می نامم و شروع می کنیم
324
00:35:32,590 –> 00:35:37,900
بازی با صفر و امتیاز. ب
325
00:35:37,900 –> 00:35:49,089
صفر می شود حالا، پایین، اینجا پایین، باشه،
پس وقتی توپ رفت امتیاز می گیریم
326
00:35:49,089 –> 00:35:54,180
خارج از صفحه نمایش بنابراین در اینجا سمت راست
توپ از سمت راست خارج می شود، فکر کنید
327
00:35:54,180 –> 00:36:00,460
به خودتان که امتیاز میگیرد، البته، بازیکن A خواهد
بود. پس من چه کاری میتوانم انجام دهم
328
00:36:00,460 –> 00:36:12,789
یک امتیاز مثبت برابر با یک است که یک امتیاز به امتیاز
بازیکن A اضافه می کند. و به همین ترتیب، در
329
00:36:12,789 –> 00:36:22,160
این در طرف دیگر، اگر توپ از سمت چپ صفحه
خارج شود، بازیکن B دریافت می کند
330
00:36:22,160 –> 00:36:25,890
خوب، پس بیایید آن را اجرا کنیم.
331
00:36:25,890 –> 00:36:39,339
اوه خوب، پس هیچی، ما هیچ تغییری نمی بینیم. می توانید
حدس بزنید چرا؟ باشه. حالا اگه گفتی
332
00:36:39,339 –> 00:36:44,920
خوب، ما امتیاز را روی صفحه به روز نکردیم، شما
100٪ خواهید بود. درست. خوب، پس من چه هستم
333
00:36:44,920 –> 00:36:53,970
فقط باید انجام دهم این است که این خط را اینجا
کپی کنم. و من قصد دارم آن را در آن قرار دهم
334
00:36:53,970 –> 00:37:02,119
اینجا. و خواهید دید، کاری که من باید انجام دهم
این است که به جای صفرها، این فقط چاپ است،
335
00:37:02,119 –> 00:37:07,140
می دانید، چاپ اولیه، می دانید، یک به یک، اگر مطمئن
نیستید چگونه این کار را انجام دهید، من
336
00:37:07,140 –> 00:37:12,329
یک ویدیو در مورد آن در جایی داشته باشید. سعی می کنم به
یاد داشته باشم که آن را در زیر پیوند دهم. اما چگونه چاپ
337
00:37:12,329 –> 00:37:19,680
آثار. بنابراین ما از روش فرمت در رشته خود استفاده
می کنیم و می خواهیم نمره a و امتیاز B باشد
338
00:37:19,680 –> 00:37:28,559
کاری که انجام می دهد این است که نمره a را در اینجا و نمره B را در آنجا
قرار می دهد. بنابراین من می خواهم مطمئن شوم که استفاده می کنم
339
00:37:28,559 –> 00:37:37,750
فضاها من آن را کپی می کنم و من تقریباً مطمئن
هستم که این درست است. بنابراین اساسا، هر
340
00:37:37,750 –> 00:37:41,920
زمانی که نمره را به روز می کنم، باید نمره
واقعی چاپ شده را روی صفحه به روز کنم یا
341
00:37:41,920 –> 00:37:49,000
باید بگویم امتیاز صنوبر نمایش داده شده است. پس
اجراش کن حالا ببینید چه اتفاقی می افتد
342
00:37:49,000 –> 00:37:59,040
اینجا. خوب، بنابراین می توانید ببینید که به روز رسانی
شده است. باشه. اما واضح است که چیزی اشتباه است. زیرا
343
00:37:59,040 –> 00:38:03,950
اساساً کاری که انجام می دهد این است که فقط روی خودش
چاپ می کند. باشه. بنابراین آنچه که ما باید
344
00:38:03,950 –> 00:38:11,789
do این است، قبل از اینکه روش صحیح را فراخوانی کنیم،
می گوییم pen clear. حالا در واقع روشن کنید که چیست
345
00:38:11,789 –> 00:38:20,400
روی صفحه نمایش می دانید، آنقدر سریع اتفاق می افتد
که شما آن را نمی بینید. اما در واقع این است
346
00:38:20,400 –> 00:38:26,840
میکند. پس حرف من را برای آن یکی بپذیر. باز هم، اگر
از pygame یا موارد دیگر استفاده می کنید، شما
347
00:38:26,840 –> 00:38:31,500
بدانید، چارچوب یا روش، ممکن است مجبور نباشید این
نوع مراحل را انجام دهید. اما برای لاک پشت
348
00:38:31,500 –> 00:38:38,789
ماژول، این چیزی است که شما باید انجام دهید. خوب،
پس من آن را اجرا می کنم. و بیایید تماشا کنیم
349
00:38:38,789 –> 00:38:45,589
چه اتفاقی می افتد بسیار خوب، پس بازیکن A فقط به
نقطه ای رسید که ما به یک نقطه رسیدیم، و
350
00:38:45,589 –> 00:38:51,990
به همین ترتیب و غیره. بنابراین، بله، اساساً،
ما یک بازی بسیار خوب در اینجا داریم.
351
00:38:51,990 –> 00:38:56,730
باز هم، بازی هرگز تمام نمی شود، شما فقط می روید تا زمانی
که می دانید تا زمانی که تسلیم شوید و خسته شوید،
352
00:38:56,730 –> 00:39:02,799
که با پنگ بسیار آسان است. بنابراین،
بله، من یک آموزش دیگر در راه است
353
00:39:02,799 –> 00:39:07,069
این سریال، من به شما نشان می دهم که چگونه
کمی صدا اضافه کنید، که جالب است،
354
00:39:07,069 –> 00:39:11,400
به خصوص بسته به سیستم عاملی که استفاده
می کنید، من به شما نشان خواهم داد
355
00:39:11,400 –> 00:39:16,809
چگونه کمی صدا به بازی خود اضافه کنیم. بنابراین اساساً،
شما می دانید که به چه چیزی نیاز دارید
356
00:39:16,809 –> 00:39:19,960
برای شروع کار این است که باید صدا داشته
باشید، باید صدا داشته باشید
357
00:39:19,960 –> 00:39:29,450
فایل. و کاری که من انجام دادم این است که این فایل را از سایت
دانلود کردم، اکنون سایت را فراموش کرده ام، اما
358
00:39:29,450 –> 00:39:34,780
WAV نقطهای متعادل است و مانند یک مدرسه
قدیمی کلاسیک است. صدای پرش. شما
359
00:39:34,780 –> 00:39:42,150
آن را در یک دقیقه بشنوید اکنون، پایتون به طور کلی
پلتفرم متقابل زیبایی است. اساساً همه چیز
360
00:39:42,150 –> 00:39:47,549
کاری که ما تاکنون انجام داده ایم، مهم نیست که
از کدام سیستم عامل لینوکس استفاده می کنید،
361
00:39:47,549 –> 00:39:54,849
مک یا ویندوز، همه چیز کار می کند، همان. صدا
یکی از آن چیزهایی است که در آن وجود ندارد
362
00:39:54,849 –> 00:39:58,270
همینطور کار کن بنابراین در حال حاضر من در مک هستم، و می خواهم
به شما نشان دهم که چگونه این کار را با آن انجام دهید
363
00:39:58,270 –> 00:40:04,349
یک مک و سپس در مورد نحوه انجام آن در لینوکس یا
ویندوز صحبت خواهم کرد؟ باشه پس همینطوره
364
00:40:04,349 –> 00:40:09,410
کمی متفاوت باشه. بنابراین اولین چیزی که من
باید به آن اشاره کنم این است که صدا که
365
00:40:09,410 –> 00:40:15,539
من متوجه شدم WAV نقطه پرش، و فایل های WAV به طور کلی
سازگارتر با پلت فرم متقابل سازگاری دارند
366
00:40:15,539 –> 00:40:23,339
دقیقاً همان پوشه فایل پایتون من نیست. بنابراین
در حال حاضر، من در Pong، هفت، و Pong هستم
367
00:40:23,339 –> 00:40:29,120
هفت در آنجا بنابراین آنها در یک پوشه هستند.
این یک نکته واقعا مهم است. حالا که
368
00:40:29,120 –> 00:40:33,069
شما می توانید در مورد آن کار کنید اگر بدانید دارید
چه کار می کنید. اما برای مبتدیان، این احتمالاً است
369
00:40:33,069 –> 00:40:38,880
ساده ترین راه برای انجام کارها و بنابراین اساسا،
آن را واقعا ساده است. کی میخوام بازی کنم
370
00:40:38,880 –> 00:40:46,849
یک صدا و بنابراین من می خواهم زمانی که باید
زمانی که توپ را قرار می دهم یک صدا پخش کنم
371
00:40:46,849 –> 00:40:56,190
یا یکی از مرزها را لمس می کند، یا از
پارو می پرد. خوب، پس در مک، خوب،
372
00:40:56,190 –> 00:41:03,109
بنابراین من قصد دارم از چیزی به نام O S. Module استفاده
کنم. و آنچه که به ما اجازه می دهد انجام دهیم اساساً است
373
00:41:03,109 –> 00:41:09,700
تعامل با سیستم عامل از طریق دستورات متنی.
و بنابراین من o را وارد کرده ام، بنابراین
374
00:41:09,700 –> 00:41:17,880
من میتونم از اون ماژول استفاده کنم و سپس در اینجا، بنابراین
کاری که می توانم انجام دهم این است که می توانم بگویم، اوه آن سیستم،
375
00:41:17,880 –> 00:41:22,420
که یک فراخوانی تابع سیستم را برای ما انجام می دهد. اکنون
در مک، این یک بازی است
376
00:41:22,420 –> 00:41:36,099
bounce.mp bounce dot w Av. خوب پس اینه. این صدا را هنگامی
که به صدا برخورد می کند پخش می کند
377
00:41:36,099 –> 00:41:39,599
مرز. حالا یک مشکلی اینجا وجود دارد و من آن
را در یک ثانیه به شما نشان خواهم داد. ولی
378
00:41:39,599 –> 00:41:47,900
دوباره بیایید تستش کنیم ببین چه اتفاقی افتاده.
اوه، یک دور انداختن. صبر کنید تا اوج شود.
379
00:41:47,900 –> 00:41:57,240
صدایم را زیاد می کنم. اوه، متاسفم، بد من.
A play برای لینوکس است، f play برای مک است.
380
00:41:57,240 –> 00:42:07,329
بیایید دوباره آن را امتحان کنیم. متوجه شدم عقب
من یک شانس 5050 داشتم و آن را منفجر کردم. خوب، بیایید
381
00:42:07,329 –> 00:42:12,860
گوش کنید. حالا، آیا متوجه شدید که در حین پخش
آن صدا، همه چیز متوقف شد؟ پس تماشا کن
382
00:42:12,860 –> 00:42:19,880
آن را دوباره خوب، این چیزی نیست که ما می خواهیم اتفاق
بیفتد. باشه. بنابراین برای دور زدن آن، در
383
00:42:19,880 –> 00:42:32,140
در پایان این دستور، باید یک علامت علامت اضافه کنیم.
این نماد پایان است. باشه پس بیا تست کنیم
384
00:42:32,140 –> 00:42:33,200
آی تی.
385
00:42:33,200 –> 00:42:39,349
و تماشا کنید تاخیر نخواهد داشت. کمی می گوید،
کمی دور است. اما این شما هستید
386
00:42:39,349 –> 00:42:45,210
می دانم، نه اینجا و نه آنجا، فکر می کنم با
آن چه کنم. خوب، من فکر می کنم در واقع، چه
387
00:42:45,210 –> 00:42:48,339
احتمالاً باید این را ویرایش کنم،
این صدای WAV احتمالاً کمی است
388
00:42:48,339 –> 00:42:56,180
یک فضای خالی در ابتدای آن بنابراین در
مک همین است. باشه پس بذار کپی کنم
389
00:42:56,180 –> 00:43:03,910
و فرض کنید میخواهیم آن را زمانی بازی کنیم که از بالا،
پایین و هنگامی که پاروها را لمس میکند، بازی کنیم.
390
00:43:03,910 –> 00:43:14,589
بنابراین ما باید قرار دهیم، این کار را انجام دهیم. باشه پس بیا تستش
کنیم بنابراین دوباره، من آن را یک بار در حال حاضر کار می کند
391
00:43:14,589 –> 00:43:21,270
فقط کپی و پیست میکنم بنابراین باید اینجا جهش
کند.
392
00:43:21,270 –> 00:43:29,680
ظاهراً من در پونگ وحشتناک هستم. خوب، حالا شما
می توانید صداهای مختلف را انتخاب کنید
393
00:43:29,680 –> 00:43:34,060
یک صدا برای زمانی که از دیوار می پرد،
یک صدا برای زمانی که از پارو می پرد،
394
00:43:34,060 –> 00:43:41,799
و غیره، و غیره. باشه؟ حالا، اگر کاربر لینوکس
هستید، سیستم بسیار بسیار زیاد است
395
00:43:41,799 –> 00:43:47,980
مشابه. به جای پخش AF، یک بازی است. این تمام
چیزی است که باید تغییر دهید. خوب، و برای
396
00:43:47,980 –> 00:43:51,840
ویندوز کمی متفاوت است. حالا، من نمی توانم آن را
برای شما تست کنم، اما می توانم توضیح دهم که چگونه
397
00:43:51,840 –> 00:43:56,559
کار می کند. و من یک ویدیو دارم که این را توضیح می دهد. و
من سعی می کنم به یاد داشته باشم که آن را پیوند دهم
398
00:43:56,559 –> 00:44:04,460
در زیر. و اصولاً در ویندوز به جای ایمپورت
کردن o ها، صدای باد را وارد می کنید که
399
00:44:04,460 –> 00:44:10,329
یک ماژول کوچک است که فقط در ویندوز وجود دارد. و
سپس وقتی می خواهید صدای خود را پخش کنید،
400
00:44:10,329 –> 00:44:19,599
به جای این چیزهای سیستم ohs dot، صدای win را
تایپ می کنید. صدای پخش نقطه ای از نو،
401
00:44:19,599 –> 00:44:26,290
به حروف بزرگ توجه کنید، باشه؟ W
کوچک، P بزرگ، S بزرگ، سپس در پرانتز.
402
00:44:26,290 –> 00:44:39,589
بنابراین در اینجا به علامت علامت نیاز ندارید. اما
شما نیاز به یک کاما دارید، و سپس زمانی که صدا SMD نیست
403
00:44:39,589 –> 00:44:45,450
ناهمگام بنابراین کاری که انجام می دهد همان چیزی است که
علامت علامت را اضافه می کند. که شما را متوقف می کند
404
00:44:45,450 –> 00:44:48,970
اگر ناهمزمان باشد، صدا را در پسزمینه
پخش میکند. اگر سنکرون نباشد
405
00:44:48,970 –> 00:44:55,079
برنامه، ما متوقف می شویم. باز هم، من نمی توانم آن
را به شما نشان دهم زیرا این مک است اما باید
406
00:44:55,079 –> 00:45:00,430
باید آن را انجام دهد. بنابراین من آن را لغو می کنم
و به سیستم خود باز می گردم. اوه، یکی می خواست
407
00:45:00,430 –> 00:45:05,539
اوه بله. به راهت ادامه بده، آره، یک بازی و پخش AF
است، بگذار آن را رها کنیم. من دارم تست میکنم
408
00:45:05,539 –> 00:45:15,099
آن یک بار دیگر و این برنامه پنگ ماست. هیجان
انگیز ترین چیز در جهان نیست.
409
00:45:15,099 –> 00:45:19,109
اما می دانید، شما مفاهیم مختلف زیادی را یاد می
گیرید، می دانید چگونه اشیاء را روی آن قرار دهید
410
00:45:19,109 –> 00:45:24,660
صفحه نمایش، نحوه حرکت آنها با صفحه کلید،
نحوه تشخیص برخورد، به روز رسانی امتیاز
411
00:45:24,660 –> 00:45:30,769
روی صفحه، حلقه های بازی، صداها. بنابراین اساساً
تمام عناصر اساسی که باید بسازید
412
00:45:30,769 –> 00:45:35,339
یک بازی در پنگ گنجانده شده است. به همین دلیل یکی از
کلاسیک هاست. و من بازی کردن را به یاد می آورم
413
00:45:35,339 –> 00:45:42,069
این در دوران کودکی، خاطراتی را زنده می کند.
414
00:45:42,069 –> 00:45:46,410
پس بیایید جلو برویم و نگاهی به ظاهر
این محصول نهایی بیاندازیم.
415
00:45:46,410 –> 00:45:51,779
بنابراین مانند یک شبکه x در x، بنابراین هر چه می
خواهید باشد، مار کوچکی دارید که حرکت می کند
416
00:45:51,779 –> 00:45:56,640
در اطراف، یک میان وعده وجود دارد که می خواهم آن را بنامم
که ظاهر می شود و همانطور که شما آن را جمع می کنید،
417
00:45:56,640 –> 00:46:00,759
طول دم را افزایش می دهد. و پس واضح است
که اگر به خودت برخورد کنی و من
418
00:46:00,759 –> 00:46:04,511
فقط این کار را با کلیک کردن بر روی back us go forward انجام
دادیم، یک پیغام خطای کوچک به شما می دهد
419
00:46:04,511 –> 00:46:11,609
اینجا می گوید، تو به دمت زدی، طولت نه نقطه
بود، هر چه بود. و سپس می توانید ادامه دهید
420
00:46:11,609 –> 00:46:16,130
و تا زمانی که می خواهید بازی کنید. به هر حال، کاری که
من در اینجا انجام خواهم داد این است که می روم
421
00:46:16,130 –> 00:46:20,560
اگر همه چیز را شی گرا کدنویسی کنید، می دانم که
راه بسیار سریعتر و آسان تری وجود دارد
422
00:46:20,560 –> 00:46:25,809
انجام این کار واقعاً چیزهای زیادی به شما یاد نمی دهد.
به این ترتیب، شما کمی در مورد اشیا یاد خواهید گرفت،
423
00:46:25,809 –> 00:46:29,930
اما کلاس ها، چگونه می توانیم با آنها کار
کنیم. و خواهید دید که چگونه جریان
424
00:46:29,930 –> 00:46:34,640
برنامه من می رود، و شما باید کمی یاد
بگیرید، به خصوص اگر فردی مبتدی هستید
425
00:46:34,640 –> 00:46:39,309
برنامه نویس، چیزی که ما برای ساختن آن استفاده
خواهیم کرد، ماژولی به نام بازی pi است
426
00:46:39,309 –> 00:46:42,529
در مورد بازی pi اطلاعاتی ندارم، و شما می خواهید در مورد آن یاد
بگیرید، قبل از اینکه این کار را انجام دهید، من می خواهم
427
00:46:42,529 –> 00:46:47,140
توصیه کنید که خوب، پس بیایید شروع به کدنویسی کنیم. بنابراین تقریباً
کاری که من انجام داده ام این است که انجام داده ام
428
00:46:47,140 –> 00:46:51,520
تنظیم جریان برنامه، تمام کلاس ها
و تابع فقط به خودم یادآوری چه
429
00:46:51,520 –> 00:46:55,809
من باید بنویسم و در حالی که من اینجا صحبت می کنم، اگر
بچه ها کپی کنید، احتمالاً ایده های خوبی است
430
00:46:55,809 –> 00:46:59,289
این پایین، پس ما خواهیم داشت، شما
دو شی اصلی خواهید داشت، ما یک
431
00:46:59,289 –> 00:47:04,680
جسم مکعبی و یک شی مار، و شی مار ما قرار
است حاوی اجسام مکعبی باشد، اگر
432
00:47:04,680 –> 00:47:09,450
که منطقی است بنابراین هر یک از آن مربع های قرمز کوچکی
که در اطراف آن حرکت می کرد یک مکعب است
433
00:47:09,450 –> 00:47:14,089
شیء، و کل شیء مار ماست. ما در اینجا چند
تابع خواهیم داشت، رسم کنید
434
00:47:14,089 –> 00:47:21,060
شبکه، پنجره ترسیم مجدد، میان وعده تصادفی، جعبه پیام،
و اصلی. پس بیایید کار اصلی خود را شروع کنیم
435
00:47:21,060 –> 00:47:24,859
در اینجا عملکرد کنید. و این همان چیزی است که حلقه اصلی
ما خواهد بود. بنابراین اساساً چیزی است که من نیاز دارم
436
00:47:24,859 –> 00:47:29,490
برای شروع حلقه اصلی، باید یک سطح بسازیم، بنابراین در pygame،
برای انجام این کار، این کار را انجام می دهیم
437
00:47:29,490 –> 00:47:36,080
هنگامی که برابر است با بازی pi، نمایش نقطه، حالت
زیرخط مجموعه نقطه، و سپس من می خواهم تنظیم کنم
438
00:47:36,080 –> 00:47:44,099
آی تی. بیایید اینجا ببینیم، من می خواهم ارتفاع چقدر
باشد؟ عرض و ارتفاع را اینگونه می گویم.
439
00:47:44,099 –> 00:47:49,590
اوه، خوب است. و من فقط می خواهم یک متغیر در
اینجا ایجاد کنم به نام عرض برابر، ارتفاع
440
00:47:49,590 –> 00:47:57,190
برابر است، و ما فقط آن را روی 500 در 500 تنظیم می کنیم،
مانند این. حالا به متغیر دیگری نیاز داریم،
441
00:47:57,190 –> 00:48:01,790
من می خواهم این را تنظیم کنم زیرا ردیف ها می توانند این را در
اینجا حذف کنند، کاری انجام می دهد، ما انجام می دهیم
442
00:48:01,790 –> 00:48:06,800
بعدا انجامش بده و این تعداد سطرهایی است که می خواهید
چه سطر یا ستونی داشته باشید، هر چه باشد،
443
00:48:06,800 –> 00:48:10,499
می توانید آن را روی هر چیزی که می خواهید تنظیم کنید، فقط مطمئن
شوید که 500 به طور مساوی تقسیم می شود، در غیر این صورت،
444
00:48:10,499 –> 00:48:13,790
اگر منظورم را بدانید، ردیف های عجیب و غریبی
خواهید داشت. بنابراین من فقط می خواهم
445
00:48:13,790 –> 00:48:16,950
من را روی 20 قرار دهید. این همان چیزی است که من از دیگری
استفاده می کنم. اما اگر می خواهید کار را سخت تر کنید،
446
00:48:16,950 –> 00:48:20,790
آن را روی 10 تنظیم کنید، و فضای زیادی
برای حرکت مار وجود نخواهد داشت.
447
00:48:20,790 –> 00:48:25,040
و بازی ها سریعتر و خیلی خوب پیش می روند. خوب، در مرحله
بعد، کاری که باید انجام دهیم این است که نیاز داریم
448
00:48:25,040 –> 00:48:29,950
برای تنظیم یک شی مار. بنابراین من می دانم که
ما حتی مانند چیزی در آن ایجاد نکرده ایم
449
00:48:29,950 –> 00:48:35,809
کلاس مار هنوز، اما من می خواهم به انجام s
برابر با مار. و من فقط به آن موقعیت می دهم.
450
00:48:35,809 –> 00:48:42,829
بنابراین در این مورد، ما می خواهیم از یک رنگ استفاده کنیم
متاسفانه، فقط قرمز خواهد بود، زیرا قرمز، سبز، آبی،
451
00:48:42,829 –> 00:48:45,749
255 برای قرمز، و سپس موقعیتی را که از وسط
شروع می کنیم را می دهم. پس من می روم
452
00:48:45,749 –> 00:48:52,339
برای شروع از 1010. حالا بیایید به حلقه اصلی خود برویم.
بنابراین من فقط می خواهم بگویم، خوب، پرچم،
453
00:48:52,339 –> 00:48:59,790
متغیر من را در اینجا ایجاد کنید، پرچم برابر با
true است. و سپس ما فقط با انجام یک شروع می کنیم
454
00:48:59,790 –> 00:49:07,589
pygame تیک، بنابراین پی بازی نقطه زمان تاخیر نقطه.
50، مثل این. و این فقط ما را به تاخیر می اندازد،
455
00:49:07,589 –> 00:49:13,430
میخوام بگم مثل نقطه پنج یا 50 میلی ثانیه
هر بار که برنامه ما اجرا نشه
456
00:49:13,430 –> 00:49:20,519
خیلی سریع. من همچنین قصد دارم این ساعت را ایجاد کنم، تیک
بزنید تا آن را روی 10 قرار دهید. و آنچه را که می خواهم
457
00:49:20,519 –> 00:49:25,920
انجام این کار این است که من یک شی ساعت در اینجا ایجاد
می کنم. و این یک چیز ساخته شده در بازی PI است. و
458
00:49:25,920 –> 00:49:31,319
کاری که این قرار است انجام دهد این است که پس از
اتمام تایپ آن در یک ثانیه توضیح خواهم داد
459
00:49:31,319 –> 00:49:38,930
بازی، ساعت، من معتقدم که اینطور است، اوه، ساعت زمان،
مثل این است. بنابراین این تیک ساعت در واقع چیست
460
00:49:38,930 –> 00:49:42,759
این کار این است که مطمئن شویم بازی
ما بیش از 10 فریم در هر اجرا نمی شود
461
00:49:42,759 –> 00:49:49,160
دومین. بنابراین اساساً به این معنی است
که مار ما می تواند مانند 10 بلوک حرکت کند
462
00:49:49,160 –> 00:49:53,509
در یک ثانیه و دوباره، ما نمی خواهیم آنقدر سریع باشد.
بنابراین به همین دلیل است که ما نیز هستیم
463
00:49:53,509 –> 00:49:58,930
در اینجا حدود چند میلی ثانیه تاخیر دارد. اگر این
را خیلی پایین بگذارید. سپس دوباره، آن را
464
00:49:58,930 –> 00:50:02,359
رفتن به اوه، شما می توانید Round را با سرعت بازی
کنید، این چیزی است که من پیدا کردم
465
00:50:02,359 –> 00:50:06,480
بهترین سرعت و ممکن است بسته به دستگاهی که روی
آن هستید متفاوت باشد، نباید اینطور باشد
466
00:50:06,480 –> 00:50:11,230
ممکن. بنابراین ممکن است بخواهید فقط این اعداد را
تغییر دهید. باز هم، هر چه این پایین تر می رود،
467
00:50:11,230 –> 00:50:15,279
سریعتر می شود و هر چه این یکی پایین
تر باشد، کندتر خواهد بود.
468
00:50:15,279 –> 00:50:21,119
بنابراین آنها به نوعی نسبت معکوس دارند.
خوب، بعد، چه می خواهیم برویم
469
00:50:21,119 –> 00:50:28,380
برای انجام این کار، من فقط می خواهم پنجره reraw را صدا
کنم.
470
00:50:28,380 –> 00:50:33,260
و من آن را خیلی بد قصاب کردم، اوه، پنجره را دوباره ترسیم
کردم، بنابراین من فقط می خواهم به آن یک علامت بدهم
471
00:50:33,260 –> 00:50:38,480
سطح، که در این مورد زمانی است که ما در
اینجا ایجاد کرده ایم. و در حال حاضر،
472
00:50:38,480 –> 00:50:42,630
این تمام چیزی است که می خواهم در حلقه اصلی خود در اینجا
قرار دهم. و به محض اینکه من بیشتر به آن خواهیم پرداخت
473
00:50:42,630 –> 00:50:47,160
شروع به کدنویسی چیزهای دیگر کنید. خوب، حالا
که پنجره بازطراحی ما فراخوانی شده است
474
00:50:47,160 –> 00:50:52,079
در اینجا، من میروم و میخواهم شروع به کدنویسی
پنجرهی ترسیم مجدد خود کنم. پس این چیه
475
00:50:52,079 –> 00:50:57,740
اساساً این کار این است که ابتدا باید نمایشگر
را به روز کنیم. بنابراین pygame نمایش نقطه
476
00:50:57,740 –> 00:51:05,130
به روز رسانی، مانند. و همچنین باید شبکه را ترسیم کنیم.
بنابراین ما میخواهیم شبکه ترسیمی انجام دهیم،
477
00:51:05,130 –> 00:51:10,270
ما همان سطحی را که به ما داده شده بود، از بین
میبریم، و از آن پیش میرویم، ما هستیم
478
00:51:10,270 –> 00:51:18,519
همچنین صفحه نمایش را پر می کند. بنابراین وقتی فیل،
در این مورد، من فقط از بلوک 6000 استفاده می کنم.
479
00:51:18,519 –> 00:51:21,460
و ما اینجا هستیم، این تنها کاری است که در حال حاضر
باید انجام دهیم. اما در اصل، ما نیز می رویم
480
00:51:21,460 –> 00:51:26,090
برای اینکه باید مار را بکشیم، باید
چند چیز دیگر را روی صفحه بکشیم.
481
00:51:26,090 –> 00:51:30,359
که بعداً به آن خواهیم رسید. بسیار خوب، پس شبکه
را بکشید، بیایید به این یکی برویم. حالا چی
482
00:51:30,359 –> 00:51:37,190
در اینجا باید یک شبکه بکشیم که انجام آن بسیار
آسان است. پس کاری که می کنیم این است که بودیم
483
00:51:37,190 –> 00:51:41,900
ردیف ها و سطح داده شده بنابراین، اگر واقعاً در
ردیفها رد شده باشم، احتمالاً ایده خوبی است
484
00:51:41,900 –> 00:51:46,080
و سطح بنابراین من فقط آنها را در اینجا جهانی
می کنم تا بتوانم به آنها ارجاع دهم
485
00:51:46,080 –> 00:51:53,770
فکر کنید این به خوبی روی ردیفها و عرض جهانی
کار میکند، مانند آن. و در اینجا، ما نیز
486
00:51:53,770 –> 00:51:57,269
باید اینها را جهانی کنیم فقط به این دلیل که نمی خواهم
از آنها عبور کنم. و هر بار که می کشم یک
487
00:51:57,269 –> 00:52:04,380
شبکه، ما فقط عرض را می گوییم. و ردیف ها،
و این متغیر ارتفاع در واقع ضروری نیست،
488
00:52:04,380 –> 00:52:11,109
زیرا ما هر بار یک مربع ترسیم می کنیم، مانند
یک سطح مربع. بنابراین ما می توانیم فقط
489
00:52:11,109 –> 00:52:14,089
این را یکسان کنید، ما به دو متغیر
برای عرض و ارتفاع نیاز نداریم
490
00:52:14,089 –> 00:52:20,359
به هر حال همان عدد است، بنابراین عرض و ردیف های جهانی، من به
اینجا می روم، یک شبکه ترسیم می کنم، با ردیف ها داده می شود
491
00:52:20,359 –> 00:52:28,460
و سطح. خب حالا میگذاریم، خوب، ابتدا ردیفهایمان
را میگذاریم، اوه، عرض،
492
00:52:28,460 –> 00:52:34,700
ردیف، و سطح مانند آن. خوب، پس باید کار کند.
در حال حاضر، در اینجا، آنچه ما برای اولین بار
493
00:52:34,700 –> 00:52:41,309
زمانی که ما در حال ترسیم یک شبکه هستیم، باید انجام دهیم،
این است که می خواهیم بفهمیم هر مربع چقدر است
494
00:52:41,309 –> 00:52:45,869
شبکه قرار است باشد. زیرا کاری که قرار است انجام
دهیم این است که فقط خطوط را ترسیم می کنیم
495
00:52:45,869 –> 00:52:49,850
به سمت پایین و عرض، اما ما باید بفهمیم که این
خطوط را کجا رسم کنیم. بنابراین ما داریم
496
00:52:49,850 –> 00:52:53,809
برای فهمیدن شکاف بین هر یک از خطوط. بنابراین
روشی که ما این کار را انجام می دهیم،
497
00:52:53,809 –> 00:52:58,960
من فقط می خواهم در اینجا یک متغیر ایجاد کنم که
اندازه بین آن برابر است با عرض ما، تقسیم عدد صحیح
498
00:52:58,960 –> 00:53:04,109
توسط ردیف های ما این فقط به این دلیل است که
ما مانند اعداد اعشاری بزرگ نشویم، زیرا این
499
00:53:04,109 –> 00:53:10,769
ما نمی توانیم به روش خط کشی خود در پایتون وارد
شویم. خوب، حالا من فقط می خواهم ایجاد کنم
500
00:53:10,769 –> 00:53:18,109
متغیر X و متغیر Y. و من اینها را روی صفر
تنظیم می کنم، فرض کنید برای L، in
501
00:53:18,109 –> 00:53:23,450
دامنه. و این فقط برای خط ایستاده به خوبی،
در ردیف، مانند آن. حالا، چه می خواهم
502
00:53:23,450 –> 00:53:29,319
انجام این کار این است که x خود را به
اندازه بین افزایش دهم، y خود را با
503
00:53:29,319 –> 00:53:40,099
همان، بنابراین y برابر است با y به علاوه اندازه بین
می توانید یکی از فضاهای اینجا را خلاص کنید. باشه اونجا
504
00:53:40,099 –> 00:53:44,739
ما میرویم. و اکنون ما به سادگی می خواهیم دو
خط بکشیم. بنابراین برای کشیدن یک خط در pygame،
505
00:53:44,739 –> 00:53:52,650
تنها کاری که باید انجام دهیم این است که pygame dot dot line
را بکشد. و استدلالی که می گیرد یک سطح است،
506
00:53:52,650 –> 00:53:58,040
ما به یک رنگ نیاز داریم که در این مورد سفید خواهد
بود. بنابراین شما 250 در 255 255 فوت سفید، ما هستیم
507
00:53:58,040 –> 00:54:06,029
x صفر کاما x w را رسم می کنم، و من فقط در یک ثانیه
این کار را انجام خواهم داد. این چیه
508
00:54:06,029 –> 00:54:10,369
می کند، و من فقط این را کپی می کنم و یکی دیگر را می کشم
و سپس توضیح می دهم که چگونه این کار پیش می رود
509
00:54:10,369 –> 00:54:16,589
تا خیلی خوب کار کند خوب، حالا ما به صفر، y، و
نیاز داریم
510
00:54:16,589 –> 00:54:23,650
w، y. باشه؟ بنابراین کاری که قرار است انجام دهد
این است که هر کدام دو خط برای ما ترسیم می کند
511
00:54:23,650 –> 00:54:28,380
حلقه از این حلقه برای. و این آرگومان
ها در اینجا موقعیت شروع خط و است
512
00:54:28,380 –> 00:54:32,430
موقعیت انتهایی خط بنابراین اولین خطی
که می خواهیم ترسیم کنیم افقی است،
513
00:54:32,430 –> 00:54:37,131
یعنی اصلا نمی خواهیم مقدار y را تغییر دهیم.
بنابراین آنچه باید انجام دهیم این هستیم
514
00:54:37,131 –> 00:54:42,249
باید x را پیدا کنیم و سپس y را روی صفر
قرار می دهیم، زیرا ما در خواهیم بود
515
00:54:42,249 –> 00:54:46,869
بالاترین. من فکر می کنم این درست است حداقل
اوه متاسفم، این خط در حال کاهش است
516
00:54:46,869 –> 00:54:49,680
به سمت راست کشیده نشده بودم، داشتم گیج می
شدم. خوب، پس ما می خواهیم آن را تغییر دهیم
517
00:54:49,680 –> 00:54:54,739
x، اما Y را روی صفر نگه می داریم. و سپس
ما در همان حالت باقی میمانیم
518
00:54:54,739 –> 00:54:59,820
x و Y را در عرض صفحه نگه می داریم
تا به اندازه کافی دور برویم
519
00:54:59,820 –> 00:55:03,700
پس همین اینجا، این یکی افقی می شود، ببخشید،
من قبلاً آن را به هم ریخته بودم.
520
00:55:03,700 –> 00:55:08,089
بنابراین x ما همیشه روی صفر می ماند. و
y ما همان چیزی است که در حال تغییر است
521
00:55:08,089 –> 00:55:12,960
یک خط افقی در سراسر صفحه می کشیم. من امیدوارم
که برای همه منطقی باشد که چگونه آن را
522
00:55:12,960 –> 00:55:15,799
آثار. به هر حال، من از آن ادامه خواهم داد. و این
تمام چیزی است که ما برای دارو نیاز داریم
523
00:55:15,799 –> 00:55:20,500
تابع شبکه بنابراین فقط ادامه دهید، احتمالاً من در
اینجا اشتباه کردم، اما ما برنامه را اجرا می کنیم
524
00:55:20,500 –> 00:55:25,999
تا ببینم آیا همه چیز کار می کند یا خیر خوب در حال حاضر به
نام زمانی که پنجره Find پر نیست. بنابراین من دارم
525
00:55:25,999 –> 00:55:32,660
این را زمانی می نامیم که واقعاً باید چنین سطحی باشد.
پس بیایید اکنون تلاش کنیم. و ما آنجا هستیم
526
00:55:32,660 –> 00:55:39,049
برو، یک شبکه کوچک زیبا مانند 20 در 20 روی صفحه نمایش
خود می گیریم. ما آنجا هستیم. بنابراین در حال حاضر،
527
00:55:39,049 –> 00:55:44,380
بیایید به یک تابع دیگر برویم، یا در واقع، اجازه دهید برنامهنویسی
را روی کلاسهای اینجا شروع کنیم. بنابراین
528
00:55:44,380 –> 00:55:48,019
همانطور که قبلاً در مورد آن صحبت کردم،
ما یک شی مار خواهیم داشت که حاوی آن است
529
00:55:48,019 –> 00:55:51,579
یک دسته از اشیاء مکعبی بنابراین، اساسا، کاری که میخواهیم
انجام دهیم این است که فهرستی خواهیم داشت
530
00:55:51,579 –> 00:55:55,300
از مکعب ها و این به عنوان بدن مار شناخته
می شود. پس بیایید جلو برویم و بنویسیم
531
00:55:55,300 –> 00:56:01,059
اکنون، کاری که من می خواهم برای آن انجام دهم این است
که فقط یک لیست ایجاد کنم. بنابراین ما فقط می گوییم
532
00:56:01,059 –> 00:56:05,109
بدن برابر است و سپس یک لیست خالی. من همچنین در
حالی هستم که ما قبلاً اینجا هستیم، در
533
00:56:05,109 –> 00:56:10,809
ایجاد یک متغیر کلاس، من میخواهم نوبتها را
ایجاد کنم، برابر است با، و فقط میشود
534
00:56:10,809 –> 00:56:16,109
مجموعه ای از براکت های خمیده در اینجا که ما کمی
به آنها خواهیم پرداخت. خوب، پس حالا که
535
00:56:16,109 –> 00:56:21,269
ما در حال حاضر در تابع مار هستیم، کاری که باید انجام
دهیم این است که فقط باید خود را تعریف کنیم
536
00:56:21,269 –> 00:56:27,680
پارامترهایی که در اینجا منتقل شدند. بنابراین ما
فقط می گوییم خود نقطه رنگ، برابر با رنگ است،
537
00:56:27,680 –> 00:56:35,411
نقطه self برابر است با مکعب، که با توجه به موقعیتی
که می گوییم خود، در یک ثانیه وارد آن می شوم
538
00:56:35,411 –> 00:56:42,160
نقطه، بدن، نقطه، سر ما را اضافه کنیم، سر خود
نقطه، مانند این. پس ما اینجا چه کار می کنیم
539
00:56:42,160 –> 00:56:45,539
حالا ما می گوییم باشه، پس سر
مار ما که مهم خواهد بود، چون
540
00:56:45,539 –> 00:56:50,019
ما باید بدانیم که همیشه کجاست. بنابراین ما می
توانیم بر این اساس حرکت کنیم، برابر است با a
541
00:56:50,019 –> 00:56:54,210
مکعب در موقعیت داده شده و موقعیت داده شده همان
چیزی است که ما در اینجا از آن عبور می کنیم
542
00:56:54,210 –> 00:56:58,589
موقعیت شروع مار ما یا یک مار جدید ایجاد می
کنیم، مثل اینکه چندین مار داشته باشیم
543
00:56:58,589 –> 00:57:02,749
مارها در حال حرکت هستند و به هر حال، این
موقعیت است. حالا ما می گوییم می رویم
544
00:57:02,749 –> 00:57:09,410
برای اضافه کردن به بدن، این سر. بنابراین در حال حاضر این
در لیست ما در اینجا است. و سپس می توانیم از آن عبور کنیم
545
00:57:09,410 –> 00:57:12,380
آن لیست و ما می توانیم چیزها را ترسیم کنیم، می توانیم آن را جابجا
کنیم، می توانیم چیزها را بررسی کنیم، همه را می خواهیم
546
00:57:12,380 –> 00:57:17,210
از مکعب های ما در این لیست سفارش داده می شود. بنابراین به
همین دلیل است که من آن را در ابتدا قرار می دهم. اکنون،
547
00:57:17,210 –> 00:57:24,559
من فقط میخواهم این یکی را که نوبت x نامیده میشود
برابر با صفر است و نوبت y را میدهم که
548
00:57:24,559 –> 00:57:29,989
برابر با یک است. بنابراین کاری که قرار است انجام
دهد این است که یک جهت برای x و یک جهت داشته باشیم
549
00:57:29,989 –> 00:57:36,099
برای حرکت دادن مارهایمان، بدیهی است که اینها
ارزشی مانند منفی خواهند داشت،
550
00:57:36,099 –> 00:57:42,220
یک یا صفر، و این برای y و x یکسان خواهد
بود. اگر y یا x برابر یک باشد، منفی است
551
00:57:42,220 –> 00:57:44,869
یکی، سپس دیگری برابر با صفر خواهد بود
زیرا شما فقط می توانید وارد شوید
552
00:57:44,869 –> 00:57:49,430
یک جهت در همان زمان و این فقط
برای پیگیری جهت گیری است
553
00:57:49,430 –> 00:57:53,020
و ما از این در تابع بعدی که قرار است
کدگذاری کنیم استفاده خواهیم کرد
554
00:57:53,020 –> 00:57:58,650
تابع حرکت ما است. بنابراین حرکت بسیار
ساده است، حداقل از نظر صرف
555
00:57:58,650 –> 00:58:02,200
اگر یک شی دارید که در اطراف صفحه در حال حرکت است، آن
را وادار کنید که مستقیماً به چپ، راست، اما
556
00:58:02,200 –> 00:58:08,700
وقتی جسم مار را دارید، باید در نقاط خاصی
بچرخد. بنابراین وقتی چپ کلیک می کنم،
557
00:58:08,700 –> 00:58:12,839
بقیه مار همچنان به جلو حرکت می کند، به محض
اینکه به نقطه ای می رسد که سرش می چرخد
558
00:58:12,839 –> 00:58:16,430
چپ، سپس باید به چپ بپیچد. بنابراین اینجاست
که همه چیز می تواند کمی پیچیده شود. به هر حال،
559
00:58:16,430 –> 00:58:24,950
برای شروع، کاری که میخواهم انجام دهم این است
که تا پایان تایپم برای رویداد در بازی PI بگویم
560
00:58:24,950 –> 00:58:29,900
در اینجا، بازی pi، نقطه رویداد نقطه مانند این می شود.
561
00:58:29,900 –> 00:58:38,489
و اینکه ما فقط میخواهیم بگوییم اگر نوع نقطه رویدادها
مساوی است با بازی pi، این را ترک کنید،
562
00:58:38,489 –> 00:58:41,359
و این اولین موردی است که همیشه میخواهیم در آن
کد بنویسیم. زیرا میخواهیم از آن مطمئن شویم
563
00:58:41,359 –> 00:58:45,890
اگر روی آن فلش قرمز کوچک کلیک کنند، در واقع کار می کند.
و ما می توانیم از رفتن به نقطه بازی pi خارج شویم
564
00:58:45,890 –> 00:58:50,660
اینطوری ترک کن و من فقط میخواهم بگویم اگر
واقعاً به F دیگری نیاز نداشته باشیم، زیرا
565
00:58:50,660 –> 00:58:54,599
روشی که من می خواهم این کار را انجام دهم به روش دیگری
است که ممکن است قبلاً در بازی PI دیده باشید
566
00:58:54,599 –> 00:58:59,799
برای جابجایی چیزها در اطراف استفاده کنید، مثلاً اگر نوع نقطه
رویداد برابر است با کلید پایین، و سپس فقط بررسی کنید
567
00:58:59,799 –> 00:59:03,530
کدام کلید را فشار داده و به سمت چپ حرکت کنید.
این یک چیز مشابه است، اما نرم تر کار می کند.
568
00:59:03,530 –> 00:59:07,210
من از هر دوی آنها زیاد استفاده کرده ام. و این چیزی است که
من ترجیح می دهم. بنابراین من فقط قصد دارم از این استفاده کنم.
569
00:59:07,210 –> 00:59:11,710
بنابراین pygame dot key dot get underscore را فشار دهید.
بنابراین این کار انجام خواهد شد
570
00:59:11,710 –> 00:59:16,529
یک لیست. در واقع، من فکر می کنم این مانند یک فرهنگ لغت
یا چیزی شبیه به آن است، که همه کلیدها را دارد
571
00:59:16,529 –> 00:59:21,220
ارزش های. و سپس اگر آنها را فشار دادند یا نه. به
این ترتیب، اگر بیش از یک کلید را فشار دهید
572
00:59:21,220 –> 00:59:25,310
به یکباره، هنگامی که شما در حال حلقه زدن هستید،
با آن تنظیم می شود. در حالی که دیگری، شما
573
00:59:25,310 –> 00:59:29,190
فقط می توانید یکی در یک بار کلیک کنید و اگر در حال
حرکت هستید، نمی توانید به صورت مورب حرکت کنید
574
00:59:29,190 –> 00:59:31,961
مانند یک شخصیت در صفحه نمایش برای این خیلی مهم
نیست، اما این راهی است که من دوست دارم
575
00:59:31,961 –> 00:59:37,119
برای انجام این. بنابراین اکنون می خواهم چهار کلید را
بگویم. از آنجا که به یاد داشته باشید، این قرار است بدهد
576
00:59:37,119 –> 00:59:42,369
ما همه کلیدها را انتخاب می کنیم و اگر روی آنها کلیک می شد یا
نه، مقدار یک یا صفر را می پسندید. بنابراین ما نیاز داریم
577
00:59:42,369 –> 00:59:50,849
همه آنها را حلقه بزنید و بررسی کنید که آیا
کلیدها و سپس pygame dot key یا uhq stuff dot k
578
00:59:50,849 –> 00:59:59,529
زیر خط چپ فکر کردم آنجا کلیدی است. و سپس
کلیدهای بازی را با نقطه k underscore می گوییم
579
00:59:59,529 –> 01:00:05,970
حقوق مانند آن، و ما می توانیم در اینجا با بالا
و پایین ادامه دهیم. و سپس ما می گیریم
580
01:00:05,970 –> 01:00:13,999
وقتی روی این کلیدها کلیک می کنیم دقیقاً چه اتفاقی
می افتد. بنابراین آخرین مورد در اینجا.
581
01:00:13,999 –> 01:00:21,289
خوب، و ما به آنجا می رویم. باشه. بنابراین اکنون کاری که
می خواهیم انجام دهیم این است که تغییر خواهیم کرد
582
01:00:21,289 –> 01:00:26,960
جهت با توجه به کلیدی که کلیک می کنیم. بنابراین
برای رفتن به چپ، این بدان معناست که x ما دارد
583
01:00:26,960 –> 01:00:31,089
منفی باشد زیرا نحوه کار دوباره مختصات
در pygame در گوشه بالا سمت چپ است
584
01:00:31,089 –> 01:00:36,900
صفحه نمایش شما 00 است. بنابراین اگر می خواهیم
به سمت چپ حرکت کنیم، باید x را منفی کنیم
585
01:00:36,900 –> 01:00:42,480
برای حرکت بیشتر به سمت صفر، درست است؟ اگر بخواهیم
درست حرکت کنیم، x ما را مثبت می کنید،
586
01:00:42,480 –> 01:00:46,309
که در این مورد یکی خواهد بود، زیرا ما فقط یک مکعب
را در یک زمان حرکت می دهیم تا جلوتر برویم
587
01:00:46,309 –> 01:00:50,890
به سمت راست. همان چیزی که در مورد Y وجود دارد،
در pygame یک جورهایی عجیب است، نحوه عملکرد Y،
588
01:00:50,890 –> 01:00:57,009
زیرا هر چه بیشتر y اضافه کنید، پایین تر می روید.
بنابراین ما برای x چه می گوییم، ما می خواهیم
589
01:00:57,009 –> 01:01:01,420
بگو سفر عشق به خود، x برابر است با یک، دوباره،
زیرا ما رفتیم و قرار است تنظیم کنیم
590
01:01:01,420 –> 01:01:07,019
ژورنال ما برابر با صفر است. و این به این دلیل
است که دوباره، ما نمی خواهیم در دو جهت حرکت کنیم
591
01:01:07,019 –> 01:01:12,769
به یکباره و مورب حرکت کنید. اکنون، این همان چیزی است
که من در مورد آن صحبت می کردم، ما نیاز داریم
592
01:01:12,769 –> 01:01:17,369
به یاد داشته باشید که در واقع به کجا چرخیدیم. زیرا
اگر فقط یک مکعب در زمین داشته باشید، همین است
593
01:01:17,369 –> 01:01:20,930
خوب. اما وقتی چندین مکعب دارید، باید
به چپ، راست بپیچیم، باید بپیچیم
594
01:01:20,930 –> 01:01:25,300
به یاد داشته باشید که کجا چرخیدیم، بنابراین در دم
مکعب ما می توانیم در آن نقطه بچرخیم. پس همین است
595
01:01:25,300 –> 01:01:30,799
چرا ما آن خود نقطه نوبت لیست بالا، شما به همان اندازه
نوبت، می خواهم بگویم، فرهنگ لغت یا
596
01:01:30,799 –> 01:01:37,269
مجموعه، هر چه باشد. بنابراین ما به آن اضافه می
کنیم، خود را که می چرخد، و ما آن را می دهیم
597
01:01:37,269 –> 01:01:44,259
یک کلید جدید من از طریق نحوه کار این در
یک مکث نقطه دوم در اینجا، برابر است
598
01:01:44,259 –> 01:01:51,940
به، و سپس ما فقط یک لیست از self dot exe،
و self dot dir و چرا ارائه می دهیم.
599
01:01:51,940 –> 01:01:56,160
خوب، پس ممکن است در مورد آنچه اینجا میگذرد
گیج شوید. بنابراین من یک جدید ایجاد کرده ام
600
01:01:56,160 –> 01:01:58,700
دیکشنری در اینجا، این چیزی است که من آن را به طور
رسمی می نامم، شما می توانید به آن فکر کنید
601
01:01:58,700 –> 01:02:05,369
آن را به عنوان یک مجموعه نیز. و تقریباً،
ما یک کلید اضافه می کنیم که موقعیت فعلی است
602
01:02:05,369 –> 01:02:11,780
از سر مار ما و سپس برابر با جهتی
که چرخیدیم تنظیم می شود.
603
01:02:11,780 –> 01:02:16,739
بنابراین ما می گوییم که یک چرخش جدید در این موقعیت
داریم، و شخصیت ما جایی است که مار ماست
604
01:02:16,739 –> 01:02:20,369
به سمت چپ حرکت کرد، بنابراین میخواهیم بگوییم که
ما خود دکترین y داریم، که درست در اینجا منفی است
605
01:02:20,369 –> 01:02:25,670
یک self.یا گشت و گذار کنید، x را نچرخانید یا سپس y را بچرخانید برابر
با صفر است، بنابراین ما می دانیم که از چه راهی هستیم
606
01:02:25,670 –> 01:02:30,279
در واقع تبدیل شده است. و امیدوارم که منطقی باشد. به این
ترتیب، ما این کار را انجام خواهیم داد. اکنون،
607
01:02:30,279 –> 01:02:34,790
من فقط اینها را کپی و پیست می کنم و سپس این مقادیر
را تغییر می دهم. پس وقتی درست پیش می رویم،
608
01:02:34,790 –> 01:02:40,460
این یکی می شود اوه، اینجا هم همینطوره بنابراین
آن را وارد کنید، این خواهد شد
609
01:02:40,460 –> 01:02:47,630
صفر، و چرخش y که خاموش می شویم منفی یک خواهد
بود. حالا وقتی داریم پایین میرویم،
610
01:02:47,630 –> 01:02:52,460
ما باید این را به یک و این را به صفر تغییر
دهیم، و من فقط از شر آن خلاص می شوم.
611
01:02:52,460 –> 01:02:59,710
و ما به آنجا می رویم. بسیار خوب، بنابراین تقریباً این روشی
است که ما این کار را انجام می دهیم. و همچنین می توانم
612
01:02:59,710 –> 01:03:04,690
فقط LS را در اینجا نیز قرار دهید، زیرا نمی
خواهیم بتوانیم در بیش از یک جهت حرکت کنیم.
613
01:03:04,690 –> 01:03:08,249
بنابراین ما کلید جهتنمای چپ را اولویتبندی
میکنیم. اگر روی فلش چپ کلیک نمی کنند
614
01:03:08,249 –> 01:03:11,921
کلید، سپس بررسی می کنیم که آنها درست انجام می دهند، در
غیر این صورت به سمت پایین، زیرا ما این کار را نمی کنیم
615
01:03:11,921 –> 01:03:16,390
می خواهید آنها بتوانند همزمان روی بیش از یک کلید کلیک کنند.
خوب، پس در مرحله بعد، ما باید واقعاً این کار را انجام دهیم
616
01:03:16,390 –> 01:03:21,410
مکعب ما را حرکت دهید و اینجاست که
از نظر ظاهری کمی مشکل تر می شود
617
01:03:21,410 –> 01:03:26,420
مکعب ما کجاست و اگر در آن پیچ باشد، ما آن
را برگردانیم. بنابراین من فقط می خواهم
618
01:03:26,420 –> 01:03:33,299
شروع به کدنویسی کنید و من دقیقاً همان کاری را که انجام می دهم
انجام خواهم داد. بنابراین قبل از اینکه در یک عدد ببینم،
619
01:03:33,299 –> 01:03:41,960
اوه و من اشتباه نوشتم مانند آن، و نسخه،
بگویید self dot body، چون ما هستیم
620
01:03:41,960 –> 01:03:48,299
لیست موقعیتهایی را که در معرض خطر داریم
بررسی میکنیم و سپس میگوییم P برابر است
621
01:03:48,299 –> 01:03:53,369
موقعیت نشستن و من فقط قصد دارم این را
کپی کنم. اتفاقاً همین کمی است
622
01:03:53,369 –> 01:03:59,410
arrow در اینجا انجام می دهد، فقط یک کپی می کند
تا ما موقعیت مار خود را تغییر ندهیم.
623
01:03:59,410 –> 01:04:04,049
وقتی کارهایی را انجام میدهیم، فقط دنبال کردن
است و خیلی مهم نیست. خوب، پس ما هستیم
624
01:04:04,049 –> 01:04:10,469
میخواهم بگویم اگر p در چرخشهای خود نقطهای باشد، مانند این،
زیرا به یاد داشته باشید، آنچه ما انجام دادیم ما هستیم
625
01:04:10,469 –> 01:04:17,479
اضافه موقعیت سر ما، دو چرخش. بنابراین اکنون
می خواهیم بگوییم، خوب، اگر این موقعیت
626
01:04:17,479 –> 01:04:23,920
در پیچ ها است، سپس می خواهیم حرکت کنیم
یا به راست بپیچیم، بنابراین فرض کنید
627
01:04:23,920 –> 01:04:34,219
در اینجا، وقتی می گوییم، چرخش، اوه، برابر با خود نقطه
چرخش است. مثل اون بنابراین اکنون ما دیدیم که اینطور است
628
01:04:34,219 –> 01:04:38,719
در آنجا. بنابراین اکنون در آنجا است، ما می توانیم
شاخص آن را پیدا کنیم و می توانیم جهت را بگیریم
629
01:04:38,719 –> 01:04:44,469
ارزش دارد تا بدانیم به چه سمتی حرکت خواهیم کرد. و میانگین
می تواند بگوید C نقطه حرکت، مانند این،
630
01:04:44,469 –> 01:04:55,559
و تبدیل به صفر، تبدیل، یک، مانند آن است. خوب، حالا
بعد، می خواهم بگویم که آیا برابر است یا خیر
631
01:04:55,559 –> 01:05:00,009
طول بدن نقطه خود منهای یک
632
01:05:00,009 –> 01:05:09,020
اوه، پس من می خواهم فرار کنم، این چیزهای سرمایه
ای است، اما تبدیل به پاپ نقطه ای شد. باشه پس
633
01:05:09,020 –> 01:05:13,190
من می دانم که من فقط در اینجا برنامه نویسی زیادی
انجام دادم. و این احتمالاً چندان منطقی نیست
634
01:05:13,190 –> 01:05:17,710
به شما بچه ها بنابراین من دقیقاً همان کاری را که انجام
دادم انجام خواهم داد. این است، زیباست،
635
01:05:17,710 –> 01:05:21,130
توضیح آن کمی دشوار است بنابراین به هر حال، کاری
که ما با انجام آن شروع می کنیم این است که ما هستیم
636
01:05:21,130 –> 01:05:25,609
میخواهیم بگوییم، شاخص را میگیریم،
و شی مکعب را در خود میگیریم.
637
01:05:25,609 –> 01:05:29,979
بدن نقطهای خود، زیرا به یاد داشته باشید، بدن
نقطهای ما درست از اجسام مکعبی تشکیل شده است
638
01:05:29,979 –> 01:05:36,249
در اینجا، که این ویژگی ها را دارند، درست است،
آنها یک جهت y، x، یک شروع خواهند داشت
639
01:05:36,249 –> 01:05:41,030
رنگ، و به همین ترتیب، و ما میخواهیم، فقط در یک ثانیه
به مکعب کدگذاری میرسیم. بنابراین وجود دارد
640
01:05:41,030 –> 01:05:47,599
اجسام مکعبی هستند اکنون همه این اجسام مکعبی یک
موقعیت دارند. بنابراین من برای هر شی می گویم
641
01:05:47,599 –> 01:05:51,619
در اینجا، من می خواهم موقعیت آنها را تصاحب کنم.
و من می خواهم ببینم که آیا این موقعیت در ماست
642
01:05:51,619 –> 01:05:58,089
لیست نوبت و اصطلاح لیست را ایجاد می کنیم و به لیست
نوبت اضافه می کنیم. وقتی به راست می پیچیم،
643
01:05:58,089 –> 01:06:03,910
وقتی روی چپ، مرکز، راست، و غیره کلیک می کنیم،
و سپس می گوییم، خوب، بنابراین واقعی است
644
01:06:03,910 –> 01:06:09,690
بپیچید، بنابراین جایی که واقعاً قرار است
حرکت کنیم برابر با لیست تمام نوبت ها است
645
01:06:09,690 –> 01:06:15,109
در آن شاخص، درست است، بنابراین جهت چرخش،
x و جهت y را که ذخیره کردیم، می گیریم
646
01:06:15,109 –> 01:06:19,039
آنجا. و اکنون فقط میخواهیم بگوییم، نقطه
مکعب ما حرکت میکند، که روش دیگری است
647
01:06:19,039 –> 01:06:22,171
که ما قصد داریم کدنویسی کنیم، و آن
جهت، x و آن جهت y را به آن می دهیم،
648
01:06:22,171 –> 01:06:28,410
بنابراین می داند که برای حرکت به خوبی به چه وزنی نیاز
دارد. و سپس من می گویم، اگر من برابر است
649
01:06:28,410 –> 01:06:33,520
طول بدن نقطه خود منهای یک، به این معنی
که اگر روی آخرین مکعب باشیم، می رویم
650
01:06:33,520 –> 01:06:39,289
برای حذف آن چرخش بنابراین هنگامی که آخرین مکعب
به آن پیچ برخورد کرد، ما آن را حذف می کنیم.
651
01:06:39,289 –> 01:06:42,349
زیرا اگر بخواهیم آن نوبت را در لیست رها کنیم،
این بدان معناست که هر زمانی شما هستید
652
01:06:42,349 –> 01:06:46,799
بدون توجه به اینکه مار به آنجا می چرخد یا
نه، به آن موقعیت روی صفحه ضربه بزنید،
653
01:06:46,799 –> 01:06:52,509
اگر آن را از لیست حذف نکنید، به طور خودکار
مسیرها را تغییر می دهید. امیدوارم که
654
01:06:52,509 –> 01:06:59,400
معنا پیدا می کند. باشه. حالا، بعد از این،
اگر قرار بود بگید، چه می گویید
655
01:06:59,400 –> 01:07:03,819
اگر در لیست نباشد. بنابراین اگر موقعیت ما
در لیست نیست، هنوز باید حرکت کنیم
656
01:07:03,819 –> 01:07:08,440
مار، زیرا دائماً در حال حرکت است. پس
برای این چه کنیم؟ خوب، ما می نویسیم
657
01:07:08,440 –> 01:07:11,989
دیگر و من فقط این را کپی می کنم، زیرا تایپ
کردن آن یک ثانیه طول می کشد زیرا
658
01:07:11,989 –> 01:07:15,869
من یه فایل دیگه باز دارم و من آنچه را که رخ داده است، بررسی
خواهم کرد، این چگونه کار می کند، خوب؟ نه، آن
659
01:07:15,869 –> 01:07:21,859
خیلی به نظر می رسد اما تقریبا کاری که این برای ما
انجام می دهد این است که بررسی می کنیم که آیا
660
01:07:21,859 –> 01:07:27,740
یا نه، برای گفتن، اگر در حال حرکت به سمت
چپ هستیم، به لبه صفحه رسیده ایم
661
01:07:27,740 –> 01:07:34,510
موقعیت، بنابراین نمایش مکعب ما کوچکتر
یا مساوی صفر است، سپس ما می رویم
662
01:07:34,510 –> 01:07:38,651
آن موقعیت را طوری تغییر دهید که به
سمت راست صفحه برود. بنابراین راه که
663
01:07:38,651 –> 01:07:42,849
ما می توانیم این کار را با گفتن ردیف های نقطه c منهای یک
انجام دهیم، زیرا دوباره، اگر شروع به شمارش کنید
664
01:07:42,849 –> 01:07:49,140
در صفر، و کامپیوترها، بنابراین اگر ردیف های ما
مانند 20 باشد، آخرین مکعب 19 اینچ خواهد بود.
665
01:07:49,140 –> 01:07:52,799
یک لیست، درست است؟ آنها ردیف های منهای یک را می بینند
و ما در همان مقدار y خواهیم بود. بنابراین
666
01:07:52,799 –> 01:07:58,339
ما آن را آنجا رها می کنیم. خوب، و سپس می گوییم،
در غیر این صورت، بررسی می کنیم که آیا هستیم
667
01:07:58,339 –> 01:08:03,009
درست رفتن برای حرکت درست و همین مورد، اگر
در لبه صفحه هستیم، به عقب برگردیم
668
01:08:03,009 –> 01:08:08,339
به سمت چپ با قرار دادن صفر در اینجا.
و بعدی، اگر پایین بیاییم، چه هستیم
669
01:08:08,339 –> 01:08:13,200
دوباره بررسی می شود که آیا ما از ردیف
های منهای یک کمتر هستیم یا بزرگتر از
670
01:08:13,200 –> 01:08:17,390
ردیف منهای یک؟ نه ما نیستیم. یا اگر هستیم،
پس بیایید به بالای صفحه برگردیم
671
01:08:17,390 –> 01:08:23,229
صفحه نمایش با تغییر مقدار y ما. و اگر به سمت بالا در حال حرکت
هستید، همین کار را در اینجا انجام دهید. اکنون،
672
01:08:23,229 –> 01:08:27,399
اگر هیچ یک از اینها درست نیست، بنابراین ما در
لبه صفحه نیستیم، به سمت چپ بالا نمی رویم
673
01:08:27,399 –> 01:08:33,929
به هر چیزی که گفتم، ما فقط مکعب
خود را در جهت حرکت میکنیم
674
01:08:33,930 –> 01:08:38,821
x و جهت y آن مکعب از قبل. بنابراین اگر آن مکعب
به سمت بالا حرکت کند، و همینطور است
675
01:08:38,821 –> 01:08:42,149
نمی چرخد، و به لبه صفحه نمی
رود، نیازی به تغییر ندارد.
676
01:08:42,149 –> 01:08:45,939
فقط آن را در هر جهتی که می رود حرکت دهید.
و به همین دلیل است که من به سادگی ارجاع می دهم
677
01:08:45,939 –> 01:08:49,939
مکعب ها از قبل جهت، x و جهت وجود دارند،
چرا ما چیزی را تغییر نمی دهیم،
678
01:08:49,939 –> 01:08:54,299
ما فقط می گوییم، خوب، بیایید شما را به
جلو ببریم، مثل آن. امیدوارم که باعث شود
679
01:08:54,300 –> 01:08:57,350
احساس، مفهوم. این مقدار زیادی بود و این احتمالاً
یکی از سخت ترین چیزها در این برنامه است
680
01:08:57,350 –> 01:09:01,479
در حال پی بردن به حرکت استیک است. بنابراین اگر
شما بچه ها این را درک می کنید، پس همین
681
01:09:01,479 –> 01:09:05,229
کار سخت تمام شده است و ما وارد این اشیاء
مکعبی می شویم، شما می خواهید
682
01:09:05,229 –> 01:09:11,319
درک کنید که همه اینها به چه معناست و ردیف
ها و ستون های ما چگونه کار می کنند. باشه،
683
01:09:11,319 –> 01:09:15,419
بنابراین فعلاً تنظیم مجدد od q را فراموش می
کنم زیرا نگران این موارد خواهیم بود
684
01:09:15,420 –> 01:09:19,569
بعد. اما بیایید وارد روش قرعه کشی شویم زیرا
می خواهیم ببینیم آیا واقعاً کار می کند یا خیر
685
01:09:19,569 –> 01:09:26,779
و این را روی صفحه نمایش قرار دهید. بنابراین به سادگی
برای من یک پلاگین numerate در outselling numerate می بینم
686
01:09:26,779 –> 01:09:33,349
امروز، مثل آن همان چیزی، بدن نقطه خود،
مانند آن. ما می گوییم اگر من برابر است
687
01:09:33,350 –> 01:09:41,399
صفر، c نقطه را رسم کنید، و خواهید دید که چرا در یک ثانیه
است. درست است، واقعی.
688
01:09:41,399 –> 01:09:49,819
در غیر این صورت c نقطه رسم سطح. بنابراین دلیل اینکه
من این بررسی کوچک را اینجا انجام می دهم، به جای
689
01:09:49,819 –> 01:09:55,951
فقط رسم هر شی به این دلیل است که وقتی
اولین شی مار را روی if شما می کشیم
690
01:09:55,951 –> 01:10:00,310
برنامه دیگرم را به یاد بیاور، چشم داشت. بنابراین آنچه
من به سادگی می خواهم انجام دهم این است که مطمئن شوم
691
01:10:00,310 –> 01:10:03,810
وقتی اولین شی را می کشیم، چشم ها را به
آن اضافه می کنیم تا بدانیم سر کجاست
692
01:10:03,810 –> 01:10:07,130
از مار است. ما گیج نمیشویم، مثلاً
چه جهتهایی دارند. و اگر چه تو
693
01:10:07,130 –> 01:10:10,890
نباید، من می خواهم اضافه کنم که شاید فقط برای
زیبایی شناسی باشد. پس این چه حقیقتی دارد
694
01:10:10,890 –> 01:10:17,330
آیا پارامتر اختیاری به سادگی می گوید که اگر اولین
مورد در لیست ما باشد، چشم ها را بکشید،
695
01:10:17,330 –> 01:10:22,442
اگر هد باشد، و سپس در این روش قرعه کشی، می توانید
ببینید I have برابر با false است. ولی
696
01:10:22,442 –> 01:10:24,530
وقتی شما آن را برابر با true کنید، ما در
اینجا کار خاصی انجام خواهیم داد
697
01:10:24,530 –> 01:10:30,740
تا برای ما چشم بکشد خوب، حالا که ما این را کدگذاری
کرده ایم، کل این چیزهای بی نظم در داخل
698
01:10:30,740 –> 01:10:34,980
کلاس snake، بیایید برنامه را سریع اجرا کنیم و ببینیم آیا
چیزی اتفاق می افتد یا خیر. بنابراین در حال حاضر،
699
01:10:34,980 –> 01:10:38,910
ما فقط شبکه را داریم، هیچ خطایی یا چیزی نداریم.
دلیلش این است که ما قرعه کشی نکرده ایم
700
01:10:38,910 –> 01:10:44,050
هنوز شی مار بر روی صفحه نمایش است. بنابراین آنچه ما باید
انجام دهیم این است که فقط باید به سادگی انجام دهیم
701
01:10:44,050 –> 01:10:48,250
آن را در پنجره ترسیم مجدد ما در اینجا بکشید.
بنابراین من فقط قصد دارم تایپ کنم I’m going
702
01:10:48,250 –> 01:10:53,570
به جهانی اینجا در جهانی آن پایین نیز وجود
دارد. چون بگویید s dot draw، مثل آن. و
703
01:10:53,570 –> 01:10:58,770
ما باید یک سطح بدهیم. پس بیایید به آن یک
سطح بدهیم، و من به سمت جهانی می روم
704
01:10:58,770 –> 01:11:03,690
ما می توانیم آن را در آنجا ارجاع دهیم. و آیا دلیلی
وجود دارد که ما به سمت صفحه نمایش کشیده نمی شویم؟
705
01:11:03,690 –> 01:11:12,860
بیایید سریع نگاهی بیندازیم. شروع به قرعه کشی کنید. شروع
به کشیدن کنید اوه، به این دلیل است که بله، ما واقعاً هستیم
706
01:11:12,860 –> 01:11:17,790
تلاش بله، اما ما هنوز هیچ یک از اشیاء مکعبی را
نکشیده ایم. و در حال فراخوانی قرعه کشی است
707
01:11:17,790 –> 01:11:22,480
روش بر روی تمام اشیاء مکعبی ما که هنوز ایجاد
نکرده ایم. امیدوارم که باعث شود
708
01:11:22,480 –> 01:11:25,660
احساس، مفهوم. اما ما همین الان ادامه می دهیم و این کار
را انجام می دهیم. پس باید قبلش کمی بیشتر کدنویسی کنیم
709
01:11:25,660 –> 01:11:29,140
ما می توانیم همه چیز را ببینیم پس بیایید جلو
برویم و وارد شی مکعب شویم. و اجازه دهید فقط
710
01:11:29,140 –> 01:11:35,050
بگو خود نقطه شروع کن، مردم شروع می کنند، با این تفاوت
که من در واقع این را به موقعیت تغییر خواهم داد
711
01:11:35,050 –> 01:11:44,330
چون معتقدم این چیزی است که باید باشد.
و ما می گوییم خود، در طول x
712
01:11:44,330 –> 01:11:54,470
برابر یک، خود نقطه y برابر با صفر و
رنگ خود برابر با رنگ است. و دلیل
713
01:11:54,470 –> 01:11:58,510
ما این را داریم به این دلیل که بعداً چیزی را ترسیم
می کنیم که می خواهم آن را یک میان وعده بنامم
714
01:11:58,510 –> 01:12:03,870
برای جمع کردن مکعب برای جمع کردن مار. بنابراین
ما می خواهیم رنگ را تغییر دهیم
715
01:12:03,870 –> 01:12:08,970
با آن. و من آن را اشتباه نوشتم، مثل
سه بار در طول توسعه دهنده و دلیل آن
716
01:12:08,970 –> 01:12:15,481
من در ابتدا مجموعه شما را به یک انجام دادم، زیرا
میخواهم مطمئن شوم که شروع میکنیم
717
01:12:15,481 –> 01:12:20,370
حرکت در یک جهت اگر من این را در صفر داشتم،
باید قبل از مار روی یک کلید کلیک کنید
718
01:12:20,370 –> 01:12:23,870
شروع به حرکت می کند، اما من می خواهم درست زمانی که
برنامه را اجرا می کنیم، مار تازه شروع به حرکت کند،
719
01:12:23,870 –> 01:12:27,830
بنابراین من آن را از قبل با جهت x تنظیم می
کنم. و دلیل اختیاری بودن اینها، دوباره،
720
01:12:27,830 –> 01:12:33,060
به این صورت است که وقتی یک شی نشانه جدید ایجاد می
کنیم، مجبور نیستیم به طور ضمنی جهت را بگوییم
721
01:12:33,060 –> 01:12:36,400
x یک جهت y صفر است، زیرا فرض بر این است که
همیشه همینطور خواهد بود، مگر اینکه
722
01:12:36,400 –> 01:12:42,180
در غیر این صورت بیان شده است. خوب، بیایید نگاهی بیندازیم.
اینجا چه کار دیگری باید انجام دهیم، باید انجام دهیم
723
01:12:42,180 –> 01:12:47,443
اکنون این تابع جدید را کدنویسی کنید، که واقعاً
به راحتی انجامش می دهم این است که بگوییم:
724
01:12:47,443 –> 01:12:51,450
از آنجایی که ما در حال تغییر جهت x در جهت y در کلاس
snake خود هستیم، باید این کار را انجام دهیم
725
01:12:51,450 –> 01:12:55,740
این کار را در اینجا انجام دهید تا با شی باقی
بماند، فرض کنید در طول x برابر است
726
01:12:55,740 –> 01:12:59,770
ایکس.
727
01:12:59,770 –> 01:13:07,600
و پس از آن، همان چیزی است، بنابراین فکر کنید،
در طول y برابر است با گرفتن y، مانند آن. و سپس ما
728
01:13:07,600 –> 01:13:10,490
به اینجا بروید، و تنها کاری که می خواهیم انجام دهیم
این است که موقعیت خود را تغییر دهیم. پس خود نقطه
729
01:13:10,490 –> 01:13:17,470
موقعیت، برابر با نقطه خود نقطه صفر
است، که موقعیت فعلی ما به علاوه است
730
01:13:17,470 –> 01:13:24,960
خود نقطه، x را بکشید. و آنها می گویند خود
نقطه، قسمت اول، که از قبل موجود ماست
731
01:13:24,960 –> 01:13:31,820
مقدار y، به علاوه برابر است با سفر نقطه خود
یک مانند آن. و فقط در مورد، من اشاره نکرده ام
732
01:13:31,820 –> 01:13:36,231
در اینجا، درست است، ما در این مثال با یک سیستم شبکه
ای از 20 ردیف کار می کنیم. بنابراین، هنگامی که
733
01:13:36,231 –> 01:13:42,570
من چیزی شبیه به این را می گویم، اگر رسوب خودمان
مانند یک، سه یا 1010 باشد، می گویم ما داریم
734
01:13:42,570 –> 01:13:46,710
در ردیف دهم و تماس دهم، نمی گویم
مقدار x برابر با 10 است. و
735
01:13:46,710 –> 01:13:51,440
مقدار y برابر با 10 است. زیرا در مورد
طراحی روی صفحه نیست، زیرا
736
01:13:51,440 –> 01:13:55,730
صفحه نمایش ما در واقع 500 پیکسل عرض دارد. اما دقیقاً
جایی که ما در شبکه هستیم، که این است
737
01:13:55,730 –> 01:14:02,050
در حال حاضر برای ما مهمتر، برابر
است با مقادیری مانند 1435. پس فقط
738
01:14:02,050 –> 01:14:07,700
فقط برای روشن کردن این موضوع برای هر کسی که ممکن
است گیج شده باشد. خوب، حالا برای نقاشی.
739
01:14:07,700 –> 01:14:11,560
بنابراین کمی سخت تر، فقط به دلیل آنچه که من نیز
ذکر کردم، این واقعیت است که ما به آن نیاز داریم
740
01:14:11,560 –> 01:14:16,230
برای تعیین فاصله بین هر مقدار x و هر مقدار
y. بنابراین وقتی در حال نقاشی هستیم
741
01:14:16,230 –> 01:14:20,210
چیزی در pygame، در گوشه سمت چپ بالای جسم
میکشد. پس اگر الف را رسم کنیم
742
01:14:20,210 –> 01:14:25,170
مکعب، ما آن را در بالا سمت چپ می کشیم.
بنابراین باید بفهمیم که x و y چیست
743
01:14:25,170 –> 01:14:30,210
وقتی روی صفحه می کشیم، مقدار برای هر مکعب
خواهد بود. پس من فقط تماس میگیرم
744
01:14:30,210 –> 01:14:36,010
این شکاف اینجاست که فاصله ما خواهد بود. و
سپس همان چیزی را داریم که خود نقطه w, y
745
01:14:36,010 –> 01:14:41,340
ردیف های خود نقطه و بعداً W و ردیف های پایین را
در برنامه خود تغییر می دهیم، اما می توانیم
746
01:14:41,340 –> 01:14:47,530
در واقع اکنون آن را تایپ کنید. مانند این 502 100 فقط برای
اینکه آن مجموعه را داشته باشیم. باشه پس خودت
747
01:14:47,530 –> 01:14:51,300
نقطه w، پاسخ تقسیم بر ردیف های خود نقطه. باز هم، این
همان کاری است که در زمان ما انجام می دادیم
748
01:14:51,300 –> 01:14:56,540
ترسیم شبکه برای تعیین فاصله بین
مقادیر x و y ما. خوب، ما می رویم
749
01:14:56,540 –> 01:15:01,290
بگو من برابر است با خود نقطه مکث. بله، من می
خواستم بگویم که کمی تایپ کردن در تابع ما است
750
01:15:01,290 –> 01:15:07,720
در اینجا یا در روش ما، فقط بگویید j dot self dot
paws one. بنابراین ما فقط می گوییم من، که
751
01:15:07,720 –> 01:15:13,840
مخفف ردیف j مخفف ستون است، مانند یک قرارداد
کلاسیک برای آن، به طوری که ما
752
01:15:13,840 –> 01:15:17,810
وقتی حرکت می کنیم مجبور نیستیم به تایپ مکث
صفر بعلاوه یک ادامه دهیم. خوب، پس بعدی، بعدی
753
01:15:17,810 –> 01:15:22,790
کاری که ما باید انجام دهیم این است که مستطیل را
رسم نکنیم، شما می خواهید بگویید pygame dot draw dot rect،
754
01:15:22,790 –> 01:15:28,540
مثل این. و سپس ما نیاز به یک سطح، ما نیاز
به پوشش خود رنگ، و سپس ما نیاز داریم
755
01:15:28,540 –> 01:15:32,220
یک راست و در اینجا کمی ریاضی است. من
فقط آن را تایپ می کنم و می گذرم
756
01:15:32,220 –> 01:15:43,090
دقیقاً چه می شود j ضرب در این بعلاوه
یک، به این سؤال پاسخ دهید. باشه،
757
01:15:43,090 –> 01:15:47,040
بنابراین دلیل اینکه من این بعلاوه های کوچک و این دو
منهای اینجا را دارم فقط برای این است که بتوانید
758
01:15:47,040 –> 01:15:52,980
وقتی مستطیل را می کشیم هنوز شبکه را می بینیم.
زیرا اگر قرار بود دقیقاً با آن رسم کنیم
759
01:15:52,980 –> 01:15:58,520
ابعاد این فاصله، سپس آنچه در نهایت اتفاق می
افتد این است که ما خطوط سفید را پوشش می دهیم
760
01:15:58,520 –> 01:16:02,480
از شبکه، و اگر نتوانید خطوط سفید را ببینید
کمی عجیب به نظر می رسد. پس همین است
761
01:16:02,480 –> 01:16:07,870
چرا من به علاوه یک، اینجا و منهای دو را
اضافه کرده ام تا در داخل دایره رسم شویم،
762
01:16:07,870 –> 01:16:10,920
یا داخل مربع کمی. و شما آن را در
یک ثانیه خواهید دید. پس من چه هستم
763
01:16:10,920 –> 01:16:15,850
انجام این کار این است که من مقدار I خود را ضرب می
کنم، که مانند ستون ردیف فعلی من خواهد بود
764
01:16:15,850 –> 01:16:20,490
با فاصله ای که باید به بعدی برسیم.
و سپس همان چیزی برای J. و سپس
765
01:16:20,490 –> 01:16:24,470
این یک منهای دو اضافه می کند، فقط برای این است که
مطمئن شویم که ما در داخل می مانیم. خیلی سریع
766
01:16:24,470 –> 01:16:29,150
به عنوان مثال سریع، اگر متوجه نشدید می
گویید ما در موقعیت 00 هستیم. پس r صفر و است
767
01:16:29,150 –> 01:16:34,060
r j صفر. میخواهیم بگوییم، من در مسافت
ضرب کردم، مثلاً فاصلهها را مثلاً 40.
768
01:16:34,060 –> 01:16:41,040
خوب، پس صفر ضرب در 40 00، ضرب در 40،
صفر، پس موقعیت ما 00 است. و این
769
01:16:41,040 –> 01:16:44,370
درست. زیرا اگر در اینجا در گوشه سمت چپ بالا
نقاشی میکشیم، و در موقعیت هستیم
770
01:16:44,370 –> 01:16:48,770
00، پس این همان جایی است که باید دوباره ترسیم
کنیم، اگر چیزی شبیه به صفر 10 بروید و شما
771
01:16:48,770 –> 01:16:54,810
آیا شما به سمت پایین حرکت می کنید، من حدس می زنم تا 10، شما
در حال حرکت به سمت پایین، می خواهید بگویید فاصله صفر مایل
772
01:16:54,810 –> 01:16:58,290
صفر، و شما می گویید 10، ضرب در مسافت،
فرض کنید 40 است، سپس حرکت می کنیم
773
01:16:58,290 –> 01:17:04,000
به آن موقعیت درست پایین صفحه نمایش.
پس این مستطیل x، y، عرض، ارتفاع است.
774
01:17:04,000 –> 01:17:08,440
باشه منطقی اکنون، کاری که باید انجام دهیم این است
که چه زمانی چشم ها را بکشیم. حالا می توانید
775
01:17:08,440 –> 01:17:10,830
این قسمت را رد کنید، اگر می خواهید، من
فقط آن را در آن کپی می کنم زیرا کمی
776
01:17:10,830 –> 01:17:14,180
ریاضی تا آنها را کاملاً در مربع
تراز کنند.
777
01:17:14,180 –> 01:17:21,100
اما بله، بنابراین ما می گوییم، اگر چشم ها می گویند
مرکز ما برابر است با فاصله دو تعدیل می کند،
778
01:17:21,100 –> 01:17:25,080
زیرا این مرکز، بدیهی است، یا بیشتر. بنابراین
ما می گوییم تقسیم بر دو است
779
01:17:25,080 –> 01:17:29,220
وسط مکعب ما خواهد بود. و ما می گوییم
شعاع، این اندازه چشم است
780
01:17:29,220 –> 01:17:33,060
شعاع خواهد بود. و سپس در اینجا کمی ریاضی
را مرور می کنیم. پس وسط دایره بزنید
781
01:17:33,060 –> 01:17:39,120
ضرب در فاصله به اضافه مرکز منهای شعاع زیاد
خواهد بود. و سپس ما در حال یافتن هستیم
782
01:17:39,120 –> 01:17:43,290
از x. و این دقیقاً مانند یک x تصادفی است که
من فقط با هشت قرار دادن آن تنظیم می کنم
783
01:17:43,290 –> 01:17:47,570
مثل هر بار پیکسل بالا می رود چون نمی
خواهم X را محاسبه کنم. دلم نمی خواهد
784
01:17:47,570 –> 01:17:51,730
انجام دادن آن. و سپس دو دایره را می کشم،
بر اساس دایره، وسط، دایره، وسط
785
01:17:51,730 –> 01:17:57,630
دو، و سپس شعاع و یک رنگ سیاه، یا رنگ
سفید، در واقع، آقا، یا نه، این است
786
01:17:57,630 –> 01:18:04,170
سیاه من گیج شدم. بسیار خوب. به هر حال، با تمام
آنچه گفته شد و انجام شد، و شما بچه ها
787
01:18:04,170 –> 01:18:08,510
احتمالا خیلی گیج شده، درست است؟ حالا، بیایید اجرا
کنیم و ببینیم آیا واقعاً چیزی در حال رخ دادن است یا خیر.
788
01:18:08,510 –> 01:18:13,060
و می توانید ببینید که ما یک مکعب در وسط صفحه داریم.
بله، پس این تمام کاری است که ما انجام داده ایم
789
01:18:13,060 –> 01:18:20,350
با این همه کدنویسی تا اینجا یک مکعب کشیده شده است.
بنابراین در واقع، نه کاملاً، زیرا ما هنوز،
790
01:18:20,350 –> 01:18:24,020
تنها کاری که اکنون باید انجام دهیم برای اینکه شروع
به حرکت صف و دیدن فشار دادن کلیدهایمان کنیم
791
01:18:24,020 –> 01:18:29,110
کار این است که فقط کمی در حلقه اصلی انجام دهید.
پس بیایید اکنون به حلقه اصلی برویم، و
792
01:18:29,110 –> 01:18:33,350
اینجا نگاهی بیندازیم که چه کاری باید انجام دهیم. بسیار خوب،
پس کاری که من می خواهم انجام دهم این است که من ساده هستم
793
01:18:33,350 –> 01:18:39,020
می خواهیم یک حرکت توقف را فراخوانی کنیم، که هر بار
که این حلقه اصلی اجرا می شود، شی مار ما است. و
794
01:18:39,020 –> 01:18:43,370
کاری که این به ما امکان می دهد انجام دهیم این است که
می خواهم قبل از خواندن پنجره شما با آن تماس بگیرم
795
01:18:43,370 –> 01:18:47,250
رفتن به آن روش و مار، آن را در حال رفتن
به بررسی هر بار که ما اجرا می شود
796
01:18:47,250 –> 01:18:51,090
حلقه، اگر یک کلید فشار داده شده است، اگر فشار داده شده
است، ما بر اساس آن حرکت می کنیم. و بخاطر داشته باش
797
01:18:51,090 –> 01:18:55,710
که در این حلقه حرکت در اینجا، تمام اشیاء را برای ما
جابجا می کند. بنابراین همه آن ها را به حرکت در می آورد
798
01:18:55,710 –> 01:19:00,350
اشیاء مکعبی و سپس ما فقط شبکه را ترسیم می کنیم
که همه چیز را در این ترسیم مجدد ترسیم می کند
799
01:19:00,350 –> 01:19:05,020
عملکرد، بنابراین فقط آن را نمایش می دهد و آن را روی صفحه
به روز می کند. پس بیایید اینجا را ببینیم. و
800
01:19:05,020 –> 01:19:11,390
یک خطا دریافت می کنیم که شی تاپلی قابل فراخوانی نیست.
ژست نقطه خود 0٪ که بعد وجود دارد. بسیار خوب،
801
01:19:11,390 –> 01:19:19,920
یک ثانیه بچه ها اوه، به این دلیل است که من از فر استفاده
کردم. خوب، پس ظاهراً من یک احمق هستم. و من فراموش کردم
802
01:19:19,920 –> 01:19:25,330
برای اضافه کردن علامت مساوی در اینجا. بنابراین موضوع
به سادگی این بود که این چیزی شبیه به این است،
803
01:19:25,330 –> 01:19:29,720
که من آن را به پرانتز تغییر دادم، در حالی که تنها کاری که
باید انجام می دادم این بود که یک علامت مساوی مانند بگذارم
804
01:19:29,720 –> 01:19:34,350
این. و اکنون ما باید آماده باشیم و کار کنیم. بنابراین
برای تکرار، خط در اینجا این است که
805
01:19:34,350 –> 01:19:40,300
مشکل این است، شما بچه ها احتمالاً این را وقتی دیدید که من
آن را کدنویسی کردم، صادقانه بگویم، در حال حرکت در مکعب است،
806
01:19:40,300 –> 01:19:44,500
نزدیک بالای برنامه است، تنها کاری که باید انجام
دهید این است که علامت مساوی را اضافه کنید
807
01:19:44,500 –> 01:19:50,240
بین این مانند براکت و مکث. بنابراین اکنون که آن را
اجرا می کنیم، می توانیم ببینیم که ما داریم
808
01:19:50,240 –> 01:19:57,320
یک جسم متحرک داشته باشیم و بتوانیم به بالا،
پایین، چپ، راست و غیره و غیره حرکت کنیم،
809
01:19:57,320 –> 01:20:02,060
مانند آن باشه. پس یک لحظه با آن بازی کنید.
و اکنون به اضافه کردن می پردازیم
810
01:20:02,060 –> 01:20:08,420
مکعبها. و ما در واقع تقریباً تمام شدهایم، فقط
باید آن جعبه پیام تابع اضافه کردن مکعب را اضافه کنیم
811
01:20:08,420 –> 01:20:12,090
کمی در حلقه اصلی، و آن تمام خواهد شد.
خوب، پس چه کاری باید انجام دهیم
812
01:20:12,090 –> 01:20:16,520
همه چیز عالی است، ما در حال حرکت هستیم، اما باید
چیزهایی را به مکعب خود اضافه کنیم، درست است؟
813
01:20:16,520 –> 01:20:21,220
مثل اینکه باید بازی را پیش ببریم. بنابراین برای انجام این
کار، ما می خواهیم آنچه را که می خواهم تولید کنیم
814
01:20:21,220 –> 01:20:25,810
برای نامیدن یک میان وعده تصادفی که قرار است آن را
روی صفحه قرار دهیم که مار ما بتواند آن را بخورد.
815
01:20:25,810 –> 01:20:33,690
بنابراین روشی که ما این کار را انجام می دهیم، فقط می خواهم
بگویم، موقعیت ها برابر است با آیتم، بدنه نقطه. و
816
01:20:33,690 –> 01:20:38,750
این آیتم، اوه، نباید آیتم باشد،
آیتم فقط یک شی مار خواهد بود.
817
01:20:38,750 –> 01:20:42,560
نمی دانم چرا یک آیتم را صدا می زنم، اما این
چیزی است که آن را می نامم. و ما به سادگی هستیم
818
01:20:42,560 –> 01:20:50,210
فقط قرار است مانند یک لیست جدید برابر با آن
لیست تنظیم شود. خوب، حالا ما می گوییم،
819
01:20:50,210 –> 01:20:51,830
خوب درخت
820
01:20:51,830 –> 01:20:53,460
T بزرگ،
821
01:20:53,460 –> 01:20:58,980
ما x برابر با محدوده تصادفی نقطه تصادفی را انجام
خواهیم داد. اگر هنوز تصادفی وارد نکرده اید،
822
01:20:58,980 –> 01:21:07,790
مطمئن شوید که این کار را انجام می دهید و y برابر است با
محدوده رند نقطه تصادفی. ردیف ها و ردیف ها، دوباره، باید
823
01:21:07,790 –> 01:21:16,300
جهانی باشد بنابراین بیایید مطمئن شویم که این کار در ردیف
های جهانی کار می کند. و بعد از این، ما می گوییم
824
01:21:16,300 –> 01:21:23,040
اگر من نمی دانم چگونه آن را تایپ کردم، اما طول
آن و من دارم یک کار فانتزی انجام می دهم
825
01:21:23,040 –> 01:21:33,160
در اینجا، و من در یک ثانیه توضیح خواهم داد که چه کاری انجام
می دهد.
826
01:21:33,160 –> 01:21:46,010
خوب، پس می دانم که من همین الان این مطالب را تایپ
کردم که احتمالاً اصلاً معنی ندارد، شما بچه ها،
827
01:21:46,010 –> 01:21:49,450
اگر برای مدتی از پایتون استفاده نمیکنید،
اما تقریباً چه نتیجهای دارد
828
01:21:49,450 –> 01:21:57,720
انجام دهید این است که ما یک لیست از یک لیست فیلتر شده دریافت
می کنیم. و ما قصد داریم ببینیم که آیا هر یک از اینها
829
01:21:57,720 –> 01:22:04,050
موقعیت ها مانند موقعیت فعلی
مار بسیار خوب است. پس چی
830
01:22:04,050 –> 01:22:08,100
ما انجام می دهیم این است که ما این را می گوییم،
می خواهیم مطمئن شویم که قرار نیست a قرار دهیم
831
01:22:08,100 –> 01:22:12,750
میان وعده در بالای مار. زیرا اگر ما یک مار واقعا
بلند داشته باشیم، احتمال آن اتفاق می افتد
832
01:22:12,750 –> 01:22:16,260
در واقع تا حدودی بالا است و وقتی برای اولین بار بازی
را کدنویسی کردم این کار را انجام ندادم. پس چی
833
01:22:16,260 –> 01:22:18,670
اتفاق افتاده است، زمانی که شما مار خود را در حال
حرکت در اطراف صفحه نمایش، به طور ناگهانی مار
834
01:22:18,670 –> 01:22:23,860
می تواند ظاهر شود، اما مانند دم مار
است که شما نمی خواهید. پس این چیه
835
01:22:23,860 –> 01:22:27,960
انجام می دهد، و فقط آن را تایپ کنید، واقعاً لازم
نیست آن را درک کنید، این است که ما می گوییم
836
01:22:27,960 –> 01:22:34,000
این یعنی یک تابع، Zed، و ما فقط بررسی می کنیم که
آیا این موقعیت نقطه Zed وجود دارد یا خیر
837
01:22:34,000 –> 01:22:39,690
برابر با x، y. بنابراین اگر برابر با x، y باشد، که موقعیتی
است که ما در اینجا، توسط آن ایجاد کردیم
838
01:22:39,690 –> 01:22:48,320
گرفتن دو عدد تصادفی، x و y، سپس باید دوباره
این کار را انجام دهیم. پس می گوییم،
839
01:22:48,320 –> 01:22:56,850
ادامه هید. و در غیر این صورت، ما به این شکل شکست میخوریم،
و سپس من فقط میخواهم به داخل برگردم
840
01:22:56,850 –> 01:23:02,140
تاپل، یا برای رفتن به جایی که می خواهید آن را x،
y صدا کنید. خوب، پس این گیج کننده است. اما ام،
841
01:23:02,140 –> 01:23:05,540
شما می توانید این کار را به روشی بسیار طولانی تر با
حلقه for انجام دهید، جایی که تقریباً حلقه می کنید
842
01:23:05,540 –> 01:23:11,910
از طریق هر موقعیتی در این لیست، آن را در برابر x
و y بررسی می کنید، می بینید که آیا یکسان است،
843
01:23:11,910 –> 01:23:16,050
اگر یکسان است، دوباره این حلقه را انجام دهید.
در غیر این صورت، شکسته می شوید و x، y،
844
01:23:16,050 –> 01:23:20,161
این تمام کاری است که ما در آنجا انجام می دهیم تا یک مجموعه
تصادفی تولید کنیم. و این جعبه پیام شما می خواهید
845
01:23:20,161 –> 01:23:25,430
آن را رها کنید و در اینجا، در حال حاضر، آنچه ما خوب
است. خوب، حالا که من این را ایجاد کردم، این
846
01:23:25,430 –> 01:23:29,490
عملکرد میان وعده تصادفی، کاری که باید انجام دهم این است که
باید از آن استفاده کنم. بنابراین من فقط قصد دارم ایجاد کنم
847
01:23:29,490 –> 01:23:33,430
یک شی جدید، و ما به این میان وعده می
گوییم. و با دیگری برابر خواهد شد
848
01:23:33,430 –> 01:23:38,030
مکعب، درست است، زیرا ما می خواهیم همان عملکرد را داشته
باشیم، می خواهیم آن را بسازیم، احتمالاً آن را بکشیم
849
01:23:38,030 –> 01:23:40,750
درست است، آن را به اطراف حرکت دهید، بنابراین
ما فقط می خواهیم یک شی مکعب جدید ایجاد کنیم
850
01:23:40,750 –> 01:23:46,710
به آن موقعیتی از یک سهام تصادفی بدهید، که قرار
است این پشته تصادفی را انتخاب کند. و
851
01:23:46,710 –> 01:23:51,140
پشته تصادفی، من معتقدم، اوه، یک ردیف در یک آیتم طول می
کشد. بنابراین کاری که ما می خواهیم انجام دهیم این است
852
01:23:51,140 –> 01:23:56,950
ما به آن ردیف های ردیف می دهیم، و فقط آیتم
خود را که s خواهد بود به آن می دهیم. و
853
01:23:56,950 –> 01:24:00,820
بعد از آن، چه چیز دیگری برای مکعب نیاز داریم،
فکر نمیکنم واقعاً به چیزی نیاز داشته باشیم
854
01:24:00,820 –> 01:24:04,380
در غیر این صورت، من فکر می کنم این تمام چیزی است که ما نیاز داریم،
اوه، من رنگ را تغییر می دهم. این همان چیزی است که من می خواهم
855
01:24:04,380 –> 01:24:09,660
انجام دادن. اما رنگش رو برابر با سبز تغییر دادم. بنابراین
قرمز، سبز، آبی، 255 برای سبز. به طوری که
856
01:24:09,660 –> 01:24:12,960
نشان داده می شود و روی صفحه قابل مشاهده است.
و حالا کاری که می خواهم در اینجا انجام دهم
857
01:24:12,960 –> 01:24:18,350
در حالی که لوپ است، می خواهم بگویم، میان وعده،
می روم بررسی کنم که آیا سر مار ماست
858
01:24:18,350 –> 01:24:24,510
به پشته برخورد کرده است. و اگر داشته باشد،
قسمت دیگری را به بدن مار اضافه می کنیم.
859
01:24:24,510 –> 01:24:27,740
در غیر این صورت، ما این کار را به درستی انجام نمی
دهیم، و سپس یک میان وعده جدید تولید می کنیم
860
01:24:27,740 –> 01:24:35,500
و به همین ترتیب، ما فقط میخواهیم بگوییم اگر نقطهای
بدن صفر نقطه مکث کند، و این در حال انجام است
861
01:24:35,500 –> 01:24:39,140
سر بودن، درست است، چون ما سفارش ندادهایم،
به آن براکتها نیازی ندارم
862
01:24:39,140 –> 01:24:43,890
به میان وعده نقطه مکث. و به یاد داشته باشید، این
هر دو شیء مکعبی هستند، این کار خوب است زیرا
863
01:24:43,890 –> 01:24:48,120
ما قرار است چندتایی باشیم سپس کاری که می خواهیم
انجام دهیم این است که به سادگی می گوییم s
864
01:24:48,120 –> 01:24:52,430
dot add cube که روشی است که در آنجا داریم
و هنوز آن را ننوشته ایم.
865
01:24:52,430 –> 01:24:58,250
و ما میخواهیم بگوییم که میانوعده اکنون برابر است با
خوب، یک مکعب جدید. بنابراین من فقط می خواهم این را کپی کنم
866
01:24:58,250 –> 01:25:03,960
و آن را در اینجا بچسبانید. بنابراین مطمئنم تمام کاری که ما انجام
می دهیم این است که یک مکعب جدید برای میان وعده تولید کنیم
867
01:25:03,960 –> 01:25:08,780
من می توانم چیزی را در آن قرار دهم، مانند تغییر
آن، اما این روشی است که کار می کند. باشه،
868
01:25:08,780 –> 01:25:11,660
بنابراین اکنون که این کار را انجام دادیم، باید بتوانیم
در اطراف صفحه حرکت کنیم و آن را دریافت کنیم
869
01:25:11,660 –> 01:25:16,540
خوراک مختصر. اما در اینجا باید به روش Add snack
کدنویسی کنیم که فکر می کنم اینجا یا دارم
870
01:25:16,540 –> 01:25:22,940
مکعب اضافه کنید بنابراین مکعب فرد بسیار ساده است،
فقط باید بفهمیم که کجا اضافه می کنیم
871
01:25:22,940 –> 01:25:26,710
آن میان وعده، یا هر جا که آن مکعب را اضافه کنم،
نمی دانم چرا مدام آن را میان وعده می نامم
872
01:25:26,710 –> 01:25:31,210
لیست. بنابراین کاری که میخواهیم انجام
دهیم این است که بفهمیم دم کجاست. و ما
873
01:25:31,210 –> 01:25:37,980
می خواهم آن را بعد از آن دم اضافه کنم. بنابراین
دم برابر است با بدن نقطه خود، یک منفی، همان
874
01:25:37,980 –> 01:25:42,080
آخرین عنصر در آن لیست، ما می گوییم
dx d y، که دوباره یک جهت خواهد بود
875
01:25:42,080 –> 01:25:45,040
استخراج، من فقط آن را کوتاه می کنم، آن را در اینجا
کوتاه می کنم، در طول x دنبال می شود، و
876
01:25:45,040 –> 01:25:53,480
نقطه دم در طول y، مانند این. حالا، دوباره، شما می توانید
این کار را در دو خط انجام دهید، من فقط دارم انجام می دهم
877
01:25:53,480 –> 01:25:57,140
اینجوریه چون سریعتره و حالا میخواهم
چیزی را در آن کپی کنم و ما فقط هستیم
878
01:25:57,140 –> 01:26:05,460
دقیقاً کاری را انجام دهید که این کار انجام می دهد. بسیار
خوب، این بسیار پیچیده به نظر می رسد. اما همه
879
01:26:05,460 –> 01:26:09,630
قرار است انجام شود این است که بررسی کنیم در حال
حاضر در چه جهتی حرکت می کنیم، مانند سر
880
01:26:09,630 –> 01:26:14,020
از صفحه کلید یا دم در واقع، مکعب در حال حرکت
است. بنابراین ما می توانیم آن را بسازیم
881
01:26:14,020 –> 01:26:19,380
مطمئن باشید که وقتی آن مکعب را اضافه می کنیم، می دانیم کجا آن
را اضافه کنیم. بنابراین برای اضافه کردن آن به سمت راست
882
01:26:19,380 –> 01:26:23,240
از مکعب سمت چپ مکعب بالای آن در زیر
آن، و میتوانیم آن را درست بدهیم
883
01:26:23,240 –> 01:26:28,590
جهت حرکت کردن خیلی زیاد
884
01:26:28,590 –> 01:26:34,380
کاری که ما اینجا انجام می دهیم این است که فقط می گوییم
که یک مکعب جدید به بدن خود اضافه می کنیم. و آن
885
01:26:34,380 –> 01:26:39,650
موقعیت اگر ما به سمت راست حرکت کنیم، که
و اینجا هستیم، زیرا x برابر یک است
886
01:26:39,650 –> 01:26:45,670
یک کمتر از موقعیت x آن دم است. بنابراین
هر مکعب آخر یک کمتر از
887
01:26:45,670 –> 01:26:49,910
که و این به این دلیل است که وقتی در حال حرکت به سمت راست
هستیم، یک مکعب فی نفسه به سمت راست اضافه نمی کنیم
888
01:26:49,910 –> 01:26:54,530
درست. و سپس ما فقط مکعب های همپوشانی خواهیم داشت
و شما نمی توانید آنها را درست ببینید.
889
01:26:54,530 –> 01:26:59,470
همین پایین اینجا، برای حرکت به پایین. این بدان
معناست که برای حرکت به چپ متأسف نیستید،
890
01:26:59,470 –> 01:27:05,820
یعنی باید مکعب را به سمت راست اضافه
کنیم. پس یک به علاوه دم اکسپدیشن
891
01:27:05,820 –> 01:27:11,290
از دم مکعب یا مار متاسفم، تا بتوانیم
آن را در موقعیت مناسب قرار دهیم،
892
01:27:11,290 –> 01:27:17,340
درست و همین جا با x و y، یا با y به طوری
که به سمت بالا یا پایین حرکت می کنیم
893
01:27:17,340 –> 01:27:23,130
وقتی آن را در بالا اضافه می کنیم. در غیر این صورت حرکت می کنیم
آن را در زیر قرار می دهیم. بنابراین من فقط از طریق آن تصادف کردم،
894
01:27:23,130 –> 01:27:26,700
از آنجا که بسیاری از کلمات مختلف بسیار مشابه
وجود دارد. به هر حال آنچه ما نیاز داریم
895
01:27:26,700 –> 01:27:32,650
do now این است که به سادگی جهت آن مکعب را طوری تنظیم کنیم که
اگر همین حالا آن را ترک کرده باشیم، آن را اضافه کنیم
896
01:27:32,650 –> 01:27:36,480
به این ترتیب، شما هیچ کلمه ای را جابجا نمی کنید،
فقط باید آن را به فعلی تغییر دهیم
897
01:27:36,480 –> 01:27:40,720
جهت آن دم بنابراین هرچه دم در حال حرکت
باشد، این مکعب جدید به آنجا می رود
898
01:27:40,720 –> 01:27:48,140
در آن جهت حرکت کند بنابراین میخواهیم بگوییم
بدن نقطهی خود، نقطهی منفی x برابر است
899
01:27:48,140 –> 01:27:55,200
dx و سپس همان چیز در اینجا، با این تفاوت که
ما فقط این را به y، سپس y تغییر می دهیم
900
01:27:55,200 –> 01:28:01,040
برابر d y است، و نه دوباره، فقط جایی است که
دم ما در لحظه فعلی در حال حرکت است.
901
01:28:01,040 –> 01:28:05,270
خوب، حالا که همه این کارها را انجام دادیم، وقت
آن است که ببینیم چه خطای نحوی دریافت می کنیم.
902
01:28:05,270 –> 01:28:12,840
نام بعدی، رز پارامتر و سراسری است. یک ثانیه. بنابراین
من در واقع هرگز حتی برخورد نکرده ام
903
01:28:12,840 –> 01:28:18,640
آن خطا، اوه، ردیفهای جهانی بهعنوان، بسیار خوب، پس بیایید
فقط آن را از ما بسازیم، و اجازه دهید این را تغییر دهیم
904
01:28:18,640 –> 01:28:27,290
برای یک ثانیه، ما فقط می توانیم از شر این خلاص شویم. و این
باید کار کند. ما میرویم آنجا. بنابراین در حال حاضر
905
01:28:27,290 –> 01:28:31,740
به این ترتیب حرکت کنید، تنها مشکل این است که
میان وعده ما روی صفحه نمایش تولید نمی شود.
906
01:28:31,740 –> 01:28:36,450
و من نمی دانم چرا دقیقاً این اتفاق می افتد. اوه،
به این دلیل است که ما میان وعده را نمی کشیم.
907
01:28:36,450 –> 01:28:42,870
این چیزی است که در حال حاضر، میان وعده جهانی در اینجا باور کنید
که این چیزی است که من آن را نامیده ام. و من فقط فقط هستم
908
01:28:42,870 –> 01:28:49,570
می خواهم بگویم اسنک دات رها، مثل آن. و من
باید به آن سطحی بدهم. پس بیایید یک سطح بدهیم
909
01:28:49,570 –> 01:28:57,130
بریم بدویم. و هوا به نام میان وعده خوب نیست،
زیرا من اینجا جهانی نبودم. پس بیایید
910
01:28:57,130 –> 01:28:58,620
با آن برو
911
01:28:58,620 –> 01:29:04,460
خوب، پس اکنون ما سستی روی صفحه داریم. و می توانید
ببینید که وقتی آن را جمع آوری می کنیم، ما
912
01:29:04,460 –> 01:29:10,740
آن مکعب به انتهای مار ما اضافه شود.
و این تقریباً بازی تمام شده است.
913
01:29:10,740 –> 01:29:16,460
بنابراین تنها کاری که اکنون باید انجام دهیم این است که روش
بازنشانی درست است. و سپس ما باید به سادگی بررسی کنیم
914
01:29:16,460 –> 01:29:19,490
مانند زمانی که ما یک مار بزرگ را از دست می دهیم، یک مار
دیگر می تواند از طریق خود از یکدیگر عبور کند. و
915
01:29:19,490 –> 01:29:23,880
می بینید که وقتی مار بتواند از طریق خودش بپزد،
ما یک خطای بزرگ داریم. بنابراین ما نیاز داریم
916
01:29:23,880 –> 01:29:28,030
تا مطمئن شویم که وقتی به خودمان ضربه می زنیم، دوست
داریم بازی را تمام کنیم و باید آن را بنویسیم
917
01:29:28,030 –> 01:29:34,730
با این روش نیز پیام دهید. بنابراین برای انجام این
کار، دوباره، من فقط می خواهم در این کپی کنم
918
01:29:34,730 –> 01:29:41,710
حلقه، و سپس ما به نوعی از رفتن از آنجا عبور می
کنیم. پس بیایید به اینجا حرکت کنیم. باشه پس
919
01:29:41,710 –> 01:29:46,270
برای x و محدوده، طول بدن نقطه s،
می گوییم s نقطه نقطه x، که می رود
920
01:29:46,270 –> 01:29:52,210
ما در حال چرخیدن از طریق هر مکعب در بدن مار
خود هستیم. ما در حال بررسی موقعیت هستیم
921
01:29:52,210 –> 01:29:59,420
در لیستی از تمام موقعیت ها قرار دارد. پس از آن کار می
کند. به این ترتیب ما داریم برخورد را بررسی می کنیم.
922
01:29:59,420 –> 01:30:03,550
اگر می خواهید این کار را انجام دهید. راه خودت، پیش برو.
اما این راهی است که من دوست دارم انجام دهم. باشه،
923
01:30:03,550 –> 01:30:07,980
بنابراین اکنون کاری که می خواهم انجام دهم این است که
فقط می خواهم مانند امتیاز آنها روی کنسول چاپ کنم.
924
01:30:07,980 –> 01:30:16,730
فقط برای اینکه بگم گل بزنم اوه و این
خواهد گفت که به علاوه طول s است
925
01:30:16,730 –> 01:30:21,250
بدن نقطه ای اما این باید به رشته
تبدیل شود مگر اینکه کاما بگذارم
926
01:30:21,250 –> 01:30:26,090
مانند آن پس بیایید این کار را انجام دهیم.
و سپس من به سادگی یک پیام را نمایش می دهم
927
01:30:26,090 –> 01:30:32,441
جعبه می گوید، جعبه پیام، مانند این کادر
زیر خط پیام، ما یک موضوع داریم و داریم
928
01:30:32,441 –> 01:30:36,150
محتوا. و ما این کار را در یک ثانیه انجام خواهیم
داد زیرا من هنوز واقعاً کدنویسی نکرده ام
929
01:30:36,150 –> 01:30:39,730
که و سپس ما می خواهیم مار خود را با انجام تنظیم مجدد
str تنظیم مجدد کنیم، و این در حال انجام است
930
01:30:39,730 –> 01:30:43,760
برای گرفتن یک موقعیت، که قرار است دوباره
موقعیت شروع ما باشد، 1010. و سپس ما هستیم
931
01:30:43,760 –> 01:30:47,170
رفتن از این حلقه برای شکستن. زیرا اگر یک بار با
هم برخورد کنیم، واقعاً اهمیتی نداریم
932
01:30:47,170 –> 01:30:53,630
اگر دوباره با آن برخورد کنیم و به عقب برگردیم
و با مار طولی بازی را ادامه دهیم
933
01:30:53,630 –> 01:30:59,860
یکی بسیار خوب، پس تنظیم مجدد ما در این مورد بسیار ساده
است. تمام کاری که من در این تنظیم مجدد انجام می دهم،
934
01:30:59,860 –> 01:31:06,220
آیا من فقط می خواهم از شر شرایط خود خلاص شوم، من
می خواهم از شر بدن خود خلاص شوم. و من فقط می خواهم
935
01:31:06,220 –> 01:31:09,322
تغییر مانند جهت x و جهت y. بنابراین
شاید با کپی کردن سریعتر باشد،
936
01:31:09,322 –> 01:31:15,840
و شما بچه ها فقط می توانید این را کپی کنید. بنابراین تقریباً تمام
کاری که من انجام می دهم این است که یک سر جدید تنظیم می کنم،
937
01:31:15,840 –> 01:31:19,890
که قرار است دوباره برابر با هر موقعیتی
باشد که چون می توانیم به آن داده ایم
938
01:31:19,890 –> 01:31:24,250
اگر بخواهیم آن را در موقعیت دیگری حرکت دهیم.
من بدن نقطه خود را پاک می کنم، که دوباره،
939
01:31:24,250 –> 01:31:31,160
یک متغیر کلاس در اینجا و سپس سر را اضافه می
کنم، چرخش ها را برابر با جهت خالی تنظیم می کنم
940
01:31:31,160 –> 01:31:35,880
x جهت صفر، y برابر یک تنظیم می شود که ما شروع به
حرکت می کنیم. و شما می توانید ببینید، این است
941
01:31:35,880 –> 01:31:39,140
تقریباً دقیقاً همان چیزی است که من اینجا تایپ کردم،
به جز اینکه من فقط چرخش ها را تنظیم مجدد می کنم
942
01:31:39,140 –> 01:31:44,110
فهرست خوب، پس اکنون که این کار را انجام دادیم، تنها
کاری که باید انجام دهیم جعبه پیام است. پس این
943
01:31:44,110 –> 01:31:49,441
یکی خیلی آسان است ام، شما می توانید اینجا را ببینید،
فقط اگر هنوز نگاه نکرده اید، من وارد می کنم
944
01:31:49,441 –> 01:31:54,251
t kinter، st K، و سپس از G kintra. جعبه پیام وارد کنید. حالا
به این صورت است که یک را ایجاد می کنید
945
01:31:54,251 –> 01:31:58,760
جعبه پیام در pygame. و اینگونه است که شما یکی را ایجاد
می کنید که در واقع در بالای آن ظاهر می شود
946
01:31:58,760 –> 01:32:03,910
صفحه نمایش و این شناور را در زیر آن دوست
ندارد یا فوراً ظاهر نمی شود
947
01:32:03,910 –> 01:32:08,360
اگر می خواهید آن را ببینید بنابراین فقط تماشای آن
برای استفاده در برنامه های دیگر بسیار مفید است
948
01:32:08,360 –> 01:32:16,460
همچنین، اگر این تابع را کپی کنید،
و سپس آن را به دیگری بکشید
949
01:32:16,460 –> 01:32:18,080
ویژگی های.
950
01:32:18,080 –> 01:32:24,120
بالاترین ستون درست است، کاری که این به سادگی انجام می دهد
این است که ما یک root oops ایجاد می کنیم، که اینطور نیست
951
01:32:24,120 –> 01:32:29,770
Root dot t gates مسیر برابر tk.tk، که قرار است
یک پنجره ورود TK جدید باشد، ما
952
01:32:29,770 –> 01:32:33,950
اطمینان حاصل کنید که این پنجره در بالای هر چیزی
قرار دارد. بنابراین اگر ما مانند یک دسته
953
01:32:33,950 –> 01:32:37,670
از پنجره های مختلف باز می شود، فقط در بالای صفحه قرار می
گیرد، این همان چیزی است که ما می خواهیم. من فقط دارم میرم
954
01:32:37,670 –> 01:32:42,090
به سادگی این پنجره اکنون نامرئی شود. و من توضیح خواهم
داد که چگونه این کار در یک ثانیه انجام می شود.
955
01:32:42,090 –> 01:32:47,560
و سپس از این جعبه پیام، آن را متد، کلاس،
هر چیزی چه می نامید. این می شود
956
01:32:47,560 –> 01:32:53,860
می گویند جعبه پیام نقطه نشان اطلاعات. و سپس
موضوع و محتوا را انجام می دهیم. و این فقط
957
01:32:53,860 –> 01:32:57,660
اگر بخواهید چند پارامتر دیگر نیز لازم
دارد، اما تقریباً این فقط نشان می دهد
958
01:32:57,660 –> 01:33:01,370
اطلاعات، با توجه به هر موضوعی که تایپ می کنیم
و هر محتوایی که داریم. و الان دارم میرم
959
01:33:01,370 –> 01:33:02,800
گفتن سعی کن
960
01:33:02,800 –> 01:33:05,420
نقطه گروه
961
01:33:05,420 –> 01:33:14,830
اینطوری نابود کن به جز گروه ها و از من نپرسید که
این چه کار می کند، زیرا صادقانه بگویم، من
962
01:33:14,830 –> 01:33:19,460
نمی دانم اما فقط کار می کند. بنابراین تقریباً کتابهای
پیام او را نشان می دهد. و من در واقع هستم
963
01:33:19,460 –> 01:33:24,420
مطمئناً روش کار این است که دائماً
در تلاش برای از بین بردن پیام است
964
01:33:24,420 –> 01:33:28,800
در کادر تا زمانی که در نهایت روی دکمه X کلیک کنید و
سپس در واقع می تواند، من فکر می کنم مانند آن است
965
01:33:28,800 –> 01:33:32,300
یه چیزی شبیه اون. بنابراین به هر حال، اینگونه است
که شما یک جعبه پیام ایجاد می کنید. و با آن ما
966
01:33:32,300 –> 01:33:41,910
تنها کاری که ما باید انجام دهیم این است که یک موضوع و مطالبی
را در داخل گمشده خود اضافه کنیم. و پیام ما خواهد بود
967
01:33:41,910 –> 01:33:48,440
دوباره بازی کن. بیایید برنامه را برای آخرین بار
اجرا کنیم و مطمئن شویم که همه چیز کار می کند.
968
01:33:48,440 –> 01:33:52,320
بنابراین ما به آنجا برویم. فقط باید
طول مارم را به اندازه کافی بزرگ کنم
969
01:33:52,320 –> 01:34:00,320
جایی که من واقعاً می توانم به خودم ضربه بزنم. خوب، و
ما می رویم. بنابراین تقریباً ما به یک برخورد کردیم
970
01:34:00,320 –> 01:34:05,820
خطا خطایی که من ویژگی ها را اشتباه نوشتم
چیست؟ این خطای دوست داشتنی است. اجازه دهید
971
01:34:05,820 –> 01:34:12,370
به اینجا برگرد صفات صفات را مشخص می کند. من حتی
این تابع را از کجا ساخته ام؟ من باید
972
01:34:12,370 –> 01:34:21,730
مسیر آن را پیمایش کردهایم که میرویم. و من معتقدم که این
درست است. بیایید این را امتحان کنیم تا من در واقع هستم
973
01:34:21,730 –> 01:34:27,190
فقط می روم ببینم آیا می توانم آنجا برویم. بسیار خوب، پس پیامی
دریافت می کنیم که می گوید افزونه را گم کرده اید و
974
01:34:27,190 –> 01:34:30,960
اتفاقاً دلیل مرگ من در آنجا این است که در حالی که به
سمت راست حرکت می کردم، به سمت چپ حرکت کردم
975
01:34:30,960 –> 01:34:35,750
از نظر فنی، سر مار من در واقع به قسمت دیگری
از آن برخورد کرد، بنابراین می گوید شما
976
01:34:35,750 –> 01:34:40,280
آخرین بازی دوباره و شما می توانید دقیقاً آنچه را
که می خواهید بگویید و سپس ما می توانیم ببینیم
977
01:34:40,280 –> 01:34:46,220
که پسر ما فقط به حرکت خود ادامه می دهد. بنابراین
به هر حال، اگر بچه ها می خواهید محتوای بیشتری ببینید
978
01:34:46,220 –> 01:34:50,840
مثل این، بروید کانال من را بررسی کنید که به نام فناوری
با تیم است و من یک سری ویدیو خواهم داشت
979
01:34:50,840 –> 01:34:54,830
آموزش مواردی مانند pygame و انجام مجموعه ای از آموزش
های پایتون قطعاً شما بچه ها این کار را خواهید کرد
980
01:34:54,830 –> 01:34:59,230
از طریق برخی از ویدیوهای من چیزهای زیادی یاد
بگیرید و اگر بروید بسیار سپاسگزار خواهم بود
981
01:34:59,230 –> 01:35:07,400
در آنجا و برخی از ویدیوهای من را لایک کنید و مشترک شوید.
982
01:35:07,400 –> 01:35:12,030
بچه ها چه خبر، در این مجموعه از ویدیوها به شما نشان
می دهم که چگونه Connect را برای آن برنامه ریزی کنید
983
01:35:12,030 –> 01:35:19,980
در پایتون تا پایان این ویدیوها، چیزی
شبیه به این خواهیم ساخت. این است
984
01:35:19,980 –> 01:35:26,760
یک اتصال دو نفره ساده برای بازی با گرافیک،
به نظر من این تمرین واقعاً خوبی است
985
01:35:26,760 –> 01:35:32,130
برای برنامه نویسان پایتون سطح مبتدی تا متوسط شما
که می خواهند مهارت های خود را بسازند.
986
01:35:32,130 –> 01:35:38,430
من فقط یک بازی را خیلی سریع تمام می کنم، فقط برای اینکه بتوانید
ببینید که چگونه این به طور کامل کار می کند. مثل تو
987
01:35:38,430 –> 01:35:43,320
می تواند از مورب ببیند، و می گوید بازیکن
یک مدرسه باد. خوب، به طور خاص تر،
988
01:35:43,320 –> 01:35:46,190
در این ویدیوی اول، میخواهیم کاری کمی سادهتر
انجام دهیم، و سپس به آن بسازیم
989
01:35:46,190 –> 01:35:51,290
که مبتنی بر گرافیک اتصال برای بازی. بنابراین
تا پایان این ویدیوی خاص، خواهید داشت
990
01:35:51,290 –> 01:35:57,150
چیزی که شبیه این است این یک خط فرمان اتصال برای بازی
است که در آن واقعاً به صورت دستی انجام می شود
991
01:35:57,150 –> 01:36:02,500
اعداد را تایپ کنید تا قطعات خود را رها کنید، یکی را در
آنجا می بینید، دو، و غیره. بسیار خوب، پس بیایید
992
01:36:02,500 –> 01:36:06,910
شروع به ساختن آن کنید فقط سریع، می خواهم اشاره
کنم که در پایتون برنامه نویسی خواهم کرد
993
01:36:06,910 –> 01:36:12,100
سه. و سپس با استفاده از Sublime Text 2 به عنوان ویرایشگر،
پیوندی به ویدیویی در مورد چگونگی ارسال کردم
994
01:36:12,100 –> 01:36:17,020
برای تنظیم این موارد در توضیحات بنابراین
یکی از اولین سوالاتی که از خودم پرسیدم
995
01:36:17,020 –> 01:36:21,050
زمانی که داشتم این بازی را می نوشتم بهترین
راه برای نشان دادن تابلو است. پس اگر بکشم
996
01:36:21,050 –> 01:36:26,350
در یک Connect for board بسیار سریع، می توانید
ببینید که شش سطر در هفت ستون است.
997
01:36:26,350 –> 01:36:31,960
و به نظر من، این ساختار عالی برای نمایش به عنوان یک
ماتریس در پایتون به نظر می رسد. پس همین است
998
01:36:31,960 –> 01:36:36,900
کاری که ما انجام خواهیم داد بنابراین ما تابعی
به نام ایجاد تابلو تعریف می کنیم. و این می پذیرد
999
01:36:36,900 –> 01:36:42,460
هر ورودی و سپس یک ماتریسی از تمام
صفرها با بعد شش را می سازیم
1000
01:36:42,460 –> 01:36:48,960
توسط هفت و برای کمک به ما در انجام این کار، بسته
ای به نام NumPy را وارد می کنیم. و اگر تو
1001
01:36:48,960 –> 01:36:52,960
قبلاً این را نصب نکردهاید، میتوانید یک پنجره
ترمینال را باز کنید و فقط pip را تایپ کنید
1002
01:36:52,960 –> 01:37:00,010
NumPy را نصب کنید. و همانطور که می بینید، من قبلا آن را دارم.
بنابراین ما قصد داریم از این به صورت زیر استفاده کنیم
1003
01:37:00,010 –> 01:37:06,450
ما میخواهیم بگوییم که برد برابر با صفر نقطه NumPy
است. و این ماتریسی از همه صفرها را می سازد،
1004
01:37:06,450 –> 01:37:11,410
که برای حالت اولیه و سپس ابعاد شش
سطر در هفت ستون خوب است. سرد.
1005
01:37:11,410 –> 01:37:16,610
و سپس ما فقط باید آن تخته را برگردانیم. و ما می توانیم
آزمایش کنیم تا مطمئن شویم که کار کرده است
1006
01:37:16,610 –> 01:37:24,160
با انجام کارهای زیر تابلو را ایجاد کنید و سپس تابلو را
چاپ کنید. و همانطور که می بینید، اگر من اجرا کنم
1007
01:37:24,160 –> 01:37:30,570
اوه نه چی شد همانطور که می بینید، اگر من آن
را اجرا کنم، ما در واقع این شش را داریم
1008
01:37:30,570 –> 01:37:34,520
با هفت ماتریس از تمام صفرها. بنابراین خوب به
نظر می رسد، ما شروع به نوشتن اصلی می کنیم
1009
01:37:34,520 –> 01:37:43,970
حلقه بازی در حال حاضر. بنابراین ما یک حلقه می نویسیم
که می گوید while not game over. و بنابراین ما
1010
01:37:43,970 –> 01:37:49,950
تا زمانی که این بازی بیش از متغیر false
باشد، حلقه اجرا خواهد شد. و تنها
1011
01:37:49,950 –> 01:37:54,220
راه درست شدن آن این است که کسی یک ردیف خارجی داشته باشد.
بنابراین باید بازی را مقداردهی اولیه کنیم
1012
01:37:54,220 –> 01:37:59,620
برای شروع نادرست بودن، مساوی نادرست است.
و تنها راهی که به درستی تغییر می کند
1013
01:37:59,620 –> 01:38:04,190
این است که کسی چهار عدد پشت سر هم بگیرد. بنابراین
در حال حاضر ما نیاز به ما نیز در حال رفتن به
1014
01:38:04,190 –> 01:38:09,850
میخواهیم بهسرعت هیئت مدیرهمان را قبل از شروع
بازی، مقداردهی اولیه کنیم، فقط برای این کار
1015
01:38:09,850 –> 01:38:14,560
چیزی برای قرار دادن قطعات در بنابراین ما هیئت مدیره
خود را داریم، ما بازی خود را روی متغیر داریم. و
1016
01:38:14,560 –> 01:38:16,500
اکنون می خواهیم بخواهیم بپرسیم
1017
01:38:16,500 –> 01:38:28,710
برای ورودی یک بازیکن و سپس ما نیز می
خواهیم در نهایت بتوانیم بپرسیم
1018
01:38:28,710 –> 01:38:35,880
درخواست ورودی بازیکن دو بنابراین این نوع
ما را به مشکل آه، چگونه متمایز کنیم هدایت می کند
1019
01:38:35,880 –> 01:38:39,050
بین اینکه آیا نوبت بازیکن یک باشد یا بازیکن
دو، بنابراین ما همیشه می خواهیم تعریف کنیم
1020
01:38:39,050 –> 01:38:43,380
متغیر دیگری در اینجا به نام turn، که فقط
به صفر مقداردهی اولیه میشود. پس چی
1021
01:38:43,380 –> 01:38:49,440
میخواهیم بگوییم اگر نوبت برابر با صفر
باشد، میخواهیم درخواست کنیم
1022
01:38:49,440 –> 01:38:56,220
ورودی یک بازیکن بسیار خوب، بنابراین در پایتون، تابعی
وجود دارد که یک تابع ساخته شده است به نام ورودی.
1023
01:38:56,220 –> 01:39:05,090
همانطور که می بینید، برای من آبی را برجسته می کند. بنابراین
ما میخواهیم بگوییم، انتخاب برابر است با ورودی.
1024
01:39:05,090 –> 01:39:13,590
و سپس ما می گوییم، بازیکن اول، انتخاب خود را
انجام دهید. بنابراین این چیزی است که بازیکن
1025
01:39:13,590 –> 01:39:17,830
قرار بود بگوید و سپس راهی که ما می خواهیم این بازی
را مقداردهی اولیه کنیم این است که می خواهیم
1026
01:39:17,830 –> 01:39:23,340
فقط بگویید می توانند بین صفر تا شش تایپ کنند.
بنابراین این چیزی است که بازیکن باید
1027
01:39:23,340 –> 01:39:30,960
دیدن. بنابراین اگر من این را بسازم، می بینید که با این
خطا مواجه می شویم. بنابراین این به دلیل Sublime Text است
1028
01:39:30,960 –> 01:39:36,550
این تابع ورودی را نمی پذیرد. بنابراین راه
حل من برای این بود که یک بسته را نصب کردم
1029
01:39:36,550 –> 01:39:41,250
در sublime به نام sublime RPL. در توضیحات
نحوه نصب لینک می گذارم
1030
01:39:41,250 –> 01:39:46,800
این. و من می توانم تابع ورودی را از طریق آن اجرا کنم.
بنابراین اکنون می توانید پلیر یک را ببینید
1031
01:39:46,800 –> 01:39:52,090
انتخاب شما سه، و در حال حاضر با آن ورودی کاری
انجام نمی دهد، اما می توانید ببینید
1032
01:39:52,090 –> 01:39:57,710
که از من این را می خواهد و من می توانم اینتر را تایپ
کنم. باشه باحال بنابراین ما نیز فقط می خواهیم
1033
01:39:57,710 –> 01:40:05,170
تا مطمئن شویم که انتخاب ما را به درستی ذخیره می کند. بنابراین
ما میخواهیم انتخاب را چاپ کنیم. و من هم همینطور
1034
01:40:05,170 –> 01:40:09,500
فقط میخواهم ببینم، میدانی، اگر عددی را تایپ
کنم، آیا واقعاً شماره را به من میدهد؟
1035
01:40:09,500 –> 01:40:13,440
یا رشته ای به من می دهد که نشان دهنده عدد باشد.
بنابراین من قصد دارم به چاپ نیز بپردازم
1036
01:40:13,440 –> 01:40:17,961
نوع انتخاب، من فقط می خواهم ببینم که چه چیزی به دست
می آوریم. بنابراین من می خواهم آن را دوباره اجرا کنم.
1037
01:40:17,961 –> 01:40:22,940
و همانطور که می بینید دوباره، اما ما قصد
داریم به splice mrpl برویم. و لینک در
1038
01:40:22,940 –> 01:40:29,270
توضیحات همانطور که گفتم فایل فعلی را اجرا کنید. بنابراین
به و همانطور که می بینید، می شود، اما
1039
01:40:29,270 –> 01:40:35,000
می گوید که یک رشته است، بنابراین ما می خواهیم
مطمئن شویم که در واقع یک عدد صحیح است.
1040
01:40:35,000 –> 01:40:41,980
بنابراین ما فقط می توانیم این را با یک ورودی احاطه کنیم.
و این باید کار کند. پس بیایید ببینیم، اجرا کنید
1041
01:40:41,980 –> 01:40:47,570
از نو. و همچنین می توانید این را از طریق خط فرمان اجرا
کنید. بنابراین اگر این را در ترمینال خود اجرا کنید،
1042
01:40:47,570 –> 01:40:53,190
به دایرکتوری که فایل در آن است بروید و پایتون
را تایپ کنید و سپس نام فایل را تایپ کنید
1043
01:40:53,190 –> 01:40:59,260
همچنین آن را اجرا کنید همانطور که من آن را در این RPL عالی
اجرا می کنم. بازیکن اول، انتخاب خود را انجام دهید
1044
01:40:59,260 –> 01:41:05,000
سه، تجزیه و تحلیل جالب می گوید سه، و می گوید
کلاس آن یک int است. بنابراین به نظر می رسد
1045
01:41:05,000 –> 01:41:11,090
برای من خوب است بنابراین اکنون می توانید نوعی انتخاب
را از کاربر ذخیره کنید. و شما همچنین می توانید
1046
01:41:11,090 –> 01:41:18,600
این را طوری ویرایش کنید که از شما بخواهد
یک عدد خاص را در یک عدد خاص بسازید،
1047
01:41:18,600 –> 01:41:23,150
اما ما فقط آن را به همین شکل رها می کنیم، تصور می کنیم
بازیکنان ما دستورالعمل ها را به درستی دنبال می کنند
1048
01:41:23,150 –> 01:41:27,340
اکنون. خوب، عالی، ما آن را داریم. و سپس
ما همیشه می خواهیم بتوانیم بپرسیم
1049
01:41:27,340 –> 01:41:32,830
برای ورودی بازیکن دو بنابراین این اتفاق
می افتد در غیر این صورت نوبت نیست
1050
01:41:32,830 –> 01:41:41,440
برابر با صفر سپس میخواهیم از بازیکن خود بخواهیم که ورودی را
بگذارد تا انتخاب برابر شود، و ما فقط این کار را میکنیم
1051
01:41:41,440 –> 01:41:48,510
این را از بالا کپی کنید و ما فقط باید این را
تغییر دهیم تا بگوییم پخش کننده برای شما
1052
01:41:48,510 –> 01:41:56,280
انتخاب. خیلی خوب. سرد. و حالا در پایان
نوبت، مهم نیست نوبت چه کسی باشد،
1053
01:41:56,280 –> 01:42:04,670
ما می خواهیم نوبت خود را یک افزایش دهیم، بنابراین نوبت
بعلاوه یا مثبت برابر با یک است. پس من درست میکنم
1054
01:42:04,670 –> 01:42:09,610
یک افزایش یافت. و سپس ما همچنین آنچه را که
می خواهیم انجام دهیم این است که هستیم
1055
01:42:09,610 –> 01:42:14,890
فقط این را زوج می کنم بنابراین ما از mod Division
استفاده می کنیم، بنابراین نوبت می شود
1056
01:42:14,890 –> 01:42:25,030
mod to turn برابر است تبدیل mod two. و این اساساً
باعث میشود که باقیمانده را بگیرد
1057
01:42:25,030 –> 01:42:30,210
هر چه نوبت ما بر دو تقسیم شود. بنابراین
این فقط بین صفر جایگزین می شود
1058
01:42:30,210 –> 01:42:35,880
و یکی. بنابراین بین نوبت یک بازیکن و نوبت
بازیکن دو متناوب خواهد شد. پس بیایید
1059
01:42:35,880 –> 01:42:44,590
فقط ببینید که آیا این به درستی کار می کند. بنابراین
ما این فایل فعلی بیلد پایتون را اجرا می کنیم،
1060
01:42:44,590 –> 01:42:48,110
بازیکن انتخاب شما را به بازیکن می کند تا
انتخاب شما را برای بازیکن یک، بسازید
1061
01:42:48,110 –> 01:42:51,940
انتخاب شما به اوه، خوب به نظر می رسد. این
بین بازیکن ما یا بازیکن ما متناوب است
1062
01:42:51,940 –> 01:42:57,220
دو سرد. بسیار خوب، و اکنون می خواهیم شروع
به ساخت عملکرد واقعی خود کنیم،
1063
01:42:57,220 –> 01:43:01,800
ما می خواهیم بتوانیم این انتخاب را درست در اینجا
انجام دهیم، در واقع یک قطعه را رها کنیم
1064
01:43:01,800 –> 01:43:09,380
به هیئت مدیره ما بنابراین من می خواهم یک تابع دیگر
را در اینجا تعریف کنم به نام قطعه دراپ تعریف.
1065
01:43:09,380 –> 01:43:15,110
و ممکن است چند تابع تعریف کنیم. بنابراین ممکن است
قطعه را رها کرده باشم و من فقط انجام خواهم داد
1066
01:43:15,110 –> 01:43:21,220
پاس در حال حاضر، شاید ما نیز مانند، مکان
معتبر است. بنابراین هر چیزی را بررسی می کند
1067
01:43:21,220 –> 01:43:29,950
شمارهای که بازیکن تایپ کرده است، بررسی میکنیم
که آیا این مکان معتبر است یا خیر.
1068
01:43:29,950 –> 01:43:36,691
ما همچنین تابعی به نام دریافت ردیف باز بعدی تعریف
خواهیم کرد و اینکه همه این توابع چگونه هستند
1069
01:43:36,691 –> 01:43:41,320
به شرح زیر با هم کار می کنند. بنابراین
همه چیز با انتخاب بازیکن شروع می شود.
1070
01:43:41,320 –> 01:43:46,590
صفر تا شش در اینجا نشان دهنده ستونی است که آنها می
خواهند قطعه خود را در آن رها کنند. بنابراین
1071
01:43:46,590 –> 01:43:53,390
شاید عنوان مناسب تری برای این باشد که
نشان دهنده ستون C باشد. خوب، بعد،
1072
01:43:53,390 –> 01:44:00,240
میخواهیم این ستون و تابلوی فعلی را که در اختیار
داریم برداریم و به آن منتقل کنیم
1073
01:44:00,240 –> 01:44:06,320
توابع مکان روی comm نحوه بررسی اینکه آیا ستون
آنها را بررسی می کنیم را مشخص می کند
1074
01:44:06,320 –> 01:44:17,820
انتخاب شده یک مکان معتبر است، ما تخته را به
سرعت چاپ خواهیم کرد.
1075
01:44:17,820 –> 01:44:25,460
بنابراین همانطور که می بینید، تصور کنید این صفر
است که ردیف اول، ردیف دوم را تا آخر پرتاب می کند
1076
01:44:25,460 –> 01:44:30,780
تا ردیف پنجم اینجا. و سپس این ستون
صفر، ستون اول، ستون دوم است،
1077
01:44:30,780 –> 01:44:38,040
و غیره ما به عنوان اولین شاخص خود از صفر شروع می کنیم. بنابراین
اگر ما می خواستیم بررسی کنیم که آیا ستون آن
1078
01:44:38,040 –> 01:44:42,360
کاربر انتخاب شده است، فرض کنیم که کاربر
همیشه یک عدد معتبر صفر را تایپ کرده است
1079
01:44:42,360 –> 01:44:47,030
تا شش، میخواستیم بررسی کنیم که آیا معتبر است یا نه،
تنها کاری که باید انجام دهیم این است که مطمئن شویم
1080
01:44:47,030 –> 01:44:55,090
این ردیف بالا برای آن ستون خاص پر نشده است.
بنابراین بیایید تصور کنیم که ما قرار می دهیم
1081
01:44:55,090 –> 01:45:01,080
آنهایی که برای بازیکن یک دو به دو و برای بازیکن
دو بچه ها. بنابراین اگر این ردیف بالا هنوز است
1082
01:45:01,080 –> 01:45:06,520
صفر برای ستون خاصی که انتخاب کردیم، سپس می
دانیم که برای ما اشکالی ندارد که رها کنیم
1083
01:45:06,520 –> 01:45:12,262
یک قطعه در آن ردیف، یا در آن
ستون، تا آخر پر نشده است.
1084
01:45:12,262 –> 01:45:16,900
پس این کار را بکن بنابراین این ردیف پنجم است. بنابراین تمام
کاری که میخواهم انجام دهم این است که بررسی کنم ببینم آیا
1085
01:45:16,900 –> 01:45:24,580
یا نه موقعیت در ردیف پنجم. و بیایید بگوییم،
می دانید، هر ستونی که انتخاب می کنیم،
1086
01:45:24,580 –> 01:45:30,820
صفر است. و اگر اینطور است، به این معنی است که یک
ستون هنوز آزاد است، اگر نیست، پس اینطور نیست
1087
01:45:30,820 –> 01:45:35,380
یک تخصیص، ما باید از کاربر بخواهیم چیز دیگری را امتحان
کند. بنابراین برای انجام آن، اجازه دهید فقط
1088
01:45:35,380 –> 01:45:44,940
انجام هیئت مدیره بنابراین ما می خواهیم به هیئت
مدیره برگردیم. و سپس، ردیف پنج است. و ستون
1089
01:45:44,940 –> 01:45:51,150
همان چیزی است که کاربر انتخاب کرده است. بنابراین اینجا،
بنابراین و ما می خواهیم مطمئن شویم که برابر است
1090
01:45:51,150 –> 01:45:58,570
برابر با صفر است. بنابراین اگر این درست است، پس ما خوب
کار می کنیم تا به آنها اجازه دهیم قطعه را رها کنند
1091
01:45:58,570 –> 01:46:04,060
آنجا. اگر این درست نیست، به این معنی است
که یک ستون تا آخر پر شده است. و یک چیز
1092
01:46:04,060 –> 01:46:08,600
توجه داشته باشم که احتمالاً در ویدیوی آینده تغییر
خواهد کرد این است که به نوعی درهم میآید
1093
01:46:08,600 –> 01:46:12,190
فقط با پرتاب این اعداد تصادفی
در اینجا، کمی کد کنید
1094
01:46:12,190 –> 01:46:15,480
در برنامه نویسی، به این اعداد جادویی می گویند،
شما به نوعی نمی دانید کجا هستند
1095
01:46:15,480 –> 01:46:22,190
آمده از بنابراین من آنها را در برخی از ویدیوهای
آینده این مجموعه پاک خواهم کرد. پس برگرد
1096
01:46:22,190 –> 01:46:26,411
تابلوی پنج، ستون برابر با صفر است. و این
فقط بررسی برای اطمینان از این است
1097
01:46:26,411 –> 01:46:31,030
ستون دارای یک شکاف خالی است. خوب، حالا که مکان
معتبر را دریافت کردیم، بیایید دریافت کنیم
1098
01:46:31,030 –> 01:46:38,110
سطر باز بعدی در آن ستون. بنابراین اگر به هیئت
مدیره خود فکر کنیم، این فقط بررسی است
1099
01:46:38,110 –> 01:46:46,260
برای دیدن اینکه چه زمانی آن را در آن عبارت رها می کنیم، ستون
صفر اینجا در سمت چپ، بررسی می کنیم که کدام را ببینید
1100
01:46:46,260 –> 01:46:52,610
ردیف از این، قطعه بر روی خواهد افتاد. بنابراین برای
انجام این کار، می خواهیم کمی سریع بنویسیم
1101
01:46:52,610 –> 01:46:53,901
حلقه بنابراین ما قصد داریم انجام دهیم
1102
01:46:53,901 –> 01:47:00,180
چهار
1103
01:47:00,180 –> 01:47:06,810
و ما گذشته را در تابلو و ستون را در این
یکی قرار می دهیم. بنابراین حلقه
1104
01:47:06,810 –> 01:47:12,980
ما می خواهیم اینجا بنویسیم برای محدوده نهایی ما
است. و من در واقع شروع به خلاص شدن خواهم کرد
1105
01:47:12,980 –> 01:47:20,350
برخی از این اعداد جادویی بنابراین من یک متغیر
جهانی به نام row را مقداردهی اولیه می کنم
1106
01:47:20,350 –> 01:47:27,130
شمردن. و اغلب Global’s فقط برای نشان دادن اینکه متغیرهای
ثابت هستند با حروف بزرگ نوشته می شوند
1107
01:47:27,130 –> 01:47:31,260
فقط برای اینکه نشان دهید متغیر غیر قابل تغییر هستند
را تغییر ندهید یا با حروف بزرگ بنویسید. پس عدد
1108
01:47:31,260 –> 01:47:37,750
از سطرهایی که داریم شش و تعداد ستون هایی
که داریم هفت است. بنابراین من می روم
1109
01:47:37,750 –> 01:47:46,880
برای ردیف ما در محدوده، بنابراین تعداد ردیف هایی که داریم،
بنابراین تعداد ردیف ها را انجام دهید. و ما می رویم
1110
01:47:46,880 –> 01:48:00,050
برای بررسی موقعیت تابلو، میخواهیم ببینیم
که آیا موقعیت خود را سوار میشویم یا ستون
1111
01:48:00,050 –> 01:48:08,260
برابر با صفر است، سپس می خواهیم آن ردیف را برگردانیم.
بنابراین اساساً اگر ردیف برابر با صفر باشد،
1112
01:48:08,260 –> 01:48:13,340
بنابراین تصور کنید که کل این تابلو را
با یک و دو پر می کنیم. اگر شکاف هنوز است
1113
01:48:13,340 –> 01:48:18,070
صفر، یعنی هنوز خالی است. بنابراین ما می خواهیم
اولین نمونه ای که هست را برگردانیم
1114
01:48:18,070 –> 01:48:26,890
خالی. بنابراین این R قرار است از صفر تا تعداد
ردیف منهای یک بشمارد. و ما می رویم
1115
01:48:26,890 –> 01:48:33,070
اولین موردی که برابر با صفر است را برگردانید. خوب،
حالا ما ردیف باز بعدی را دریافت کردیم. و
1116
01:48:33,070 –> 01:48:36,430
سپس در نهایت، کاری که ما می خواهیم انجام دهیم
این است که قطعه را رها کنیم. بنابراین این به
1117
01:48:36,430 –> 01:48:42,560
تابلو، سطر و ستون را وارد کنید. و سپس
ما نیز چیزی اضافه خواهیم کرد، ما فقط
1118
01:48:42,560 –> 01:48:49,180
آن را قطعه نامید. بنابراین، چه بازیکن یک یا
دو باشد، پس همه اینها در حال رفتن هستند
1119
01:48:49,180 –> 01:49:00,200
انجام دهید رفتن به تخته، سطر، ستون برابر با
قطعه است. بنابراین ما می خواهیم آن را پر کنیم
1120
01:49:00,200 –> 01:49:04,920
تخته با هر قطعه ای که بازیکن به تازگی رها کرده
است. پس بیایید همه اینها را کنار هم بگذاریم
1121
01:49:04,920 –> 01:49:12,110
در حلقه ما بنابراین ابتدا ستون را دریافت کردیم. و
اکنون می خواهیم بررسی کنیم که آیا مکان معتبر است یا خیر
1122
01:49:12,110 –> 01:49:19,460
از تخته در ستون. و سپس می توانیم شروع به گرفتن
ردیف خالی بعدی کنیم. بنابراین ردیف برابر است
1123
01:49:19,460 –> 01:49:26,180
ردیف باز بعدی را دریافت کنید. و این کار به تابلو و ستون نیز وارد
می شود. بنابراین ورودی بعدی را در ردیف دریافت کنید
1124
01:49:26,180 –> 01:49:33,320
ستون تخته و سپس ما در نهایت قطعه را می اندازیم.
و ما قصد داریم آن را وارد کنیم
1125
01:49:33,320 –> 01:49:40,300
تخته، ردیف، ستون، و سپس برای بازیکن
یک، مهره ها فقط یک. و ما می رویم
1126
01:49:40,300 –> 01:49:48,600
برای کپی کردن این به بازیکن دو نیز چون
بازیکن یک و بازیکن دو، عملکرد
1127
01:49:48,600 –> 01:49:54,680
کاری که آنها انجام می دهند یکسان است، اما ما فقط
باید قطعه را در اینجا به دو تغییر دهیم.
1128
01:49:54,680 –> 01:50:02,030
بنابراین هرازگاهی در نهایت، پس از رفتن پخش
کننده، احتمالاً می خواهیم چاپ کنیم
1129
01:50:02,030 –> 01:50:10,520
تابلو، بنابراین ما تابلو را در اینجا چاپ می کنیم.
و حالا ببینیم چه اتفاقی می افتد. بنابراین، ابزار
1130
01:50:10,520 –> 01:50:18,190
برگه ساخت، متأسفیم، فایل کارت اجرای پایتون بیشتر IPL
را ارائه دهید. بنابراین بازیکن یک انتخاب، ما هستیم
1131
01:50:18,190 –> 01:50:24,130
قطعه مان را درست وسط می اندازیم. بنابراین
در 0123 ستون سوم است. پس سه.
1132
01:50:24,130 –> 01:50:31,360
چی شد؟ چرا پر نشد؟ بیایید بفهمیم دقیقاً
چه اشتباهی در آنجا رخ داده است.
1133
01:50:31,360 –> 01:50:40,620
بنابراین باید برد را به روز می کرد، اما به دلایلی
این کار را نکرد. پس بیایید ببینیم. باشه،
1134
01:50:40,620 –> 01:50:49,220
میبینم اینجا چه غلطی کردم بنابراین من به طور تصادفی در
اینجا دو علامت مساوی قرار دادم. و آنچه ما هستیم
1135
01:50:49,220 –> 01:50:53,960
واقعاً تلاش برای انجام یک تکلیف است، ما سعی
نمی کنیم C ستون ردیف تخته را تنظیم کنیم
1136
01:50:53,960 –> 01:50:59,620
موقعیت برابر با آن است. بنابراین من آن را تعیین نکردم. بنابراین
اکنون باید کار کند. بنابراین ما دوباره اجرا می کنیم
1137
01:50:59,620 –> 01:51:03,730
این. بنابراین ابزارها، PL اولیه،
1138
01:51:03,730 –> 01:51:11,200
پایتون، در فایل فعلی، پخش کننده یک، انتخاب
خود را انجام دهید و می گوید به سه وسط بروید،
1139
01:51:11,200 –> 01:51:15,360
بازیکن برای انتخاب شما، ما سه مورد را نیز انجام خواهیم
داد. یکی را بازی کنید، انتخاب خود را انجام دهید. و
1140
01:51:15,360 –> 01:51:19,590
همانطور که می بینید، یک مشکل ما در حال حاضر
این است که قطعات در حال شروع هستند
1141
01:51:19,590 –> 01:51:24,910
بالا و پایین رفتن و بنابراین دلیل این امر
این است که کنوانسیون ما این بود که بگوییم
1142
01:51:24,910 –> 01:51:34,320
این شاخص 00 بود، اما در توده واقعی، آنها این را
دقیقاً در اینجا به عنوان شاخص 00 نشان می دهند.
1143
01:51:34,320 –> 01:51:40,910
بنابراین من فقط می خواهم یک تابع اضافی
به نام برد چاپ اضافه کنم. و همه اینها
1144
01:51:40,910 –> 01:51:47,200
قرار است انجام شود تغییر جهت است. به طوری
که آنچه ما می بینیم در واقع همان روز است
1145
01:51:47,200 –> 01:51:52,010
به همان شکلی که انتظار داریم شاهد
ساخت یک تخته Connect Four باشیم
1146
01:51:52,010 –> 01:51:56,400
پایین به بالا بنابراین تخته چاپ کنید، و ما فقط باید
در تابلو عبور کنیم. و همه ما داریم می رویم
1147
01:51:56,400 –> 01:52:06,650
انجام این کار این است که یک فرمان در dumpee وجود دارد. بنابراین دستور
این است که منظورم این است، فقط آن را به خاطر بسپارید، همین است
1148
01:52:06,650 –> 01:52:15,540
تلنگر نقطه NP. و زمانی که تخته را انجام دهید،
و سپس باید آن را برگردانید، باید مشخص کنید
1149
01:52:15,540 –> 01:52:23,680
محور صفر محور، میخواهیم تخته را
روی محور x بچرخانیم. به طوری که
1150
01:52:23,680 –> 01:52:29,200
باید آن را وارونه سمت راست دوباره به بالا. بنابراین
به جای انجام چاپ تخته در اینجا، ما هستیم
1151
01:52:29,200 –> 01:52:36,730
اکنون تابع چاپ جدید خود را فراخوانی می کنیم. بنابراین
تخته چاپ کنید، و تخته. و ما همچنین می توانیم
1152
01:52:36,730 –> 01:52:45,660
اگر بخواهیم چاپ کنیم مهم نیست این کار را اینجا انجام
دهید، حدس میزنم با چاپ شروع کنیم یا هر چیز دیگری.
1153
01:52:45,660 –> 01:52:53,010
خوب، حالا بیایید دوباره آن را اجرا کنیم. ابزارها،
PL Python اولیه، در فایل فعلی، پخش کننده خواهد ساخت
1154
01:52:53,010 –> 01:53:00,080
انتخاب شما 333. و همانطور که می بینید،
اکنون با یک و دو ساخته می شود.
1155
01:53:00,080 –> 01:53:05,090
همان طور که ما انتظار داریم. بسیار خوب، این تمام کاری است که من
برای این ویدیو انجام خواهم داد. در ویدیوی بعدی، من هستم
1156
01:53:05,090 –> 01:53:09,050
به نوعی قابلیت بررسی بردها با
این موارد را ایجاد می کند
1157
01:53:09,050 –> 01:53:13,650
و دو تا و سپس در ویدیوی بعدی، احتمالاً پس از
آن، ما در واقع گرافیک را اضافه خواهیم کرد،
1158
01:53:13,650 –> 01:53:19,070
بنابراین مطمئن شوید که برای آن ویدیوها هماهنگ هستید.
با تشکر از تماشای این پسر که دیده شده است
1159
01:53:19,070 –> 01:53:26,110
بیت بچه ها چه خبر و به ویدیوی دوم در برنامه
نویسی اتصال پایتون خارجی خوش آمدید
1160
01:53:26,110 –> 01:53:32,670
سلسله. در پایان آخرین ویدیو، چیزی شبیه به
این داشتیم. این فقط یک ساده است
1161
01:53:32,670 –> 01:53:40,080
اتصال برای بازی مبتنی بر خط فرمان. و یک
مشکل با این این است که اگر من واقعا
1162
01:53:40,080 –> 01:53:44,990
این بازی را برد، بنابراین همانطور که می بینید،
من فقط با بازیکن یک پایین برنده شدم. بازی
1163
01:53:44,990 –> 01:53:49,010
اصلا به من اجازه نمی دهد بدانم که برنده شدم. بنابراین
ما باید آن عملکرد را پیاده سازی کنیم. بنابراین
1164
01:53:49,010 –> 01:53:52,860
ما یک تابع به نام تعریف می کنیم
1165
01:53:52,860 –> 01:53:56,980
حرکت برنده
1166
01:53:56,980 –> 01:54:04,290
و ما می خواهیم که آن تخته و سپس آخرین
قطعه ای که رها شده است را بگیریم.
1167
01:54:04,290 –> 01:54:08,650
بنابراین حرکت برنده، دسته ای از راه های مختلف
برای اجرای آن وجود دارد. و راهی که هستیم
1168
01:54:08,650 –> 01:54:13,300
انجام دادن کارآمدترین روش نیست، اما احتمالاً ساده
ترین روشی است که در آن توضیح داده می شود
1169
01:54:13,300 –> 01:54:17,680
یک ویدیو بنابراین به همین دلیل است که آن را انتخاب می
کنم. اما ما به صورت دستی همه را بررسی می کنیم
1170
01:54:17,680 –> 01:54:23,700
مکان های مختلف ممکنی که می توانید برنده شوید و
به آنها متصل شوید. بنابراین تمام افقی ها همه
1171
01:54:23,700 –> 01:54:30,320
عمودی ها و تمام مورب ها، و بررسی کنید که
آیا ترکیب برنده ای وجود دارد یا خیر
1172
01:54:30,320 –> 01:54:34,240
تخته. و چون ما این کار را بعد از هر نوبت انجام
می دهیم، اولین مورد را انتخاب می کنیم
1173
01:54:34,240 –> 01:54:40,240
نمونه ای از آن ترکیب برنده، بنابراین ما می دانیم
که چه کسی برنده شد. احتمالا عملی تره
1174
01:54:40,240 –> 01:54:46,490
راه این است که فقط فضاهایی را که آخرین قطعه
رها شده است بررسی کنید. اما این
1175
01:54:46,490 –> 01:54:50,300
زمانی که قبلا این کار را انجام می دادم، کد کمی آشفته
تر شد، بنابراین می خواهم این کار را انجام دهم
1176
01:54:50,300 –> 01:55:01,450
مسیر. بنابراین، ابتدا همه مکانهای افقی را بررسی میکنیم
و برای انجام این کار، این کار را انجام میدهیم
1177
01:55:01,450 –> 01:55:09,420
یک حلقه داشته باشید که روی ستون ها تکرار می شود. بنابراین
برای مشاهده در محدوده رنگ، تعداد ستون. و
1178
01:55:09,420 –> 01:55:14,700
بنابراین ما یک تعداد ستون را در اینجا تعریف
کردیم. و این هفت است. و یک چیز، من فکر می کنم
1179
01:55:14,700 –> 01:55:18,830
یک چالش جالب برای شما بچه ها برای امتحان کردن است
که فکر نمی کنم بازی من قادر به انجام آن باشد
1180
01:55:18,830 –> 01:55:24,010
برای انجام در این نقطه از زمان بسیار خوب طراحی
شده است مانند Kinect برای بازی، شما می توانید
1181
01:55:24,010 –> 01:55:29,490
برای تغییر این اعداد بنابراین میتوانستم آن را طوری تغییر
دهم که بگویم، مثلاً 12 یا چیزی مشابه. و این
1182
01:55:29,490 –> 01:55:34,111
دوست داشتن هشت در بازی هنوز هم قادر به کار،
شما هنوز هم مانند یک Kinect برای
1183
01:55:34,111 –> 01:55:39,070
بازی، اما فقط یک تخته بزرگتر. بنابراین این یک نوع راه
جالب برای اطمینان از اینکه شما چنین کرده اید است
1184
01:55:39,070 –> 01:55:44,220
چیزها را به روشی هوشمندانه طراحی کرده اید، جایی که
شما فقط این اعداد تصادفی مانند اعداد جادویی را ندارید
1185
01:55:44,220 –> 01:55:49,080
در همه جا ظاهر می شود، من در واقع قصد دارم
این تعداد سریع ردیف را تغییر دهم،
1186
01:55:49,080 –> 01:55:54,860
و تعداد ستونها، فقط به این دلیل که سعی
میکنم اعداد جادویی را حذف کنم
1187
01:55:54,860 –> 01:56:03,220
می تواند و این را تا تعداد ردیف، منهای یک پاک می کند.
بنابراین این آخرین ردیف، شاخص سمت چپ است
1188
01:56:03,220 –> 01:56:09,070
از ردیف آخر خوب، بازگشت به حرکت برنده. بنابراین
می خواهیم مکان های افقی را بررسی کنیم
1189
01:56:09,070 –> 01:56:13,910
برای برد بنابراین ابتدا روی تمام ستون
ها حلقه می زنیم. و سپس ما نیز هستیم
1190
01:56:13,910 –> 01:56:20,630
یک حلقه روی تمام ردیف ها وجود دارد. و آنچه
این حلقه قرار است به پایان برسد این است
1191
01:56:20,630 –> 01:56:27,860
نه تک تک موقعیتها، بلکه روی تمام
موقعیتهای شروع ممکن برای یک افقی
1192
01:56:27,860 –> 01:56:34,760
چه زمانی. بنابراین اگر به تابلوی خود به صورت افقی فکر کنیم چه
زمانی میتوان این نقطه، این نقطه، این را شروع کرد
1193
01:56:34,760 –> 01:56:41,320
این نقطه را فشار دهید، نمیتواند از اینجا شروع شود،
زیرا نمیتوانید از این مکان بیشتر بروید.
1194
01:56:41,320 –> 01:56:47,990
بنابراین این آخرین ستون ما، ستون سوم از نظر
شاخص ها، و سپس به سمت بالا، ما است
1195
01:56:47,990 –> 01:56:54,540
می تواند تمام راه را به سمت بالا به صورت عمودی برود،
زیرا می تواند تا نیمه متاسفم، شما نمی توانید
1196
01:56:54,540 –> 01:56:59,110
واقعاً می بینیم، اما ما در حال ساخت جعبه ای در اطراف
آن نیمه جایی است که مکان های شروع ما است
1197
01:56:59,110 –> 01:57:07,110
می تواند برای این اول باشد. این اولین بررسی است، بنابراین
ما در حال تکرار روی ستون ها هستیم. بنابراین می تواند
1198
01:57:07,110 –> 01:57:11,920
فقط تعداد ستون ها باشد، و سپس باید سه
ستون را کم کنیم، زیرا سه تا از آنها
1199
01:57:11,920 –> 01:57:18,520
ستون ها در واقع نمی توانند کار کنند. بنابراین ما سه تا از آن
یکی را کم می کنیم و سپس تمام ردیف ها را کم می کنیم
1200
01:57:18,520 –> 01:57:24,940
می تواند کار کند. پس این کاملاً خوب است. بنابراین
اکنون می خواهیم تمام مکان های ردیف خارجی را بررسی کنیم.
1201
01:57:24,940 –> 01:57:35,220
بنابراین این چیزی شبیه به آن خواهد بود. بنابراین
اگر تخته ردیف، ستون، پس این است
1202
01:57:35,220 –> 01:57:48,720
فقط ایندکس کردن ماتریس برابر است با قطعه و تخته، ردیف،
c به علاوه یک. بنابراین این در حال گرفتن است
1203
01:57:48,720 –> 01:57:53,350
بعدی در سمت راست، بنابراین ما به صورت افقی بررسی
می کنیم، بنابراین فقط ستون ها را تغییر می دهیم
1204
01:57:53,350 –> 01:58:04,810
برابر است با قطعه و تخته، C ما به علاوه
دو برابر است با قطعه. و سپس در نهایت،
1205
01:58:04,810 –> 01:58:18,590
و تخته، این چهارمین قطعه در تخته ردیف
است، c به اضافه سه برابر است، سپس
1206
01:58:18,590 –> 01:58:25,110
ما به حقیقت باز خواهیم گشت بنابراین، ما میخواهیم
اولین باری که این اتفاق میافتد، واقعیت را بازگردانیم
1207
01:58:25,110 –> 01:58:30,130
قرار نیست این عبارت را برگرداند،
زیرا این عبارت برمیگردد
1208
01:58:30,130 –> 01:58:35,820
این حلقه قبل از اینکه بخواهیم. بسیار خوب، و بنابراین
آنچه دوباره آن را به درستی خواند، این نیست
1209
01:58:35,820 –> 01:58:40,280
بهترین راه احتمالا برای نوشتن آن، می دانید، ما این
اعداد جادویی را داریم که ظاهر می شوند. اما این
1210
01:58:40,280 –> 01:58:44,700
فقط یک راه بسیار ساده برای بررسی همه آن مکان
های افقی. درست. پس بیایید انجام دهیم
1211
01:58:44,700 –> 01:58:46,531
مشابه با مکان های عمودی.
1212
01:58:46,531 –> 01:58:56,340
مکان ها برای چه زمانی و در واقع قبل از انجام این
کار، اجازه دهید فقط بررسی کنیم که آیا می توانیم
1213
01:58:56,340 –> 01:59:02,020
برخی از عملکردها را در این مورد دریافت کنید. بنابراین
در صورت جعل و ما نیز یک بیانیه if می نویسیم
1214
01:59:02,020 –> 01:59:17,240
که می گوید اگر برنده حرکت کنید. و بنابراین ما می
گوییم، فورد و سپس قطعات یک. بنابراین اگر آن است
1215
01:59:17,240 –> 01:59:31,250
حرکت برنده، ما فقط چاپ می کنیم. بازیکن
یک برنده می شود تبریک میگم خوب، بیایید
1216
01:59:31,250 –> 01:59:35,460
فقط ببینید که آیا با افقی سریع کار
می کند یا خیر. و سپس ما نیز می خواهیم
1217
01:59:35,460 –> 01:59:43,290
برای اینکه این بازی over متغیر را روی true تنظیم کنید، زیرا
اگر حرکت برنده باشد، بازی در واقع تمام می شود،
1218
01:59:43,290 –> 01:59:53,450
پس بیایید آنقدر سریع اجرا کنیم. پایتون
در فایل فعلی خوب، همه شما را بسازند
1219
01:59:53,450 –> 01:59:55,440
انتخاب سه
1220
01:59:55,440 –> 02:00:02,070
آری می گوید بازیکن یک برنده می شود. و ما حدس می زنم که
من به طور تصادفی تخته را با یک بار اضافی چاپ کردم
1221
02:00:02,070 –> 02:00:06,800
زمان. اما می دانید، ما آن عملکرد را دریافت کردیم، آن
خط افقی را بررسی کرد. بنابراین من فکر می کنم
1222
02:00:06,800 –> 02:00:14,670
به نظر خوب میاد. بدیهی است که شما می خواهید
این موارد را کاملاً آزمایش کنید. اما برای
1223
02:00:14,670 –> 02:00:19,900
به خاطر زمان این ویدیو، من فقط شروع
به رفتن به سمت افقی می کنم
1224
02:00:19,900 –> 02:00:26,880
موقعیت عمودی بنابراین به این فکر کنید که مکان های عمودی از کجا می
توانند شروع شوند. می توانید شروع کنید، به شما نیاز داریم
1225
02:00:26,880 –> 02:00:31,840
چهار به بالا تا بتواند شروع شود، تقریباً
برعکس افقی است. خیلی عمودی
1226
02:00:31,840 –> 02:00:38,780
می تواند تمام این بخش پایین را شروع کند، زیرا ما به چهار
تا بالا نیاز داریم، اما می تواند در هر ستونی باشد،
1227
02:00:38,780 –> 02:00:46,500
بنابراین بسیار شبیه به آخرین حلقه خواهد
بود، اما ما باید ردیف را تغییر دهیم.
1228
02:00:46,500 –> 02:00:54,801
بنابراین در یک ثانیه، Shift Tab را خواهیم دید، ما
باید به جای تعداد ستون ها تغییر دهیم.
1229
02:00:54,801 –> 02:00:59,840
با انجام C و تعداد ستون منهای سه، باید
تعداد سطرها را منهای سه انجام دهیم،
1230
02:00:59,840 –> 02:01:05,050
چون نمی توانیم از ردیف بالا شروع کنیم. و سپس
ما می خواهیم که این مزایا را اضافه کنیم
1231
02:01:05,050 –> 02:01:19,150
به سطرها در واقع، سطر بعلاوه یک، سطر بعلاوه
دو. و آخرین مورد Rho به علاوه سه، و
1232
02:01:19,150 –> 02:01:25,270
سپس یک بار دیگر آن را بنویسید، مثلاً ببینید آیا می
توانید بفهمید که چگونه این، اینها را دستکاری کنید
1233
02:01:25,270 –> 02:01:32,070
معادلاتی که برای هر طول تخته کار می کنند. و همچنین،
بیایید بگوییم شاید بخواهیم بسازیم
1234
02:01:32,070 –> 02:01:36,390
یک بازی که شبیه Connect six بود، مثل اینکه، برای
شما بچه ها امتحان جالبی خواهد بود
1235
02:01:36,390 –> 02:01:41,980
این توابع را طوری بسازید که می توانند
هر تعداد ستون، هر تعداد ردیف باشند
1236
02:01:41,980 –> 02:01:47,500
و هر تعداد قطعه برای طول برنده. خوب، پس بیایید
بررسی کنیم که آیا عمودی است یا خیر
1237
02:01:47,500 –> 02:01:56,220
مکانها اکنون ما این را دوباره اجرا میکنیم،
خیلی سریع. بنابراین ابزار، پایتون، و فعلی
1238
02:01:56,220 –> 02:02:07,360
فایل، سه. عالیه، دوباره کار میکنه بنابراین ما می بینیم
که ردیف خارجی را با یک ردیف در اینجا داریم،
1239
02:02:07,360 –> 02:02:12,320
و می گوید بازیکن یک برنده می شود، تبریک می گویم.
بنابراین به نظر خوب می رسد. حالا باید به
1240
02:02:12,320 –> 02:02:13,760
کمی از پیچیده تر
1241
02:02:13,760 –> 02:02:23,730
همه چیز تمام می شود برای اولین بار ما برای
مثبت بررسی می کنیم، شیب ها، مورب.
1242
02:02:23,730 –> 02:02:36,760
و همچنین یک روش جداگانه برای بررسی
شیب منفی ایجاد می کنیم.
1243
02:02:36,760 –> 02:02:43,510
و خواهید دید که چرا باید این کار را در مورب های یک ثانیه
انجام دهیم. خوب، پس بیایید در مورد آن فکر کنیم
1244
02:02:43,510 –> 02:02:48,160
آی تی. ما به همین ترتیب در مورد آن فکر می کنیم،
مکان های شروع احتمالی ما کجا هستند
1245
02:02:48,160 –> 02:02:54,900
که ما می توانیم یک مورب شیب مثبت داشته باشیم؟ خوب، می توانیم
از اینجا شروع کنیم و بالا برویم، شروع می کنیم
1246
02:02:54,900 –> 02:03:01,740
اینجا و اینجا بالا برو و بالا برو. بنابراین من فکر می کنم
آخرین قطعه، ما می توانیم از اینجا شروع کنیم و بالا برویم.
1247
02:03:01,740 –> 02:03:07,050
بنابراین این ردیف بالا خواهد بود. و ما نمی
توانیم بیشتر از این قطعه درست پیش برویم
1248
02:03:07,050 –> 02:03:12,940
اینجا. بنابراین به نظر می رسد که ما در حال انجام تعداد
ردیف منهای سه و تعداد ستون منهای سه هستیم.
1249
02:03:12,940 –> 02:03:14,120
بنابراین
1250
02:03:14,120 –> 02:03:24,800
درست است، بنابراین، ما فقط این کد را کپی می کنیم،
ببینید، اوه، نه، چه اتفاقی افتاده است؟ دیدن،
1251
02:03:24,800 –> 02:03:29,240
و من آن را در اینجا می چسبانم. بسیار خوب،
بنابراین ما باید سه را از آن کم کنیم
1252
02:03:29,240 –> 02:03:33,570
تعداد ستونها و از تعداد ردیفها،
و سپس نحوه افزایش آن با شروع
1253
02:03:33,570 –> 02:03:39,800
با آن مکان شروع اولیه و سپس باید به هر
دو چیز به اضافه یک اضافه کنیم زیرا
1254
02:03:39,800 –> 02:03:47,010
این یک شیب است اکنون فقط یک افقی یا عمودی نیست،
بنابراین مرحله اضافه را انجام دهید
1255
02:03:47,010 –> 02:03:52,341
برای هر دوی اینها باشه باحال و همانطور که انجام دادهایم،
بیایید بررسی کنیم که آیا این کار را انجام میدهیم
1256
02:03:52,341 –> 02:04:04,890
وقتی اینجا هستید می توانید یک مورب دریافت کنید. بنابراین بازیکن
اول، انتخاب خود را انجام دهید. من فقط در شروع خواهم کرد
1257
02:04:04,890 –> 02:04:22,990
درست است، ما تقریباً به آنجا رسیده ایم. خیلی نزدیک.
این را خراب نکن حالا کیت باشه، و ما خواهیم کرد
1258
02:04:22,990 –> 02:04:28,690
اینجا را بررسی کنید خیلی خوب، مورب آنجا کار کرد. بنابراین
به نظر می رسد که آن نیز کار می کند. و سپس
1259
02:04:28,690 –> 02:04:37,070
در نهایت، ما باید مورب های دارای شیب منفی را انجام
دهیم. و بنابراین اگر در مورد منفی فکر کنیم
1260
02:04:37,070 –> 02:04:41,780
مورب های شیبدار، می توانند از بالا شروع و به سمت
پایین بروند. اما آنها نتوانستند شروع کنند
1261
02:04:41,780 –> 02:04:47,630
اینجا پایین تر از این این آخرین موردی است که
آنها می توانند از آن شروع کنند، زیرا آنها
1262
02:04:47,630 –> 02:04:58,700
باید چهار تا پایین برود بنابراین به نظر می
رسد که ردیف های بالایی و سپس ستون ها باشد
1263
02:04:58,700 –> 02:05:03,820
منهای سه بنابراین ما می خواهیم ردیف ها را
از سه شروع کنیم. و ما باید شروع کنیم
1264
02:05:03,820 –> 02:05:12,220
ستون ها در مکان عادی و معمولی. بنابراین
این قرار است از سه تا شروع شود
1265
02:05:12,220 –> 02:05:18,820
شمارش ردیف. و بنابراین سه است، زیرا اگر در
مورد آن فکر کنید، z، این ردیف صفر است
1266
02:05:18,820 –> 02:05:25,040
ردیف اول، ردیف دوم، ردیف سوم است. بنابراین
حتی اگر در واقع چهارمین بالاتر است، این است
1267
02:05:25,040 –> 02:05:29,410
شاخص سوم بنابراین به همین دلیل است که ما از
سه شروع می کنیم. و این تا آخر راه خواهد رفت
1268
02:05:29,410 –> 02:05:33,440
به بالا، و ستون در واقع خوب به حساب
می آید. و بنابراین این خواهد شد
1269
02:05:33,440 –> 02:05:39,840
در حال حاضر رفتن، آن را به طور مثبت
در جهت ستون می رود، اما آن را به
1270
02:05:39,840 –> 02:05:47,640
یک ردیف پایین بروید، یک ردیف منفی اینجا،
بومی اینجا، و این فقط یک شیب منفی است،
1271
02:05:47,640 –> 02:05:53,970
شما می دانید، شما یک جهت دارید، یک جهت
مثبت، یک جهت منفی، و این منفی خواهد بود
1272
02:05:53,970 –> 02:06:05,940
سه. پس بیایید تست کنیم تا ببینیم آیا این کار می کند یا خیر.
بیا دیگه. یا فایل پایتون خود را داشته باشید. باشه فقط
1273
02:06:05,940 –> 02:06:11,200
ابتدا سمت چپ را بسازید
1274
02:06:11,200 –> 02:06:15,050
باشه، به
1275
02:06:15,050 –> 02:06:16,850
باشه.
1276
02:06:16,850 –> 02:06:26,020
خوب خوب. بسیار خوب، ما تقریباً در مورب منفی در آنجا
هستیم. پس بازیکن اول، شما می توانید بروید
1277
02:06:26,020 –> 02:06:34,271
سه، و سپس بازیکن دو، و سپس انجام کار تشخیص
بومی سرد در حال حاضر به Okay، به طوری که
1278
02:06:34,271 –> 02:06:37,860
به نظر میرسد که ما همه جهتهای برنده ممکن
را داریم، باید با دقت بیشتری آزمایش کنید
1279
02:06:37,860 –> 02:06:43,010
برای اطمینان از کار کردن تمام موارد لبه. اما به
نظر من این خیلی خوب به نظر می رسد. پس ما هستیم
1280
02:06:43,010 –> 02:06:51,860
همچنین در این حلقه بازی اصلی، عملکرد
بازیکن دو را پیاده سازی می کند. باشه،
1281
02:06:51,860 –> 02:07:01,090
بنابراین این بازیکن دو است، بازیکن دو برنده
از grads Game Over درست است. باشه. و اگر خواستی
1282
02:07:01,090 –> 02:07:07,260
به، شما فقط می توانید از حلقه خارج شوید،
اگر نمی خواهید این تابلو را ببینید، و
1283
02:07:07,260 –> 02:07:14,630
نوبت ها در پایان تغییر می کنند خوب، پس همین است،
ما اکنون نسخه خط فرمان را به پایان رساندیم
1284
02:07:14,630 –> 02:07:18,450
از بازی بنابراین ما شروع به ساختن خواهیم کرد،
احتمالاً در ویدیوی بعدی، ممکن است تمیز کنیم
1285
02:07:18,450 –> 02:07:25,680
کد را کمی افزایش دهید، و سپس گرافیک
را می سازیم. باشه یه کم میبینمت
1286
02:07:25,680 –> 02:07:31,840
بچه ها چه خبر و به ویدیوی سوم در برنامه
نویسی من Connect Four در سری Python خوش آمدید.
1287
02:07:31,840 –> 02:07:36,242
در این ویدیو، ما در واقع قصد داریم گرافیک بازی خود
را پیاده سازی کنیم. بنابراین در پایان
1288
02:07:36,242 –> 02:07:42,510
آخرین ویدیو، چیزی شبیه به این داشتیم،
این یک دستور کاملاً کاربردی بود
1289
02:07:42,510 –> 02:07:48,470
پایه خط اتصال برای بازی. بنابراین ما این
بازی را میگیریم و توسعه میدهیم
1290
02:07:48,470 –> 02:07:52,040
روی آن تا در واقع زیبا به نظر برسد. بنابراین
اولین کاری که می خواهیم انجام دهیم این است
1291
02:07:52,040 –> 02:07:57,760
کتابخانه ای به نام بازی pi را وارد کنید.
و درست مانند کتابخانه NumPy، اگر ندارید
1292
02:07:57,760 –> 02:08:03,940
بازی pi نصب شده است، فقط یک پنجره ترمینال جدید باز
کنید و بازی pip install pi را تایپ کنید. مانند
1293
02:08:03,940 –> 02:08:08,880
می توانید ببینید، من قبلا آن را دارم. سرد. خوب، و حالا
کاری که می خواهیم انجام دهیم این است که نیستیم
1294
02:08:08,880 –> 02:08:14,070
برای شروع با مقداردهی اولیه بازی pot pi. بنابراین
شما باید در هر پروژه بازی pi انجام دهید.
1295
02:08:14,070 –> 02:08:20,040
بنابراین قبل از اینکه حلقه بازی ما شروع شود، ما pi game.net
را انجام می دهیم.
1296
02:08:20,040 –> 02:08:27,340
خوب، و سپس کاری که ما باید انجام دهیم این است که اندازه
صفحه نمایش خود را تعیین کنیم، چقدر بزرگ هستیم
1297
02:08:27,340 –> 02:08:34,150
می خواهیم بازی ما باشد. بنابراین اگر من واقعاً سریع، فقط
نسخه تمام شده ای را که دارم بسازید، می توانید
1298
02:08:34,150 –> 02:08:40,550
ببینید، می دانید، زیباست، می دانید، می
توانید این بازی را به نوعی تقسیم کنید
1299
02:08:40,550 –> 02:08:46,010
مربع ها، من می گویم شما مربع هایی دارید که
نشان دهنده هر ستون در هر سطر است. و سپس
1300
02:08:46,010 –> 02:08:52,200
من این یک ردیف اضافی را در بالا داشتم. بنابراین ما
هر یک از آن مربع ها را به عنوان تعریف می کنیم
1301
02:08:52,200 –> 02:08:58,580
100 پیکسل بنابراین اندازه هایی که در حال حاضر در مورد آنها
صحبت خواهیم کرد، همه بر حسب پیکسل هستند. بنابراین
1302
02:08:58,580 –> 02:09:04,370
اندازه مربع قرار است 100 پیکسل باشد. و سپس
عرض ما برای صفحه نمایش ما می شود
1303
02:09:04,370 –> 02:09:13,740
تعداد ستون ها باشد، بنابراین تعداد ستون ها
برابر اندازه مربع است. سرد. و ارتفاع
1304
02:09:13,740 –> 02:09:21,241
تعداد ردیف برابر مربع خواهد بود. و
در واقع، اگر بازی من را دیدید
1305
02:09:21,241 –> 02:09:27,320
من همین الان درگ کردم، به مرور زمان می کشمش.
من در واقع یک ردیف اضافی اضافه کردم زیرا
1306
02:09:27,320 –> 02:09:32,820
من این نقطه را می خواستم که بتوانم این دایره را
که می ریزم نمایش دهم. بنابراین ما در واقع
1307
02:09:32,820 –> 02:09:40,760
این ردیف را به اضافه یک برابر اندازه مربع برای
ارتفاع به شمار آورید. و این بسته بندی خواهد شد
1308
02:09:40,760 –> 02:09:46,040
با هم به خوبی در متغیری به نام اندازه
که چند عرض، ارتفاع کاما خواهد بود.
1309
02:09:46,040 –> 02:09:53,610
و سپس برای اینکه pygame واقعاً آن را بخواند،
باید برابر با صفحه زیر را تایپ کنیم
1310
02:09:53,610 –> 02:10:04,340
نمایش نقطه بازی pi، حالت تنظیم نقطه و سپس ما آن
را در اندازه خوانده می کنیم. و اگر شما هستید
1311
02:10:04,340 –> 02:10:08,950
به این فکر می کنم که من به طور جادویی این توابع
را از کجا دریافت می کنم، به دنبال آن هستم
1312
02:10:08,950 –> 02:10:15,380
در مستندات سایت بازی PI. بنابراین اگر به
pi game.org بروید، اسناد را اسلش کنید، شما
1313
02:10:15,380 –> 02:10:26,690
می توانم انواع توابعی را که استفاده می کنم پیدا
کنم، پیوندی به آن در توضیحات ارسال خواهم کرد.
1314
02:10:26,690 –> 02:10:31,820
من به آزمایش سریع واقعی می روم تا ببینم صفحه ما واقعاً کار
می کند. بنابراین شما فقط می توانید Ctrl را اجرا کنید
1315
02:10:31,820 –> 02:10:36,580
ب. و همانطور که می بینید، پنجره ظاهر شد و سپس
ناپدید شد. ما رسیدگی می کنیم که چرا
1316
02:10:36,580 –> 02:10:42,730
در یک ثانیه ناپدید می شود بنابراین به نظر می
رسد هر چند در آن صفحه در حال خواندن است. سرد.
1317
02:10:42,730 –> 02:10:49,970
بنابراین بیایید اکنون یک تابع به نام Where do a two things
ایجاد کنیم. بنابراین من فکر می کنم اول ما
1318
02:10:49,970 –> 02:10:55,820
تابعی به نام تابلوی ترسیم تعریف کنید. و این دقیقاً
مانند تابلوی چاپی خواهد بود که ما تعریف کردیم
1319
02:10:55,820 –> 02:11:01,820
این بالا. اما اکنون در واقع قصد داریم آن را با گرافیک
بازی PI ترسیم کنیم. بنابراین تخته بکشید
1320
02:11:01,820 –> 02:11:05,430
باید در هیئت مدیره شرکت کند، و این در مورد
آن است. و من در واقع از این عبور خواهم کرد
1321
02:11:05,430 –> 02:11:10,380
در حال حاضر، زیرا قبل از انجام این کار،
تغییراتی در حلقه خود ایجاد می کنیم
1322
02:11:10,380 –> 02:11:17,340
هیئت مدیره بنابراین اولین تغییر عمده ای که می خواهیم در
حلقه خود انجام دهیم این است که pygame مبتنی بر رویداد است
1323
02:11:17,340 –> 02:11:23,200
کتابخانه بازی بنابراین بازی pi به نوعی کار می کند
و به شما امکان می دهد در بازی کار کنید. فقط توسط
1324
02:11:23,200 –> 02:11:27,300
با خواندن تمام حرکات خود، کلیدها،
دکمه های ماوس را فشار می دهید،
1325
02:11:27,300 –> 02:11:32,220
شما روی ماوس کلیک می کنید، مانند نحوه حرکت ماوس،
همه آنها را به صورت جداگانه می خواند
1326
02:11:32,220 –> 02:11:38,450
مناسبت ها. بنابراین چیزی شبیه به آن به نظر می رسد.
بنابراین برای رویداد در بازی PI، نقطه رویداد نقطه
1327
02:11:38,450 –> 02:11:47,820
گرفتن. و همانطور که گفتم، رویدادها مانند حرکت ماوس،
دکمه پایین ماوس، کلید پایین و غیره هستند.
1328
02:11:47,820 –> 02:11:51,970
بنابراین، ما میخواهیم در آن بخوانیم، با کلیک کردن
روی پایین، قطعهای را رها میکنیم. پس این یکی است
1329
02:11:51,970 –> 02:11:57,630
از رویدادهای مهمی که باید به دست آوریم. بنابراین
ما ابتدا فقط نوعی دنبال کردن را انجام می دهیم
1330
02:11:57,630 –> 02:12:05,530
من در این مورد، نوع رویداد، نوع رویداد برابر است
با نقطه خروج از بازی pi. بنابراین این فقط یک چیزی است
1331
02:12:05,530 –> 02:12:10,460
شما میخواهید در تمام بازیهایی که میسازید مدیریت
کنید، فقط اجازه دهید بازیتان به درستی انجام شود
1332
02:12:10,460 –> 02:12:15,520
خارج شوید، اگر روی دکمه اینجا در بالا سمت راست کلیک
کنید که x از آن خارج می شود، x خارج از آن است.
1333
02:12:15,520 –> 02:12:22,140
بنابراین اگر این اتفاق بیفتد، باید یک خروج از
سیستم انجام دهیم تا به درستی خاموش شود. و به
1334
02:12:22,140 –> 02:12:25,920
دریافت این درست اینجاست، ما باید
آن را وارد پروژه ما کنیم
1335
02:12:25,920 –> 02:12:33,570
یعنی سیستم و این در هر نصب پایتون سقوط
می کند. بسیار خوب، سیستم می سازد
1336
02:12:33,570 –> 02:12:38,750
اکنون برای رسیدن به چیزهای جالب تر. رویدادی
که واقعاً به آن اهمیت می دهیم
1337
02:12:38,750 –> 02:12:47,460
در آستانه شروع، دکمه ماوس پایین است. بنابراین اگر
نوع نقطه رویداد برابر است با بازی pi، نقطه
1338
02:12:47,460 –> 02:12:54,610
دکمه پایین ماوس و همه رویدادهای مختلف را می
توانید در وب سایت بازی PI در زیر پیدا کنید
1339
02:12:54,610 –> 02:13:02,610
اسناد بازی قرار است با کلیک کردن روی
یک نقطه خاص در صفحه اجرا شود
1340
02:13:02,610 –> 02:13:08,130
ما می خواهیم قطعه را رها کنیم. بنابراین بهجای خواندن در
ستون، میخواهیم آن را به عنوان خود درج کنیم
1341
02:13:08,130 –> 02:13:13,340
قبلا انجام داد حالا این ستون با جایی که
کلیک می کنیم پر می شود. پس من می روم
1342
02:13:13,340 –> 02:13:20,400
خیلی سریع، همه این همه رفتار را در این
رویداد دکمه پایین ماوس قرار دهید
1343
02:13:20,400 –> 02:13:25,400
تایپ کنید زیرا در حال حاضر اتفاقاتی که در مورد رها کردن قطعه توسط
ما رخ می دهد، همیشه زمانی اتفاق می افتد که روی آن کلیک می کنیم
1344
02:13:25,400 –> 02:13:28,650
دکمه ماوس پایین بنابراین ما نمیخواهیم وارد
شویم وگرنه نمیخواهیم درخواست شود
1345
02:13:28,650 –> 02:13:33,760
برای این ورودی بسیار خوب، بنابراین ستون برابر است،
و این همان جایی است که ما روی آن کلیک می کنیم
1346
02:13:33,760 –> 02:13:42,110
صفحه نمایش بنابراین فقط در حال حاضر، من قصد دارم
به نوعی در مورد این چیزها نظر بدهم، فقط
1347
02:13:42,110 –> 02:13:49,000
بنابراین در حالی که ما در حال آزمایش هستیم روی ما اجرا نمی شود.
و بیایید خیلی سریع، ببینیم آیا این مشکل برطرف شده است یا خیر
1348
02:13:49,000 –> 02:14:10,600
خطای ما از صفحه نمایش درست زمانی که ظاهر می شود
ناپدید می شود. چی شد؟ شاهزاده به عنوان
1349
02:14:10,600 –> 02:14:16,530
می توانید ببینید، اکنون ما این صفحه را داریم و این
صفحه نیست، می دانید، اینجا می ماند. پس همین است
1350
02:14:16,530 –> 02:14:21,360
زیرا ما در واقع در این حلقه رویداد در اینجا اضافه کردیم.
و می داند به نوعی ادامه می دهد در حالی که اینها
1351
02:14:21,360 –> 02:14:26,840
حوادث در حال وقوع است و خروج از سیستم به
درستی توسط این خروجی سیستم انجام می شود
1352
02:14:26,840 –> 02:14:33,280
سرد. بسیار خوب، بنابراین صفحه نمایش ما بسیار
خوب به نظر می رسد اما هیچ گرافیکی ندارد
1353
02:14:33,280 –> 02:14:39,360
به طور مشخص.
1354
02:14:39,360 –> 02:14:45,380
بنابراین ما اکنون تابع رسم برد را پیاده سازی می
کنیم. بنابراین ما در مورد آن فکر می کنیم. من می کشم
1355
02:14:45,380 –> 02:14:52,440
در تمام شده ای که دوباره دارم، برای هر یک
از این ها نوعی مستطیل ترسیم می کنیم
1356
02:14:52,440 –> 02:14:58,740
شکاف ها، و سپس یک دایره سیاه در داخل آن مستطیل
ها. و سپس ما باید این را ترسیم کنیم
1357
02:14:58,740 –> 02:15:03,780
پس از آن این قطعه را رها می کنیم و سپس هر
زمان که قطعه ای را رها می کنیم، یکی یا
1358
02:15:03,780 –> 02:15:07,730
دو که در خط فرمان ما بر اساس بازی به مانند
یک دایره قرمز یا زرد تبدیل شده است
1359
02:15:07,730 –> 02:15:20,450
بر اساس کاری که انجام می دهیم حلقه بزنید. پس بیایید
این را اجرا کنیم. بنابراین ابتدا، ما می خواهیم تکرار کنیم
1360
02:15:20,450 –> 02:15:31,430
از طریق هر نقطه در هیئت مدیره ما. بنابراین برای
ارجاع ما، می گوییم در محدوده، ستون را ببینید
1361
02:15:31,430 –> 02:15:42,570
شمردن. و سپس ما همان کار را برای تعداد ردیف در محدوده
خود انجام خواهیم داد، همانطور که در بالا انجام دادیم
1362
02:15:42,570 –> 02:15:48,450
در اینجا، و هنگامی که ما در حال تکرار در تمام نقاط
هستیم، خوب، در ابتدا فقط باید انجام دهیم
1363
02:15:48,450 –> 02:15:56,080
می دانید، آن را مانند یک مستطیل آبی
باز کنید، و سپس در آن مستطیل آبی،
1364
02:15:56,080 –> 02:16:01,820
ما یک دایره سیاه می خواهیم بنابراین ما یک تابع ترسیم
نقطه pygame را انجام می دهیم. بنابراین اول، ما هستیم
1365
02:16:01,820 –> 02:16:08,600
مستطیل آبی می کشم بنابراین به نظر می
رسد مانند صفحه بازی ما، و سپس
1366
02:16:08,600 –> 02:16:14,680
دایره سیاه داخل آن شکاف باز خواهد بود. بنابراین
ما آن را روی صفحه نمایش ترسیم می کنیم.
1367
02:16:14,680 –> 02:16:20,280
و دوباره نور کتابخانه را به داخل می
کشم تا بتوانم دقیقا ببینم چه هستم
1368
02:16:20,280 –> 02:16:25,590
در حال انجام. بنابراین همانطور که در اینجا می
بینید، pygame dot draw rect، باید سطح را برداریم،
1369
02:16:25,590 –> 02:16:33,218
رنگ، مستطیلی که می خواهیم بکشیم و
سپس عرض. بنابراین صفحه نمایش سطح است،
1370
02:16:33,218 –> 02:16:37,678
ما آن را روی رنگی می کشیم که ما یک رنگ آبی می خواهیم.
بنابراین من می خواهم آبی را تعریف کنم
1371
02:16:37,679 –> 02:16:44,010
به عنوان یک متغیر جهانی، متغیر استاتیک جهانی
در بالا، این یک مقدار RGB خواهد بود.
1372
02:16:44,010 –> 02:16:50,138
بنابراین ما میگوییم 00 است، کاما 200.
و این یعنی 255 یا بیشتر. پس می شود
1373
02:16:50,138 –> 02:16:57,308
یک مقدار RGB بسیار آبی باشد، زیرا این به معنای قرمز است،
این به معنای سبز است. و این به معنای آبی است.
1374
02:16:57,308 –> 02:17:02,459
و تنها رنگی که در واقع مقداری ارزش دارد،
آبی است. بنابراین رنگی که ما هستیم
1375
02:17:02,459 –> 02:17:07,788
آبی است، ما فقط تعریف کردیم که این مقدار
RGB است. حالا باید پیدا کنیم
1376
02:17:07,789 –> 02:17:15,599
مستطیل ما بنابراین مستطیل ما قرار است آنجا باشد،
شما باید چهار تا متفاوت داشته باشید
1377
02:17:15,599 –> 02:17:20,808
چیزهایی برای تعریف مستطیل خود، باید
اندازه عرض و ارتفاع را داشته باشید،
1378
02:17:20,808 –> 02:17:26,618
و سپس موقعیت. بنابراین موقعیت به این صورت
خواهد بود که ممکن است کمی طول بکشد
1379
02:17:26,619 –> 02:17:31,289
در حال بازی کردن برای به دست آوردن این، اما
زمان آن به مدرسه می رسد. پس اینها هستند
1380
02:17:31,289 –> 02:17:36,379
اعداد صفر تا، می دانید، تعداد ستون ها و
صفر تا تعداد سطرها، وجود خواهد داشت
1381
02:17:36,379 –> 02:17:46,098
اندازه Times Square را ببینید، زیرا میخواهیم
واقعی گوشه سمت چپ بالای آن باشد. و این است
1382
02:17:46,099 –> 02:17:57,019
رفتن به
1383
02:17:57,019 –> 02:18:08,308
و سپس موقعیت ما در محور y برابر با
اندازه مربع ما خواهد بود. و قد ما
1384
02:18:08,308 –> 02:18:14,939
و عرض، دو پارامتر دیگر این هستند، چیزی که
یک جسم مستطیلی را تشکیل می دهند،
1385
02:18:14,940 –> 02:18:18,728
و این فقط یک مربع خواهد بود، بنابراین
اندازه مربع، اندازه مربع،
1386
02:18:18,728 –> 02:18:25,688
ارتفاع و عرض یکسان است. و آرگومان عرضی
که من نشان دادم در مستندات بود،
1387
02:18:25,689 –> 02:18:30,489
همانطور که می بینید به صورت صفر تعریف شده است. بنابراین
این اختیاری است. و فکر کنید که این فقط طرح کلی است
1388
02:18:30,489 –> 02:18:35,529
مانند خطی که مربع را احاطه کرده است، بنابراین
نیازی به اجرای آن نداریم. بسیار خوب،
1389
02:18:35,529 –> 02:18:40,818
بیایید آزمایش کنیم تا ببینیم آیا فقط این مستطیل ها به درستی
رسم می شوند یا خیر. بنابراین اینجا، ما فقط انجام می دهیم
1390
02:18:40,818 –> 02:18:49,989
یک تخته قرعه کشی، تخته را همانطور که اینجا انجام دادیم
می گیریم، و سپس هر زمان که بخواهیم باید انجام دهیم
1391
02:18:49,990 –> 02:18:55,250
برای به روز رسانی صفحه نمایش ما به روز رسانی نقطه pygame
را انجام دهید. و من مطمئن خواهم شد که ما در واقع
1392
02:18:55,250 –> 02:18:59,870
ببینیم چه چیزی قرار است ببینیم بنابراین ما آن را به
سرعت می سازیم. اوه، و همانطور که می بینید، ما
1393
02:18:59,870 –> 02:19:04,739
این تپه غول پیکر آبی را داشته باشید. و تنها مشکلی که
در حال حاضر می بینم این است که در واقع اینطور نیست
1394
02:19:04,739 –> 02:19:09,760
من میخواستم قسمت بالایی باز باشد، بنابراین میتوانیم
قطعهای داشته باشیم که در اطراف تاب بخورد
1395
02:19:09,760 –> 02:19:13,648
آی تی. بنابراین به ما نشان می دهد که کجا آن را رها می کنیم.
بنابراین من فکر می کنم مشکل با آن به این دلیل است
1396
02:19:13,648 –> 02:19:21,528
محور ما از 00 شروع می شود، ما در واقع باید یک
اندازه مربع به سمت پایین به نوع حساب تغییر دهیم
1397
02:19:21,529 –> 02:19:29,949
برای آن افستی که برای آن فضا گذاشتیم. بنابراین
ما باید یک اندازه مربع را در اینجا اضافه کنیم.
1398
02:19:29,949 –> 02:19:34,239
حالا من دوباره این را می سازم، همانطور که می بینید،
درست به نظر می رسد. اکنون باید تعدادی را پر کنیم
1399
02:19:34,239 –> 02:19:41,388
دایره هایی برای نشان دادن شکاف ها. بنابراین
این کار را با کشیدن یک دایره در بازی PI و
1400
02:19:41,388 –> 02:19:48,049
این نیز در اسناد موجود است. بنابراین بازی pi dot
دایره نقطه را ترسیم می کند، و این طول می کشد
1401
02:19:48,049 –> 02:19:54,949
در سطح صفحه نمایش، و اکنون به یک رنگ نیاز داریم.
بنابراین من فکر می کنم یک رنگ خوب خواهد بود
1402
02:19:54,949 –> 02:20:00,989
فقط سیاه بنابراین ما رنگ مشکی را بالای دو تعریف
می کنیم، و سیاه در RGB فقط صفر همه چیز است
1403
02:20:00,989 –> 02:20:13,270
000. خوب، پس این سیاه است. و سپس بیایید
اسناد را به سرعت درگ کنیم تا ببینیم
1404
02:20:13,270 –> 02:20:17,229
چگونه این دایره را به پایان خواهیم رساند پس
دایره دایره دایره،
1405
02:20:17,229 –> 02:20:18,529
موقعیت خوب
1406
02:20:18,529 –> 02:20:22,290
و سپس شعاع. بنابراین این قرار است موقعیت
مرکز دایره، مانند شما باشد
1407
02:20:22,290 –> 02:20:25,670
در مستندات مشاهده کنید، و شعاع احتمالاً
کمی کوچکتر از آن خواهد بود
1408
02:20:25,670 –> 02:20:33,710
اندازه مربع ما، فقط برای اینکه وجود داشته باشد، دایره
ها لمس نمی شوند. پس بیایید یک شعاع را تعریف کنیم
1409
02:20:33,710 –> 02:20:42,210
هم. بنابراین شعاع ما برای پیدا کردن آن در زیر
عرض و ارتفاع و هر چیز دیگری جالب خواهد بود.
1410
02:20:42,210 –> 02:20:48,779
بنابراین شعاع ما کمی کمتر از اندازه مربع خواهد
بود. بنابراین ما انجام می دهیم من هستم
1411
02:20:48,779 –> 02:20:52,460
من معتقدم که آنها باید مقادیر صحیح باشند.
بنابراین هنگامی که ما شروع به گرفتن
1412
02:20:52,460 –> 02:21:00,850
به تقسیم، ممکن است کمی کثیف شود. بنابراین
برای من n اندازه مربع تقسیم بر دو، زیرا
1413
02:21:00,850 –> 02:21:04,640
باید شعاع نصف قطر و قطر
آن مربع کامل باشد
1414
02:21:04,640 –> 02:21:12,320
اندازه، و سپس ما فقط یک مقدار دلخواه مانند،
عدد صحیح را از آن حذف می کنیم. پس حالا ما
1415
02:21:12,320 –> 02:21:19,300
می توانیم دایره خود را با آن شعاع رسم کنیم، ابتدا
باید موقعیت را انجام دهیم. بنابراین موقعیت
1416
02:21:19,300 –> 02:21:24,560
کجاست، فراموش می کنم، اوه، در هیئت شغلی است،
موقعیت به این صورت خواهد بود اگر این
1417
02:21:24,560 –> 02:21:30,239
سمت چپ بالای مستطیل، موقعیت ما
برای مرکز دایره خواهد بود
1418
02:21:30,239 –> 02:21:41,430
با مقداری افست، بنابراین اندازه مربع، سپس
اندازه مربع تایمز، به علاوه مربع است
1419
02:21:41,430 –> 02:21:46,609
اندازه. و افست باید مانند نیمی از آن باشد
زیرا ما در مورد آن صحبت می کنیم
1420
02:21:46,609 –> 02:21:53,739
شعاع بنابراین نیمی از مستطیل به
اندازه مربع اضافی تقسیم می شود
1421
02:21:53,739 –> 02:22:05,060
توسط دو اضافه کردن اندازه مربع تقسیم بر
دو. خیلی خب حالا ببینیم چی میشه اوه،
1422
02:22:05,060 –> 02:22:10,029
و سپس من عملاً شعاع را مشخص می
کنم. بنابراین شعاع چیست
1423
02:22:10,029 –> 02:22:12,689
ما همین یک ثانیه پیش تعریف کردیم.
1424
02:22:12,689 –> 02:22:14,329
ساختن
1425
02:22:14,329 –> 02:22:20,439
چی شد؟ بله، آرگومان عدد صحیح مورد انتظار است. خوب،
پس به نظر می رسد که این تقسیم باعث می شود
1426
02:22:20,439 –> 02:22:24,350
چند شناور در کد خود داشته باشیم. بنابراین
ما باید در واقع این و pygame را بسازیم
1427
02:22:24,350 –> 02:22:30,659
به نظر می رسد فقط اعداد صحیح را می پذیرد. بنابراین
مطمئن شوید که همه چیز شما در هر موقعیت و
1428
02:22:30,659 –> 02:22:41,010
مقدار شعاع، شما یک عدد صحیح می سازید. بیا
عزیزم بریم سرد. آره ما یه تابلو گرفتیم
1429
02:22:41,010 –> 02:22:46,300
بسیار خوب، من فکر میکنم اینجا جایی است که ما به پایان
میرسانیم این ویدیو در واقع ریزش را متحرک میکند
1430
02:22:46,300 –> 02:22:50,910
از قطعات و سپس نوع قطعاتی که در اینجا شناور
هستند و متنی که شما را می گوید
1431
02:22:50,910 –> 02:22:58,399
در ویدیوی بعدی برنده شد باشه یه کم ببین
بچه ها چه خبر و به چهارمی خوش آمدید
1432
02:22:58,399 –> 02:23:03,590
ویدیو در برنامه نویسی من اتصال برای در سری
پایتون. در آخرین ویدیو اجرا کردیم
1433
02:23:03,590 –> 02:23:08,140
گرافیک پس زمینه بازی ما اما اگر
روی این صفحه کلیک کنم، هیچ چیز
1434
02:23:08,140 –> 02:23:13,329
در واقع اتفاق می افتد بنابراین در این ویدیو،
اجرای این گرافیک را به پایان خواهیم رساند
1435
02:23:13,329 –> 02:23:19,079
قطعه رها می شود و سپس یک قطعه کوچک زیبا در
اینجا دنبال می شود. فقط چند یادداشت سریع
1436
02:23:19,079 –> 02:23:23,249
قبل از شروع، اگر ویژگیای وجود دارد که میخواهید بدانید چگونه
باید آن را پیادهسازی کنید، اما من این کار را نکردم
1437
02:23:23,249 –> 02:23:27,829
در واقع خودم را در این ویدیوها پوشش می دهم، در زیر
نظر خود را آزاد بگذارید، و من این کار را خواهم کرد
1438
02:23:27,829 –> 02:23:34,420
تمام تلاشم را می کنم تا در اسرع وقت با شما تماس
بگیرم. همچنین اگر از این سریال لذت بردید،
1439
02:23:34,420 –> 02:23:38,989
لطفاً لطفاً، لطفاً چند پیشنهاد برای برنامه های
آینده که می توانم بنویسم، به من بدهید
1440
02:23:38,989 –> 02:23:44,961
ما همیشه به دنبال محتوای جدید هستیم.
خوب، بیایید شروع کنیم. بنابراین به
1441
02:23:44,961 –> 02:23:51,409
این ویدیو را شروع کنید، به حلقه اصلی بازی بروید.
قبل از اینکه ما در حال انتخاب کدام هستیم
1442
02:23:51,409 –> 02:23:57,449
ستونی که می خواستیم قطعه ای را در آن بیاندازیم، عددی
بین صفر تا شش تا را به صورت دستی تایپ کردیم
1443
02:23:57,449 –> 02:24:03,359
این را مشخص کنید حالا که یک گرافیک داریم،
ستونی را می خواهیم که قطعه را رها کرده ایم
1444
02:24:03,359 –> 02:24:08,210
به جایی که کلیک می کنیم بستگی دارد. بنابراین
اگر روی سمت چپ صفحه کلیک کنم، ما
1445
02:24:08,210 –> 02:24:12,260
اگر روی وسط، ستون وسط کلیک کنم، میخواهم
قطعهای را در ستون سمت چپ بیاندازد.
1446
02:24:12,260 –> 02:24:20,130
بنابراین جایی که قطعه را رها کرده ایم به موقعیت
x نشانگر ماوس بستگی دارد. بنابراین
1447
02:24:20,130 –> 02:24:28,420
خوشبختانه برای ما pygame استفاده از نمایش
ماوس را بسیار آسان می کند.
1448
02:24:28,420 –> 02:24:34,340
بنابراین اگر به مستندات بازی PI در زیر رویدادها
بروید، همه این رویدادها را فهرست می کند.
1449
02:24:34,340 –> 02:24:38,420
و سپس ویژگی هایی را که می توانید در این رویدادها دریافت کنید
فهرست می کند. بنابراین برای ما، ما به آن اهمیت می دهیم
1450
02:24:38,420 –> 02:24:46,540
ماوس را به سمت پایین فشار دهید و ما به موقعیت اهمیت می دهیم،
بنابراین موقعیت به ما یک کاما y چند برابری می دهد
1451
02:24:46,540 –> 02:24:56,399
جایی که کلیک کردیم و من می توانم از آن به صورت زیر استفاده کنم.
بنابراین می توانم موقعیت نقطه رویداد را چاپ کنم. و
1452
02:24:56,399 –> 02:25:00,749
سپس من می توانم بازی خود را دوباره اجرا کنم. و به این ترتیب که من
بر روی صفحه کلیک می کنم شما قادر خواهید بود در آن را ببینید
1453
02:25:00,749 –> 02:25:06,880
سمت چپ پایین، او در جایی قرار می گیرد که من کلیک می کنم.
بنابراین من در سمت چپ بالای صفحه کلیک می کنم،
1454
02:25:06,880 –> 02:25:11,329
در مورد صفر کاما صفر است، از آنجا محورهای ما
شروع می شود. اگر در پایین سمت راست کلیک کنم
1455
02:25:11,329 –> 02:25:17,359
از صفحه نمایش، این همان بعد کامل بازی
ماست. و مشخص کردیم که 700 باشد
1456
02:25:17,359 –> 02:25:26,960
700. بنابراین این مقادیر پیکسلی است که در آن
کلیک می کنیم. برای توسعه نوعی راه برای
1457
02:25:26,960 –> 02:25:31,310
ستون را بر اساس جایی که کلیک می کنیم انتخاب
کنید، باید سعی کنیم الگوی کلیک را پیدا کنیم
1458
02:25:31,310 –> 02:25:36,560
در این ستون های مختلف بنابراین من می خواهم
آن را به سرعت انجام دهم. و اگر نگاه کنیم
1459
02:25:36,560 –> 02:25:42,110
تمام این کلیک هایی که من انجام دادم، می بینیم
که اولین کلیک بین صفر تا 100 است. دوم
1460
02:25:42,110 –> 02:25:50,649
کلیک بین 102 100 200 300 مرکزی است. بنابراین آخرین
ستون بین 607 100 است. بنابراین ما
1461
02:25:50,649 –> 02:25:56,470
می تواند به نحوی این اعداد را به سمت پایین گرد کند تا ما
را از صفر به شش برساند یا به همان جایی که بودیم برگردیم
1462
02:25:56,470 –> 02:26:02,109
زمانی که ما عمدتاً آن اعداد را تایپ می کردیم. بنابراین
ما به سرعت آن را انجام خواهیم داد. پس بیایید،
1463
02:26:02,109 –> 02:26:07,319
ما می توانیم جلو برویم و همه این کد را از نظر
حذف کنیم. و در واقع، قرار است این باشد
1464
02:26:07,319 –> 02:26:13,060
یک نظر. بنابراین ما میتوانیم این کد را در اینجا لغو
نظر کنیم، و فقط میتوانیم برای آن نظر بدهیم
1465
02:26:13,060 –> 02:26:22,069
اکنون. بنابراین ستون، بنابراین ما می خواهیم که باشد،
می گوییم که نمایشگاه، بنابراین این یک تاپل است
1466
02:26:22,069 –> 02:26:28,970
ابتدا روی مقادیر x، بنابراین موقعیت x برابر
با موقعیت نقطه رویداد است و سپس
1467
02:26:28,970 –> 02:26:37,380
این عنصر صفر است که ستون اکنون قرار
است باشد، بنابراین بین صفر است
1468
02:26:37,380 –> 02:26:44,829
و 700. بنابراین ستونی که میتوانیم استفاده کنیم،
میخواهیم زندگی خود را آسانتر کنیم،
1469
02:26:44,829 –> 02:26:50,310
ما یک کتابخانه به نام ریاضی وارد می کنیم،
این به طور پیش فرض در هر نصب پایتون است.
1470
02:26:50,310 –> 02:27:01,800
بنابراین با انجام دادن به چیزی که میخواهیم آن را رها کنیم،
میرسیم
1471
02:27:01,800 –> 02:27:07,859
موقعیت x، سپس همه چیز را بر 100 تقسیم می کنیم.
زیرا این یک محدوده به ما می دهد
1472
02:27:07,859 –> 02:27:12,949
بین صفر و هفت به جای صفر در 700. بنابراین
اولین کاری که ما می خواهیم انجام دهیم
1473
02:27:12,949 –> 02:27:18,569
تقسیم آن بر 100 است. و 100، به یاد داشته باشید، همان چیزی است که
ما اندازه مربع خود را تعریف می کنیم. بنابراین برای ساختن
1474
02:27:18,569 –> 02:27:23,359
کد ما نسبت به تغییرات کمی قوی تر است، ما
موقعیت x تقسیم بر مربع را انجام می دهیم
1475
02:27:23,359 –> 02:27:29,619
اندازه. و سپس ما می خواهیم که این یک عدد کامل
باشد، یک مقدار صحیح، بنابراین ما خواهیم داشت
1476
02:27:29,619 –> 02:27:35,350
برای گرفتن کف این تقسیم به طوری که آن
را به نزدیکترین عدد صحیح گرد کنیم.
1477
02:27:35,350 –> 02:27:42,479
بنابراین ما میخواهیم طبقه نقطه ریاضی را انجام
دهیم. و سپس آخرین تغییری که باید ایجاد کنیم
1478
02:27:42,479 –> 02:27:47,420
فقط باید مطمئن شویم که ستون یک عدد صحیح
است. چون نداریم، نمی توانیم
1479
02:27:47,420 –> 02:27:53,210
شاخص مقدار شناور ارزش اعشاری را بگیرید. بنابراین
ما فقط مطمئن می شویم که این یک آسیب است
1480
02:27:53,210 –> 02:28:00,550
فقط آن را با یک int احاطه کرده است. و اکنون باید
بتوانیم ببینیم چه زمانی روی آن کلیک می کنیم
1481
02:28:00,550 –> 02:28:05,750
صفحه نمایش، ما باید ببینیم که تخته ما در حال ساخت است
و می توانیم همان چیزی را برای بازیکن کپی کنیم
1482
02:28:05,750 –> 02:28:10,760
دو و ما این را لغو نظر خواهیم کرد.
1483
02:28:10,760 –> 02:28:12,770
نظر بدین
1484
02:28:12,770 –> 02:28:17,600
همه اینها را لغو نظر کنید و سپس ما بازیکنی را
می سازیم که بتواند قطعه را در قسمت انتخاب کند
1485
02:28:17,600 –> 02:28:25,859
همون روش. بنابراین ما می گوییم موقعیت x برابر است
با یک نیمکت که موقعیت فروشنده صفر است، و سپس
1486
02:28:25,859 –> 02:28:38,130
ستون در حال حاضر، خدای من به هم ریخته است. بسیار خوب،
ما این خط را حذف می کنیم. سرد. پس ببینیم چیه
1487
02:28:38,130 –> 02:28:44,840
زمانی اتفاق می افتد که ما بازی می سازیم. بنابراین اکنون
ما این را داریم، پنجره واقعی بازی کجاست، چه چیزی
1488
02:28:44,840 –> 02:28:50,380
اتفاق افتاد؟ اوه، به دلایلی ظاهر
نشد. وسط کلیک کرد اگه میتونی
1489
02:28:50,380 –> 02:28:54,609
اینجا را در پایین سمت راست ببینید، بازی ما این کلیک
را انجام داد. بنابراین من روی آن کلیک می کنم
1490
02:28:54,609 –> 02:28:59,329
دوباره وسط، به وسط کلیک کنید. و به خواندن
ادامه می دهد که من آن را رها می کنم
1491
02:28:59,329 –> 02:29:02,840
قطعات. و بنابراین به نظر می رسد واقعا خوب است.
اکنون ما در واقع باید فقط آن را نشان دهیم
1492
02:29:02,840 –> 02:29:10,729
صفحه نمایش بنابراین برای انجام این کار، ما فقط یک تغییر
کوچک در عملکرد تابلوی ترسیم خود ایجاد می کنیم
1493
02:29:10,729 –> 02:29:18,800
که گرافیک را ترسیم می کند. بنابراین برای ترسیم تابلو حرکت
کنید. و ما فقط یک بیانیه if را در اینجا انجام می دهیم.
1494
02:29:18,800 –> 02:29:25,199
فقط بگویید که مستطیل ها همیشه مستطیل های آبی
را که تخته را تشکیل می دهند ترسیم می کنند. را
1495
02:29:25,199 –> 02:29:30,300
دایره سیاه نشان دهنده مربع خالی است. بنابراین
اگر
1496
02:29:30,300 –> 02:29:31,300
هیئت مدیره
1497
02:29:31,300 –> 02:29:40,229
در حال حاضر، ردیف تابلو، ستون برابر با صفر
است، سپس میخواهیم سیاه باشد، میخواهیم
1498
02:29:40,229 –> 02:29:42,950
خالی بودن آن
1499
02:29:42,950 –> 02:29:45,319
اگر
1500
02:29:45,319 –> 02:29:53,160
elsif در ستون ردیف ما قرار می گیرد، بنابراین
ماتریس ما برابر با یک است. بنابراین
1501
02:29:53,160 –> 02:29:59,829
این چیزی است که ما در اینجا می بینیم. بازیکن یک
آن را از وسط انداخت. سپس می خواهیم یک دایره بکشیم.
1502
02:29:59,829 –> 02:30:04,159
بنابراین ما فقط این خط را کپی می کنیم زیرا
می دانیم که در موقعیت مناسبی قرار دارد
1503
02:30:04,159 –> 02:30:10,271
ما فقط باید رنگ را تغییر دهیم. بنابراین
ما نمی خواهیم سیاه باشد، ما می خواهیم
1504
02:30:10,271 –> 02:30:15,840
فقط از قرمز و زرد استفاده کنید، بازیکن یک قرمز
خواهد شد. بنابراین این قرمز خواهد شد. و این
1505
02:30:15,840 –> 02:30:21,069
یک چیز ساخته شده نیست، ما باید قرمز را تعریف کنیم.
بنابراین ما رنگ قرمز را دقیقا در زیر تعریف می کنیم
1506
02:30:21,069 –> 02:30:27,050
سیاه اینها مقادیر RGB هستند، بنابراین نیازهای ما باید
یک مقدار داشته باشند و دو مورد دیگر می توانند باشند
1507
02:30:27,050 –> 02:30:32,920
صفرها بنابراین این یک قرمز روشن خوب به ما می دهد. و سپس
در حالی که من اینجا هستم و این کار را انجام می دهم،
1508
02:30:32,920 –> 02:30:38,489
رنگ زرد را هم تعریف می کنم. زرد هم قرمز
است و هم سبز ترکیبی از هر دو
1509
02:30:38,489 –> 02:30:45,340
قرمز و سبز در RGB. بنابراین 255 255، صفر. بنابراین
اکنون ما قرمز و زرد برای بازیکن یک داریم
1510
02:30:45,340 –> 02:30:47,810
و بازیکن دو
1511
02:30:47,810 –> 02:30:49,520
چ،
1512
02:30:49,520 –> 02:31:00,890
کجا بود؟ باشه، آره قرمزه و سپس یک
خط آخر، که خط دیگر خواهد بود
1513
02:31:00,890 –> 02:31:08,939
شرایط lbf. هیئت مدیره C مشترک ما دو است. پس
این بازی پی خواهد بود، یا در واقع،
1514
02:31:08,939 –> 02:31:14,200
من فقط این را در بازی پی میچسبانم، و سپس
به جای سیاه، این یکی را میسازیم
1515
02:31:14,200 –> 02:31:25,770
رنگ زرد. و سپس یک چیز که ممکن است شهودی نباشد
این است که هر زمان که تغییراتی ایجاد می کنیم
1516
02:31:25,770 –> 02:31:31,800
به صفحه بازی ما، پس از انجام همه این کارها، این حلقه
از طریق تکرار شده است، ما در حال انجام هستیم
1517
02:31:31,800 –> 02:31:36,290
میخواهم بهروزرسانی نقطهای نمایش نقطهای بازی Pi
را فراخوانی کنیم که صفحه نمایش را با آن بازنمایی میکند
1518
02:31:36,290 –> 02:31:43,460
تغییرات جدید بنابراین اجازه دهید به ما اجازه
دهیم و همچنین باید صفحه نمایش را اضافه کنیم
1519
02:31:43,460 –> 02:31:49,020
متوسل میشویم، ما در هر نوبت تابلو چاپ میکنیم،
اما در اینجا نیز یک تابلو میکشیم.
1520
02:31:49,020 –> 02:31:58,539
خوب، لحظه حقیقت، همینجا کلیک کنید، بدانید چه اتفاقی
افتاده است. بنابراین به نظر می رسد که اینطور است
1521
02:31:58,539 –> 02:32:03,109
پر جمعیت کردن، فقط در جای اشتباهی آن را
پر می کند. و دلیل این امر به این دلیل است
1522
02:32:03,109 –> 02:32:11,609
از نحوه تنظیم محورهای ما بنابراین همانطور که به یاد می آورید،
زمانی که من در بالا سمت چپ کلیک کردم، این بود
1523
02:32:11,609 –> 02:32:24,249
00 است. و این فضای 700 700 است. بنابراین،
در بازی ما، هر چند، این قطعه 00 است،
1524
02:32:24,249 –> 02:32:28,729
اما فقط یک جورایی واژگون شد. بنابراین وقتی برد را چاپ
میکنیم، تابع تلنگر نقطهای NP را صدا میزنیم.
1525
02:32:28,729 –> 02:32:33,539
بنابراین ما فقط باید راهی برای جبران این موضوع
پیدا کنیم تا واقعاً در پایین باشیم
1526
02:32:33,539 –> 02:32:41,569
صفحه نمایش برخلاف قسمت بالایی. بنابراین برای انجام این
کار، ما فقط می توانیم از قد خود هوشمندانه استفاده کنیم.
1527
02:32:41,569 –> 02:32:46,729
بنابراین آنچه واقعاً باید انجام دهیم این است که از پایین
شروع می کنیم، بنابراین باید هر چیزی را کم کنیم
1528
02:32:46,729 –> 02:32:52,800
ما در واقع سعی می کنیم از پایین از ارتفاع
خود بالا بیاییم. پس ارتفاع منهای این
1529
02:32:52,800 –> 02:33:05,239
ارتفاع منهای این، بیایید این را اجرا کنیم.
چه اتفاقی می افتد، خوب، پس ما هنوز هستیم
1530
02:33:05,239 –> 02:33:10,149
داشتن یک مسئله و دلیل اینکه ما اکنون مشکل
داریم این است که این قطعه درست است
1531
02:33:10,149 –> 02:33:14,430
اینجا هنوز به روش قدیمی پر می شود. بنابراین
آنها به نوعی شبیه پر کردن رنگ سیاه هستند
1532
02:33:14,430 –> 02:33:19,120
و کاشی های قرمز و زرد، همه در محورهای مختلف. بنابراین
چه کاری می خواهیم انجام دهیم تا خود را بسازیم
1533
02:33:19,120 –> 02:33:29,570
زندگی راحتتری دارد، آیا این دو خط را در یک
حلقه دیگر قرار میدهیم. پس من می روم
1534
02:33:29,570 –> 02:33:36,409
برای حذف سریع آن ها و ما فقط یک حلقه دیگر
را انجام می دهیم، بنابراین فقط
1535
02:33:36,409 –> 02:33:40,930
سعی کنید در اینجا با من مدارا کنید، من این مطالب
را کپی می کنم، ما قصد داریم آن را تکرار کنیم
1536
02:33:40,930 –> 02:33:45,140
همه چيز. باز هم، این ممکن است هوشمندانه ترین
راه نباشد، اما بسیار تمیز خواهد بود
1537
02:33:45,140 –> 02:33:53,319
برای مقابله با ما از آنجا که ما همیشه می خواهیم
خود را بسازیم، همیشه می خواهیم بسازیم
1538
02:33:53,319 –> 02:33:57,340
پسزمینه ما و سپس قطعه را پر کنید،
بر خلاف لایک سعی کنید پر کنید
1539
02:33:57,340 –> 02:34:04,229
در قطعات ما در حالی که ما در حال ساختن دور بسته هستیم. بنابراین
من فکر می کنم این به خوبی کار خواهد کرد. این
1540
02:34:04,229 –> 02:34:10,960
فاصله گذاری فقط من را به هم می زند. و این خطوط خیلی طولانی
است. در اینجا ما می رویم. خوب، پس اگر هیئت مدیره
1541
02:34:10,960 –> 02:34:17,939
RC یکی است، ما آن را با آن پر می کنیم، و
سپس می توانیم این خط را حذف کنیم.
1542
02:34:17,939 –> 02:34:20,949
ما را برگردان
1543
02:34:20,949 –> 02:34:28,699
خوب، پس اکنون دو حلقه در حال اجرا داریم، اما
این به نوعی مشکل ما از آنها را برطرف می کند.
1544
02:34:28,699 –> 02:34:36,390
ساخت هیئت مدیره ما بر روی دسترسی های مختلف.
پس بیایید دوباره آن را اجرا کنیم. چه لعنتی
1545
02:34:36,390 –> 02:34:40,620
اگر برد RC برابر با یک باشد، باید این را به صورت
السیف در آوریم. در غیر این صورت، آن را می خواهم
1546
02:34:40,620 –> 02:34:50,659
تخته را برای تمام فضاهای خالی در شروع
بازی پر کنید، برابر با دو. درست؟
1547
02:34:50,659 –> 02:34:56,899
سرد. حالا ببینیم چی میشه به نظر می رسد
که به درستی کار می کند، اما درست است
1548
02:34:56,899 –> 02:35:03,930
با یک مربع جبران می شود. آه می کشد و به این دلیل
است، در اینجا ما در ابتدا حساب می کنیم
1549
02:35:03,930 –> 02:35:07,729
هنگامی که ما در حال ساختن به سمت پایین هستیم، در ابتدا
این را در نظر می گیریم. اما اکنون که در حال ساختن هستیم
1550
02:35:07,729 –> 02:35:12,489
به سمت بالا، می توانیم آن را از ارتفاع حذف کنیم.
بنابراین ما این مربع را حذف می کنیم
1551
02:35:12,489 –> 02:35:19,189
اندازه اینجا ما این اندازه مربع را در اینجا حذف می
کنیم. و اکنون باید به طور کامل آن را داشته باشیم
1552
02:35:19,189 –> 02:35:20,510
کار کردن.
1553
02:35:20,510 –> 02:35:21,830
ساختن.
1554
02:35:21,830 –> 02:35:29,899
آره، به نظر خیلی خوبه، ها؟ باشه، باحال بنابراین
در حال حاضر که ما تقریبا به طور کامل اجرا شده است
1555
02:35:29,899 –> 02:35:34,449
یک بازی با گرافیک، ما قصد داریم چند ویژگی
اضافی اضافه کنیم. بنابراین اولین ویژگی
1556
02:35:34,449 –> 02:35:38,510
ما می خواهیم اضافه کنیم که این چرخ اسکرول کوچک را اضافه
کنیم تا قبل از اینکه قطعه ای را رها کنیم، بتوانیم
1557
02:35:38,510 –> 02:35:44,180
ببینید تکهها در کجا قرار میدهیم چه رنگی دارند.
بنابراین برای انجام آن، ما می خواهیم
1558
02:35:44,180 –> 02:35:49,390
یک رویداد جدید اضافه کنید، ما یک رویداد جدید
را دنبال می کنیم. و این نوع رویداد خواهد بود
1559
02:35:49,390 –> 02:35:55,520
برابر با حرکت ماوس نقطه بازی پی. و بار دیگر، همه
رویدادهای مختلف که می توانید استفاده کنید
1560
02:35:55,520 –> 02:36:03,810
در اسناد pygame ذکر شده است. و درست
مثل دکمه پایین ماوس، ماوس
1561
02:36:03,810 –> 02:36:14,770
حرکت نیز دارای خاصیت موقعیت است. بنابراین می توانم
موقعیت x برابر با موقعیت نقطه رویداد را انجام دهم
1562
02:36:14,770 –> 02:36:19,460
صفر بنابراین، این رویدادهای بسیار بیشتری را برای من به ارمغان
می آورد، زیرا همیشه هر زمان که باشد ردیابی می شود
1563
02:36:19,460 –> 02:36:24,340
انجام هر حرکتی بنابراین این به طور مداوم
به روز می شود. بنابراین در حال حاضر ما به
1564
02:36:24,340 –> 02:36:31,090
از این موقعیت استفاده کنید و بر اساس جایی که آن موقعیت
است چند دایره بکشید. بنابراین اگر نوبت
1565
02:36:31,090 –> 02:36:38,199
برابر با صفر است، این یک بازیکن است که یک
نفر می رود، سپس ما pygame dot draw انجام می دهیم
1566
02:36:38,199 –> 02:36:47,730
صفحه دایره نقطه، رنگ سطح قرمز است، زیرا
پخش کننده یک است. مورد بعدی ما
1567
02:36:47,730 –> 02:36:51,649
نیاز به قرار دادن در دایره موقعیت است.
بنابراین نمایشگاه این مرکز است
1568
02:36:51,649 –> 02:36:57,170
دایره، هر کجا که ماوس ما باشد در موقعیت x قرار می
گیرد، سپس ما فقط می خواهیم که آن را آفست کنیم
1569
02:36:57,170 –> 02:37:02,920
به اندازه ای که دایره کامل رسم شود، بنابراین
ما فقط این اندازه مربع را تقسیم بر می کنیم
1570
02:37:02,920 –> 02:37:09,220
دو و در نهایت باید ارتفاع یا
شعاع دایره را مشخص کنیم.
1571
02:37:09,220 –> 02:37:14,590
و این فقط شعاع است که ما برای همه کاشی ها استفاده
کرده ایم. Else به این معنی است که چرخیده است
1572
02:37:14,590 –> 02:37:22,130
برابر با یک، نوبت بازیکن دو است. و ما فقط
این را کپی کرده و ترسیم می کنیم. و
1573
02:37:22,130 –> 02:37:28,970
حالا در واقع زرد می شود. پس بیایید ببینیم که
اگر آن را بسازیم، چه شکلی به نظر می رسد.
1574
02:37:28,970 –> 02:37:31,600
باشه بساز
1575
02:37:31,600 –> 02:37:40,430
بسیار خوب، من فراموش کردم که به روز رسانی صفحه نمایش
را دریافت کنم، درست مانند عملکرد ترسیم. بنابراین
1576
02:37:40,430 –> 02:37:49,609
pygame dot display dot update, build. خوب بنظر میرسه.
این فقط هرگز حلقه ها را حذف نمی کند.
1577
02:37:49,609 –> 02:37:56,369
بنابراین کاری که می خواهیم برای رفع این مشکل انجام دهیم درست است،
قبل از اینکه دایره را رسم کنیم، آن را انجام می دهیم
1578
02:37:56,369 –> 02:38:01,451
فقط یک مستطیل بکشید که سیاه است، که
دایره های قبلی ما را سیاه می کند
1579
02:38:01,451 –> 02:38:09,749
کشیده شده. بنابراین pygame dot رسم مستطیل نقطه، سطوح، صفحه نمایش،
رنگ سیاه و سفید است. موقعیت در حال رفتن است
1580
02:38:09,749 –> 02:38:16,800
برای شروع از بالا سمت چپ پس این
00 است. با سوراخ صفحه نمایش،
1581
02:38:16,800 –> 02:38:21,370
و سپس ارتفاع به اندازه مربع خواهد بود،
زیرا این نوار بافر به این اندازه است
1582
02:38:21,370 –> 02:38:28,240
از در بالا است. و این باید خوب باشد. فکر می کنم
ممکن است یک مورد اضافی داشته باشم. نه. آره،
1583
02:38:28,240 –> 02:38:36,390
من یک پرانتز اضافی در آنجا دارم. آره به نظر خوبه
بنابراین اکنون ما این بازی را تمام کرده ایم،
1584
02:38:36,390 –> 02:38:46,890
رها کردن رها کن، رها کن، رها کن. به نظر خوب میاد.
سرد. و بنابراین یک چیز که شما نیز ممکن است
1585
02:38:46,890 –> 02:38:52,699
میخواهم تغییر کنم این است که اگر بازی را ببرم،
بازی را خیلی سریع با قرمز برنده میشوم،
1586
02:38:52,699 –> 02:38:58,520
بلافاصله به طور خودکار بسته می شود. بنابراین یک کاری که می
توانیم انجام دهیم این است که می توانیم یک pygame وزن اضافه کنیم
1587
02:38:58,520 –> 02:39:05,109
دارای عملکرد وزنی داخلی است. بنابراین کاری که می توانیم
انجام دهیم این است که اگر شرط بازی بیش از حد درست باشد،
1588
02:39:05,109 –> 02:39:11,489
بنابراین اگر بازی به پایان برسد، زمان بازی پی را
وزن نقطه می نامیم. و این همان میلی ثانیه شماست
1589
02:39:11,489 –> 02:39:21,890
می خواهم صبر کنم بنابراین 3000 برابر با سه ثانیه است. بنابراین
اگر دوباره این 123 را اجرا کنم و خاموش خواهم شد
1590
02:39:21,890 –> 02:39:27,600
بطور خودکار. سرد. و پس از آن درست قبل از خاموش شدن،
ما میخواهیم اعلانهایی در این مورد داشته باشیم
1591
02:39:27,600 –> 02:39:32,159
بازیکن در واقع برنده شد. بنابراین در ابتدا، ما آن
را چاپ می کردیم، اما اکنون در واقع رندر خواهیم کرد
1592
02:39:32,159 –> 02:39:39,899
عملکرد چاپ روی صفحه نمایش ما بنابراین چیزی
شبیه به شکل زیر خواهد بود. پس ما هستیم
1593
02:39:39,899 –> 02:39:49,430
قصد حذف خط این است که بازیکن یک برنده است.
و ما یک فونت را در بالا تنظیم می کنیم
1594
02:39:49,430 –> 02:39:56,039
به نظر می رسد که ما آن را درست در زیر اولین به روز رسانی انجام
خواهیم داد. بنابراین ما فونت من را انجام می دهیم
1595
02:39:56,039 –> 02:40:02,550
مساوی پی بازی نقطه فونت نقطه سیستم. فونت
این همه در مستندات است، فقط کپی کنید
1596
02:40:02,550 –> 02:40:07,760
چند کد قبلی که نوشتم و آخرین باری که این را نوشتم،
از فونتی به نام monospace استفاده کردم.
1597
02:40:07,760 –> 02:40:12,209
اما گزینه های دیگری نیز وجود دارد، می توانید
برای همه جزئیات به مستندات نگاه کنید. و
1598
02:40:12,209 –> 02:40:18,010
ما اندازه فونت 75 را انجام خواهیم داد. این فقط یک عدد
دلخواه است که به نظرم کار می کند. و سپس اگر ما
1599
02:40:18,010 –> 02:40:24,720
به پایین بروید، برای اینکه در واقع آن را به صورت
افقی در صفحه نمایش دهید، می توانم موارد زیر را تایپ کنم.
1600
02:40:24,720 –> 02:40:37,640
می توانم بگویم، برچسب برابر است با رندر فونت من،
بازیکن یک برنده است، توضیح. و بعد من باور می کنم
1601
02:40:37,640 –> 02:40:42,859
این دقیقاً اینجا که من گذاشتم، محورهایی را که روی آن
قرار دارد را مشخص می کند، در واقع مطمئن نیستم
1602
02:40:42,859 –> 02:40:48,140
من ممکن است با آن بازی کنم تا بررسی کنم.
و سپس می خواهیم رنگ قرمز باشد، زیرا
1603
02:40:48,140 –> 02:40:52,729
آن متن را قرمز می کند، زیرا بازیکن یک، و سپس
برای دریافت چه کاری باید انجام دهیم
1604
02:40:52,729 –> 02:40:58,040
که روی صفحه، آن را به سرعت انجام دهید، همچنین می توانیم
از عملکرد به روز رسانی نقطه نمایش بازی PI استفاده کنیم،
1605
02:40:58,040 –> 02:41:02,640
اما من قصد دارم در اینجا کاری کمی متفاوت انجام دهم.
من قصد دارم یک صفحه نمایش dot blit انجام دهم. و
1606
02:41:02,640 –> 02:41:08,520
که فقط آن بخش خاص از صفحه را به روز می
کند. و من با این ارزش ها بازی کردم
1607
02:41:08,520 –> 02:41:13,029
قبل از اینکه متوجه شدم که XY پرداخت یا جایی که
در گوشه سمت چپ بالای صفحه شروع می شود
1608
02:41:13,029 –> 02:41:17,239
این متن از 40 شروع می شود، کاما 10. بسیار خوب کار می
کند. پس بیایید ببینیم چه زمانی اتفاق می افتد
1609
02:41:17,239 –> 02:41:22,539
من اجرا می کنم که ما قصد داریم تا کی خوانده باشیم
1610
02:41:22,539 –> 02:41:36,979
بازیکن یک برنده می شود و یک چیز این است که کاشی
مانع می شود. خوب، ما به طور بالقوه می توانیم
1611
02:41:36,979 –> 02:41:40,909
اگر بخواهیم میتوانیم مستطیل
سیاه دیگری بکشیم.
1612
02:41:40,909 –> 02:41:46,470
نمی دونم زیاد اذیتش نمی کنم، در یک ثانیه درستش
می کنیم. ما این را برای کپی می کنیم
1613
02:41:46,470 –> 02:41:58,859
بازیکن دو و همچنین بردهای بازیکن دو در رنگها
اکنون زرد خواهند شد. ساختن. پس چی
1614
02:41:58,859 –> 02:42:15,569
در صورت پیروزی زرد اتفاق می افتد. اینقدر به
خودم سخت میگیرم 32 برد، بله. خیلی خوب. و شاید
1615
02:42:15,569 –> 02:42:21,229
کاری که ما انجام خواهیم داد این است که در ابتدای دکمه
ماوس به سمت پایین، آن مستطیل سیاه را ترسیم می کنیم
1616
02:42:21,229 –> 02:42:26,949
همچنین. بنابراین ما آن مزاحم را نداریم. کاشی مزاحم سر
راه ما قرار می گیرد. بنابراین تعجب درست است
1617
02:42:26,949 –> 02:42:34,399
وقتی دکمه ماوس را به سمت پایین کلیک میکنیم،
باعث میشود که یک مورد دیگر روی آن ناپدید شود
1618
02:42:34,399 –> 02:42:35,420
زمان.
1619
02:42:35,420 –> 02:42:36,450
آه،
1620
02:42:36,450 –> 02:42:40,720
بازیکن یک برنده می شود، به نظر خوب می رسد. و شما می توانید
هر طور که صلاح می دانید با آن کار کنید. باشه،
1621
02:42:40,720 –> 02:42:49,239
منظورم این است که این یک بازی بسیار خوب است. من
خیلی از آن راضی هستم.
1622
02:42:49,239 –> 02:42:55,579
بنابراین این تتریس در پایتون با بازی PI خواهد
بود. اکنون این یک آموزش بسیار پیشرفته است.
1623
02:42:55,579 –> 02:42:59,270
بسیاری از کارهایی که من در اینجا انجام میدهم این فرض را بر
این میگذارد که شما قبلاً دانش پایهای از پایتون دارید،
1624
02:42:59,270 –> 02:43:03,649
شما مقداری از نحو را می دانید و کاملا
مبتدی نیستید. که می شود گفت،
1625
02:43:03,649 –> 02:43:06,779
اگر کاملا مبتدی هستید، با خیال راحت تماشا
کنید، ببینید چه چیزی ممکن است بفهمید،
1626
02:43:06,779 –> 02:43:10,290
احتمالاً در این راه چیزی یاد خواهید گرفت.
فقط ممکن است کمی گیج کننده باشد،
1627
02:43:10,290 –> 02:43:14,159
زیرا من به نوعی قصد دارم از طریق چند
مورد که می خواهم به آنها سرعت دهم
1628
02:43:14,159 –> 02:43:19,029
بی اهمیت در حال حاضر باشه. بنابراین اولین قدم برای
این مجموعه آموزشی این است که بچه ها باید دانلود کنید
1629
02:43:19,029 –> 02:43:22,560
و بازی pi را نصب کنید زیرا این ماژولی است که
ما از آن استفاده خواهیم کرد. باشه پس بدیم
1630
02:43:22,560 –> 02:43:28,499
یک پیش نمایش سریع از اینکه بازی ما قرار است چگونه به
نظر برسد. پس این تتریس است، من این کار را نکردم
1631
02:43:28,499 –> 02:43:32,470
با گرافیک خیلی شیطنت میکنم، من تقریباً فقط میخواهم
مطمئن شوم که همه چیز را دریافت میکنیم
1632
02:43:32,470 –> 02:43:36,510
کاربردی در اینجا و بعداً اگر بخواهید میتوانید
بازی کنید و بعداً چیزها را تغییر دهید
1633
02:43:36,510 –> 02:43:40,619
به. اما بله، این یک بازی کاملاً کاربردی است. شما
می توانید آن را درست مانند تتریس استاندارد ببینید،
1634
02:43:40,619 –> 02:43:44,760
ما رنگ های مختلف داریم، اشکال در حال سقوط هستند
صفحه نمایش شکل گردن ما را به ما نشان می دهد. و
1635
02:43:44,760 –> 02:43:48,729
ما می رویم، جاده تازه پاک شده است. پس این تمام چیزی
است که من در حال حاضر به شما نشان خواهم داد. زیرا
1636
02:43:48,729 –> 02:43:55,351
من می خواهم وارد برنامه نویسی واقعی بشوم، باشه.
بنابراین، تقریباً کاری که قرار است انجام دهیم
1637
02:43:55,351 –> 02:43:59,979
در این آموزش اول، آیا ما قرار است کمی
در تابع اصلی کار کنیم، ما هستیم
1638
02:43:59,979 –> 02:44:04,590
برای ایجاد شبکه، ما در مورد قالب
بندی اشکال صحبت خواهیم کرد
1639
02:44:04,590 –> 02:44:08,649
اصول اولیه فقط راه اندازی برای بقیه
آموزش ها. بنابراین اولین قدم، و چه
1640
02:44:08,649 –> 02:44:12,300
بچه ها باید این کار را انجام دهید این است که می خواهید مانند
یک فایل شروع دانلود کنید، بسیار خوب. و این است
1641
02:44:12,300 –> 02:44:15,620
فقط به این دلیل که اگر اینجا را ببینید، من در پرونده خود ورق می
زنم، لیست های زیادی دریافت کردم، چند تایی دریافت کردم
1642
02:44:15,620 –> 02:44:19,399
چیزهایی اینجا تنظیم شده است و شما می دانید که من می توانم از
طریق چه چیزی بگذرم و همه آنها را تایپ کنم. اما همین است
1643
02:44:19,399 –> 02:44:24,170
فقط هدر دادن ویدیو است، زیرا زمان زیادی می برد.
بنابراین برای صرفه جویی در وقت خود، و به
1644
02:44:24,170 –> 02:44:27,880
کمی وقتم را ذخیره کنید، کاری که می خواهم انجام دهم این
است که فقط یک لینک در توضیحات به عنوان خمیر قرار دهم
1645
02:44:27,880 –> 02:44:32,409
لینک bin، روی آن لینک کلیک کنید و این کد را
دانلود کنید. فقط قرار است همه اینها باشد
1646
02:44:32,409 –> 02:44:37,449
تمام توابع مورد نیاز ما برای این کار
را دارد. و سپس این شکل ها را دارد
1647
02:44:37,449 –> 02:44:40,300
فرمت هایی که من فقط در یک دقیقه در مورد آنها صحبت
خواهم کرد. پس اگر به دلایلی این کار را انجام دهید
1648
02:44:40,300 –> 02:44:44,249
پیسمن کار نمی کند، در نظرات به من اطلاع دهید.
و راه دیگری برای دادن پیدا خواهم کرد
1649
02:44:44,249 –> 02:44:48,160
آن را برای شما اما من همچنین می خواهم آن را در
نظر سنجاق شده قرار دهم، تا بتوانید فقط کپی کنید
1650
02:44:48,160 –> 02:44:52,689
و از آنجا هم بچسبانید. من توصیه می کنم
تورفتگی روی آن را بررسی کنید زیرا
1651
02:44:52,689 –> 02:44:58,550
گاهی اوقات در سطل رب و در نظرات خراب
می شود. باشه. پس حالا که دارید
1652
02:44:58,550 –> 02:45:03,319
که دانلود شد، ما در حال کار بر روی این هستیم
که در PI Charm کار کنم. اگر این کار را نکنید
1653
02:45:03,319 –> 02:45:06,600
در مورد pi charm بدانید، نگران آن نباشید، شما فقط می توانید
از آن به طور ایده آل استفاده کنید، اما این درست است
1654
02:45:06,600 –> 02:45:10,600
در وقت من صرفه جویی می شود زیرا متغیرها را
تکمیل می کند و مقداری هم انجام می دهد
1655
02:45:10,600 –> 02:45:13,959
چیزهای جالب. پس این چیزی است که من در آن کار
خواهم کرد، با خیال راحت در PI Charm کار کنید،
1656
02:45:13,959 –> 02:45:17,260
با خیال راحت در هر ویرایشگر متنی که می خواهید
کار کنید، فقط بدانید که من از آن استفاده می کنم
1657
02:45:17,260 –> 02:45:21,079
فرقی نمی کند اما برخی از کارهایی که من در اینجا
انجام می دهم ممکن است نتوانید انجام دهید
1658
02:45:21,079 –> 02:45:24,859
انجام دهید و در حالت ایده آل، یا Sublime Text یا هر چیزی که شما
بچه ها قرار است استفاده کنید. بنابراین ما آن را داریم
1659
02:45:24,859 –> 02:45:27,899
تمام مسیر. ما همه چیز را آماده کرده ایم. و اکنون
ما آماده ایم تا در واقع کدنویسی را شروع کنیم
1660
02:45:27,899 –> 02:45:32,090
و درک آنچه قرار است اتفاق بیفتد. بنابراین
تتریس یک بازی نسبتا پیچیده است، شما
1661
02:45:32,090 –> 02:45:36,130
اشکالی دارند که به سمت پایین صفحه حرکت می کنند،
به اطراف می چرخند، به چپ و راست حرکت می کنند.
1662
02:45:36,130 –> 02:45:40,449
وقتی به ته میرسند، در هر موقعیتی
که هستند منجمد میشوند
1663
02:45:40,449 –> 02:45:45,250
یک ردیف کامل، مانند مکعب ها، آن ردیف پاک
می شود، و شما ادامه می دهید. و بدیهی است
1664
02:45:45,250 –> 02:45:51,101
اگر بلوکهای زیادی را روی هم بچینید، بازی را میبازید،
و از بالای آن بالا یا بالاتر میرود
1665
02:45:51,101 –> 02:45:56,199
صفحه نمایش باشه. بنابراین اولین متغیری
که باید تنظیم کنیم عرض صفحه ما و
1666
02:45:56,199 –> 02:46:01,680
ارتفاع صفحه نمایش ما بنابراین ما اینجا 800 700 گرفتیم،
موارد بعدی بازی با ارتفاعات و بازی هستند.
1667
02:46:01,680 –> 02:46:08,079
حالا این همان جعبه قرمز واقعی است که شما بچه ها دیدید.
این چیزی است که اینها نشان می دهند. بنابراین
1668
02:46:08,079 –> 02:46:12,030
از آنجایی که در تتریس، ما یک شبکه 10 در 20
داریم، باید مطمئن شویم که بازی ما با
1669
02:46:12,030 –> 02:46:16,160
دقیقاً نیمی از ارتفاع بازی ما، به طوری که ما مربع های
کامل داشته باشیم، درست است. بنابراین انجام دادن
1670
02:46:16,160 –> 02:46:21,850
ریاضی در اینجا باعث می شود که عرض 30 و ارتفاع هر بلوک
30 باشد. بنابراین اندازه بلوک ما 30 است.
1671
02:46:21,850 –> 02:46:28,409
خوب، حالا این x بالا سمت چپ و بالا سمت چپ و y
بالا سمت چپ، این نشان دهنده بالا سمت چپ است
1672
02:46:28,409 –> 02:46:33,610
موقعیت منطقه بازی واقعی ما وقتی شروع به کشیدن
بلوک می کنیم، اینطور است و شروع می کنیم
1673
02:46:33,610 –> 02:46:37,100
بررسی تبانی و مواردی از این قبیل، ما
فقط اینها را از قبل تنظیم کرده ایم، و
1674
02:46:37,100 –> 02:46:41,220
ما مجبور نیستیم با آن مقابله کنیم. بنابراین ریاضیات
بسیار ساده است. شما بچه ها می توانید
1675
02:46:41,220 –> 02:46:46,149
احتمالا آن را بفهم نیازی به توضیح
من نیست باشه، فرمت شکل. پس اینها،
1676
02:46:46,149 –> 02:46:49,930
و این طولانی ترین بخش است، به همین دلیل است که من از شما
بچه ها خواستم همه چیز را کپی کنید، این همان چیزی است که هست
1677
02:46:49,930 –> 02:46:54,590
قرار است اشکال ما را در تتریس نشان دهد. اکنون
می بینید که من چندین لیست در داخل دارم
1678
02:46:54,590 –> 02:47:01,060
از لیست ها، در بیشتر موارد، این به این دلیل است
که هر شکل احتمالاً بیش از یک چرخش دارد،
1679
02:47:01,060 –> 02:47:05,229
درست. بنابراین این چرخش استاندارد شکل S است.
و این در واقع همان چیزی است که آنها هستند
1680
02:47:05,229 –> 02:47:10,979
با تتریس تماس گرفت، همانطور که s گفت، من، اوه،
هر چه باشد. و این چرخش دوم است. و اینها
1681
02:47:10,979 –> 02:47:15,819
تنها دو چرخش یا هر چیز دیگری هستند که s می تواند داشته باشد.
بنابراین به همین دلیل است که ما آنها را وارد می کنیم
1682
02:47:15,819 –> 02:47:20,340
در اینجا ما یک شبکه پنج در پنج نقطه داریم، و هر
چه باشد، یک صفر وجود دارد که نشان دهنده آن است
1683
02:47:20,340 –> 02:47:24,380
جایی که بلوک واقعا وجود دارد، بسیار خوب. برای اینکه بتوانید
از طریق آن حرکت کنید، می توانید مهربان باشید
1684
02:47:24,380 –> 02:47:27,709
از نگاه کردن به آنها و شما می توانید برای برخی از
آنها، به عنوان مثال، مربع، خوب، آن را ببینید
1685
02:47:27,709 –> 02:47:30,869
هیچ چرخشی ندارد، اگر آن را برگردانید،
یکسان به نظر می رسد. پس فقط داریم
1686
02:47:30,869 –> 02:47:35,899
یک لیست در اینجا، برای J. با این حال، ما چهار عدد
داریم، درست است، زیرا میتوانیم در آن بچرخیم
1687
02:47:35,899 –> 02:47:41,569
راه های مختلف L، ما نیز هزینه T را داریم، چهار تا نیز
داریم، خوب؟ پس از این، من یک را ایجاد می کنم
1688
02:47:41,569 –> 02:47:46,819
فهرست و فقط تمام اشکال من را نگه می دارد. بنابراین همانطور
که گفتم، من همین الان دیدم که به این ترتیب، من
1689
02:47:46,819 –> 02:47:52,539
می تواند به راحتی اشکال را فقط با فهرست کردن آنها
در لیست مانند صفر تا شش انتخاب کند. و
1690
02:47:52,539 –> 02:47:56,411
رنگ های شکل در اینجا یکسان است. این فقط مطابق
با لایک است، اگر من انجام دادم
1691
02:47:56,411 –> 02:48:00,949
شکل صفر، و من رنگ صفر را شکل دادم،
سپس این رنگ شکل صفر خواهد بود،
1692
02:48:00,949 –> 02:48:06,739
باشه؟ مشابه، شش. بنابراین شکل شش،
خوب، فهرست رنگ، یا شکل، رنگ شش
1693
02:48:06,739 –> 02:48:10,539
رنگ آن شکل است بنابراین فقط آن را واقعا آسان
می کند. ما مجبور نیستیم با آن برخورد کنیم
1694
02:48:10,539 –> 02:48:15,409
دیکشنری یا هر چیز دیگری باشه. خیلی خوب. بنابراین
در حال حاضر، ما به نوعی از آن عبور کرده ایم
1695
02:48:15,409 –> 02:48:21,369
من می گویم مانند فایل شروع و می توانید در اینجا به
پایین اسکرول کنید، می توانید به عملکرد نگاه کنید
1696
02:48:21,369 –> 02:48:23,640
نامها را توضیح نمیدهم، زیرا اکثر
آنها کاملاً ساده هستند. و
1697
02:48:23,640 –> 02:48:27,289
به هر حال وقتی شروع به کدنویسی کنیم در مورد آنها
صحبت خواهم کرد. اما ما اینجا کلاس داریم.
1698
02:48:27,289 –> 02:48:32,180
اکنون این کلاس نوع اصلی ساختار داده خواهد
بود، اگر بخواهید آن را فراخوانی کنید
1699
02:48:32,180 –> 02:48:37,369
برای بازی ما، و این قرار است نشان
دهنده یا این کلاس متفاوت باشد
1700
02:48:37,369 –> 02:48:40,590
قطعات. بنابراین دلیل اینکه ما این کلاس را
داریم این است که ما به این کلاس می گوییم
1701
02:48:40,590 –> 02:48:44,010
بارها، و تقریباً فقط اطلاعاتی مانند
ارتفاع عرض x y را نگه می دارد
1702
02:48:44,010 –> 02:48:48,270
برای قطعه ما بنابراین اجازه دهید در واقع کدنویسی را از هم اکنون
شروع کنیم. بنابراین من فقط قصد دارم مقدار دهی اولیه خود را ایجاد کنم
1703
02:48:48,270 –> 02:48:53,439
عملکرد یا روش و این در واقع تنها روشی است
که قرار است داشته باشم. پس من نیاز دارم
1704
02:48:53,439 –> 02:48:57,439
یک خط دیگر، فقط آن را از بین برد. و تقریباً،
چیزی که این قرار است داشته باشد، خواهد بود
1705
02:48:57,439 –> 02:49:03,199
یک x، یک y داشته باشید و سپس یک لرزش خواهد
داشت. باشه. و این تنها اطلاعات است
1706
02:49:03,199 –> 02:49:10,029
ما برای این نیاز داریم و دلیلش را به شما نشان خواهم داد. بنابراین
می گوییم خود نقطه x برابر است با x، خود نقطه y
1707
02:49:10,029 –> 02:49:16,720
برابر y است، شکل خود نقطه برابر با شکل است. و
سپس آنچه که ما می خواهیم در اینجا انجام دهیم
1708
02:49:16,720 –> 02:49:22,470
رنگ را می خواهیم و ما چرخش را می خواهیم. بنابراین
رنگ خود نقطه. خوب من قبلا صحبت می کردم
1709
02:49:22,470 –> 02:49:27,989
در مورد این رنگ خود نقطه فقط برابر
با هر شاخص این شکل است، در این
1710
02:49:27,989 –> 02:49:33,670
لیست رنگ بنابراین کاری که میتوانیم انجام دهیم این است که میتوانیم
شکل را زیر رنگهای کوتاه، براکتهای مربع انجام دهیم.
1711
02:49:33,670 –> 02:49:39,270
و سپس شکل نقطه شاخص، و هر شکلی که به ما داده
شد. بنابراین اگر به ما شکل داده شود
1712
02:49:39,270 –> 02:49:43,569
خوب، بیایید آن را در بی شکل پیدا کنیم،
هر شاخصی که باشد، خوب، آن رنگ است
1713
02:49:43,569 –> 02:49:48,630
از شکل ما، بسیار ساده است. و سپس یک
چرخش انجام می دهیم. بنابراین چرخش،
1714
02:49:48,630 –> 02:49:52,859
این قرار است پیش فرض را بر روی صفر قرار دهد. و این
به این صورت است که هر زمان روی فلش بالا کلیک کنیم
1715
02:49:52,859 –> 02:49:58,479
کلید، ما فقط می توانیم یکی را به این چرخش اضافه
کنیم، و این نشان می دهد که ما در واقع چه شکلی هستیم
1716
02:49:58,479 –> 02:50:01,520
نمایش داده می شود زیرا دوباره، به یاد داشته
باشید که لیست شکل یک لیست چند بعدی است
1717
02:50:01,520 –> 02:50:09,220
در اینجا می توانید ببینید، در این مورد چهار لیست
در آن وجود دارد. باشه. بسیار خوب، شبکه ایجاد کنید.
1718
02:50:09,220 –> 02:50:12,319
نمیدانم هنوز میخواهیم این کار را انجام دهیم یا
نه، میدانید که در واقع، بیایید بریم. بیا بریم
1719
02:50:12,319 –> 02:50:16,430
جلو و این یکی را انجام دهید. خیلی هم پیچیده نیست. بنابراین
راهی که من قصد دارم به نمایندگی از
1720
02:50:16,430 –> 02:50:23,359
شبکه در تتریس، به طوری که شبکه 10 در 20،
فقط با ایجاد یک لیست پر از رنگ است. باشه،
1721
02:50:23,359 –> 02:50:27,800
بنابراین ما یک لیست دو بعدی خواهیم داشت.
و در آن بعد دوم، در حال حرکت است
1722
02:50:27,800 –> 02:50:31,069
برای نشان دادن دسته ای از رنگ ها خوب، پس من فقط با
کدنویسی و صحبت کردن به شما نشان خواهم داد
1723
02:50:31,069 –> 02:50:38,550
در مورد بعد، مثلاً، شبکه برابر است با، و سپس
یک براکت مربع دیگر در اینجا، برای x و محدوده
1724
02:50:38,550 –> 02:50:47,249
20. و نگران نباشید، این را در یک ثانیه توضیح
خواهم داد. و برای x در محدوده می گوید
1725
02:50:47,249 –> 02:50:54,999
10. باشه. به جز اینجا، ما فقط از 000 استفاده می کنیم. بسیار
خوب، پس کاری که من اینجا انجام دادم، این است
1726
02:50:54,999 –> 02:51:00,180
بسیار زیبا است، این مانند، راه پایتون برای ایجاد
لیستها k درک لیست است، ما در حال رفتن هستیم
1727
02:51:00,180 –> 02:51:06,850
برای ایجاد یک لیست برای هر ردیف در شبکه خود. بنابراین از
آنجایی که ما 20 ردیف داریم، می خواهیم ایجاد کنیم
1728
02:51:06,850 –> 02:51:12,240
20 فهرست فرعی، و هر یک از اینها مانند فهرستهای فرعی
یا هر فهرست دو بعدی که در حال انجام است
1729
02:51:12,240 –> 02:51:15,749
برای داشتن یک دسته رنگ در آن، چند
رنگ خواهد بود؟ خوب، آن را به
1730
02:51:15,749 –> 02:51:21,890
10 رنگ داشته باشید، چون در هر ردیف 10 مربع
داریم، 20 ردیف داریم. پس همین است
1731
02:51:21,890 –> 02:51:26,359
روش کار این X ها را می توانید با زیرخط جایگزین
کنید، زیرا ما واقعا این کار را نمی کنیم
1732
02:51:26,359 –> 02:51:31,829
به متغیر واقعی اهمیت می دهیم، فقط باید چندین
بار این کار را انجام دهیم. اکنون. 0000 یا
1733
02:51:31,829 –> 02:51:36,840
000. درست است. به هر حال، این فقط بلاک
مخفف بلوک است. و راهی که هستیم
1734
02:51:36,840 –> 02:51:41,420
ترسیم شبکه به سادگی با حلقه زدن از طریق
این شبکه است که ما آن را برمی گردانیم
1735
02:51:41,420 –> 02:51:45,390
و فقط روی هر رنگ بکشید. بنابراین آن را بسیار
ساده می کند. باشه. در حال حاضر، تنها
1736
02:51:45,390 –> 02:51:51,080
اما چیزی که باید در اینجا انجام دهیم این است که
این موقعیت قفل شده را داریم. بحث در حال حاضر،
1737
02:51:51,080 –> 02:51:56,189
موقعیت قفل شده در حال حاضر یک شبکه خالی ایجاد کرده ایم.
اگر از قبل بلوک هایی وجود داشته باشد چه می شود
1738
02:51:56,189 –> 02:51:59,500
که در شبکه ما قرار داده شده اند، بنابراین مثل
اینکه قبلاً سقوط کرده اند، اکنون ساکن هستند
1739
02:51:59,500 –> 02:52:04,529
آنها حرکت نمی کنند؟ خوب، ما باید آنها را نیز ترسیم
کنیم. بنابراین برای ترسیم آنها، ما می رویم
1740
02:52:04,529 –> 02:52:10,329
برای بررسی اینکه آیا هیچ یک از موقعیت های در
موقعیت قفل مانند یا هر موقعیت دیگری نیست
1741
02:52:10,329 –> 02:52:13,949
در موقعیت قفل هستند، ما آن رنگ را دریافت
می کنیم و رنگ مربوطه را تغییر می دهیم
1742
02:52:13,949 –> 02:52:20,210
ارزش در شبکه من آن را فقط با نوعی کدنویسی در اینجا
نشان خواهم داد. بنابراین برای من، در محدوده، من هستم
1743
02:52:20,210 –> 02:52:25,109
قرار است طول شبکه را انجام دهد. و
دوباره، این به ما 20 می دهد. زیرا طول
1744
02:52:25,109 –> 02:52:31,409
از شبکه خواهد شد که آن را 20 از این، درست است؟ بسیار
خوب، بنابراین برای i در محدوده، یکی از شبکه برای j
1745
02:52:31,409 –> 02:52:39,460
در محدوده، و سپس می گوییم Len of grid I، زیرا اکنون
در این لیست هستیم. بنابراین در حال حاضر
1746
02:52:39,460 –> 02:52:46,550
ما هر چه طول آن لیست باشد را انجام می دهیم، باشه؟
بسیار خوب، اگر این را کاما j کنید، بگویید
1747
02:52:46,550 –> 02:52:52,909
i، چون j مقدار x ما است، I مقدار y
ما است، زیرا ردیف ها با I و
1748
02:52:52,909 –> 02:52:59,359
ستون هایی که با J در موقعیت قفل نشان داده می شوند،
و فقط می دانید، مکث قفل شده مخفف آن است
1749
02:52:59,359 –> 02:53:03,340
موقعیت قفل شده است، همچنین یک فرهنگ لغت است. بنابراین
می توانید ببینید که در اینجا یک فرهنگ لغت خالی است
1750
02:53:03,340 –> 02:53:07,689
و هر موقعیت بنابراین مانند، به عنوان مثال،
اگر ما یک مانند یک، قرار است برابر تنظیم شود
1751
02:53:07,689 –> 02:53:11,819
به یک رنگ، و رنگ می تواند چیزی در حدود 255 00 باشد.
بسیار خوب، و ما می خواهیم صحبت کنیم
1752
02:53:11,819 –> 02:53:14,859
در مورد آن و ایجاد آن بعدا. اما این فقط
چیزی است که او باید فعلا بداند. باشه،
1753
02:53:14,859 –> 02:53:19,229
بنابراین j در موقعیت قفل است. بنابراین اگر آن کلید
وجود دارد، بیایید بفهمیم که آن کلید چیست.
1754
02:53:19,229 –> 02:53:25,670
بنابراین آن کلید برابر با موقعیت قفل
چاه یا مقدار متأسفانه آن خواهد بود
1755
02:53:25,670 –> 02:53:30,689
با آن کلید J. اکنون هر موقعیت شبکه
فعلی را در اینجا تغییر می دهیم.
1756
02:53:30,689 –> 02:53:39,100
بنابراین برای شبکه، i، j، برابر با C است. خوب است؟ من
می دانم که این ممکن است کمی پیچیده به نظر برسد،
1757
02:53:39,100 –> 02:53:42,510
اما تقریباً ما فقط از طریق این شبکه
جستجو می کنیم و مربوطه را پیدا می کنیم
1758
02:53:42,510 –> 02:53:46,740
در موقعیت قفل قرار بگیرید و فقط رنگ
را در شبکه تغییر دهید تا بعداً
1759
02:53:46,740 –> 02:53:50,859
وقتی آن را ترسیم می کنیم، یک شبکه دقیق به دست می آوریم.
باشه. و شما بچه ها خواهید دید که این همه چگونه است
1760
02:53:50,859 –> 02:53:55,270
اگر کمی گیج کننده به نظر برسد بعدا پخش
می شود، بسیار خوب. و قراره برگردیم
1761
02:53:55,270 –> 02:54:01,050
این شبکه به هر کجا که ما تماس می گیریم. خوب، پس یک قسمت
تمام شد. اکنون می توانیم به سمت پایین حرکت کنیم
1762
02:54:01,050 –> 02:54:05,949
و می توانیم وارد پنجره ترسیم شویم، که در
واقع اجازه دهید شکل بگیریم. این یکی واقعا
1763
02:54:05,949 –> 02:54:15,520
آسان باشه. بنابراین این به معنای واقعی کلمه یک خط است،
نقطه تصادفی x را برگردانید، در واقع، آن چیست
1764
02:54:15,520 –> 02:54:19,630
با اینجا تماس گرفتم، باید نگاهی بیندازم، فکر میکنم این
یک نقطه تصادفی است، انتخاب نقطهای تصادفی است.
1765
02:54:19,630 –> 02:54:25,529
این همان چیزی است که انتخاب نقطه تصادفی است.
و سپس یک لیست شکل به ما داده می شود. پس بگو،
1766
02:54:25,529 –> 02:54:32,609
شکل. در واقع، اجازه دهید فقط، ما آن را در اینجا فراخوانی
می کنیم. ببخشید بچه ها شکل.
1767
02:54:32,609 –> 02:54:36,850
اشکال انتخاب تصادفی تمام کاری که قرار است انجام
شود این است که یکی از این اشکال را انتخاب کند،
1768
02:54:36,850 –> 02:54:41,850
و فقط قرار است آن را به ما بدهد. به طوری که زمانی که
ما نیاز به ایجاد مانند یک شکل جدید در حال سقوط است
1769
02:54:41,850 –> 02:54:46,720
پایین صفحه یا هر چیز دیگری، این تنها کاری است
که باید انجام دهیم. باشه خیلی خوبه انتخاب تصادفی
1770
02:54:46,720 –> 02:54:51,090
پایین واقعا آسان است. باشه. حمله بعدی به مواد مخدر بسیار خوب،
پس کاری که ما می خواهیم انجام دهیم این است که انجام می دهیم
1771
02:54:51,090 –> 02:54:55,069
از یک سطح عبور کنید، و سطح به وضوح همان چیزی است
که قرار است روی آن ترسیم کنیم. پس ما هستیم
1772
02:54:55,069 –> 02:55:00,720
فقط با تغییر سطح سطح شروع می شود که
وقتی نقطه سطح با رنگ پر می شود
1773
02:55:00,720 –> 02:55:04,850
در صورتی که کد مسدود می شود بسیار خوب، نقطه
سطح 002 را پر کنید. بسیار خوب، مورد بعدی
1774
02:55:04,850 –> 02:55:08,189
ما قرار است انجام دهیم این است که ما فقط می خواهیم مانند
یک عنوان روی چیزها ترسیم کنیم. پس راهی که داریم
1775
02:55:08,189 –> 02:55:16,320
برای انجام این کار، ابتدا باید با مقداردهی اولیه اشیاء فونت
زمانی که pygame.font.net را انجام می دهیم، شروع کنیم. باشه،
1776
02:55:16,320 –> 02:55:19,979
این فقط به این معنی است که ما در حال تنظیم فونت
هستیم و آماده می شویم تا روی صفحه نمایش بکشیم.
1777
02:55:19,979 –> 02:55:27,590
ما یک فونت ایجاد می کنیم، یک فونت برابر است
با بازی pi، فونت نقطه نقطه، s، y s بزرگ،
1778
02:55:27,590 –> 02:55:33,289
و همچنین فونت و سپس به نام فونت روی Comic
Sans نیاز داریم. پس من استفاده میکنم
1779
02:55:33,289 –> 02:55:39,739
من معتقدم که اندازه فونت Comic Sans. آره،
پس مبارزه رندی 60. باشه. پس راه
1780
02:55:39,739 –> 02:55:43,079
شما می خواهید مبارزه خود را تنظیم کنید، می خواهید این
را تغییر دهید، فقط این را به هر فونتی تغییر دهید،
1781
02:55:43,079 –> 02:55:47,189
میتوانید فونتها را در وبسایت pygame جستجو کنید،
و اگر میدانید فقط اندازه آن را بدهید
1782
02:55:47,189 –> 02:55:51,779
نام فونت را در اینجا تایپ کنید، احتمالاً
در بازی PI وجود دارد. خیلی خوب.
1783
02:55:51,779 –> 02:55:56,939
بنابراین اکنون باید یک برچسب تنظیم کنیم. بنابراین
من می گویم برچسب برابر با رندر نقطه فونت است.
1784
02:55:56,939 –> 02:56:01,720
و سپس در اینجا، ما به متنی نیاز داریم که می خواهیم
ارائه دهیم، در این مورد، من تماس می گیرم
1785
02:56:01,720 –> 02:56:06,630
تتریس، به آنتی آلیاسینگ یک نیاز دارید، و من معتقدم
که ما به یک رنگ نیاز داریم. در این مورد، من هستم
1786
02:56:06,630 –> 02:56:12,680
قراره سفیدش کنه باشه. بنابراین متن، ضد نام مستعار،
فقط این را تنظیم کنید، من نمی دانم
1787
02:56:12,680 –> 02:56:16,380
چرا باید این یکی را تنظیم کنید اما فقط
آن یکی و سپس هر رنگی که می خواهید
1788
02:56:16,380 –> 02:56:19,340
برچسب شما باشد، خوب، حالا که برچسب را
داریم، باید این برچسب را روی آن بکشیم
1789
02:56:19,340 –> 02:56:24,850
صفحه نمایش بنابراین بیایید آن را بکشیم، این زمانی نیست که من
به تایپ کردن زمانی که سطح نقطه حمله رعد اسا عادت دارم. و
1790
02:56:24,850 –> 02:56:29,670
سپس در این مورد، ما می خواهیم برچسب را بگذاریم،
کجا می خواهیم آن را بگذاریم؟ خب حالا
1791
02:56:29,670 –> 02:56:33,380
می خواهیم بفهمیم وسط صفحه کجاست. بنابراین
ما فقط میتوانیم کد سختی داشته باشیم
1792
02:56:33,380 –> 02:56:36,619
اما اگر بخواهیم ابعاد صفحه نمایش خود
را تغییر دهیم، این را می خواهیم
1793
02:56:36,619 –> 02:56:46,220
به طور خودکار به نوعی با آن سازگار می شود. بنابراین ما میخواهیم
بالا سمت چپ، x به اضافه عرض پخش را به سمت بالا انجام دهیم
1794
02:56:46,220 –> 02:56:50,569
دو، بسیار خوب، و این وسط صفحه
را به ما می دهد. اگه نمیفهمی
1795
02:56:50,569 –> 02:56:54,310
که، به من اطلاع دهید و من می توانم آن را در
نظرات زیر برای شما توضیح دهم. باشه الان
1796
02:56:54,310 –> 02:56:58,739
ما این متأسفانه را کم می کنیم، این در واقع
هنوز انجام نشده است، با عرض برچسب،
1797
02:56:58,739 –> 02:57:03,270
چون این مهم است بسته به طول
برچسب، ما تعیین می کنیم
1798
02:57:03,270 –> 02:57:07,249
جایی که آن را روی صفحه قرار می دهیم. بنابراین،
عرض برچسب را می گیریم، و می توانیم
1799
02:57:07,249 –> 02:57:12,350
قرار است آن را بر دو تقسیم کنیم. خوب، پس اکنون
باید Y را انجام دهیم. در حالی که Y زیبا است
1800
02:57:12,350 –> 02:57:16,369
آسان است، ما فقط می توانیم به صورت ایستا این
را تایپ کنیم زیرا از بالای صفحه است. بنابراین
1801
02:57:16,369 –> 02:57:22,319
من فقط می خواهم به آن کلیک کنم 50 همان چیزی است که در
30 تایپ کردم. بسیار خوب، و باید آن را قرار داد
1802
02:57:22,319 –> 02:57:25,699
در وسط صفحه نمایش و من می توانم آن را برای هر یک
از شما دوستانی که ممکن است متوجه نشوند توضیح دهم
1803
02:57:25,699 –> 02:57:28,689
شما فقط یک نظر بگذارید، زیرا من نمی خواهم
زمان زیادی را تلف کنم زیرا فکر می کنم
1804
02:57:28,689 –> 02:57:34,890
بسیاری از مردم ممکن است آن را درک کنند. بنابراین
برای من در محدوده، در حال حاضر، طول شبکه، زیرا
1805
02:57:34,890 –> 02:57:38,600
اکنون ما شروع به کشیدن تمام اشیاء شبکه روی صفحه
می کنیم. بنابراین ما یک شبکه ایجاد کردیم،
1806
02:57:38,600 –> 02:57:46,530
ما می دانیم که این نوع قالب چگونه کار می کند،
ما می خواهیم بگوییم، برای J. و محدوده، lun of grid
1807
02:57:46,530 –> 02:57:52,220
مثل قبل است و ما به pygame می رویم
1808
02:57:52,220 –> 02:57:59,550
مستطیل نقطه را رسم کنید، و سپس این
مرد روی سطح می کشد. و سپس ما هستیم
1809
02:57:59,550 –> 02:58:09,619
میروم شبکه، i، j، خوب، و سپس خط بالا
سمت چپ، باید این را بگذارم.
1810
02:58:09,619 –> 02:58:15,939
آن، براکت ها، جستجوی زیر خط بالا سمت چپ شما
باید به سمت چپ بالا بروید، زیرخط x
1811
02:58:15,939 –> 02:58:20,660
به علاوه j ضرب در 30. و من در مورد این یکی در یک ثانیه
صحبت می کنم که چگونه این کار می کند.
1812
02:58:20,660 –> 02:58:29,340
و سپس بالا سمت چپ، چرا به علاوه، من در 30 ضرب
کردم، یک براکت دیگر، و به آنجا می رویم. اکنون
1813
02:58:29,340 –> 02:58:32,590
ما فقط باید با این موضوع شبکه کنار بیاییم. بنابراین
این بدان معناست که ما فقط در حال حاضر نیاز به تصویب
1814
02:58:32,590 –> 02:58:39,989
شبکه و همچنین به شبکه قطره ما. بسیار خوب، این
روش کار می کند، ما یک حلقه از هر رنگی هستیم
1815
02:58:39,989 –> 02:58:44,699
در شبکه ما بنابراین این شبکه رنگ ij
است. خوب، این سطحی است که ما می کشیم
1816
02:58:44,699 –> 02:58:48,699
آن را بر روی و این همان موقعیتی است که در آن ترسیم
می شود. در حال حاضر، ما نیز فقط نیاز داریم
1817
02:58:48,699 –> 02:58:54,130
دو مورد را در اینجا اضافه کنید که متوجه شدم فراموش کرده
ام، زیرا به x، y نیاز داریم، به عرض نیاز داریم،
1818
02:58:54,130 –> 02:58:59,220
و ما به ارتفاع نیاز داریم و بنابراین برای عرض و ارتفاع،
خوب، به اندازه بلوک بروید و بلاک کنید
1819
02:58:59,220 –> 02:59:03,449
یک بار دیگر اندازه و می دانید، ما حتی می توانیم
این را به جای 30 ضرب کنیم. بر اساس اندازه بلوک
1820
02:59:03,449 –> 02:59:09,020
در صورتی که تصمیم بگیریم آن را تغییر دهیم. پس بیایید
این کار را انجام دهیم تا این زیبا و پویا حفظ شود.
1821
02:59:09,020 –> 02:59:13,340
و سپس اگر به اینجا ادامه دهیم، آخرین چیزی که نیاز
داریم پر کردن است. بنابراین ما فقط می خواهیم
1822
02:59:13,340 –> 02:59:17,949
کاما را صفر قرار دهید تا مطمئن شوید که شکل را
پر کرده ایم، فقط مانند یک حاشیه نمی کشیم
1823
02:59:17,949 –> 02:59:22,699
برای این. بسیار خوب، ما این کار را انجام می دهیم، x بالا
سمت چپ خود را می گیریم، و هر کجا را مشخص می کنیم
1824
02:59:22,699 –> 02:59:29,390
ما هستیم. بنابراین، در کدام ستون قرار داریم، آن
را در اندازه بلوک ضرب کنید، و این نمایش ما است.
1825
02:59:29,390 –> 02:59:35,130
همین مورد برای Y با موقعیت y شروع به اضافه
کار می کند، در هر ردیفی که هستیم، ضرب می شود
1826
02:59:35,130 –> 02:59:40,699
با اندازه بلوک موقعیت صحیحی را برای کشیدن
مکعب به ما می دهد. بسیار خوب. بعد از
1827
02:59:40,699 –> 02:59:47,010
ما همه این کارها را انجام داده ایم، فقط باید صفحه را به
روز کنیم. بنابراین پی بازی نقطه نمایش برای به روز رسانی.
1828
02:59:47,010 –> 02:59:51,899
و ما به آنجا می رویم. بنابراین در واقع آخرین چیزی که
می خواهیم ترسیم کنیم وجود دارد. و یک مستطیل قرمز است
1829
02:59:51,899 –> 02:59:56,390
که شما بچه ها در آن نوع نشان داده شده مانند منطقه
بازی دیدید. بنابراین برای ترسیم آن، ما
1830
02:59:56,390 –> 03:00:04,140
pygame dot draw، dot rect و سپس سطح را انجام دهید.
و سپس در این مورد، ما در واقع،
1831
03:00:04,140 –> 03:00:07,290
بیایید اینجا را ببینیم، آیا می خواهیم این را به صورت
پویا تایپ کنم؟ یا فقط به صورت ایستا می خواهم
1832
03:00:07,290 –> 03:00:12,760
بکشش. پس بیایید اول از همه به آن یک رنگ از سری
قرمز 00 بدهیم. بسیار خوب، و ما در واقع هستیم
1833
03:00:12,760 –> 03:00:17,020
میخواهیم آن را به صورت پویا تایپ کنیم، فقط در صورتی
که تصمیم بگیریم بعداً چیزی را تغییر دهیم. پس بالا
1834
03:00:17,020 –> 03:00:22,470
چپ، x، و برهنه، چرا. و سپس عرض، ما در
واقع همه این متغیرها را داریم.
1835
03:00:22,470 –> 03:00:27,050
بنابراین، عرض زیرخط نمایش، و ارتفاع
زیرخط نمایش را داریم. و در این مورد،
1836
03:00:27,050 –> 03:00:33,270
ما به آن اندازه حاشیه چهار می دهیم. باشه.
و این همه برای ترسیم شبکه است،
1837
03:00:33,270 –> 03:00:37,909
ممکن است بعداً به این موضوع برگردیم، اما
فعلاً همین است. خوب، پس این فقط تساوی
1838
03:00:37,909 –> 03:00:44,380
شبکه واقعی، شبکه ترسیم، و من این را اضافه کردم، بسیار
خوب، ما فقط این قسمت از شما را کپی می کنیم
1839
03:00:44,380 –> 03:00:48,079
بچه ها که می گوید قرعه کشی شبکه. بنابراین سطح، من این
برچسب را قرار می دهم و فقط آن را جابه جا می کنم
1840
03:00:48,079 –> 03:00:52,670
در، چون متوجه شدم که تابع دیگری به نام window window
دارم. بنابراین در پنجره قرعه کشی، چه
1841
03:00:52,670 –> 03:00:58,930
من قصد دارم انجام دهم این است که سطح توقف، پر کردن، هر چیزی.
خوب، پس، اوم، سطح و یک شبکه را بردارید. بنابراین
1842
03:00:58,930 –> 03:01:03,800
من فقط برخی از آن را از آنجا کپی کردم. و سپس
به جای به روز رسانی صفحه در اینجا،
1843
03:01:03,800 –> 03:01:09,359
ما در اینجا صفحه را به روز می کنیم. و ما فقط
شبکه قرعه کشی خود را فراخوانی می کنیم. چی
1844
03:01:09,359 –> 03:01:14,229
بهش زنگ میزنی؟ اینگونه عمل کند
خوب، حالا اگر بخواهیم شبکه و
1845
03:01:14,229 –> 03:01:17,750
ما می خواهیم از این در برنامه دیگری استفاده کنیم،
ما فقط می توانیم این تابع را کپی و پیست کنیم
1846
03:01:17,750 –> 03:01:21,459
مجبور نیست به نوعی آن را از اینجا بیرون بیاورد. ما مجبور
نیستیم دوست داشته باشیم آن را تشریح کنیم. بسیار خوب.
1847
03:01:21,459 –> 03:01:28,959
خوب، پس شبکه را بکشید. دوباره، این سطح را می گیرد و این
شبکه را می گیرد. و ما به آنجا می رویم. من باور دارم
1848
03:01:28,959 –> 03:01:33,149
که خوب کار می کند باشه. اکنون که این کار را
انجام دادیم، شروع به کدنویسی می کنیم
1849
03:01:33,149 –> 03:01:37,170
منوی اصلی و اصلی، و این چیزی است که ما
با این آموزش به پایان خواهیم رساند،
1850
03:01:37,170 –> 03:01:40,749
چون می دانم که تقریباً به 20 دقیقه رسیده ایم. درست.
بنابراین کاری که ما در اصل انجام خواهیم داد
1851
03:01:40,749 –> 03:01:45,060
اکنون می خواهیم چند متغیر را تنظیم کنیم. بنابراین
اولین متغیری که نیاز داریم این قفل است
1852
03:01:45,060 –> 03:01:51,390
موقعیت موقعیت قفل شده، باشه و دوباره، این همان
چیزی است که ما در اینجا در حال ایجاد آن هستیم
1853
03:01:51,390 –> 03:01:58,130
شبکه، برابر است با یک فرهنگ لغت خالی فقط برای تنظیم
در صورتی که آن را پاس نکنیم و سپس آن را رد نکنیم
1854
03:01:58,130 –> 03:02:03,140
به آن نیاز دارد. باشه. بنابراین موقعیتهای قفل برابر با خالی
است، میخواهیم بگوییم که شبکه اکنون برابر با چاه است
1855
03:02:03,140 –> 03:02:07,470
شبکه را ایجاد کنید زیرا ما قبلاً آن تابع
را با موقعیت های قفل ایجاد کرده ایم
1856
03:02:07,470 –> 03:02:12,090
و یک متغیر به نام تغییر قطعه زیر خط ایجاد
کنید، مساوی با false خواهد بود، ما
1857
03:02:12,090 –> 03:02:16,731
اجرا را برابر با true می کنیم، این فقط برای
حلقه while ما است که از آن استفاده می کنیم، ما
1858
03:02:16,731 –> 03:02:27,930
می گویند قطعه فعلی برابر است با شکل زیر خط.
خوب، ما می گوییم، قطعه بعدی است
1859
03:02:27,930 –> 03:02:33,160
برابر شکل گرفتن نیز، ما یک شی ساعت را
تنظیم می کنیم و ساعت برابر با pi است
1860
03:02:33,160 –> 03:02:39,900
بازی، ساعت نقطه نقطه زمان. و ما متغیری به
نام تمام وقت را برابر با صفر قرار می دهیم.
1861
03:02:39,900 –> 03:02:43,949
و اینها همه متغیرهایی هستند که ما در تابع اصلی
خود از قبل برای ما کدگذاری شده اند.
1862
03:02:43,949 –> 03:02:48,050
بسیار خب، حالا ما میخواهیم حلقه while خود
حلقه اصلی بازی ما در اینجا است، خوب بگو
1863
03:02:48,050 –> 03:02:50,550
اجرا کن. اولین کاری که باید در حلقه خود انجام دهیم، متأسفیم،
برای رویداد
1864
03:02:50,550 –> 03:03:00,060
در بازی PI، dot event dot get، بگذارید بگویم اگر
نوع نقطه رویداد برابر است با نقطه بازی pi
1865
03:03:00,060 –> 03:03:05,150
ترک کردن خوب، این بدان معنی است که ما باید برنامه را ترک
کنیم. بنابراین راهی که می توانیم انجام دهیم این است
1866
03:03:05,150 –> 03:03:08,750
فقط زدن run برابر است با false. این
ما را از حلقه while خارج می کند، و
1867
03:03:08,750 –> 03:03:12,850
پس از آن می توانیم با آن مقابله کنیم. همچنین قرار
است رویداد دیگری را اضافه کنیم. این یک است
1868
03:03:12,850 –> 03:03:19,960
رویداد کلیدی بنابراین، اگر نوع نقطه رویداد
برابر با کلید نقطه بازی pi برابر است، پس
1869
03:03:19,960 –> 03:03:23,420
ما می خواهیم بررسی کنیم که چه کلید خاصی واقعا زده شده
است. پس بیایید جلو برویم و این کار را انجام دهیم
1870
03:03:23,420 –> 03:03:28,289
اکنون. به نوعی آن را به پایان برسانم، بنابراین من
فقط قصد دارم تمام کلیدهای مختلف را تایپ کنم. و
1871
03:03:28,289 –> 03:03:34,329
سپس وارد می شویم و بعد از آن کد می نویسیم. بنابراین ما می
گوییم اگر چه چیزی آن را کلید نقطه بازی pi می نامید
1872
03:03:34,329 –> 03:03:40,229
مساوی است، به اعتقاد من، این همان چیزی است که وجود دارد،
یا کلید رویداد کلید را وصل نمی کند، افراد بد من،
1873
03:03:40,229 –> 03:03:49,749
کلید نقطه رویداد برابر است با پی بازی
نقطه k زیرخط، بزرگ K. K زیرخط سمت چپ.
1874
03:03:49,749 –> 03:03:58,550
ما می گوییم اگر کلید نقطه رویداد برابر است با بازی
پی، نقطه k زیرخط، درست است، مانند آن. و سپس
1875
03:03:58,550 –> 03:04:07,369
همین بالا و پایین بنابراین کلید نقطه رویداد برابر
است با نقطه بازی k underscore down. و بالاخره
1876
03:04:07,369 –> 03:04:09,930
یکی،
1877
03:04:09,930 –> 03:04:20,380
بالا خوب، من نمی دانم چرا این اتفاق می افتد.
باشه، باشه، اینطوری تاکید کن. باشه،
1878
03:04:20,380 –> 03:04:24,890
بسیار دردناک پس از تایپ کردن آن چپ، راست پایین، بالا.
حالا ما می توانیم به اینجا برویم و می توانیم
1879
03:04:24,890 –> 03:04:28,100
نوع کدی که هر کدام از اینها قرار است انجام دهند. بنابراین
برای ضربه زدن به چپ، ما می خواهیم خود را حرکت دهیم
1880
03:04:28,100 –> 03:04:34,239
بلوک سمت چپ اگر در حال کدنویسی هستیم، درست است، اگر نرخ
یک را می زنیم، بلوک خود را به سمت راست حرکت دهید، و
1881
03:04:34,239 –> 03:04:37,500
ما پایین می رویم، اگر بالا می رویم به سمت پایین
حرکت می کنیم، می خواهیم شکل خود را بچرخانیم.
1882
03:04:37,500 –> 03:04:42,670
این چیزی است که کارهای اصلی در اینجا انجام می شود. بنابراین
اگر بخواهیم قطعه خود را به سمت چپ حرکت دهیم،
1883
03:04:42,670 –> 03:04:48,860
خوب، ما باید Y و مقدار x را به سمت چپ تغییر دهیم، بسیار خوب.
بنابراین راهی که ما می توانیم این کار را انجام دهیم
1884
03:04:48,860 –> 03:04:54,050
این یک قطعه فعلی است، نقطه x منهای برابر با یک است.
حالا می دانم که شما بچه ها به این موضوع نگاه می کنید
1885
03:04:54,050 –> 03:04:58,069
در حال حاضر شما می گویید باشه، خوب چه مردی،
پس قطعه فعلی برابر است با بدست آوردن
1886
03:04:58,069 –> 03:05:04,220
شکل. و این همه مساوی است Get shape، خوب، چه شکل
خوبی است، و تازه در حال بازگشت است
1887
03:05:04,220 –> 03:05:09,699
اشکال انتخاب تصادفی اکنون، این در واقع من را
متوجه این واقعیت کرد که ما شکل گرفته ایم
1888
03:05:09,699 –> 03:05:14,930
چیزی باید تغییر کند اما این به این دلیل است که
ما باید در واقع یک قطعه در اینجا ایجاد کنیم.
1889
03:05:14,930 –> 03:05:20,310
بنابراین ما این کلاس دوست داشتنی را در اینجا راه اندازی
کردیم و حتی از آن استفاده نکردیم. بنابراین Pease تصادفی
1890
03:05:20,310 –> 03:05:25,060
همانطور که آخرین آرگومان می گیرد، انتخاب شکل می گیرد،
همچنین یک مقدار x و یک y می گیرد، درست است؟ بنابراین
1891
03:05:25,060 –> 03:05:30,130
برای x و y، خوب، Y بسیار ساده
است. فقط صفر می شود،
1892
03:05:30,130 –> 03:05:34,030
x باید وسط صفحه باشد، بنابراین ما به
من پنج برای y می دهیم، ما می خواهیم
1893
03:05:34,030 –> 03:05:39,430
آن را به شما بدهد. باشه؟ و در واقع، چرا فعلاً
آن را صفر میگذاریم. اما ما ممکن است
1894
03:05:39,430 –> 03:05:42,999
می خواهید آن را منفی کنید تا به نوعی از بالای
صفحه شروع شود و سپس شروع به سقوط کند
1895
03:05:42,999 –> 03:05:48,229
پایین. خوب، پس داریم، بیایید مطمئن شویم که این کار
می کند. درست به نظر می رسد، شکل x، y. بله باشه،
1896
03:05:48,229 –> 03:05:52,300
عالی. خوب، پس منطقی است. اکنون در مورد اینکه چگونه می توانیم
این مقدار x را تغییر دهیم، همان چیزی است که برای
1897
03:05:52,300 –> 03:06:01,979
حقوق. قطعه فعلی را انجام می دهیم، نقطه y، یا نقطه
x به اضافه یک برابر است. این برای پایین است،
1898
03:06:01,979 –> 03:06:05,209
ما در واقع فقط قصد داریم این را در حال حاضر تایپ
کنیم. اما این دقیقاً چیزی نیست که اتفاق می افتد
1899
03:06:05,209 –> 03:06:11,020
برای کار. Y به علاوه برابر است با یک برای حرکت به سمت
پایین. و برای بالا، خوب، باید شکل را بچرخانیم.
1900
03:06:11,020 –> 03:06:15,449
بنابراین برای چرخاندن شکل، این در واقع به راحتی
به استیو، نقطه قطعه فعلی او تبدیل می شود
1901
03:06:15,449 –> 03:06:21,140
چرخش، به علاوه برابر است با یک، خوب؟ چون وقتی آن
چرخش را تغییر می دهیم، خوب، این تغییر می کند
1902
03:06:21,140 –> 03:06:26,689
تصویر واقعی شکل باشه؟ حالا، این همه عالی
است. اما موضوع این است که چه چیزی
1903
03:06:26,689 –> 03:06:30,720
اگر از صفحه خارج می شویم؟ یا اگر این موقعیت
معتبر نباشد چه؟ خوب، همین است
1904
03:06:30,720 –> 03:06:37,270
چرا ما تابعی به نام فضای معتبر داریم. اکنون،
فضای معتبر، ما هنوز کدگذاری نکرده ایم اما
1905
03:06:37,270 –> 03:06:40,890
من آن را در اینجا در یک فضای معتبر دارم، و فضای
معتبری که قرار است انجام دهد این است که باشد
1906
03:06:40,890 –> 03:06:44,739
اگر موقعیت فعلی که در آن قرار داریم یک فضای معتبر
باشد، به سادگی برمی گردیم. پس راه
1907
03:06:44,739 –> 03:06:48,850
که من این کار را انجام می دهم، این فقط زندگی را بسیار
آسان تر می کند. اگر به سمت چپ حرکت می کنیم، بیایید
1908
03:06:48,850 –> 03:06:53,569
فقط کافی است قطعات x را تغییر دهید، آن را به سمت چپ حرکت دهید،
و سپس بررسی کنید که آیا این یک موقعیت معتبر است یا خیر.
1909
03:06:53,569 –> 03:06:57,180
و اگر اینطور نیست، خوب، پس میتوانیم فقط یکی را اضافه
کنیم و آن را به جایی که بود برگردانیم. بنابراین
1910
03:06:57,180 –> 03:07:02,930
ما می گوییم اگر نه، و سپس فضای معتبر و فضای معتبر.
باز هم دو استدلال را در نظر بگیرید،
1911
03:07:02,930 –> 03:07:08,319
قطعه فعلی را می گیرم و شبکه را می گیرد،
خوب؟ سپس اجازه دهید به سادگی
1912
03:07:08,319 –> 03:07:14,109
یکی را کم یا به قطعه خود اضافه کنید. بنابراین همه اینها
می گویند که ما به سمت چپ حرکت می کنیم، اما اگر
1913
03:07:14,109 –> 03:07:18,569
به دلایلی حرکت به چپ باعث می شود فضای معتبری وجود
نداشته باشد، خوب، اجازه دهید فقط یک و اضافه کنیم
1914
03:07:18,569 –> 03:07:21,790
طوری وانمود کنید که انگار حتی به آنجا حرکت نکرده ایم.
بنابراین ما آن را ترسیم نمی کنیم، ما چیزی را تغییر نمی دهیم.
1915
03:07:21,790 –> 03:07:26,180
بنابراین این کاملاً خوب است. و در واقع یک راه بسیار
آسان برای بررسی مواردی است که انجام نداده اند
1916
03:07:26,180 –> 03:07:30,412
در حال بررسی است که آیا زیر این است یا بالاتر از
این یا هر چیز دیگری. خوب، حالا بعدی، بعدی
1917
03:07:30,412 –> 03:07:38,569
یکی در اینجا، اگر فضای معتبر نیست، می
گوییم. و همان قطعه فعلی. با شبکه. خوب،
1918
03:07:38,569 –> 03:07:42,499
اکنون در اینجا، به جای اضافه کردن یک،
فقط یکی را کم می کنیم زیرا تلاش می کردیم
1919
03:07:42,499 –> 03:07:46,789
برای حرکت به سمت راست و ما به آنجا می رویم. همان چیزی که با
حرکت به پایین است. خوب، پس ما به معنای واقعی کلمه هستیم
1920
03:07:46,789 –> 03:07:57,149
فقط همان چیزی را می گیرم، اگر نه، فضای
معتبر، قطعه فعلی و شبکه. خوب،
1921
03:07:57,149 –> 03:08:00,210
حالا اجازه دهید، به جای اضافه کردن یک،
فقط یک را کم می کنیم و این از y است
1922
03:08:00,210 –> 03:08:08,699
ارزش این بار او گفت قطعه فعلی. نقطه y منهای برابر با
یک است. خوب، پس در حال حاضر برای بالا. بنابراین
1923
03:08:08,699 –> 03:08:15,959
وقتی چرخش را تغییر می دهیم، شکل را تغییر می دهیم.
باشه؟ بنابراین هنوز این را نشان نمی دهد
1924
03:08:15,959 –> 03:08:18,740
در حال حاضر، مانند نحوه تغییر شکل، اما بعداً این کار
را انجام خواهیم داد. بنابراین ما در واقع می توانیم
1925
03:08:18,740 –> 03:08:22,489
فقط همین مورد را در چرخش صدا بزنید. چون بهش
فکر کن اگر به طور کامل روشن باشیم
1926
03:08:22,489 –> 03:08:27,770
سمت راست را با مانند قطعه مستقیم، و ما سعی می
کنیم بچرخانیم، خوب، که می تواند نتیجه شود
1927
03:08:27,770 –> 03:08:32,890
در قطعه ما به سمت چپ یا راست حرکت می کند.
یا ممکن است موقعیت هایی وجود داشته باشد
1928
03:08:32,890 –> 03:08:36,569
جایی که در سمت چپ است، یا در سمت راست است،
و در شبکه نیست. پس ما مجبوریم
1929
03:08:36,569 –> 03:08:42,560
چرخش را بررسی کنید اگر در مورد موش فضایی باشد.
قطعه فعلی را می گوییم. و بعد چه چیز دیگری
1930
03:08:42,560 –> 03:08:47,300
ما انجام می دهیم؟ اینجا عالیه بسیار خوب، و سپس این
مورد، آن را دریافت می کنیم، فقط ما فقط کم می کنیم
1931
03:08:47,300 –> 03:08:53,989
یکی از چرخش پس منهای برابر یک است. و این
همه باید به خوبی کار کند. باشه پس
1932
03:08:53,989 –> 03:08:58,070
پس از انجام این کار، مطمئن می شویم که ترسیم شبکه
را به خاطر داریم. بنابراین در این کیف پول،
1933
03:08:58,070 –> 03:09:03,359
چنین بگویید، در واقع پنجره را بکشید. من به
آن سطح می دهم.
1934
03:09:03,359 –> 03:09:08,270
و ما به آن شبکه می دهیم. حالا، این به من یادآوری
می کند که من هنوز یک پای درست نکرده ام
1935
03:09:08,270 –> 03:09:15,489
سطح بازی عالیه. پس بیایید این کار را انجام دهیم. بنابراین در
اینجا، می خواهم بگویم که چه زمانی برابر با بازی پی است،
1936
03:09:15,489 –> 03:09:21,529
نمایش نقطه ای حالت زیرخط تنظیم نقطه. در این مورد،
من قصد دارم به آن چیزی که صفحه نمایش آنها است
1937
03:09:21,529 –> 03:09:27,630
عرض و ارتفاع صفحه نمایش بنابراین s، عرض، و s ارتفاع
را زیر خط نشان می دهند. و این برای نمایش است.
1938
03:09:27,630 –> 03:09:35,180
با این حال، ما میخواهیم به این شرح بدهیم. بنابراین
می گوییم زیرخط مجموعه نقطه نمایش نقطه pygame
1939
03:09:35,180 –> 03:09:42,159
عنوان بله پس بیایید این را تتریس بنامیم. مثل اون و در
حال حاضر ما قصد داریم فقط از چه زمانی عبور کنیم
1940
03:09:42,159 –> 03:09:47,149
به منوی اصلی ما ما یکی را در اینجا قرار می دهیم.
و سپس در منوی اصلی، ما تماس می گیریم
1941
03:09:47,149 –> 03:09:51,550
من، باشه، و بعداً با منوی اصلی سروکار خواهیم
داشت. الان حوصله کدنویسی ندارم و
1942
03:09:51,550 –> 03:09:54,720
این واقعاً مهم نیست که عملکرد اصلی بازی را
دوست داشته باشیم تا بتوانیم به سادگی
1943
03:09:54,720 –> 03:10:04,109
فقط این کار را انجام دهید باشه. برد اصلی مثل این، و اگر
من win را در اینجا قرار دهم، پس همه چیز باید باشد
1944
03:10:04,109 –> 03:10:13,039
سطح را کار کنید این را تغییر دهید تا بگویید، چه
زمانی؟ در ملخ بسیار خوب، پس اکنون ما به طور موثر
1945
03:10:13,039 –> 03:10:19,989
طراحی شبکه انجام شد یا پنجره رسم، شبکه ترسیم،
شکل گرفتن، ایجاد شبکه، ما یک قطعه ایجاد کرده ایم،
1946
03:10:19,989 –> 03:10:23,550
ما آنچه را که همه این موارد در فایل استارتر انجام
می دهند را بررسی کرده ایم. و اکنون در 27 سالگی هستیم
1947
03:10:23,550 –> 03:10:29,709
دقایق. سلام بچه ها، به قسمت دوم کدنویسی
تتریس در پایتون با بازی PI خوش آمدید.
1948
03:10:29,709 –> 03:10:34,090
پس بیایید درست وارد آن شویم. در این ویدیو،
ما چند عملکرد دیگر را تکمیل خواهیم کرد،
1949
03:10:34,090 –> 03:10:38,262
ما فضای معتبر را انجام می دهیم، فرمت شکل را تبدیل
می کنیم، ما برنامه نویسی می کنیم اما در
1950
03:10:38,262 –> 03:10:43,450
اصلی، و ما همچنین یک اشتباه کوچک را که در آخرین
ویدیو مرتکب شدم، برطرف خواهیم کرد. بنابراین
1951
03:10:43,450 –> 03:10:48,301
این کد در اینجا در شبکه دارو، بله، این شبکه ما را
ترسیم می کند، اما این چیزی نیست که من دارم
1952
03:10:48,301 –> 03:10:52,270
در نظر گرفته شده است که این تابع را انجام دهد. و من به نوعی
تازه متوجه این موضوع شدم، زمانی که به آن نگاه می کردم
1953
03:10:52,270 –> 03:10:55,310
ویدیو و نگاه کردن به کدها، ما فقط این کد
را از شبکه قرعه کشی کپی می کنیم،
1954
03:10:55,310 –> 03:11:00,180
خوب، از آنجا حذف شد. و ما فقط میخواهیم
آن را اینجا در پایین بچسبانیم
1955
03:11:00,180 –> 03:11:04,979
از قرعه کشی باد. خوب، پس اکنون ما فقط این را
بعد از گذاشتن برچسب داریم، هر چیزی را داریم
1956
03:11:04,979 –> 03:11:10,459
کدی که ما در شبکه قرعه کشی داشتیم، بسیار خوب، زیرا
شبکه قرعه کشی در واقع این کار را فرض می کرد
1957
03:11:10,459 –> 03:11:16,419
برای انجام این کار خطوطی را برای شبکه ترسیم کنید. بنابراین
در حالی که می رفتم این موضوع را به نوعی قاطی کردم
1958
03:11:16,419 –> 03:11:19,840
از طریق آموزش بنابراین ما اکنون میخواهیم گرید را به
پایان برسانیم. و این قرار است چه کاری انجام دهد،
1959
03:11:19,840 –> 03:11:24,061
و آن خطوط خاکستری را روی تمام رنگهای
مختلف ما که میتوانند ترسیم کنند
1960
03:11:24,061 –> 03:11:28,180
به نوعی ببینیم هر بلوک کجاست، و میتوانیم
ساختار شبکه واقعی را ببینیم. پس بگیریم
1961
03:11:28,180 –> 03:11:31,390
با این شروع کرد بگویید sx که مخفف شروع
x برابر است با
1962
03:11:31,390 –> 03:11:40,819
به آن چه می گویید؟ بالا سمت چپ x. بسیار خوب،
و سپس به اندازه y بالا سمت چپ، مانند آن،
1963
03:11:40,819 –> 03:11:45,409
خیلی خوب. و این فقط برای این است که مجبور نباشم به
نوشتن x بالا سمت چپ، بالا سمت چپ، y فقط ادامه دهم
1964
03:11:45,409 –> 03:11:49,709
برای ما کمی کوتاهتر می کند. باشه. حالا، من فقط
می خواهم بگویم که می خواهم راه اندازی کنم
1965
03:11:49,709 –> 03:11:54,760
یک حلقه for و من می گویم، برای i در محدوده،
و این طول شبکه خواهد بود.
1966
03:11:54,760 –> 03:12:01,399
بنابراین، چند ردیف داریم، فرض کنید برای
j، در محدوده، و این یکی خواهد بود
1967
03:12:01,399 –> 03:12:07,369
طول شبکه i. بنابراین چند ستون در هر سطر. و
سپس در اینجا، ما قصد داریم طراحی کنیم
1968
03:12:07,369 –> 03:12:13,169
خطوط، باشه بنابراین برای هر ردیف، یک خط رسم
می کنیم. بنابراین pygame dot خط نقطه را رسم کنید،
1969
03:12:13,169 –> 03:12:17,870
ما به یک سطح نیاز داریم، به آن یک سطح بدهید، باید این
مورد را بپوشانیم تا خاکستری شود. خیلی خاکستری
1970
03:12:17,870 –> 03:12:24,539
استاندارد کد رنگ 128 128 128 است. و سپس ما به دو
موقعیت نیاز داریم، بسیار خوب. پس شروع
1971
03:12:24,539 –> 03:12:33,609
موقعیت برابر با sx خواهد بود. بسیار خوب. و
سپس S y plus، شما آن را چه می نامید، I
1972
03:12:33,609 –> 03:12:40,729
باور ضرب در اندازه بلوک. و من فکر می کنم که
در واقع درست است. باشه. در حال حاضر، برای
1973
03:12:40,729 –> 03:12:44,899
موقعیت پایانی، خوب، همان مقدار x خواهد بود
زیرا ما در حال تخریب هستیم، یا در واقع،
1974
03:12:44,899 –> 03:12:49,340
این می شود، اجازه دهید فقط شما را بررسی کنم،
بله، یک مقدار x خواهد بود که فقط برابر است
1975
03:12:49,340 –> 03:12:54,670
به عرض بنابراین s x به علاوه هر چیزی که با این
بازی می شود، و سپس مقدار y به آن می رسد
1976
03:12:54,670 –> 03:12:59,020
اینجا هم همینطور باش زیرا اگر در مورد آن فکر
کنید، ارزش هر کدام یکسان خواهیم بود
1977
03:12:59,020 –> 03:13:04,069
زمانی که در حال انجام آن هستیم، یک خط افقی ترسیم
می کنیم، هر خط افقی باید داشته باشد
1978
03:13:04,069 –> 03:13:08,409
همان دو مقدار y و مقادیر x فقط تغییر خواهند
کرد. باشه؟ بنابراین من فقط می خواهم
1979
03:13:08,409 –> 03:13:14,939
این را کپی کنید و اکنون در اینجا قرار دهید.
باشه. خیلی خوب. نمی دانم چرا این کار را کرد.
1980
03:13:14,939 –> 03:13:18,960
اما ما فقط همینطور برمیگردیم. باشه. بنابراین اکنون کاری که
ما می خواهیم انجام دهیم این است که فقط می خواهیم انجام دهیم
1981
03:13:18,960 –> 03:13:26,749
آیا این مورد با x s x به اضافه j ضرب در اندازه
بلوک، خوب است؟ s، شما در واقع می توانید فقط
1982
03:13:26,749 –> 03:13:34,370
همینجوری بمون، باشه و سپس برای sx، همان
چیز، x به اضافه j، ضرب در اندازه بلوک.
1983
03:13:34,370 –> 03:13:39,350
و j است، دوباره، ستون فعلی ما است. و سپس
این یکی s، y به اضافه پخش، خط زیر،
1984
03:13:39,350 –> 03:13:46,671
اوه، ما در اینجا به علامت مثبت نیاز داریم، به علاوه
ارتفاع زیر خط را مانند آن پخش کنید. باشه. و آن
1985
03:13:46,671 –> 03:13:52,220
باید ما را بکشد به آن چه می گویید
20 خط عمودی و سپس 10 خط افقی
1986
03:13:52,220 –> 03:13:57,220
خطوطی را به سمت پایین صفحه نمایش می دهد، به ما یک شبکه
می دهد، و نوعی از روشی که هر بار ما کار می کنیم
1987
03:13:57,220 –> 03:14:02,399
در یک ردیف جدید حلقه بزنید، ما به سادگی مقدار
y خطی را که می کشیم تغییر می دهیم، و
1988
03:14:02,399 –> 03:14:07,310
سپس این مقادیر x ثابت خواهند ماند،
فقط در سمت چپ و سمت راست
1989
03:14:07,310 –> 03:14:11,569
صفحه نمایش و سپس روشی که در اینجا انجام می
دهیم این است که مقادیر x را دائماً داریم
1990
03:14:11,569 –> 03:14:16,300
هر ستون را تغییر میدهند و مقادیر
y ثابت میمانند، که بالای صفحه است
1991
03:14:16,300 –> 03:14:20,060
و پایین صفحه برای کشیدن خطوط عمودی. و این چیزی
است که من می خواستم در داخل انجام دهم
1992
03:14:20,060 –> 03:14:24,489
این تابع شبکه قرعه کشی. بنابراین اکنون، همه چیز
به نوعی مرتب شده است. و مثل یک کوچیک درست کردیم
1993
03:14:24,489 –> 03:14:28,380
اشتباه، اشتباه نکنید، هنوز هم می توانید آن کد دیگر
را در اینجا داشته باشید. مثل اینکه هنوز کار میکنه
1994
03:14:28,380 –> 03:14:31,829
خوب. اما فقط از نظر کاری که من واقعاً می
خواستم با این توابع انجام دهم. یعنی
1995
03:14:31,829 –> 03:14:36,979
راهی که باید آن را تعمیر کنیم باشه. بنابراین اکنون که
این کار را انجام دادیم، کاری که می خواهم شروع کنم
1996
03:14:36,979 –> 03:14:41,790
آیا وارد شدن به این فرمت تبدیل شکل، خوب
است؟ اکنون، این احتمالاً پیچیده ترین است
1997
03:14:41,790 –> 03:14:45,979
عملکردی که می خواهم در برنامه خود بگویم. و این
چه چیزی را به عنوان یک استدلال در نظر می گیرد
1998
03:14:45,979 –> 03:14:49,930
یا یک پارامتر فقط شکل است. حالا این همان چیزی است که
قبلاً در مورد آن صحبت می کردم. بنابراین، هنگامی که
1999
03:14:49,930 –> 03:14:55,169
ما یک شکل داریم، چیزی شبیه این به نظر می رسد، درست
است؟ بنابراین ما صفر داریم و دوره داریم.
2000
03:14:55,169 –> 03:14:59,130
حالا این به نظر ما خوب است. مثل اینکه ما می توانیم
بگوییم این چه شکلی است، اما کامپیوتر
2001
03:14:59,130 –> 03:15:04,020
هیچ ایده ای ندارد بنابراین چگونه می توانیم این را به شکلی
تبدیل کنیم که رایانه بتواند آن را بخواند. و در حالت ایده آل
2002
03:15:04,020 –> 03:15:08,850
شما میخواهید آن را بدهید، ما میخواهیم موقعیتهایی
را در شبکه بلوکها به ما بدهد
2003
03:15:08,850 –> 03:15:12,899
وجود داشته باشد. و سپس اگر بلوک وجود نداشته باشد، ما
موقعیتی را نمی دهیم. بنابراین اگر وجود دارد
2004
03:15:12,899 –> 03:15:16,260
یک دوره مانند این، بسیار خوب، و با شروع کدنویسی
این تابع، متوجه منظور من خواهید شد.
2005
03:15:16,260 –> 03:15:19,880
و این همان چیزی است که هدف این تابع برای
گرفتن آن اطلاعات و قرار دادن آن است
2006
03:15:19,880 –> 03:15:24,120
آن را به چیزی که در واقع برای ما مفید است. بنابراین
ما یک دسته موقعیت می خواهیم، این است
2007
03:15:24,120 –> 03:15:30,569
هدف. از این ها، مانند لیست ها، می خواهیم
لیستی از موقعیت ها ایجاد کنیم. و سپس
2008
03:15:30,569 –> 03:15:34,520
بر اساس آن موقعیت ها، ما می توانیم کارهایی را انجام دهیم که می توانیم
آنها را بررسی کنیم، می توانیم آنها را ترسیم کنیم، و غیره
2009
03:15:34,520 –> 03:15:38,060
در، من فقط می خواهم یک لیست به نام قالب ایجاد کنم. نگران
نباشید اگر یک کلمه کلیدی است، آن را فقط
2010
03:15:38,060 –> 03:15:42,950
آن را نادیده بگیرد. ما می گوییم وقتی شکلی به ما داده
می شود، در واقع یک قطعه قطعه به ما داده می شود.
2011
03:15:42,950 –> 03:15:46,800
بنابراین نمی دانم چرا شکل را صدا می زنم، اما هر
چه باشد. بنابراین شکل نقطه را شکل دهید و سپس
2012
03:15:46,800 –> 03:15:51,830
ما فقط می توانیم انجام دهیم برابر است با، و من در
مورد این در شکل دوم، چرخش نقطه صحبت خواهم کرد،
2013
03:15:51,830 –> 03:15:57,930
مدول، طول شکل جوانی، شکل نقطه. بسیار خوب، پس
کاری که این کار انجام می دهد در واقع می دهد
2014
03:15:57,930 –> 03:16:04,630
ما فهرست فرعی که نیاز داریم. بنابراین این باید
به درستی املا شود. من
2015
03:16:04,630 –> 03:16:09,439
نمی دانم چگونه آن را قصاب کردم خیلی بد. خوب، شکل نقطه را
شکل دهید. بنابراین اگر دوباره نگاه کنیم، اینجا،
2016
03:16:09,439 –> 03:16:12,329
هر زمان که از یک شکل گذشته ایم، در واقع از چیزی شبیه
به این گذشته ایم، درست است، پس ما هم هستیم
2017
03:16:12,329 –> 03:16:16,930
گذشته از شی شکل و ویژگی شکل آن. بنابراین درست
در اینجا، چیزی شبیه به این به نظر می رسد
2018
03:16:16,930 –> 03:16:21,850
شبیه متغیر t است که دارای لیستی پر از لیست است.
بنابراین ما می خواهیم آن را دریافت کنیم
2019
03:16:21,850 –> 03:16:28,569
فهرست فرعی واقعی بنابراین کدام یک از این لیست درست است، این همان چیزی است
که ما می خواهیم. بنابراین روشی که ما این کار را انجام می دهیم،
2020
03:16:28,569 –> 03:16:33,800
با گرفتن شکل چرخش طول شکل را تعدیل
می کند. بنابراین برای مثال، اگر
2021
03:16:33,800 –> 03:16:39,229
چرخش فعلی ما صفر است، مثل اینکه هنوز نچرخیم،
پس اتفاقی که قرار است بیفتد این است که ما
2022
03:16:39,229 –> 03:16:43,289
gonna have zero طول شکل را تعدیل می کند، در این
صورت طول چهار خواهد بود، بنابراین
2023
03:16:43,289 –> 03:16:47,760
صفر می گیریم بنابراین این شکل اول به ما داده می شود. حالا اگر
یکی داشته باشیم، اگر داشته باشیم این را به ما می دهند
2024
03:16:47,760 –> 03:16:51,609
دو داشته باشیم، این به ما داده می شود، اگر سه تا داشته باشیم،
این به ما داده می شود. و اگر چهار عدد داشته باشیم، پس
2025
03:16:51,609 –> 03:16:56,260
ما به عقب برمی گردیم و این یکی را می گیریم، باشه؟
و فقط ادامه می دهد و ادامه می دهد. زیرا
2026
03:16:56,260 –> 03:17:00,210
ماژول ها فقط بقیه را به ما می دهد. بنابراین اینگونه
می توانیم بگوییم که چه چیزی واقعی است
2027
03:17:00,210 –> 03:17:06,670
شکل فعلی در آن لیست اصلی است. خوب، امیدوارم که منطقی
باشد. بنابراین اکنون ما این کار را انجام دادیم،
2028
03:17:06,670 –> 03:17:11,060
خوب، ما می خواهیم انجام دهیم این است که می خواهیم یک حلقه راه اندازی
کنیم. و از آنجا که ما می خواهیم از طریق همه نگاه کنیم
2029
03:17:11,060 –> 03:17:14,510
سطر و هر ستون، و سپس بر اساس اینکه صفر یا
نقطه وجود داشته باشد، ما به آن می رویم
2030
03:17:14,510 –> 03:17:20,819
کاری بکنید. بنابراین ما میخواهیم برای i
ویرگول بگوییم، و چون خط را نیز میخواهیم
2031
03:17:20,819 –> 03:17:27,649
در یک عدد، راست، و سپس فرمت، بسیار خوب،
زیرا قالب لیستی است که شامل
2032
03:17:27,649 –> 03:17:34,949
مانند صفر و یک های واقعی، خوب، ما فقط
می گوییم ردیف برابر با لیست خط است.
2033
03:17:34,949 –> 03:17:38,870
این فقط یک قالب لیست خوب به ما می دهد که می توانیم با
آن کنار بیاییم و این کار را برای ما آسان تر می کند.
2034
03:17:38,870 –> 03:17:48,290
من می خواهم برای j در یا j، ستون کاما، متاسفم، در
یک ردیف و حالا بگویم. بنابراین در حال حاضر هر
2035
03:17:48,290 –> 03:17:51,699
سطر ما خط فعلی را دریافت می کنیم، و سپس
از طریق خط حلقه زده و نگاه می کنیم
2036
03:17:51,699 –> 03:17:56,790
برای صفر یا یک دوره ما می گوییم اگر
ستون، که قرار است، برای مثال،
2037
03:17:56,790 –> 03:18:03,529
اگر تعدادی داشته باشیم، مانند این شبیه 00 خواهد
بود. بسیار خوب، پس ردیف ما اینگونه است
2038
03:18:03,529 –> 03:18:08,140
شبیه. بنابراین وقتی شروع به حلقه زدن می کنیم،
J صفر و ستون یک نقطه خواهد بود. باشه؟
2039
03:18:08,140 –> 03:18:13,109
فقط در صورتی که نتوانید آن را اشتباه بگیرید.
بسیار خوب، پس اگر ستون مساوی است، و
2040
03:18:13,109 –> 03:18:18,570
این رشته صفر خواهد بود، سپس می دانیم که مانند
موقعیتی مانند این مکعب برخورد کرده ایم
2041
03:18:18,570 –> 03:18:22,310
اینجا. بنابراین کاری که می خواهیم انجام دهیم این است که می
خواهیم موقعیت را به لیست موقعیت های خود اضافه کنیم. اکنون،
2042
03:18:22,310 –> 03:18:28,619
آنقدرها هم ساده نیست که فقط مقدار فعلی IMG را
اضافه کنیم، در واقع باید چیز دیگری اضافه کنیم
2043
03:18:28,619 –> 03:18:32,459
چیزی که الان به شما نشان خواهم داد، فقط آن را تایپ
می کنم و در مورد اوکی صحبت می کنم، بنابراین
2044
03:18:32,459 –> 03:18:43,189
شکل نقطه x به اضافه j، و سپس شکل نقطه y، به علاوه
i، بسیار خوب، بنابراین این مقدار x ما است،
2045
03:18:43,189 –> 03:18:46,680
مقدار فعلی شکل، زیرا اگر شکل از قبل
در حال حرکت به سمت پایین صفحه باشد،
2046
03:18:46,680 –> 03:18:51,390
در حال حرکت به چپ و راست است، خوب، باید
آن را به هر مقدار J که باشد، اضافه کنیم
2047
03:18:51,390 –> 03:18:57,020
ستونی که ما در این لیست قرار داریم، خوب؟ و سپس
همان چیزی با مقدار y. بنابراین هر چه باشد
2048
03:18:57,020 –> 03:19:01,460
مقدار فعلی y به شکل ما است، هر ستون
یا هر ردیفی را اضافه می کنیم
2049
03:19:01,460 –> 03: