در این مطلب، ویدئو ایجاد یک برنامه ساده پایتون – شماره 3 – مطالعه موردی BlackJack با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:38:50
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,040
در این آموزش ما قصد داریم یک
2
00:00:02,040 –> 00:00:03,899
مطالعه موردی انجام دهیم و قصد داریم یک
3
00:00:03,899 –> 00:00:08,309
برنامه بلک جک بسازیم و
4
00:00:08,309 –> 00:00:10,830
چند موضوع مختلف در ساخت
5
00:00:10,830 –> 00:00:13,440
چنین برنامهای را پوشش میدهیم که به آن تست واحد میگویند،
6
00:00:13,440 –> 00:00:16,230
بنابراین من شما را تشویق میکنم که در حال انجام آن باشید.
7
00:00:16,230 –> 00:00:19,730
این برای رفتن و تایپ
8
00:00:19,730 –> 00:00:22,109
کد مشابهی است که ما در اینجا داریم، بنابراین
9
00:00:22,109 –> 00:00:23,850
ممکن است لازم باشد چندین بار آن را مکث کنید
10
00:00:23,850 –> 00:00:25,830
، واقعاً مهم است که واقعاً
11
00:00:25,830 –> 00:00:28,260
این برنامه را بسازید و
12
00:00:28,260 –> 00:00:30,119
خودتان آن را آزمایش کنید و این روند را طی کنید.
13
00:00:30,119 –> 00:00:33,390
واقعاً تفاوت زیادی در
14
00:00:33,390 –> 00:00:36,600
چگونه یاد می گیرید که چگونه همه این ماژول ها
15
00:00:36,600 –> 00:00:38,399
با هم کار می کنند، بنابراین این
16
00:00:38,399 –> 00:00:41,790
نمونه ای از ایجاد یک برنامه پیچیده یا
17
00:00:41,790 –> 00:00:43,710
پیچیده تر مانند
18
00:00:43,710 –> 00:00:47,670
بلک جک از ساخت آن با ماژول
19
00:00:47,670 –> 00:00:50,250
هایی است که واقعاً در تکالیف قبلی تکمیل کرده
20
00:00:50,250 –> 00:00:53,219
اید، بنابراین اول از همه
21
00:00:53,219 –> 00:00:54,870
ما می خواهیم ببینید ممکن است
22
00:00:54,870 –> 00:00:57,120
با یک برنامه بلک جک آشنا باشید یا نباشید، بنابراین
23
00:00:57,120 –> 00:00:59,250
ما به سرعت قوانین بلک جک را مرور خواهیم کرد،
24
00:00:59,250 –> 00:01:01,530
بدیهی است که این یک بازی با ورق است
25
00:01:01,530 –> 00:01:07,080
و شما کارت های 2 تا 9 و
26
00:01:07,080 –> 00:01:10,170
هر چیزی بالاتر از آن را دارید. جک و آنها
27
00:01:10,170 –> 00:01:13,500
این مقادیر را دارند 2 امتیاز – 9 امتیاز جک
28
00:01:13,500 –> 00:01:17,549
ملکه کینگ همه ده امتیاز دارند و
29
00:01:17,549 –> 00:01:19,920
شما یک آس دارید که می تواند 1 یا
30
00:01:19,920 –> 00:01:24,240
11 باشد و ایده این است که یک سری
31
00:01:24,240 –> 00:01:27,119
کارت بگیرید که مجموع آنها به 21 می رسد و اگر می توانید
32
00:01:27,119 –> 00:01:29,670
این کار را در دو کارت انجام دهید که در اینجا می بینید
33
00:01:29,670 –> 00:01:31,229
که به آن بلک جک می گویند و
34
00:01:31,229 –> 00:01:32,880
لازم نیست سیاه باشد، آنها می توانند جک قرمز باشند
35
00:01:32,880 –> 00:01:35,520
و در حال حاضر شما در مقابل یک خانه بازی می کنید،
36
00:01:35,520 –> 00:01:38,840
بنابراین هر کدام دو کارت دریافت می کنید
37
00:01:38,840 –> 00:01:46,350
، بیایید ببینیم برای شما مثال می زنیم. از
38
00:01:46,350 –> 00:01:48,439
چند دست در اینجا
39
00:01:48,439 –> 00:01:52,770
، فرض کنیم که خانه به
40
00:01:52,770 –> 00:01:55,140
خود یک هفت بیل در یک
41
00:01:55,140 –> 00:01:59,100
آس قلب داد و من شش
42
00:01:59,100 –> 00:02:04,619
بیل ده بیل را میدهم، اولین گزینه این
43
00:02:04,619 –> 00:02:07,829
است که اگر میخواهم کارت بگیرم تا به آن
44
00:02:07,829 –> 00:02:09,959
نزدیکتر شوم. 21 و هیچ محدودیتی برای من وجود ندارد،
45
00:02:09,959 –> 00:02:12,000
من اگر یک
46
00:02:12,000 –> 00:02:13,170
کارت بگیرم و اجازه دهید
47
00:02:13,170 –> 00:02:14,760
همانطور که لخته ACE را دریافت کنم، 8
48
00:02:14,760 –> 00:02:18,569
تا از 21 باشگاه بیشتر شدهام، 16 امتیاز میگیرم و به همین دلیل
49
00:02:18,569 –> 00:02:21,660
در خانه به عنوان یک دست رد میشوم، فرض کنید
50
00:02:21,660 –> 00:02:23,849
یک دست دیگر وجود دارد و خانه
51
00:02:23,849 –> 00:02:25,860
دارای پنج الماس است و
52
00:02:25,860 –> 00:02:28,140
هفت بیل را برای دوازده امتیاز
53
00:02:28,140 –> 00:02:32,340
فرستاده است o از بیل هشت قلب و من
54
00:02:32,340 –> 00:02:36,560
دلتا نه باشگاه هستم، بنابراین من 19 امتیاز دارم
55
00:02:36,560 –> 00:02:39,450
، قوانین خانه این است
56
00:02:39,450 –> 00:02:42,030
که آنها باید کارت بگیرند، اگر
57
00:02:42,030 –> 00:02:43,980
شانزده کارت نداشته باشند یا کمتر، اگر
58
00:02:43,980 –> 00:02:47,370
هفده یا بیشتر داشته باشند. برای ایستادن پس
59
00:02:47,370 –> 00:02:50,970
بیایید فرض کنیم خانه یک آس می گیرد،
60
00:02:50,970 –> 00:02:54,120
خوب اگر ACE فوراً 11 باشد، آنها
61
00:02:54,120 –> 00:02:56,069
تمام شده اند، بنابراین ACE یک امتیاز را می شمارد بنابراین
62
00:02:56,069 –> 00:02:57,959
آنها شش و هفت سیزده دارند
63
00:02:57,959 –> 00:03:00,510
، آنها باید یک کارت دیگر بگیرند،
64
00:03:00,510 –> 00:03:04,110
فرض کنید یک پنج می گیرند. بنابراین آنها اکنون 18
65
00:03:04,110 –> 00:03:05,910
امتیاز دارند که دیگر مجاز به گرفتن
66
00:03:05,910 –> 00:03:08,910
آنها نیستند، آنها باید متوقف شوند و بازیکن
67
00:03:08,910 –> 00:03:13,200
برنده می شود، بنابراین این یک مقدمه کوتاه برای
68
00:03:13,200 –> 00:03:15,930
بلک جک است،
69
00:03:15,930 –> 00:03:18,590
اگر با بازی آشنا نیستید باید قوانین را جستجو کنید و
70
00:03:18,590 –> 00:03:21,269
آماده شوید زیرا ما دوباره
71
00:03:21,269 –> 00:03:24,930
برنامه بلک جک خود را با ساخت
72
00:03:24,930 –> 00:03:28,560
ماژولهای کوچک شروع میکنیم، بنابراین از پوسته خود خارج شوید
73
00:03:28,560 –> 00:03:30,810
و این ماژولها را دنبال کنید و
74
00:03:30,810 –> 00:03:32,880
مهمتر از آن این ماژولها را آزمایش کنید تا
75
00:03:32,880 –> 00:03:35,250
بدانید که چگونه یک تست واحد
76
00:03:35,250 –> 00:03:39,989
77
00:03:39,989 –> 00:03:41,940
انجام دهید. در حال انجام هر بازی با ورق
78
00:03:41,940 –> 00:03:44,700
d این است که شما باید یک عرشه بسازید، بنابراین
79
00:03:44,700 –> 00:03:46,920
اولین ماژول ما به نام
80
00:03:46,920 –> 00:03:52,200
شافل دک خواهد بود و ما
81
00:03:52,200 –> 00:03:54,660
این عبارت را دقیقاً از اینجا بیرون می آوریم، اما کاری که من از
82
00:03:54,660 –> 00:03:58,290
شما می خواهم انجام دهید این است
83
00:03:58,290 –> 00:04:00,959
که تعدادی از عبارات را وارد کنید. اینجا برای
84
00:04:00,959 –> 00:04:03,650
شافل دک شماست، پس این برنامه را
85
00:04:03,650 –> 00:04:08,900
که قبلاً در مورد یونیکد صحبت کردهایم تعریف کنید و
86
00:04:10,040 –> 00:04:14,730
کاراکترهای یونیکد صرفاً برای
87
00:04:14,730 –> 00:04:18,839
نمایش قلب بیل و غیره هستند، بنابراین
88
00:04:18,839 –> 00:04:21,238
این چهار کاراکتر یونیکد
89
00:04:21,238 –> 00:04:23,789
برای Spades hearts Clubs و Diamonds هستند و
90
00:04:23,789 –> 00:04:26,610
سپس رتبه ما میرود. به معنای واقعی کلمه
91
00:04:26,610 –> 00:04:29,939
تا اعداد جک 310 باشد و می
92
00:04:29,939 –> 00:04:32,550
توانید ببینید که ما ملکه کینگ آس داریم، اوه،
93
00:04:32,550 –> 00:04:36,270
باید مطمئن شوم که کل
94
00:04:36,270 –> 00:04:43,139
برنامه را در اینجا به شما می دهم که می توانید ببینید، بنابراین چگونه
95
00:04:43,139 –> 00:04:46,889
این برنامه خوب کار می کند، ما
96
00:04:46,889 –> 00:04:49,949
اساساً کت و شلوارها را به این صورت تعریف کرده ایم. از
97
00:04:49,949 –> 00:04:53,219
آنجایی که بیلها قلب و الماس هستند و
98
00:04:53,219 –> 00:04:56,039
ما فهرستی برای رتبههایی داریم که از
99
00:04:56,039 –> 00:04:58,620
دو تا آس میروند و یک عرشه جدید ایجاد کردهایم،
100
00:04:58,620 –> 00:05:01,409
بنابراین بدیهی است که عرشه ما
101
00:05:01,409 –> 00:05:05,370
اکنون فهرستی برای ایجاد آن فهرست خواهد بود.
102
00:05:05,370 –> 00:05:07,860
حلقه های تو تو در تو که باید با آنها
103
00:05:07,860 –> 00:05:10,199
آشنا باشید بنابراین برای هر کت و شلوار در
104
00:05:10,199 –> 00:05:12,330
کت و شلوار، بنابراین این کت و شلوار است، بنابراین اولین
105
00:05:12,330 –> 00:05:15,539
بار از طریق این چیزی است
106
00:05:15,539 –> 00:05:17,279
که در کت و شلوار قرار می گیرد، بنابراین یک
107
00:05:17,279 –> 00:05:21,090
کلمه تحت اللفظی خواهد بود که یک بیل برای رتبه
108
00:05:21,090 –> 00:05:23,279
و رتبه چاپ می کند، بنابراین ما می خواهیم به آن بپردازیم. در
109
00:05:23,279 –> 00:05:25,139
حلقه درونی مان می
110
00:05:25,139 –> 00:05:28,860
گذریم و این لیست را تکرار می کنیم عرشه ما
111
00:05:28,860 –> 00:05:30,870
یک لیست خالی است، اولین
112
00:05:30,870 –> 00:05:35,250
بار که رتبه
113
00:05:35,250 –> 00:05:39,029
و لباس را کنار هم می گذاریم، بنابراین از آنجایی که رتبه ما
114
00:05:39,029 –> 00:05:41,969
ممکن است بیل باشد، خواهیم داشت. یک بیل
115
00:05:41,969 –> 00:05:45,210
بالا متاسفم که کت و شلوار همان بیل است که رتبه
116
00:05:45,210 –> 00:05:46,740
یکی از اینها خواهد بود که ما
117
00:05:46,740 –> 00:05:52,020
مانند دو بیل خواهیم داشت اکنون این
118
00:05:52,020 –> 00:05:54,449
تکرار می شود و کاری که ما می خواهیم انجام دهیم این است که
119
00:05:54,449 –> 00:05:56,699
دفعه بعد رتبه را اضافه کنیم
120
00:05:56,699 –> 00:05:58,259
قرار است شخصیت بعدی سه
121
00:05:58,259 –> 00:06:00,330
بیل برای Spade باشد، بنابراین کاری که ما انجام میدهیم این است
122
00:06:00,330 –> 00:06:03,300
که کارتهایی را به عرشه خود اضافه میکنیم که
123
00:06:03,300 –> 00:06:05,400
با دو عدد از بیلها
124
00:06:05,400 –> 00:06:06,960
شروع میشود تا ACE of spades و به بیرون میآییم.
125
00:06:06,960 –> 00:06:10,159
ما اینجا داریم یک کت و شلوار جدید می گیریم،
126
00:06:10,159 –> 00:06:12,719
مطمئن نیستم این کدام یکی است،
127
00:06:12,719 –> 00:06:14,610
شاید الماس باشد و ما
128
00:06:14,610 –> 00:06:19,409
دو تا اضافه می کنیم از الماس تا آس از
129
00:06:19,409 –> 00:06:21,479
الماس بله، ما این کار را برای مدتی انجام میدهیم
130
00:06:21,479 –> 00:06:26,550
و یک عرشه میسازیم تا تست
131
00:06:26,550 –> 00:06:29,610
واحد آن بعد از ایجاد برنامهمان
132
00:06:29,610 –> 00:06:32,849
انجام شود، بسیار مهم است که آن را آزمایش کنیم تا
133
00:06:32,849 –> 00:06:37,440
ببینیم کار میکند یا نه، پس بیایید این کار را انجام دهیم.
134
00:06:37,440 –> 00:06:39,660
این را کمی کوچکتر
135
00:06:39,660 –> 00:06:41,610
میکنم، بنابراین مطمئن شوید که این برنامه را وارد کردهاید
136
00:06:41,610 –> 00:06:45,600
و سپس یک تست واحد روی آن انجام
137
00:06:45,600 –> 00:06:49,350
میدهیم، بنابراین این را کامپایل میکنیم تا مطمئن شویم
138
00:06:49,350 –> 00:06:53,070
هیچ خطایی نداریم و متوجه خواهید شد که
139
00:06:53,070 –> 00:06:57,690
shuffle deck برمیگردد. لیستی که به
140
00:06:57,690 –> 00:06:59,730
آن عرشه می گویند، بنابراین من می خواهم آن را
141
00:06:59,730 –> 00:07:09,030
عرشه من برابر با بوم عرشه درهم بزنم، اکنون باید
142
00:07:09,030 –> 00:07:11,910
به عرشه خود نگاه کنم تا مطمئن شوم که
143
00:07:11,910 –> 00:07:16,340
52 کارت دارد و همه آنها مناسب هستند، بنابراین
144
00:07:16,340 –> 00:07:21,330
فقط کمی بزرگتر است و می توانیم اینجا را ببینیم.
145
00:07:21,330 –> 00:07:23,430
ما یک لیست داریم و 2 عدد از Spades داریم
146
00:07:23,430 –> 00:07:28,800
فقط آه، اما درست نیست، بنابراین
147
00:07:28,800 –> 00:07:33,960
تشخیص اینکه آیا این کار می کند کمی دشوارتر است،
148
00:07:33,960 –> 00:07:35,760
بیایید ببینیم چه کاری می توانیم انجام دهیم.
149
00:07:35,760 –> 00:07:40,740
150
00:07:40,740 –> 00:07:42,390
انتظار
151
00:07:42,390 –> 00:07:45,720
داشتم که عرشه من پر شود 2 3 4 و
152
00:07:45,720 –> 00:07:48,360
به ترتیب پیش برود و شما ممکن است به کد خود نگاه کنید
153
00:07:48,360 –> 00:07:50,550
و بگویید هوم من تعجب می کنم که چرا
154
00:07:50,550 –> 00:07:53,250
در اینجا اشتباه کوچکی انجام داده ام،
155
00:07:53,250 –> 00:07:56,370
منظورم این است که لیست هایی را در اینجا ایجاد کنم، اما توجه
156
00:07:56,370 –> 00:07:59,760
داشته باشید که بریس های فرفری را دارم، بنابراین کاری که
157
00:07:59,760 –> 00:08:02,340
بریس های فرفری انجام داده اند این است که به جای لیست ها مجموعه هایی ایجاد کرده اند،
158
00:08:02,340 –> 00:08:05,160
بنابراین اگر چه
159
00:08:05,160 –> 00:08:09,470
رتبه ها را به این صورت تعریف کردم. من مجموعهای را به صورت
160
00:08:09,470 –> 00:08:11,790
داخلی ایجاد کردم که ذخیره نمیشود
161
00:08:11,790 –> 00:08:14,970
تا بتوانند به هر ترتیبی ذخیره شوند،
162
00:08:14,970 –> 00:08:17,100
بنابراین یک عبارت کوچک را در اینجا قرار
163
00:08:17,100 –> 00:08:19,590
دادم و متوجه شدم که
164
00:08:19,590 –> 00:08:22,860
اینها نبودند به ترتیب دو سه
165
00:08:22,860 –> 00:08:25,470
چهار پنج و آنها بودند. به ترتیب نسبتاً
166
00:08:25,470 –> 00:08:27,990
عجیب و غریب و این چیز بدی نیست
167
00:08:27,990 –> 00:08:31,290
زیرا من هنوز عرشه خود را می گیرم اما
168
00:08:31,290 –> 00:08:33,299
دوست دارم چیزی کمی سفارش داده شده باشد
169
00:08:33,299 –> 00:08:35,099
که بفهمم بنابراین ما این لیست ها را تهیه می کنیم
170
00:08:35,099 –> 00:08:38,180
171
00:08:41,350 –> 00:08:47,050
و اکنون عرشه خود را چاپ می کنم و چه چیزهایی را من
172
00:08:47,050 –> 00:08:54,460
می توانم اینجا ببینم این است که من بیل هایی را دارم که
173
00:08:54,460 –> 00:08:58,540
2 قلب داشتم به Ace of Hearts 2 of
174
00:08:58,540 –> 00:09:02,650
Diamonds Ace of Diamonds و 2 عدد چوب
175
00:09:02,650 –> 00:09:06,250
به آس کلوب ها، بنابراین من عرشه خود را
176
00:09:06,250 –> 00:09:09,820
دارم همانطور که انتظار دارم کار بعدی که می خواهیم انجام دهیم این است.
177
00:09:09,820 –> 00:09:13,000
من میخواهم یک عرشه به هم ریخته را برگردانم زیرا
178
00:09:13,000 –> 00:09:15,070
فقط میخواهم کارت بالایی را از آن انتخاب کنم
179
00:09:15,070 –> 00:09:17,530
عرشه و آن را به کسی بدهم، بنابراین من
180
00:09:17,530 –> 00:09:20,500
میخواهم یک عرشه در هم ریخته را شبیهسازی کنم
181
00:09:20,500 –> 00:09:24,160
و این کار را با استفاده از
182
00:09:24,160 –> 00:09:26,650
دستور تصادفی تصادفی نقطههای تصادفی انجام میدهیم، یاد گرفتیم
183
00:09:26,650 –> 00:09:30,070
که در بخش آخر، بنابراین من لباسهایم را ایجاد
184
00:09:30,070 –> 00:09:34,090
کردم، رتبههایم را ایجاد کردم، عرشه عرشه خالی من است.
185
00:09:34,090 –> 00:09:36,250
و من عرشه خود را در اینجا ایجاد کردهام
186
00:09:36,250 –> 00:09:38,050
، اکنون میخواهیم عرشه را
187
00:09:38,050 –> 00:09:44,860
با استفاده از تصادفی به هم بزنیم، روش ترکیبی را
188
00:09:44,860 –> 00:09:49,330
میتوان پس از وارد کردن استفاده کرد، اما باید تصادفی را وارد کنیم، در غیر این
189
00:09:49,330 –> 00:09:52,740
صورت این
190
00:09:56,670 –> 00:10:01,610
تصادفی برای ما در دسترس نخواهد بود،
191
00:10:02,240 –> 00:10:09,560
پس بیایید یک بار آخر این را امتحان کنیم زمان و
192
00:10:09,560 –> 00:10:12,650
این بار باید متوجه شویم که
193
00:10:12,650 –> 00:10:15,900
عرشه کاملاً تصادفی تر شده است، بنابراین اکنون
194
00:10:15,900 –> 00:10:18,510
کاری که ما انجام داده ایم این است که
195
00:10:18,510 –> 00:10:20,820
آزمایش واحدی انجام داده ایم، ما یک ماژول داریم که
196
00:10:20,820 –> 00:10:24,030
به ما یک عرشه می دهد، بنابراین بیایید به عنصر بعدی نگاه
197
00:10:24,030 –> 00:10:27,890
کنیم. ممکن است بخواهیم در اینجا خوب ایجاد کنیم
198
00:10:27,890 –> 00:10:30,150
، کار بعدی که ممکن است بخواهیم انجام دهیم این
199
00:10:30,150 –> 00:10:32,970
است که ممکن است بخواهیم یک کارت را به یک
200
00:10:32,970 –> 00:10:35,430
کاربر واگذار کنیم، بنابراین آنچه که در توزیع یک
201
00:10:35,430 –> 00:10:39,590
کارت به خوبی دخیل است، میخواهم
202
00:10:39,590 –> 00:10:42,570
تعریفی از یک تابع را دوباره ایجاد کنم و میتوانم
203
00:10:42,570 –> 00:10:45,300
آن را معامله بنامم باید
204
00:10:45,300 –> 00:10:47,790
آن را از یک عرشه عبور دهیم زیرا ما می خواهیم از
205
00:10:47,790 –> 00:10:51,920
هفتم کنار بیاییم بنابراین ما عرشه خود را اینجا داریم
206
00:10:51,920 –> 00:10:55,680
و کارتی که قرار است برگردانم باید
207
00:10:55,680 –> 00:10:58,110
به دست کسی برود، بنابراین
208
00:10:58,110 –> 00:11:05,730
نمیخواهم فقط یک کارت را
209
00:11:05,730 –> 00:11:08,820
برگردانم، آن را به دست بازیکن اضافه میکنم،
210
00:11:08,820 –> 00:11:11,070
میخواهم یک بازی ثانویه را در اینجا پاس کنم و آنها
211
00:11:11,070 –> 00:11:14,880
فقط با آن بازیکن تماس میگیرند، بنابراین
212
00:11:14,880 –> 00:11:18,810
این به نوعی تعریف من است که
213
00:11:18,810 –> 00:11:21,720
باید انجام دهم این است که باید کارت بالایی را از عرشه دریافت کنم،
214
00:11:21,720 –> 00:11:26,280
بنابراین کاری که من اینجا انجام میدهم این است
215
00:11:26,280 –> 00:11:29,400
من
216
00:11:29,400 –> 00:11:32,270
برای برنامهای که میخواهم بنویسم یک شبه کد برای برنامهام مینویسم و
217
00:11:32,270 –> 00:11:36,300
میخواهم آن را به دس
218
00:11:36,300 –> 00:11:42,720
پخشکننده اضافه کنم، بنابراین یک ایده در ذه
219
00:11:42,720 –> 00:11:45,210
م به وجود آمد که اکنون میخواهم چه کار کنم. حالا میخواهم
220
00:11:45,210 –> 00:11:50,220
آن را برای کدنویسی متعهد کنم تا از طریق
221
00:11:50,220 –> 00:11:56,400
جادویی برنامه من را با گرفتن
222
00:11:56,400 –> 00:11:59,720
کارت برتر انجام دهم، کاری که پاپ انجام میدهد این است
223
00:11:59,720 –> 00:12:03,930
که آخرین کارت از عرشه را به کارت برمیگرداند
224
00:12:03,930 –> 00:12:07,140
و آن را از عرشه خارج میکند
225
00:12:07,140 –> 00:12:10,620
که به سادگی فهرستی از 52
226
00:12:10,620 –> 00:12:14,600
رشته است. بنابراین در حال حاضر من 51 پخش رشته ای خواهم داشت
227
00:12:14,600 –> 00:12:19,680
، لیستی است که می خواهم
228
00:12:19,680 –> 00:12:23,310
کارت را به آن ضمیمه کنم، بنابراین اولین باری که
229
00:12:23,310 –> 00:12:26,670
از طریق یک پخش کننده خواهد داشت، یک عدد پوچ خواهد بود.
230
00:12:26,670 –> 00:12:28,350
زنگ می زنم و اولین باری که با کارت معامله تماس می گیرم،
231
00:12:28,350 –> 00:12:31,670
232
00:12:31,670 –> 00:12:38,130
یک کارت به لیست پخش کننده اضافه می کند، بنابراین بیایید دوباره
233
00:12:38,130 –> 00:12:45,000
آزمایش واحد انجام دهیم تا مطمئن شویم که این کار می کند، بنابراین من
234
00:12:45,000 –> 00:12:52,740
باید یک عرشه درهم ریخته ایجاد
235
00:12:52,740 –> 00:13:00,240
کنم که انجام داده ام برای ایجاد آن من
236
00:13:00,240 –> 00:13:08,639
فقط یک لیست خالی یک لیست خالی بنابراین
237
00:13:08,639 –> 00:13:11,519
دیو چیزی ندارد این شامل
238
00:13:11,519 –> 00:13:16,819
کارت های من می شود من اکنون می خواهم با کارت
239
00:13:16,819 –> 00:13:25,220
با استفاده از عرشه برای خودم آن را بپردازم.
240
00:13:27,199 –> 00:13:29,519
241
00:13:29,519 –> 00:13:31,350
به دیو نگاه کنید،
242
00:13:31,350 –> 00:13:36,089
اگر من دوباره این کار را انجام دهم، دیو باید حاوی آن کارت باشد
243
00:13:36,089 –> 00:13:46,949
و شاید دوباره متوجه شود
244
00:13:46,949 –> 00:13:50,760
که دیو شامل یک لیست از سه کارت است،
245
00:13:50,760 –> 00:13:56,189
بنابراین هر بار که این کار را انجام می دهم، یک کارت به دست من اضافه می کند
246
00:13:56,189 –> 00:13:58,860
و آنها را از روی عرشه من حذف می کند،
247
00:13:58,860 –> 00:14:03,810
بنابراین اگر نگاه کردم در طول عرشه
248
00:14:03,810 –> 00:14:08,699
من می بینم که اکنون 49 از 52 است، بنابراین
249
00:14:08,699 –> 00:14:11,250
من آزمایش واحد را روی این انجام دادم تا مطمئن شوم که
250
00:14:11,250 –> 00:14:14,040
این ماژول کاملاً کار می کند قبل از اینکه
251
00:14:14,040 –> 00:14:17,930
آن را در چیز دیگری ادغام کنم و سپس
252
00:14:19,690 –> 00:14:22,360
تابعی
253
00:14:22,360 –> 00:14:25,240
به نام total ایجاد کنیم که طول می کشد. یک دست بزور
254
00:14:25,240 –> 00:14:28,240
و با تهدید با استفاده از بهترین انتساب از آس
255
00:14:28,240 –> 00:14:31,420
به یاد داشته باشید می تواند یک یا 11 باشد
256
00:14:31,420 –> 00:14:33,340
تا بهترین مقدار ممکن را برای
257
00:14:33,340 –> 00:14:35,980
دست برگرداند و منطقی است که این کار را در یک
258
00:14:35,980 –> 00:14:38,470
تابع ماژولار انجام دهید زیرا تا حدودی
259
00:14:38,470 –> 00:14:40,990
پیچیده است بنابراین می خواهم
260
00:14:40,990 –> 00:14:44,050
آن را فقط در این تابع کپسوله کنم و سعی کنید
261
00:14:44,050 –> 00:14:46,510
عملکرد را در حال اشکال زدایی کنید.
262
00:14:46,510 –> 00:14:48,100
یک شخص جداگانه داشته باشید که این نوع ماژول را می نویسد،
263
00:14:48,100 –> 00:14:54,930
بنابراین بیایید
264
00:14:54,930 –> 00:14:57,880
دوباره روش مداد و کاغذ را بررسی
265
00:14:57,880 –> 00:15:00,210
کنیم تا روشی برای
266
00:15:00,210 –> 00:15:05,970
انجام این کار به خوبی ارائه کنیم که ما می خواهیم انتخاب کنیم
267
00:15:05,970 –> 00:15:09,400
اساسا کت و شلوار مهم نیست
268
00:15:09,400 –> 00:15:12,580
اما رتبه مهم است و رتبه
269
00:15:12,580 –> 00:15:18,280
رشتههای سادهای مانند 2 یا K برای King هستند.
270
00:15:18,280 –> 00:15:21,040
چگونه میتوانیم آنها را به مقادیر تبدیل کنیم. این دو برای
271
00:15:21,040 –> 00:15:23,320
یک مقدار خوب 2 تا 9 آسان است، اما
272
00:15:23,320 –> 00:15:26,680
پادشاه/ملکه آنها به این راحتیها نیستند، بنابراین
273
00:15:26,680 –> 00:15:29,020
بیایید از چیزی که یاد گرفتهایم به نام استفاده کنیم.
274
00:15:29,020 –> 00:15:34,510
فرهنگ لغت، بنابراین برای کلید دیکشنری
275
00:15:34,510 –> 00:15:36,850
، از این رشته ها استفاده می کنیم و
276
00:15:36,850 –> 00:15:39,550
مقادیر از 2 تا 9 خواهد بود
277
00:15:39,550 –> 00:15:43,510
و مقدار برای جک مانند کینگ
278
00:15:43,510 –> 00:15:46,870
، همه این مقادیر 10 خواهد بود و
279
00:15:46,870 –> 00:15:50,080
ACE یک مقدار خواهد داشت. از 11 در
280
00:15:50,080 –> 00:15:54,370
حال حاضر بنابراین یکی از صنوبر st tasks استفاده
281
00:15:54,370 –> 00:16:06,970
از دیکشنری برای بدست آوردن مقادیر کارتها است،
282
00:16:06,970 –> 00:16:09,940
بنابراین ما آن دیکشنری را به عنوان یکی
283
00:16:09,940 –> 00:16:13,060
از اولین چیزهایی در عملکرد خود ایجاد می کنیم،
284
00:16:13,060 –> 00:16:17,560
اکنون ممکن است دستی
285
00:16:17,560 –> 00:16:21,780
شبیه به این 2 مورد از Hearts
286
00:16:24,360 –> 00:16:27,880
8 داشته باشیم. C را برای کلوپ های
287
00:16:27,880 –> 00:16:32,470
10 بیل قرار دهید،
288
00:16:32,470 –> 00:16:35,620
پس چگونه همه اینها را به خوبی جمع کنیم،
289
00:16:35,620 –> 00:16:36,790
کاری انجام می دهیم که از
290
00:16:36,790 –> 00:16:42,000
یک حلقه for برای تکرار در سراسر دستمان استفاده می کنیم
291
00:16:42,000 –> 00:16:51,990
و برای هر کارت، هر کدام از این ها
292
00:16:51,990 –> 00:16:59,640
تکالیف جداگانه هستند، بنابراین برای هر کدام کارتی که
293
00:16:59,640 –> 00:17:06,660
در دست است به ارزشها اضافه میشود،
294
00:17:19,699 –> 00:17:27,898
ما همچنین میخواهیم بفهمیم که
295
00:17:27,898 –> 00:17:30,630
تعداد آسهایی که داریم را نیز اضافه میکنیم، زیرا
296
00:17:30,630 –> 00:17:33,389
آسها خاص هستند، بنابراین آسها میتوانند
297
00:17:33,389 –> 00:17:36,179
1 یا 11 باشند، ما در اینجا به آنها مقدار
298
00:17:36,179 –> 00:17:38,429
11 میدهیم. فرهنگ لغت ما، اما ممکن است
299
00:17:38,429 –> 00:17:45,090
بخواهیم آن را به 1 کاهش دهیم، بنابراین اگر
300
00:17:45,090 –> 00:17:49,320
همه چیز را جمع کنیم و اگر نتیجه بزرگتر
301
00:17:49,320 –> 00:17:56,669
از 21 باشد و اگر من دارای ACE باشم، بنابراین اگر
302
00:17:56,669 –> 00:17:59,519
در اینجا چند آس داشته باشم، میخواهم
303
00:17:59,519 –> 00:18:08,159
انجام دهم، میخواهم آن را تغییر دهم. آس از 11 تا
304
00:18:08,159 –> 00:18:11,580
1، بنابراین این به نوعی طرح کلی از کاری است که من
305
00:18:11,580 –> 00:18:16,580
می خواهم برای جمع کردن و ارزش گذاری دستم انجام دهم،
306
00:18:16,580 –> 00:18:19,590
اکنون شما واقعاً می توانید این کار را انجام دهید.
307
00:18:19,590 –> 00:18:21,629
کمی شبه کد است که در واقع میتوانید
308
00:18:21,629 –> 00:18:24,529
این را با یک نمودار جریان حل کنید،
309
00:18:24,529 –> 00:18:26,940
اگر واقعاً این را از
310
00:18:26,940 –> 00:18:29,580
ابتدا مینوشتید، جزئیات بیشتری را در اینجا دریافت میکردید
311
00:18:29,580 –> 00:18:31,980
و مطمئن میشوید که قبل از اینکه کدنویسی کنید، واقعاً
312
00:18:31,980 –> 00:18:36,179
منطق این میخ را دقیقتر دارید.
313
00:18:36,179 –> 00:18:39,299
اما نکته
314
00:18:39,299 –> 00:18:41,519
اینجاست که ما بلافاصله کد
315
00:18:41,519 –> 00:18:44,700
نمینویسیم، این کار را روی مداد و ک