WEBVTT

00:00.200 --> 00:03.260
خوب، پس بیایید شروع کنیم به ساخت برنامه آزمون خودمان.

00:03.260 --> 00:05.690
برای این کار، یک پروژه جدید ایجاد می‌کنم.

00:05.690 --> 00:07.820
این یک برنامه کنسول خواهد بود.

00:07.820 --> 00:12.290
و نام آن را می‌گذارم "my quiz app".

00:12.290 --> 00:15.380
سپس تیک آن گزینه را نگه می‌دارم.

00:15.380 --> 00:21.860
اگر آن را ندارید، اضافه کنید چون می‌خواهیم برنامه‌نویسی صحیح انجام دهیم با کلاس داخلی برنامه‌مان

00:21.860 --> 00:24.590
 باشد.mainبه جای اینکه مستقیماً در متد
 
00:24.590 --> 00:25.220
خب.

00:25.220 --> 00:28.970
اولین چیزی که نیاز داریم، سوال‌ها هستند.

00:28.970 --> 00:36.200
ما باید بدانیم هر سوال به چه شکل خواهد بود تا بتوانیم یک آرایه از سوال‌ها ایجاد کنیم

00:36.200 --> 00:44.690
quizکه سپس بتوانیم به 
 خود ارسال کنیم تا واقعاً آن سوال‌ها را نمایش دهد و بداند کدام یک از جواب‌ها صحیح است.

00:44.690 --> 00:48.500
می‌گذارم.questionپس بیایید یک کلاس جدید ایجاد کنیم که نام آن را 

00:48.500 --> 00:55.730
Question.cs یک کلاس خواهد بود.

00:55.730 --> 00:58.700
 کلیک می‌کنیم.addو روی
 
00:58.700 --> 01:00.290
questionخب، داخل این کلاس 
 به چه چیزهایی نیاز داریم؟

01:00.290 --> 01:03.500
راستی، من به سمت دیگر صفحه نگاه می‌کنم.

01:03.500 --> 01:06.440
نگران نباشید، همه چیز را از قبل آماده کرده‌ام.

01:06.440 --> 01:08.810
این کار را برای من خیلی آسان‌تر می‌کند تا بهترین تجربه یادگیری را ارائه دهم.

01:08.810 --> 01:13.460
خب، پس چه چیزهایی را باید درباره سوال بدانیم؟

01:13.460 --> 01:16.310
خب، باید بدانیم چه چیزی می‌خواهیم نمایش دهیم.

01:16.310 --> 01:18.860
یعنی متن سوال.

01:18.860 --> 01:21.050
سپس باید بدانیم چه جواب‌های ممکن را می‌خواهیم نمایش دهیم.

01:21.050 --> 01:26.450
و همچنین باید بدانیم کدام یک از جواب‌ها، پاسخ صحیح است.

01:26.450 --> 01:33.080
 propertyپس بیایید هر سه
 که نیاز داریم را ایجاد کنیم.

01:33.080 --> 01:37.130
property و من فقط 
های پیش‌فرض ایجاد می‌کنم.

01:37.130 --> 01:40.010
یکی string و question text خواهد بود.

01:40.010 --> 01:44.510
دیگر ایجاد می‌کنم.propertyسپس یک 

01:44.510 --> 01:47.630
خواهد بود.answersو این یکی یک آرایه از رشته‌ها به نام 
 
01:53.360 --> 01:54.860
و حالا answers.


01:54.860 --> 01:58.790
answersمی‌توانستید بگویید خوب، یک کلاس جداگانه برای 
 هم ایجاد می‌کنید.

01:58.790 --> 02:04.610
اما فکر می‌کنم اینجا زیاد باشد، چون رشته‌ها برای این وضعیت خاص کافی هستند.

02:04.610 --> 02:10.880
 propertyو سپس یک
 دیگر که به اندیس پاسخ صحیح رسیدگی می‌کند.

02:10.880 --> 02:12.980
چیست؟correct answer indexپس 
 
02:12.980 --> 02:21.470
answersخب، این اساساً شماره‌ای است در آرایه 
 که پاسخ صحیح را مشخص می‌کند.

02:21.470 --> 02:28.790
پس برای هر سوال باید بدانیم از بین چهار گزینه پاسخ، کدام یک صحیح است.

02:28.790 --> 02:29.840
چهار مورد.

02:29.840 --> 02:34.400
answersو متغیر 
 اینجا یک آرایه است.

02:34.400 --> 02:38.900
پس از اندیس پاسخ صحیح استفاده خواهیم کرد.

02:38.900 --> 02:44.030
مثلاً اگر چهار پاسخ داشته باشیم، پاسخ اول در اندیس صفر است.

02:44.060 --> 02:49.100
پاسخ دوم در اندیس یک و پاسخ سوم در اندیس دو و به همین ترتیب.

02:49.100 --> 02:49.520
درست است.

02:49.520 --> 02:54.920
correct answer indexو باید بدانیم پاسخ صحیح در کدام اندیس است، به همین دلیل نام آن را 
 گذاشتیم

02:54.920 --> 02:58.910
چون شمارش از یک شروع نمی‌شود، از صفر شروع می‌شود.

02:58.910 --> 03:02.060
constructorخب، پس به یک 
 نیاز داریم.

03:02.060 --> 03:07.730
setter یا constructorپس یک 
 ایجاد می‌کنم که همه این موارد را نیاز دارد.

03:07.730 --> 03:11.000
مثلاً باید متن سوالی که می‌خواهیم نمایش دهیم را پاس بدهیم.

03:11.000 --> 03:16.070
باید جواب‌هایی که می‌خواهیم نمایش دهیم را پاس بدهیم یا بله، می‌خواهیم نمایش دهیم.

03:16.070 --> 03:20.000
و باید بدانیم کدام یک از پاسخ‌ها، پاسخ صحیح است.

03:20.000 --> 03:28.280
question textپس اینجا می‌توانیم بگوییم 
خواهد بود.answers و سپس آرایه رشته‌ای که 
 
03:28.280 --> 03:31.400
خواهیم داشت.intو در نهایت یک 

03:31.400 --> 03:35.360
correct answer indexو من نام آن را 
 می‌گذارم، درست است.

03:35.360 --> 03:36.770
تقریباً همان سوال است.

03:36.770 --> 03:42.260
question indexو سپس می‌توانیم اینجا بگوییم خوب، 
هست.question index همان چیزی خواهد بود که 

03:42.260 --> 03:42.710
پس.

03:42.710 --> 03:45.980
answersسپس 
 همان چیزی خواهد بود که شما به من می‌دهید.

03:45.980 --> 03:52.190
correct answer indexو در نهایت 
 همان چیزی خواهد بود که شما به من به عنوان 
 می‌دهید correct answer index

03:52.190 --> 03:55.730
پس این همان سوال ما است.

03:55.730 --> 04:03.140
حالا چیزی که به سوال اضافه خواهیم کرد یک متد بولی خواهد بود، درست است.

04:03.140 --> 04:09.770
public bool is correct answerپس یک متد 
 خواهم داشت.

04:09.770 --> 04:13.580
validate answerمی‌توانستید نام آن را 
 یا هر چیز دیگری بگذارید.

04:13.580 --> 04:21.620
is correct answerاما من فقط می‌گویم 
 که در آن انتخاب کاربر را می‌گیرم و بررسی می‌کنم آیا صحیح است یا نه؟

04:21.620 --> 04:22.550
درست است؟

04:22.580 --> 04:28.880
boolحالا این متد باید یک 
 برگرداند و می‌توانید این را ببینید.

04:28.880 --> 04:32.390
قبلاً نوشته شده 
correct answer index == choice.

04:32.390 --> 04:34.460
هر دو جهت درست است.

04:34.460 --> 04:36.830
اما اساساً این چیزی است که می‌خواهیم بدانیم.

04:36.830 --> 04:45.200
intمی‌خواهیم بدانیم هر مقداری که کاربر به عنوان 
 به این متد وارد کرده است، پاسخ صحیح است یا نه.

04:45.200 --> 04:50.750
int با correct answer indexآیا همان 
 برابر است؟

04:50.750 --> 04:54.920
و اگر اینطور باشد، پس می‌دانیم که پاسخ درست است.

04:54.920 --> 04:59.210
در همه موارد دیگر می‌دانیم پاسخ نادرست است، درست است؟

04:59.210 --> 04:59.540
پس این.

04:59.680 --> 05:03.490
questionتقریباً تمام چیزی است که برای کلاس 
 نیاز داریم.

05:03.490 --> 05:07.480
quizحالا در ویدیوی بعدی، به کلاس 
 نگاه خواهیم کرد.

05:07.480 --> 05:13.000
و احتمالاً به بیش از یک ویدیو نیاز خواهیم داشت تا کلاس quiz را کامل کنیم چون جزئیات زیادی دارد.

05:13.000 --> 05:13.630
درست است.

05:13.630 --> 05:17.350
پس تقریباً همین برای این ویدیو کافی است.

05:17.350 --> 05:18.280
در ویدیوی بعدی می‌بینمتان.


