1 00:00:00,000 --> 00:00:09,386 2 00:00:09,386 --> 00:00:11,332 >> ZAMYLA Chan: এর আছে যাক পঞ্চদশ নিয়ে মজা. 3 00:00:11,332 --> 00:00:15,680 পঞ্চদশ আপনি পেতে যে প্রথম খেলা বাস্তবায়ন এবং এটা মিথস্ক্রিয় এর কাছে. 4 00:00:15,680 --> 00:00:16,410 এখন, চিন্তা করবেন না. 5 00:00:16,410 --> 00:00:18,830 আপনি লিখতে হবে না গোটা ব্যাপারটাই নিজেকে. 6 00:00:18,830 --> 00:00:22,320 ডিস্ট্রিবিউশন কোড তাকান কারণ একটি খেলা গঠন অনেকটা ইতিমধ্যে 7 00:00:22,320 --> 00:00:23,880 আপনার জন্য সেট আপ. 8 00:00:23,880 --> 00:00:28,160 এটা গ্রহণ করে এবং একটি কমান্ড লাইন parses ব্যবহারকারী থেকে এবং যুক্তি একটি সৃষ্টি 9 00:00:28,160 --> 00:00:31,230 বোর্ড যে ইনপুটের ভিত্তিতে. 10 00:00:31,230 --> 00:00:35,570 এটা খেলা জয়ী হলে পরীক্ষা করে প্রস্থান করে ব্যবহারকারীর খেলা জিতেছে একবার. 11 00:00:35,570 --> 00:00:38,340 এবং খেলা জয়, এটি পায় ব্যবহারকারী থেকে ইনপুট এবং 12 00:00:38,340 --> 00:00:40,610 সরান ফাংশন কল. 13 00:00:40,610 --> 00:00:44,600 >> তাই আমরা চার প্রয়োগ করা চলুন পঞ্চদশ খেলার জন্য ফাংশন, 14 00:00:44,600 --> 00:00:48,110 Init,, আঁকা সরানো, এবং জিতেছে. 15 00:00:48,110 --> 00:00:50,340 প্রথমত, এর Init মোকাবেলা যাক. 16 00:00:50,340 --> 00:00:55,150 Init সালে আরম্ভ জন্য, আমরা উপস্থাপন একটি 2D পূর্ণসংখ্যা অ্যারের মধ্যে বোর্ড. 17 00:00:55,150 --> 00:01:01,070 এবং এই নামে একটি বিশ্বব্যাপী পরিবর্তনশীল মাত্রা MAX-, এবং সর্বোচ্চ সঙ্গে বোর্ড, 18 00:01:01,070 --> 00:01:03,880 বোর্ডের সর্বোচ্চ মাত্রা. 19 00:01:03,880 --> 00:01:07,310 এখন, বোর্ডের প্রকৃত মাত্রা মধ্যে প্রতিনিধিত্ব ব্যবহারকারী, দেওয়া হয় 20 00:01:07,310 --> 00:01:10,620 পূর্ণসংখ্যা ডি, যা পারা MAX এর চেয়ে কম হবে. 21 00:01:10,620 --> 00:01:14,660 কিন্তু, সি, আপনি অ্যারে মাপ পরিবর্তন করতে পারে না, তাই আপনার সাথে আটকে করছি 22 00:01:14,660 --> 00:01:16,730 যে সর্বোচ্চ মাত্রা. 23 00:01:16,730 --> 00:01:19,870 >> Init মধ্যে আপনার কাজ পূরণ করতে হয় বোর্ডের মান 24 00:01:19,870 --> 00:01:21,860 সঠিক মান সঙ্গে. 25 00:01:21,860 --> 00:01:26,910 এখন, আমরা 1D অ্যারে দেখা, কিন্তু করেছি কিভাবে 2D অ্যারে কাজ করেন? 26 00:01:26,910 --> 00:01:30,985 এখন পর্যন্ত সারির একটি সূচক আছে, শূন্য এর জন্যও তাহলে সবসময় হিসাবে ইন্ডেক্স, এবং 27 00:01:30,985 --> 00:01:32,100 কলাম. 28 00:01:32,100 --> 00:01:36,120 এবং আপনি মধ্যে আপনার গ্রিড পূরণ করব শুধু ভালো, মান সাজানো. 29 00:01:36,120 --> 00:01:43,260 গ্রিড, 0, 0, সারি 0, কলাম 0, গ্রিড 0, 1 7, 8. 30 00:01:43,260 --> 00:01:48,500 এই একটি উদাহরণ জন্য যেখানে ডি, একটু ডি, 3. 31 00:01:48,500 --> 00:01:52,690 >> এখন, পঞ্চদশ মধ্যে বোর্ড এছাড়াও আবশ্যক আপনি কি কখনো করেছি যদি একটি ফাঁকা টালি ধারণ 32 00:01:52,690 --> 00:01:54,280 শারীরিক খেলা সঙ্গে খেলেছে. 33 00:01:54,280 --> 00:01:59,210 কিন্তু, বোর্ড একটি পূর্ণসংখ্যা অ্যারের, তাই সব মান ইন্টিজার হতে হবে. 34 00:01:59,210 --> 00:02:06,950 সুতরাং এটি একটি পূর্ণসংখ্যা সিদ্ধান্ত আপনার উপর একটি ফাঁকা টালি প্রতিনিধিত্ব মূল্য. 35 00:02:06,950 --> 00:02:10,460 আপনার বোর্ড আরম্ভ করার জন্য, আপনি ব্যবহার করতে পারেন ধারণ করা লুপ কাঠামো 36 00:02:10,460 --> 00:02:16,440 বোর্ডের শুরু রাজ্য যেখানে বোর্ড আমি ঞ উপাদান এ প্রতিনিধিত্ব করে 37 00:02:16,440 --> 00:02:19,380 সারিতে আমি ও কলাম জে. 38 00:02:19,380 --> 00:02:23,035 তারা সাজানো ক্রম শুরু এবং মনে রাখবেন, যে যদি টাইলস সংখ্যা 39 00:02:23,035 --> 00:02:29,590 বিজোড় হয়, তাহলে আপনার কাছে আছে চলুন 2 এবং 1 অবস্থান অদলবদল. 40 00:02:29,590 --> 00:02:33,790 তাই সেখানে, আমরা আছে আমাদের সক্রিয়া বোর্ড. 41 00:02:33,790 --> 00:02:37,440 >> এখন, আমরা সক্রিয়া করেছি যে আমাদের , এটা আঁকতে সময় বোর্ড এর. 42 00:02:37,440 --> 00:02:41,260 ড্র বর্তমান রাষ্ট্র প্রিন্ট হবে বোর্ড, কিন্তু আপনি নিশ্চিত করা প্রয়োজন 43 00:02:41,260 --> 00:02:44,260 একই আদেশ টাইলস প্রিন্ট আপনি তাদের সক্রিয়া করেছি. 44 00:02:44,260 --> 00:02:47,300 এবং আপনি ফরম্যাট করতে হবে আপনার নম্বর সঠিকভাবে. 45 00:02:47,300 --> 00:02:51,700 আমরা একক সংখ্যায় আছে এবং পারে কারণ ডবল ডিজিট, তারপর আপনি করতে চান 46 00:02:51,700 --> 00:02:54,540 আগে একটি ফাঁকা স্থান প্রিন্ট কোনো একক অঙ্ক সংখ্যা. 47 00:02:54,540 --> 00:03:00,150 আপনি ব্যবহার করে যে ব্যবহার স্থানধারক -. 48 00:03:00,150 --> 00:03:02,550 >> কিন্তু আমাদের ফাঁকা স্থান মনে রাখবেন. 49 00:03:02,550 --> 00:03:05,970 আমরা প্রকৃত সংখ্যা প্রিন্ট করতে চাই না আমরা প্রতিনিধিত্ব বাছাই করেছেন যে 50 00:03:05,970 --> 00:03:10,410 যে ফাঁকা বোর্ড মধ্যে স্থান, কিন্তু আমরা এ সব কিছুই মুদ্রণ করতে চান না. 51 00:03:10,410 --> 00:03:15,310 তাই কি আপনি করতে পারেন একটি প্রতীক নির্ধারণ করা হয় অথবা প্রতিনিধিত্ব করতে চরিত্র 52 00:03:15,310 --> 00:03:17,050 ফাঁকা টালি. 53 00:03:17,050 --> 00:03:21,030 পূর্ববর্তী উদাহরণে আমি একটি বাছাই করেছেন আন্ডারস্কোর, এবং তারপর আপনি শুধু প্রিন্ট 54 00:03:21,030 --> 00:03:26,970 যে আপনি ফাঁকা পৌঁছানোর যখনই আপনার ড্র ফাংশন স্থান. 55 00:03:26,970 --> 00:03:29,850 >> তাই আঁকতে loops জন্য নেস্টেড থাকতে হবে. 56 00:03:29,850 --> 00:03:31,150 ভালো কিছু. 57 00:03:31,150 --> 00:03:35,660 প্রতিটি সারির জন্য, এবং তারপর প্রতিটি মান জন্য সারি, আপনি প্রিন্ট করতে যাচ্ছেন 58 00:03:35,660 --> 00:03:36,940 এই স্থান মূল্য. 59 00:03:36,940 --> 00:03:39,470 আপনি সব মান প্রিন্ট করেছি সারিতে, তাহলে আপনি 60 00:03:39,470 --> 00:03:41,180 একটি নতুন লাইন প্রিন্ট করতে পারেন. 61 00:03:41,180 --> 00:03:47,730 মনে রাখবেন যে আপনার ড্র জন্য আদেশ ফাংশন যাতে echo বা মিরর আবশ্যক 62 00:03:47,730 --> 00:03:48,980 আপনার সক্রিয়া ফাংশন. 63 00:03:48,980 --> 00:03:51,290 64 00:03:51,290 --> 00:03:55,160 >> আপনি বোর্ড সক্রিয়া এবং এখন যে আপনি এটি টানা করেছি যে, এটা দেওয়া সময় 65 00:03:55,160 --> 00:03:58,500 ব্যবহারকারী এটি সম্পাদনা করতে এবং তাদের প্যাচসমূহ করা. 66 00:03:58,500 --> 00:04:03,840 সুতরাং Fifteen.c ফাংশন, প্রোগ্রাম ব্যবহারকারী থেকে ইনপুট নেয় এবং 67 00:04:03,840 --> 00:04:07,690 তারপর ক্ষণস্থায়ী, সরানো ফাংশন কল টালি সংখ্যা যে 68 00:04:07,690 --> 00:04:09,270 ব্যবহারকারী সরাতে চায়. 69 00:04:09,270 --> 00:04:10,380 এখন, সতর্কতা অবলম্বন করা আবশ্যক. 70 00:04:10,380 --> 00:04:14,200 এই টালি প্রকৃত সংখ্যা এবং না তার প্রকৃত অবস্থান. 71 00:04:14,200 --> 00:04:19,010 সুতরাং, আপনি টালি এর জন্য অনুসন্ধান করতে হবে যেখানে এটা জানতে অবস্থান. 72 00:04:19,010 --> 00:04:23,440 >> এখন, আপনি শুধুমাত্র ব্যবহারকারীর অনুমতি উচিত এটা আইনি যদি তাড়াতাড়ি করতে. 73 00:04:23,440 --> 00:04:27,910 একটি আইনি পদক্ষেপ যে কোনো টালি হয় ফাঁকা টালি সংলগ্ন. 74 00:04:27,910 --> 00:04:32,020 এটা করার জন্য, উপরের এবং নীচের, মানে এবং ডান থেকে বামে. 75 00:04:32,020 --> 00:04:34,680 সুতরাং আপনি জানা প্রয়োজন হবে যেখানে ফাঁকা টালি হিসাবে ভাল হয়. 76 00:04:34,680 --> 00:04:39,720 এখন, প্রত্যেক জন্য আপনি অনুসন্ধান করছেন সরাতে ব্যবহারকারী টালি, কিন্তু এটি সম্ভবত 77 00:04:39,720 --> 00:04:43,030 ফাঁকা টালি অনুসন্ধান করার জন্য সবচেয়ে ভালো না আপনি এটা করছেন, কারণ প্রত্যেক সময় 78 00:04:43,030 --> 00:04:45,270 প্রতি একক সময় ব্যবহারকারী সরাতে চায়. 79 00:04:45,270 --> 00:04:50,300 সুতরাং, পরিবর্তে, এটা মনে রাখা ভাল যেখানে ফাঁকা টালি কিছু ব্যবহার করছে 80 00:04:50,300 --> 00:04:52,650 ভাল ভেরিয়েবল নামে. 81 00:04:52,650 --> 00:04:55,970 আপনি ইউজার করার অনুমতি প্রদান একবার তাই তাদের প্যাচসমূহ, তারা ভাল আছে তাদের 82 00:04:55,970 --> 00:04:59,700 পঞ্চদশ খেলার জয়লাভ করার উপায়. 83 00:04:59,700 --> 00:05:03,940 >> পনেরো, টাইলস খেলাটি win একটি নির্দিষ্ট অনুক্রম হতে হবে, এবং 84 00:05:03,940 --> 00:05:06,970 জিতেছে ফাংশন কিনা পরীক্ষা করা খেলা জয়ী হয়. 85 00:05:06,970 --> 00:05:10,290 এটা খেলা জয়ী হলে True প্রদান এবং টাইলস সঠিক অনুক্রমে হয়, 86 00:05:10,290 --> 00:05:12,210 এবং মিথ্যা অন্যথায়. 87 00:05:12,210 --> 00:05:15,830 সুতরাং পঞ্চদশ, টাইলস খেলা জয় সঙ্গে, যাতে বৃদ্ধি করতে হবে 88 00:05:15,830 --> 00:05:19,230 ডান নিচ কোণায় ফাঁকা টালি. 89 00:05:19,230 --> 00:05:23,630 সুতরাং কিভাবে আপনি চেক করবেন কিনা ব্যবহারকারী ডান মধ্যে বোর্ড সরানো হয়েছে 90 00:05:23,630 --> 00:05:25,010 অভিযোজন? 91 00:05:25,010 --> 00:05:29,200 >> হ্যাঁ, আপনি বোর্ডের উপর বারবার এবং করব নিশ্চিত যে মান পরীক্ষা 92 00:05:29,200 --> 00:05:30,550 তারা সঠিক জায়গায় আপনি আছেন. 93 00:05:30,550 --> 00:05:33,910 এটি করার জন্য, আপনি নেস্টেড ব্যবহার করতে পারেন আপনি কি ঠিক মত loops জন্য 94 00:05:33,910 --> 00:05:36,520 ড্র এবং Init মধ্যে. 95 00:05:36,520 --> 00:05:40,430 চেক উপায়ে একটি দম্পতি আছে এবং বোর্ড কিনা যাচাই 96 00:05:40,430 --> 00:05:42,860 সঠিক এবং একটি বিজয়ী গঠন, যদিও. 97 00:05:42,860 --> 00:05:47,330 আপনি বাঁ দিক থেকে ডানদিকে যান, শুরু নিচে উপরে সারি থেকে, তারপর প্রতি 98 00:05:47,330 --> 00:05:50,590 সংখ্যা তার চেয়ে অনেক বেশী হতে হবে আগের. 99 00:05:50,590 --> 00:05:54,530 আপনি করেছি মান সম্পর্কে সাবধান যদিও আপনার ফাঁকা টালি জন্য নির্বাচিত. 100 00:05:54,530 --> 00:05:59,250 >> অথবা আপনি একটি পাল্টা পরিবর্তনশীল ব্যবহার করতে পারেন যদি প্রতিটি মান জায়গা হয় তা নিশ্চিত 101 00:05:59,250 --> 00:06:03,660 আপনি কিছু সাজানোর চিন্তা এই প্রতিনিধিত্ব করতে সূত্র. 102 00:06:03,660 --> 00:06:06,250 তাই পরীক্ষা নিরীক্ষা মজা আছে গণিত দিয়ে. 103 00:06:06,250 --> 00:06:10,930 আপনি একটি উপায়, ফিরতি চিন্তা করেছি মুক্ত ইউজার খেলা জিতেছে একবার. 104 00:06:10,930 --> 00:06:15,950 কিন্তু কোনো মূল্য ভুল, বিনিময়ে যদি মিথ্যা, ব্যবহারকারী চলন্ত চালিয়ে হয়েছে 105 00:06:15,950 --> 00:06:18,440 তারা খেলা জিতেছে নি কারণ. 106 00:06:18,440 --> 00:06:23,030 আপনি বরাবর, এই চেক বাস্তবায়ন এবং একবার আরম্ভ সঙ্গে,, আঁকা, এবং সরানো 107 00:06:23,030 --> 00:06:25,110 আপনি পঞ্চদশ খেলার সমাপ্ত করেছি. 108 00:06:25,110 --> 00:06:27,620 অভিনন্দন এবং মজা বাজানো আছে. 109 00:06:27,620 --> 00:06:30,600 আমার নাম Zamyla এবং এই CS50. 110 00:06:30,600 --> 00:06:37,632