ZAMYLA Chan: ভাল, এখানে আমরা, গত পি সেট CS50 মধ্যে. থাকার থেকে নিজেকে অভিনন্দন জানাচ্ছি এ পর্যন্ত আসতে আপনার প্রথম হ্যালো সাল ওয়ার্ডস ও মুদ্রণ আপ মারিও পিরামিড. আপনি গত সপ্তাহে একটি ওয়েবসাইট তৈরি করা. এবং আমরা অন্য একটি তৈরি করা চলুন এই সপ্তাহে, এক যে আপনি করতে পারবেন অবচয়, হার্ভার্ড ক্যাম্পাস কাছাকাছি চালনা CS50 কর্মী সদস্যদের এবং আপ তাদের ফিরে আনয়ন তাদের আবাসিক ঘর. এখন, গত সপ্তাহে আমরা পিএইচপি কাজ একটি সার্ভার সাইড ভাষায়. এই পি সেট জন্য, আমরা চালু করছি একটি যা জাভাস্ক্রিপ্ট, যাও ক্লায়েন্ট সাইড ভাষা. সুতরাং আসুন কিছু কটাক্ষপাত করা যাক দেওয়া যে ডিস্ট্রিবিউশন কোড এই পি সেট জন্য আপনি. জাভাস্ক্রিপ্ট ফোল্ডার ইন, সেখানে হবে জাভাস্ক্রিপ্ট ফাইল একটি গুচ্ছ হতে. একটি ধারণকারী buildings.js আছে, হার্ভার্ড প্রায় ভবন অ্যারের তাদের তথ্য দিয়ে ক্যাম্পাস এবং অবস্থান. Houses.js হার্ভার্ড এর একটি অ্যারে সঙ্গে আবাসিক ঘর তাদের অক্ষাংশে এবং longitudes. Passengers.js একটি শ্রেণীবিন্যাস রয়েছে যাত্রী, CS50 কর্মী সদস্যদের আপনি ফিরে আনয়ন করব যে তাদের আবাসিক ঘর. অনেক ধারণকারী Math3D.js, আন্দোলনের সাথে কোন ফাংশন. আপনি গাণিতিকভাবে সংস্কারমুক্ত হন, তাহলে আমি আপনাকে দেখব স্বাগত জানাই. কিন্তু আপনি বুঝতে প্রয়োজন নেই সেখানে সবকিছুই. Shuttle.js, যে সঙ্গে পুলিশ শাটল এর আন্দোলন. এবং index.html হোম পেজে যেখানে সবকিছু, সত্যিই, সেটা হয় যেখানে ব্যবহারকারীর সাইট সাথে আলাপচারিতার হয়. Service.css CSS স্টাইল শীট হয়, যা টুইটার ছাড়াও বুটস্ট্র্যাপ লাইব্রেরী, নিয়ন্ত্রণ কিভাবে index.html কেমন লাগে. এবং তারপর আমরা service.js, আছে যা জন্য সেবা ফাংশন রয়েছে শাটল. এবং এখানে আপনি হতে যাচ্ছেন যেখানে বিক্ষোভ এর কিছু পূরণ. এখন আসুন বস্তু কটাক্ষপাত করা যাক এবং জাভাস্ক্রিপ্ট মধ্যে মিশুক অ্যারে, যা, সব ইন্টেন্টগুলি এবং উদ্দেশ্যের জন্য, বিনিমেয়. আমি একটি বস্তুর একটি পরিবর্তনশীল করতে চেয়েছিলেন আমি একটি জাদুদণ্ড হবে বলা এটা ডিক্লেয়ার. এবং যারা কোঁকড়া ধনুর্বন্ধনী ভিতরে, আমি উল্লেখ, কোর, কাঠ Unicorn হয় চেরি, এবং দৈর্ঘ্য 13 হয়. এখন, আমি আরো মান অ্যাক্সেস করতে পারেন ব্যবহার অবজেক্টের মিশুক অ্যারে স্বরলিপি. সুতরাং জাদুদণ্ড সূচী কোর, আমি সেট করতে পারেন যে Unicorn সমান, বা আমি প্রয়োজন হলে তা পরীক্ষা. অথবা আমি ডট অপারেটর ব্যবহার করতে পারেন wand.wood চেরি সমান, এবং তাই এবং তাই ঘোষণা. সুতরাং আপনি দেখতে যে মিশুক অ্যারে এবং জাভাস্ক্রিপ্ট অবজেক্টের হতে যাচ্ছে বিনিমেয়, এবং ইচ্ছা বেশ উপকারে আসা. তারপর আমরা বাড়ী একটি অ্যারের দেখুন buildings.js মধ্যে, আবার, বস্তু একটি অ্যারে. আমি সেরা একটি অ্যারের করতে চেয়েছিলেন তারপর হার্ভার্ড ক্যাম্পাস বাড়ী, অনুসরণ হিসাবে আমি এটা করতে হবে. এই বস্তুর স্বরলিপি ব্যবহার করে, যেখানে আমি রুট, নাম, ঠিকানা সঞ্চয়, প্রত্যেক জন্য অক্ষাংশ, এবং দ্রাঘিমাংশ একক বিল্ডিং বস্তু. এর দ্রুত ভেরিয়েবল সম্পর্কে কথা বলতে শুরু করা যাক জাভাস্ক্রিপ্ট মধ্যে. পিএইচপি, জাভাস্ক্রিপ্ট ভেরিয়েবল লেগেছে স্বাস্থ্যহীন বা ঢিলেঢালাভাবে টাইপ করা হয়. একটি স্থানীয় পরিবর্তনশীল তৈরি করতে হলে, আপনি পূর্বে ভী একটি কিছু r, var সঙ্গে পরিবর্তনশীল নাম. এখন, জাভাস্ক্রিপ্ট মধ্যে, ফাংশন করবে ভেরিয়েবল এর সুযোগ সীমিত. সুতরাং আপনি মধ্যে একটি স্থানীয় ভেরিয়েবল আছে একটি ফাংশন, তারপর অন্যান্য কার্যাবলী এটি ব্যবহার করতে সক্ষম নয়. কিন্তু সি ভিন্ন, loops এবং শর্ত না একটি পরিবর্তনশীল এর সুযোগ সীমিত. আপনি একটি ভেতরে এটা ডিক্লেয়ার সুতরাং এমনকি যদি শর্ত, পুরো ফাংশন করবে এটি ব্যবহার করার সুযোগ আছে. এখন, var ছাড়া পরিবর্তনশীল বৈশ্বিক হতে হবে. আপনি শুধু নাম ঘোষণা এবং যদি তাই হয় একটি মান নির্ধারণ করুন, তারপর যে পরিবর্তনশীল একটি বিশ্বব্যাপী পরিবর্তনশীল হবে জাভাস্ক্রিপ্ট মধ্যে. এখন, ঘর, আমরা একটি মিশুক আছে হোস্ট ধরনের বস্তু, অ্যারে যেখানে প্রত্যেক বাড়িতে মাত্র অক্ষাংশ হল এবং একটি দ্রাঘিমাংশের. তারপর আমরা যাত্রী আছে একটি অ্যারে যা অ্যারে, অবজেক্ট টাইপ যাত্রী. তাই প্রত্যেক যাত্রী একটি ব্যবহারকারী আছে , একটি নাম, এবং একটি বাড়ির নাম দিন. আমি ধরনের বলছে করছি যে লক্ষ্য করুন সত্যিই ঠিক যার মানে যাত্রী, প্রত্যেক বস্তুর হয়েছে একই কী মান জোড়া. তাই টাইপ যাত্রী প্রতি বস্তু আছে একটি ব্যবহারকারীর নাম, একটি নাম, এবং একটি ঘর. তাই আমরা প্রয়োজন পি সেট জন্য কি? ভাল, আমরা ব্যবহারকারীদের বাছাই করতে অনুমতি প্রয়োজন কর্মী সদস্যদের আপ, সব প্রদর্শন বর্তমানে যে কর্মীদের আমাদের শাটল, এবং তাদের বন্ধ ঝরা. এবং তারপর আমরা অতিরিক্ত সম্পর্কে কথা বলতে পারবেন জন্য প্রয়োগ করা যাবে বৈশিষ্ট্য শাটল পি সেট. কিন্তু এর প্রথম পিক সম্পর্কে কথা বলুন. CS50 কর্মীদের মুখভঙ্গি হয়েছে , সমস্ত ক্যাম্পাস উপর নিবদ্ধ যেখানে প্রতিটি মুখে একটা জায়গা চিহ্ন হিসাবে প্রয়োগ করা হয় 3D পৃথিবীতে, এবং একটি হিসাবে 2D মানচিত্রে মার্কার. ব্যবহারকারী পিক ক্লিক তাই যখন বাটন, আমরা কাছাকাছি যোগ করতে চান শাটল যাত্রী. এবং আমরা তাদের জায়গা সরাতে চান দুনিয়া থেকে চিহ্নিত এবং মুছে ফেলার জন্য মানচিত্র থেকে মার্কার, ইঙ্গিত যে তারা এখন আমাদের শাটল মধ্যে আছেন. তাই কিভাবে আমরা সনাক্ত যদি যাত্রী আমাদের শাটল এর পরিসীমা মধ্যে? ওয়েল, ফাংশন দূরত্ব, তাই shuttle.distance, কথা প্রসঙ্গে অক্ষাংশ ও দ্রাঘিমাংশ, গণনা করা হবে বর্তমান অবস্থান থেকে দূরত্ব বিন্দু থেকে শাটল যে আপনি যে দেওয়া সঙ্গে উল্লেখ অক্ষাংশ এবং দ্রাঘিমাংশ. সুতরাং আপনি নিরূপণ করা এই ব্যবহার করতে পারেন থেকে শাটল থেকে দূরত্ব যাত্রী. কিন্তু কিভাবে আপনি জানেন যেখানে যাত্রী হয়? আমরা করতে হবে যেখানে ভাল, যে পূরণ ফাংশন সম্পাদন. জায়গা কর্মী সদস্যদের সব পূরণ বিশ্বের মধ্যে যাত্রীদের মধ্যে এবং মানচিত্র মধ্যে, কিন্তু না তাদের অবস্থান সঞ্চয়. তাই সম্ভবত আপনি সংরক্ষণ করতে পারেন তাদের চিহ্ন এবং মার্কার স্থাপন কিছু আন্তর্জাতিক অ্যারের মধ্যে. এখন, ইতিমধ্যে একটি বিশ্বব্যাপী অ্যারে আছে যাত্রীদের কাছ থেকে তথ্য সংরক্ষণ. যাত্রী অ্যারে দোকানে প্রতিটি যাত্রী এর নাম এবং তাদের বাড়িতে. তাই হয়তো আপনি কয়েক পরামিতি যোগ করতে পারেন সেখানে যাত্রী বস্তু. আমাদের যাত্রীদের সব সনাক্ত সাহায্য আমাদের পরিসীমা মধ্যে সব দিয়ে শাটল, যাক লুপ যাত্রী অ্যারের মধ্যে যাত্রী. জাভাস্ক্রিপ্ট একটি জন্য লুপ চেহারা হতে পারে অনুরূপ ভালো কিছু, সি loops জন্য যারা অথবা আমরা একটি ব্যবহার করতে পারেন জন্য, লুপ গঠন জন্য বিকল্প অ্যারের মধ্যে var ঝ, যেখানে আমি এখনও হবে ইনডেক্স, কিন্তু আপনি করতে হবে না array.length উল্লেখ অবস্থা এবং আমি +. প্রত্যেক যাত্রী এর অবস্থান হল তাদের জায়গা চিহ্ন দ্বারা প্রদত্ত. কিন্তু জায়গা চিহ্ন নয় অক্ষাংশ এবং দ্রাঘিমাংশ. আমরা দ্বারা যারা পরামিতি প্রবেশ করতে হবে পেতে ব্যবহার, জ্যামিতি পেয়ে তারপর জায়গা চিহ্ন নেভিগেশন জ্যামিতি, এবং আমরা পেয়ে, জ্যামিতি আছে একবার অক্ষাংশ বা দ্রাঘিমাংশের হয় যারা ফাংশন ব্যবহার করে. তাই এখন আমরা কি না তা সনাক্ত করতে জানেন কিভাবে যাত্রীদের মধ্যে আমাদের শাটল পরিধি. আমরা যারা যাত্রী আছে, আমরা করব যে কোনো যাত্রী যুক্ত করতে চান যে পরিসীমা মধ্যে. আমরা তাদের প্রস্থান এবং গ্রহণ করার অনুমতি চাই একটি আমাদের শাটল নেভিগেশন সীট, কিন্তু শুধুমাত্র আমরা তাদের যথেষ্ট রুম আছে. shuttle.seats অ্যারে ইঙ্গিত হবে আসন খালি হয়, অথবা কিনা যারা যে আসন আছে. সুতরাং একটি আসন খালি তারপর যদি যে আসন নাল হতে হবে. তাই আসন অ্যারের উপর বারবার, সংরক্ষণ, খালি আসনের জন্য চেক আপনি যতক্ষন না ঐ আসনের মধ্যে যাত্রী কোন খালি আসন নেই. এবং দুর্ভাগ্যবশত, অন্য কোন যাত্রী জন্য অপেক্ষা করতে হবে পরের বার শাটল আসে নিচে. তারা শাটল পেতে হলে, আমরা চাইবেন , তাদের জায়গা চিহ্ন মুছে ফেলার জন্য যা 3D দেশে তাদের ছবির হল. আমি একটি জায়গা চিহ্ন পি সরাতে চেয়েছিলেন, যদি তারপর আমি সমস্ত বৈশিষ্ট্য পেতে চাই আমার পৃথিবী থেকে, গুগল আর্থ থেকে, এবং তারপর যে নির্দিষ্ট স্থানে অপসারণ removeChild ফাংশন ব্যবহার করে চিহ্নিত. তারপর সর্বশেষে, এর মার্কার সরিয়ে দেওয়া, কোন জন্য 2D মানচিত্রের আইকন, আমরা গোছগাছ যে যাত্রী. একটি চিহ্নিতকারী মি মুছে ফেলার জন্য, তাহলে আমি করব শুধু m.setMap নাল চালানো. পরিসীমা মধ্যে কোনো যাত্রীদের জন্য এই কি, এবং আপনি পিক সমাপ্ত করেছি. চার্ট ফাংশন সব প্রদর্শন উচিত যা যাত্রী আপনার শাটল, এবং খালি আসন খালি হলে. তাই চার্ট উপর বারবার উচিত shuttle.seats, প্রদর্শন প্রতি সূচী জন্য যাত্রী তথ্য, ও খালি সীট যে সূচক নাল যদি. এখন এইচটিএমএল টেক্সট একটি ভেতরে রাখা হলে জাভাস্ক্রিপ্ট ভেরিয়েবল তারপর ব্যবহার করে document.getElementById, চার্ট করতে পারেন প্রদত্ত যে ভেতরের এইচটিএমএল সম্পাদনা বরাদ্দ করে উপাদান থেকে এইচটিএমএল টেক্সট document.getElementById ভেতরের এইচটিএমএল পরিবর্তনশীল. ব্যবহারকারী ড্রপ অফ বাটন ক্লিক করুন index.html, এটা ডাকবো dropoff ফাংশন. এবং এটা যে বাস্তবায়ন আমাদের কাজ. Dropoff, আমরা কোনো সরাতে চাইবেন শাটল থেকে যাত্রী শুধুমাত্র যদি আমরা তাদের গন্তব্য সীমার মধ্যে আছেন, তাদের আবাসিক ঘর. সুতরাং dropoff কি না চেক করতে হবে শাটল কোনো সীমার মধ্যে হয় ঘর, এবং কোনো প্রয়োজন অপসারণ শাটল থেকে যাত্রী. আমরা যদি তাই কিভাবে আমরা চেক করবেন কোনো ঘরের পরিসীমা? ভাল, এখনো আবার, আমরা ব্যবহার করতে পাবেন কথা প্রসঙ্গে, ফাংশন shuttle.distance বিন্দু অক্ষাংশ ও দ্রাঘিমাংশ আমরা বিরুদ্ধে চেক করছি যে. কিন্তু যারা পয়েন্ট কি কি? ওয়েল, ঘর অ্যারে, আপনি মনে রাখবেন, যদি houses.js মধ্যে, সঞ্চয় প্রতিটি বাড়ির অক্ষাংশ এবং দ্রাঘিমাংশ একটি মিশুক অ্যারে, যেখানে প্রতি সূচক যে বাড়ির নাম. তারপর যাত্রীদের অপসারণের জন্য - ভাল, আমরা সীমার মধ্যে আছেন কেবল যদি তাদের তারা যেতে চান যে ঘর. তাই আবার, মনে রাখবেন যে যাত্রী ঘর সঞ্চয় করে যে প্রত্যেক যাত্রী যেতে চায়. তারা এর পরিসীমা মধ্যে যদি তাদের ঘর, তারপর আমরা যে সরিয়ে দেব shuttle.seats এবং সেট থেকে যাত্রী নাল অ্যারের মধ্যে তাদের অবস্থান. এখন আসুন কিছু অতিরিক্ত বৈশিষ্ট্য সম্পর্কে কথা বলুন যে প্রয়োগ করা যাবে CS50 শাটল পি সেট. একটি পয়েন্ট সিস্টেম আছে যদ্দ্বারা আপনি ট্র্যাক রাখতে কত একটি ব্যবহারকারী আছে পয়েন্ট. যাত্রী বন্ধ ড্রপ জন্য সফলভাবে, তারা পয়েন্ট পেতে পারেন. কিন্তু যাত্রীদের খসা চেষ্টা জন্য যেখানে কোনো বাড়ির কাছাকাছি আছে না, ভাল, তারা যে জন্য শাস্তি পেতে পারেন. তাই সম্ভবত আপনি ট্র্যাক রাখতে চান একটি বিশ্বব্যাপী পরিবর্তনশীল পয়েন্ট. আপনি সম্ভবত একটি টাইমার, বাস্তবায়ন পাবেনা ব্যবহারকারী নির্দিষ্ট পরিমাণ মধ্যে আছে চয়ন করুন এবং একটি ড্রপ বন্ধ করার সময় যাত্রী নির্দিষ্ট সংখ্যক. হয়তো এমনকি এই গোটা পয়েন্ট সিস্টেমের সাথে. অথবা আপনি যেমন যে চার্ট সম্পাদনা করতে পারে যাত্রী বাড়ি অনুসারে বাছাই করা হয়. সুতরাং যে সম্ভবত কেমন হবে shuttle.seats করার কাজ. আপনি একটি উড়ন্ত বৈশিষ্ট্য বাস্তবায়ন করতে পারেন, যেখানে ব্যবহারকারী Konami ইনপুট যদি কোড, তারপর শাটল বন্ধ ওপরও স্থল ও শাটল উড়ে যাবে. কিন্তু বন্ধ একটি নিরাপদ ড্রপ জন্য, ভাল করা শাটল তার চাকার জমি প্রথম স্থল. আপনি teleportation বাস্তবায়ন করতে পারেন, আপনি তালিকা নিচে একটি ড্রপ করতে যেখানে index.html এ ভবন. এবং যারা এক, নির্বাচন ব্যবহারকারী যাও পরিবাহিত হবে ক্যাম্পাস যে বিল্ডিং. ঠিক আছে, যদিও, মাধ্যমে ভ্রমণ কিছু দেয়াল সেখানে আপনার মত বাড়ী. আপনি গতি পরিবর্তন করতে পারেন শাটল, ব্যবহারকারী বাড়ানোর অনুমতি বা গতি হ্রাস. সম্ভবত আপনি একটি বিশ্বব্যাপী পরিবর্তনশীল চাই কত জ্বালানী The রাখা শাটল কমে, আছে এটি আপনি বরাবর যেতে হিসাবে. আপনি শূন্য আঘাত একবার, যদিও, শাটল আপনি করেছি, যদি না সরাতে পারবে না সম্ভবত একটি বাটন ব্যবহার করে, বা, refueled এমনকি আপনার নিজের পেট্রল পাম্প করতে. কিন্তু যে অবশ্যই নয় একটি সম্পূর্ণ তালিকা. পূর্ণ জন্য বৈশিষ্ট দেখুন তালিকা, অথবা সম্ভবত উত্থাপন আপনার আপনার TF থেকে নিজের. আকাশ সীমা. এটি আপনার শেষ CS50 পি সেট, তাই এটা নিয়ে মজা. এটি CS50 শাটল ছিল. আমি বলতে পেয়েছেন, এটি একটি পরিতোষ হয়েছে সাথে আপনার জন্য এই তৈরীর উত্পাদন দল. এবং আমি আপনি করেছেন আশা করি পাশাপাশি, তাদের ভোগ. আমার নাম Zamyla হয়. এবং এই CS50 ছিল.