1 00:00:00,000 --> 00:00:00,988 2 00:00:00,988 --> 00:00:09,880 >> [সঙ্গীত বাজাচ্ছি] 3 00:00:09,880 --> 00:00:13,360 >> বক্তা 1: ভাল, এখানে আমরা, CS50 মধ্যে গত পি সেট. 4 00:00:13,360 --> 00:00:17,040 থাকার থেকে নিজেকে অভিনন্দন জানাচ্ছি এ পর্যন্ত আসতে যেহেতু আপনার প্রথম হ্যালো 5 00:00:17,040 --> 00:00:20,090 বোথ ওয়ার্ল্ডস এবং মুদ্রণ মারিও পিরামিড. 6 00:00:20,090 --> 00:00:21,930 আপনি গত সপ্তাহে একটি ওয়েবসাইট তৈরি করা. 7 00:00:21,930 --> 00:00:25,110 এবং আমরা অন্য একটি তৈরি করা চলুন এই সপ্তাহে, এক যে আপনি করতে পারবেন 8 00:00:25,110 --> 00:00:28,570 অবচয়, হার্ভার্ড ক্যাম্পাস কাছাকাছি চালনা আপ CS50 কর্মী সদস্যদের, এবং 9 00:00:28,570 --> 00:00:31,910 তাদের ফিরে আনয়ন তাদের আবাসিক ঘর. 10 00:00:31,910 --> 00:00:35,400 >> এখন গত সপ্তাহে আমরা পিএইচপি কাজ একটি সার্ভার সাইড ভাষায়. 11 00:00:35,400 --> 00:00:38,250 এই পি সেট জন্য, আমরা চালু করছি একটি যা জাভাস্ক্রিপ্ট, যাও 12 00:00:38,250 --> 00:00:40,600 ক্লায়েন্ট সাইড ভাষা. 13 00:00:40,600 --> 00:00:44,010 সুতরাং আসুন কিছু কটাক্ষপাত করা যাক দেওয়া যে ডিস্ট্রিবিউশন কোড 14 00:00:44,010 --> 00:00:46,210 এই পি সেট জন্য আপনি. 15 00:00:46,210 --> 00:00:49,700 >> জাভাস্ক্রিপ্ট ফোল্ডার ইন, সেখানে হবে জাভাস্ক্রিপ্ট ফাইল একটি গুচ্ছ হতে. 16 00:00:49,700 --> 00:00:53,600 একটি ধারণকারী buildings.js আছে, হার্ভার্ড প্রায় ভবন অ্যারের 17 00:00:53,600 --> 00:00:57,340 তাদের তথ্য দিয়ে ক্যাম্পাস, এবং অবস্থান. 18 00:00:57,340 --> 00:01:01,630 Houses.js হার্ভার্ড এর একটি অ্যারে আবাসিক ঘর, সঙ্গে তাদের 19 00:01:01,630 --> 00:01:04,030 অক্ষাংশে এবং longitudes. 20 00:01:04,030 --> 00:01:07,020 Passengers.js একটি পুরু | যাত্রী অ্যারে - 21 00:01:07,020 --> 00:01:08,600 CS50 কর্মী সদস্যদের - 22 00:01:08,600 --> 00:01:11,640 আপনি ফিরে আনয়ন করব যে তাদের আবাসিক ঘর. 23 00:01:11,640 --> 00:01:16,450 >> অনেক ধারণকারী Math3D.js, আন্দোলনের সাথে কোন ফাংশন. 24 00:01:16,450 --> 00:01:19,500 আপনি গাণিতিকভাবে সংস্কারমুক্ত হন, তারপর আমি আপনাকে দেখব স্বাগত জানাই. 25 00:01:19,500 --> 00:01:23,530 কিন্তু আপনি বুঝতে প্রয়োজন নেই সেখানে সবকিছুই. 26 00:01:23,530 --> 00:01:26,710 Shuttle.js, যে সঙ্গে পুলিশ শাটল এর আন্দোলন. 27 00:01:26,710 --> 00:01:31,450 এবং index.html হোম পেজে যেখানে সবকিছু, সত্যিই, সেটা হয় যেখানে 28 00:01:31,450 --> 00:01:33,610 ব্যবহারকারীর সাইট সাথে আলাপচারিতার হয়. 29 00:01:33,610 --> 00:01:39,110 >> Service.css CSS স্টাইল শীট হয়, যা, টুইটার ছাড়াও 30 00:01:39,110 --> 00:01:43,960 বুটস্ট্র্যাপ লাইব্রেরি, নিয়ন্ত্রণ কিভাবে index.html কেমন লাগে. 31 00:01:43,960 --> 00:01:48,190 এবং তারপর আমরা service.js, আছে যা জন্য সেবা ফাংশন রয়েছে 32 00:01:48,190 --> 00:01:49,010 শাটল. 33 00:01:49,010 --> 00:01:53,010 এবং এখানে আপনি হতে যাচ্ছেন যেখানে ডস থেকে কিছু পূরণ. 34 00:01:53,010 --> 00:01:56,600 >> এখন আসুন বস্তু কটাক্ষপাত করা যাক এবং জাভাস্ক্রিপ্ট মধ্যে মিশুক অ্যারে, 35 00:01:56,600 --> 00:01:59,360 যা সব ইন্টেন্টগুলি এবং উদ্দেশ্যের জন্য বিনিমেয়. 36 00:01:59,360 --> 00:02:03,030 আমি একটি বস্তুর একটি পরিবর্তনশীল করতে চেয়েছিলেন আমি একটি জাদুদণ্ড হবে বলা 37 00:02:03,030 --> 00:02:04,290 এটা ডিক্লেয়ার. 38 00:02:04,290 --> 00:02:08,789 এবং আমি যারা কোঁকড়া ধনুর্বন্ধনী ভিতরে কোর Unicorn হয় উল্লেখ করুন. 39 00:02:08,789 --> 00:02:10,220 কাঠ চেরি হয়. 40 00:02:10,220 --> 00:02:12,710 এবং দৈর্ঘ্য 13 হয়. 41 00:02:12,710 --> 00:02:16,370 >> এখন আমি মান অ্যাক্সেস করতে পারেন ব্যবহার অবজেক্টের 42 00:02:16,370 --> 00:02:18,270 মিশুক অ্যারে স্বরলিপি. 43 00:02:18,270 --> 00:02:22,610 সুতরাং জাদুদণ্ড সূচী কোর, আমি সেট করতে পারেন যে Unicorn সমান, বা 44 00:02:22,610 --> 00:02:24,710 আমি প্রয়োজন হলে, তা পরীক্ষা. 45 00:02:24,710 --> 00:02:26,510 অথবা আমি ডট অপারেটর ব্যবহার করতে পারেন. 46 00:02:26,510 --> 00:02:30,280 জাদুদণ্ড ডট কাঠ, চেরি সমান এবং তাই, এবং তাই ঘোষণা. 47 00:02:30,280 --> 00:02:33,930 সুতরাং আপনি দেখতে যে মিশুক অ্যারে এবং জাভাস্ক্রিপ্ট অবজেক্টের হতে যাচ্ছে 48 00:02:33,930 --> 00:02:37,720 বিনিমেয়, এবং ইচ্ছা বেশ উপকারে আসা. 49 00:02:37,720 --> 00:02:41,570 >> তারপর আমরা বাড়ী একটি অ্যারের দেখুন buildings.js মধ্যে. 50 00:02:41,570 --> 00:02:43,870 আবার, বস্তু একটি অ্যারে. 51 00:02:43,870 --> 00:02:48,500 আমি সেরা একটি অ্যারের করতে চেয়েছিলেন তারপর হার্ভার্ড ক্যাম্পাস বাড়ী, 52 00:02:48,500 --> 00:02:49,710 অনুসরণ হিসাবে আমি এটা করতে হবে. 53 00:02:49,710 --> 00:02:55,250 এই বস্তুর স্বরলিপি ব্যবহার করে, যেখানে আমি রুট, নাম, ঠিকানা সঞ্চয়, 54 00:02:55,250 --> 00:03:00,260 প্রত্যেক জন্য অক্ষাংশ, এবং দ্রাঘিমাংশ একক বিল্ডিং বস্তু. 55 00:03:00,260 --> 00:03:02,930 >> এর দ্রুত ভেরিয়েবল সম্পর্কে কথা বলতে শুরু করা যাক জাভাস্ক্রিপ্ট মধ্যে. 56 00:03:02,930 --> 00:03:07,760 পিএইচপি, জাভাস্ক্রিপ্ট ভেরিয়েবল লেগেছে স্বাস্থ্যহীন বা ঢিলেঢালাভাবে টাইপ করা হয়. 57 00:03:07,760 --> 00:03:14,120 একটি স্থানীয় পরিবর্তনশীল তৈরি করতে হলে, আপনি পূর্বে ভী একটি কিছু r, var সঙ্গে পরিবর্তনশীল নাম. 58 00:03:14,120 --> 00:03:17,010 >> এখন জাভাস্ক্রিপ্ট মধ্যে, ফাংশন করবে ভেরিয়েবল এর সুযোগ সীমিত. 59 00:03:17,010 --> 00:03:20,600 সুতরাং আপনি মধ্যে একটি স্থানীয় ভেরিয়েবল আছে একটি ফাংশন, তারপর অন্যান্য কার্যাবলী 60 00:03:20,600 --> 00:03:22,060 এটি ব্যবহার করতে সক্ষম নয়. 61 00:03:22,060 --> 00:03:26,090 কিন্তু সি ভিন্ন, loops এবং শর্ত না একটি পরিবর্তনশীল এর সুযোগ সীমিত. 62 00:03:26,090 --> 00:03:30,600 >> আপনি একটি ভেতরে এটা ডিক্লেয়ার সুতরাং এমনকি যদি শর্ত, পুরো ফাংশন করবে 63 00:03:30,600 --> 00:03:32,810 এটি ব্যবহার করার সুযোগ আছে. 64 00:03:32,810 --> 00:03:35,820 এখন var ছাড়া পরিবর্তনশীল বৈশ্বিক হতে হবে. 65 00:03:35,820 --> 00:03:39,170 আপনি শুধু নাম ঘোষণা এবং যদি তাই হয় একটি মান নির্ধারণ করুন, তারপর যে পরিবর্তনশীল 66 00:03:39,170 --> 00:03:41,900 একটি বিশ্বব্যাপী পরিবর্তনশীল হবে জাভাস্ক্রিপ্ট মধ্যে. 67 00:03:41,900 --> 00:03:48,480 >> এখন ঘর, আমরা একটি মিশুক আছে ঘর টাইপ বস্তু, অ্যারে যেখানে 68 00:03:48,480 --> 00:03:52,100 প্রত্যেক বাড়িতে মাত্র অক্ষাংশ হল এবং একটি দ্রাঘিমাংশের. 69 00:03:52,100 --> 00:03:55,140 তারপর আমরা যাত্রী আছে একটি অ্যারে যা অ্যারে, 70 00:03:55,140 --> 00:03:57,370 অবজেক্ট টাইপ যাত্রী. 71 00:03:57,370 --> 00:04:01,620 তাই প্রত্যেক যাত্রী একটি ব্যবহারকারীর নাম আছে, একটি নাম, এবং একটি ঘর. 72 00:04:01,620 --> 00:04:04,840 আমি ধরনের নিরীক্ষা করছি যে লক্ষ্য করুন সত্যিই ঠিক যার মানে যাত্রী, 73 00:04:04,840 --> 00:04:08,150 প্রত্যেক বস্তুর হয়েছে একই কী মান জোড়া. 74 00:04:08,150 --> 00:04:12,830 তাই টাইপ যাত্রী প্রতি বস্তু আছে একটি ব্যবহারকারীর নাম, একটি নাম, এবং একটি ঘর. 75 00:04:12,830 --> 00:04:14,850 >> তাই আমরা প্রয়োজন পি সেট জন্য কি? 76 00:04:14,850 --> 00:04:20,779 ভাল, আমরা ব্যবহারকারীদের বাছাই করতে অনুমতি প্রয়োজন কর্মী সদস্যদের আপ, সব প্রদর্শন 77 00:04:20,779 --> 00:04:25,090 বর্তমানে যে কর্মীদের আমাদের শাটল, এবং তাদের বন্ধ ঝরা. 78 00:04:25,090 --> 00:04:29,280 এবং তারপর আমরা অতিরিক্ত সম্পর্কে কথা বলতে পারবেন জন্য প্রয়োগ করা যাবে বৈশিষ্ট্য 79 00:04:29,280 --> 00:04:30,980 শাটল পি সেট. 80 00:04:30,980 --> 00:04:33,610 >> কিন্তু এর প্রথম পিক সম্পর্কে কথা বলুন. 81 00:04:33,610 --> 00:04:37,480 CS50 কর্মীদের মুখভঙ্গি হয়েছে , সমস্ত ক্যাম্পাস উপর নিবদ্ধ যেখানে প্রতিটি 82 00:04:37,480 --> 00:04:41,750 মুখে একটা জায়গা চিহ্ন হিসাবে প্রয়োগ করা হয় 3D পৃথিবীতে, এবং একটি হিসাবে 83 00:04:41,750 --> 00:04:44,030 2D মানচিত্রে মার্কার. 84 00:04:44,030 --> 00:04:47,880 ব্যবহারকারী পিক ক্লিক তাই যখন বাটন, আমরা কাছাকাছি যোগ করতে চান 85 00:04:47,880 --> 00:04:49,590 শাটল যাত্রী. 86 00:04:49,590 --> 00:04:53,650 এবং আমরা তাদের জায়গা সরাতে চান দুনিয়া থেকে চিহ্নিত, এবং মুছে ফেলার জন্য 87 00:04:53,650 --> 00:04:58,060 মানচিত্র থেকে মার্কার, ইঙ্গিত যে তারা এখন আমাদের শাটল মধ্যে আছেন. 88 00:04:58,060 --> 00:05:02,520 >> তাই কিভাবে আমরা সনাক্ত যদি যাত্রী আমাদের শাটল এর পরিসীমা মধ্যে? 89 00:05:02,520 --> 00:05:04,610 ওয়েল, ফাংশন দূরত্ব - 90 00:05:04,610 --> 00:05:08,770 তাই শাটল ডট দূরত্ব, কথা প্রসঙ্গে অক্ষাংশ ও দ্রাঘিমাংশ, করবে না 91 00:05:08,770 --> 00:05:12,030 বর্তমান থেকে দূরত্ব নিরূপণ থেকে শাটল অবস্থান 92 00:05:12,030 --> 00:05:15,850 আপনি যে সঙ্গে নির্দিষ্ট করে নির্দেশ অক্ষাংশ ও দ্রাঘিমাংশ দেওয়া. 93 00:05:15,850 --> 00:05:19,180 সুতরাং আপনি নিরূপণ করা এই ব্যবহার করতে পারেন থেকে শাটল থেকে দূরত্ব 94 00:05:19,180 --> 00:05:20,310 যাত্রী. 95 00:05:20,310 --> 00:05:24,040 >> কিন্তু কিভাবে আপনি জানেন যেখানে যাত্রী হয়? 96 00:05:24,040 --> 00:05:27,510 আমরা করতে হবে যেখানে ভাল, যে পূরণ ফাংশন সম্পাদন. 97 00:05:27,510 --> 00:05:32,500 জায়গা কর্মী সদস্যদের সব পূরণ এবং বিশ্বের মধ্যে যাত্রী, 98 00:05:32,500 --> 00:05:36,300 এবং মানচিত্র মধ্যে, কিন্তু না তাদের অবস্থান সঞ্চয়. 99 00:05:36,300 --> 00:05:39,850 তাই সম্ভবত আপনি সংরক্ষণ করতে পারেন তাদের চিহ্ন এবং মার্কার স্থাপন 100 00:05:39,850 --> 00:05:41,570 কিছু আন্তর্জাতিক অ্যারের মধ্যে. 101 00:05:41,570 --> 00:05:45,780 >> এখন ইতিমধ্যে একটি বিশ্বব্যাপী অ্যারে আছে যাত্রীদের কাছ থেকে তথ্য সংরক্ষণ. 102 00:05:45,780 --> 00:05:49,960 যাত্রী অ্যারে দোকানে প্রতিটি যাত্রী এর নাম এবং তাদের বাড়িতে. 103 00:05:49,960 --> 00:05:54,985 তাই হয়তো আপনি কয়েক পরামিতি যোগ করতে পারেন সেখানে যাত্রী বস্তু. 104 00:05:54,985 --> 00:05:59,290 >> আমাদের সব যাত্রী সনাক্ত সাহায্য আমাদের শাটল সীমার মধ্যে, এর যাক 105 00:05:59,290 --> 00:06:02,500 যাত্রী সব দিয়ে লুপ যাত্রী অ্যারের মধ্যে. 106 00:06:02,500 --> 00:06:07,790 জাভাস্ক্রিপ্ট একটি জন্য লুপ চেহারা হতে পারে অনুরূপ ভালো কিছু, 107 00:06:07,790 --> 00:06:12,910 সি লুপ জন্য যারা অথবা আমরা একটি ব্যবহার করতে পারেন লুপ গঠন জন্য বিকল্প. 108 00:06:12,910 --> 00:06:17,130 >> অ্যারের মধ্যে var ঝ জন্য, যেখানে আমি এখনও ইনডেক্স হতে হবে. 109 00:06:17,130 --> 00:06:20,740 কিন্তু আপনি নির্দিষ্ট করতে হবে না অ্যারে ডট দৈর্ঘ্য 110 00:06:20,740 --> 00:06:23,310 শর্ত, এবং আমি প্লাস প্লাস. 111 00:06:23,310 --> 00:06:26,140 প্রত্যেক যাত্রী এর অবস্থান হল তাদের জায়গা চিহ্ন দ্বারা প্রদত্ত. 112 00:06:26,140 --> 00:06:29,800 >> কিন্তু জায়গা চিহ্ন নয় অক্ষাংশ এবং দ্রাঘিমাংশ. 113 00:06:29,800 --> 00:06:34,575 আমরা দ্বারা যারা পরামিতি প্রবেশ করতে হবে পেতে ব্যবহার, জ্যামিতি পেয়ে 114 00:06:34,575 --> 00:06:35,900 জায়গা চিহ্ন নেভিগেশন জ্যামিতি. 115 00:06:35,900 --> 00:06:39,630 এবং তারপর আমরা, জ্যামিতি আছে একবার অক্ষাংশ বা উভয় পেয়ে 116 00:06:39,630 --> 00:06:42,600 দ্রাঘিমাংশ, যারা ফাংশন ব্যবহার করে. 117 00:06:42,600 --> 00:06:45,680 >> তাই এখন আমরা কি না তা সনাক্ত করতে জানেন কিভাবে যাত্রীদের মধ্যে 118 00:06:45,680 --> 00:06:47,920 আমাদের শাটল পরিধি. 119 00:06:47,920 --> 00:06:52,050 আমরা যারা যাত্রী আছে, আমরা করব যে কোনো যাত্রী যুক্ত করতে চান 120 00:06:52,050 --> 00:06:53,140 যে পরিসীমা মধ্যে. 121 00:06:53,140 --> 00:06:57,580 আমরা তাদের প্রস্থান করার অনুমতি দিতে চান, এবং আমাদের শাটল উপর একটি আসন গ্রহণ করা, কিন্তু শুধুমাত্র 122 00:06:57,580 --> 00:06:59,640 আমরা তাদের জন্য পর্যাপ্ত ফাঁকা স্থান আছে. 123 00:06:59,640 --> 00:07:04,120 >> শাটল ডট আসন অ্যারে হবে আসন খালি হয়, অথবা কিনা নির্দেশ 124 00:07:04,120 --> 00:07:05,890 যারা যে আসন আছে. 125 00:07:05,890 --> 00:07:11,170 সুতরাং একটি আসন খালি তারপর যদি যে আসন নাল হতে হবে. 126 00:07:11,170 --> 00:07:15,930 তাই আসন অ্যারের উপর বারবার, সংরক্ষণ, খালি আসনের জন্য চেক 127 00:07:15,930 --> 00:07:20,020 আপনি যতক্ষন না ঐ আসনের মধ্যে যাত্রী কোন খালি আসন নেই. 128 00:07:20,020 --> 00:07:23,330 এবং দুর্ভাগ্যবশত, অন্য কোন যাত্রী জন্য অপেক্ষা করতে হবে 129 00:07:23,330 --> 00:07:26,000 পরবর্তী সময় শাটল কাছাকাছি আসে. 130 00:07:26,000 --> 00:07:30,280 >> তারা শাটল পেতে হলে, আমরা চাইবেন , তাদের জায়গা চিহ্ন মুছে ফেলার জন্য যা 131 00:07:30,280 --> 00:07:32,540 3D দেশে তাদের ছবির হল. 132 00:07:32,540 --> 00:07:38,030 আমি একটি জায়গা চিহ্ন পি সরাতে চেয়েছিলেন, যদি তারপর আমি সমস্ত বৈশিষ্ট্য পেতে চাই 133 00:07:38,030 --> 00:07:42,790 আমার পৃথিবী থেকে, গুগল আর্থ থেকে, এবং তারপর যে নির্দিষ্ট স্থানে অপসারণ 134 00:07:42,790 --> 00:07:45,910 removeChild ফাংশন ব্যবহার করে চিহ্নিত. 135 00:07:45,910 --> 00:07:51,360 তারপর সর্বশেষে, এর মার্কার সরিয়ে দেওয়া, কোন জন্য 2D মানচিত্রে আইকন 136 00:07:51,360 --> 00:07:53,650 আমরা গোছগাছ যে যাত্রী. 137 00:07:53,650 --> 00:07:59,790 একটি চিহ্নিতকারী, এম মুছে ফেলার জন্য, তাহলে আমি করব শুধু মি ডট setMap নাল চালানো. 138 00:07:59,790 --> 00:08:02,920 পরিসীমা মধ্যে কোনো যাত্রীদের জন্য এই কি, এবং আপনি পিক সমাপ্ত করেছি. 139 00:08:02,920 --> 00:08:05,056