ZAMYLA चान: ठीक है, यहाँ हम कर रहे हैं, पिछले P-सेट CS50 में. होने से अपने आप को बधाई इतनी दूर आ अपना पहला नमस्कार के बाद संसारों और मुद्रण मारियो के लिए पिरामिड. तुम पिछले हफ्ते एक वेबसाइट बनाई. और हम एक दूसरे को बनाने जा रहे हैं इस हफ्ते, एक आप की अनुमति देता है उठा, हार्वर्ड परिसर के चारों ओर ड्राइव CS50 स्टाफ के सदस्यों और ऊपर उन्हें वापस लाने के उनके आवासीय मकान. अब, पिछले सप्ताह हमने, PHP में काम एक सर्वर साइड भाषा. इस P-सेट के लिए, हम शुरू की हो रही है एक है जो जावास्क्रिप्ट, के लिए ग्राहक पक्ष भाषा. तो चलो कुछ पर एक नज़र रखना करने के लिए प्रदान की जाती है कि वितरण कोड इस P-सेट के लिए आप. जावास्क्रिप्ट फ़ोल्डर में, वहाँ होगा जावास्क्रिप्ट फ़ाइलों का एक गुच्छा हो. एक होता है जो buildings.js, वहाँ हार्वर्ड के आसपास की इमारतों की सरणी उनकी जानकारी के साथ परिसर और स्थिति. Houses.js हार्वर्ड के एक सरणी है साथ आवासीय मकान उनके अक्षांश और देशांतर. Passengers.js की एक सरणी शामिल यात्रियों, CS50 स्टाफ के सदस्यों को आप को वापस लाने होंगे कि उनके आवासीय मकान. का एक बहुत कुछ शामिल है कि Math3D.js, आंदोलन के साथ क्या करने के लिए कार्य. आप गणितीय दिमाग हो, तो मैं आप एक बार देख लेने के लिए स्वागत करते हैं. लेकिन तुम समझने की जरूरत नहीं है वहाँ में सब कुछ. Shuttle.js, उस के साथ सौदों शटल के आंदोलन. और index.html होम पेज है जहां सब कुछ, वास्तव में होता है, जहां उपयोगकर्ता साइट के साथ बातचीत कर रहा है. Service.css सीएसएस शैली पत्रक है, जो चहचहाना के अलावा बूटस्ट्रैप पुस्तकालय, नियंत्रण कैसे सूचकांक लग रहा है. और फिर हम भी service.js, जो है के लिए सेवा कार्य शामिल शटल. और यहाँ आप हो जा रहे है जहां भाग - दौड़ के भरने में कुछ. अब की वस्तुओं पर एक नज़र रखना और जावास्क्रिप्ट में साहचर्य arrays, जो सभी intents और प्रयोजनों के लिए, विनिमेय हैं. मैं एक वस्तु एक चर बनाना चाहते थे मैं, एक छड़ी होगी बुलाया यह घोषणा. और उन घुंघराले ब्रेसिज़ अंदर, मैं करूंगा निर्दिष्ट, कोर, लकड़ी गेंडा है चेरी है, और लंबाई 13 है. अब, मैं भी मूल्यों का उपयोग कर सकते हैं उपयोग की वस्तुओं के साहचर्य सरणी संकेतन. तो छड़ी सूचकांक कोर, मैं सेट कर सकते हैं कि गेंडा के बराबर, या मैं जरूरत है कि अगर जांच ले. या मैं डॉट ऑपरेटर का उपयोग कर सकते हैं wand.wood चेरी के बराबर होती है, और इतने पर और बहुत आगे है. तो आप देखते हैं कि साहचर्य arrays और जावास्क्रिप्ट में वस्तुओं होने जा रहे हैं विनिमेय, और विल काफी काम में आते हैं. तो फिर हम इमारतों की एक सरणी देखना buildings.js में, फिर, वस्तुओं की एक सरणी. मैं सबसे अच्छा के एक सरणी बनाने के लिए चाहता था तब हार्वर्ड परिसर में भवनों, मैं के रूप में यह करना होगा. इस वस्तु संकेतन का उपयोग, जहां मैं जड़, नाम, पते की दुकान, हर के लिए अक्षांश, और देशांतर एक इमारत वस्तु. चलो जल्दी से चर के बारे में बात करते हैं जावास्क्रिप्ट में. पीएचपी, जावास्क्रिप्ट चर की तरह कमजोर या शिथिल टाइप कर रहे हैं. एक स्थानीय चर बनाने के लिए, आपको उपसर्ग वी ए, आर, वर के साथ चर नाम. अब, जावास्क्रिप्ट में, कार्य करेंगे चर का दायरा सीमित. तो अगर आप के भीतर एक स्थानीय चर है अगर एक समारोह है, तो अन्य कार्यों इसे का उपयोग नहीं कर सकते हैं. लेकिन सी के विपरीत छोरों और शर्तों को नहीं एक चर के दायरे को सीमित. आप एक के अंदर यह घोषणा तो भी अगर हालत, पूरे कार्य करेंगे यह करने के लिए उपयोग कर सकते है. अब, वर के बिना, चर वैश्विक होगा. आपको सिर्फ नाम की घोषणा और यदि हां एक मूल्य निर्दिष्ट है, तो उस चर एक वैश्विक चर हो जाएगा जावास्क्रिप्ट में. अब, घरों में, हम एक साहचर्य है मेजबान प्रकार की वस्तुओं की सरणी जहां हर घर में सिर्फ एक अक्षांश है और एक देशांतर. तो फिर हम यात्रियों है एक सरणी है जो सरणी, ऑब्जेक्ट प्रकार यात्री की. इसलिए हर यात्री एक उपयोगकर्ता है एक नाम है, और एक घर का नाम. मैं प्रकार की कह रहा हूँ कि नोटिस वास्तव में बस का अर्थ है जो यात्री, हर वस्तु है कि एक ही कुंजी मूल्य जोड़े. तो प्रकार यात्री की हर वस्तु है एक उपयोगकर्ता नाम, एक नाम है, और एक घर. तो क्या हम क्या ज़रूरत है पी सेट के लिए करते हैं? खैर, हम उपयोगकर्ताओं को लेने के लिए अनुमति की जरूरत है स्टाफ के सदस्यों को, के सभी प्रदर्शित करने के लिए वर्तमान में कर रहे हैं कि स्टाफ के सदस्यों को हमारे शटल, और उन्हें छोड़. और फिर हम भी अतिरिक्त बारे में बात करेंगे के लिए लागू किया जा सकता है कि सुविधाओं शटल पी सेट. लेकिन पहले पिक के बारे में बात करते हैं. CS50 कर्मचारियों के चेहरे की गई है सभी परिसर में लगाए जहां प्रत्येक चेहरा एक जगह मार्क के रूप में लागू किया जाता है 3 डी पृथ्वी पर, और एक के रूप में 2D मानचित्र पर मार्कर. उपयोगकर्ता पिक क्लिक करता है तो जब बटन, हम पास में जोड़ना चाहते हैं शटल के लिए रवाना. और हम भी अपनी जगह निकालना चाहते हैं दुनिया से चिह्नित करने और निकालने के उनके नक्शे से मार्कर, यह दर्शाता है कि वे अब हमारे शटल में हैं. तो हम कैसे पता लगा है कि अगर यात्रियों को हमारे शटल की सीमा के भीतर कर रहे हैं? खैर, समारोह दूरी, तो shuttle.distance, में गुजर अक्षांश और देशांतर, गणना करेगा मौजूदा स्थिति से दूरी बात करने के लिए शटल की कि आप यह देखते हुए कि साथ निर्दिष्ट अक्षांश और देशांतर. तो आप की गणना करने के लिए इस का उपयोग कर सकते हैं शटल से दूरी यात्रियों. लेकिन तुम कैसे जानते हो जहां यात्रियों हैं? हम करने के लिए होगा जहां खैर, कि आबाद समारोह को संपादित करें. स्थानों स्टाफ के सदस्यों के सभी आबाद दुनिया में यात्रियों में और नक्शे में नहीं है, लेकिन उनके स्थान की दुकान. तो शायद आप स्टोर कर सकते हैं उनकी निशान और मार्करों जगह कुछ वैश्विक सरणी में. अब, पहले से ही एक वैश्विक सरणी है यात्रियों से सूचना के संचय. यात्रियों सरणी दुकानों प्रत्येक यात्री का नाम और उनके घर. तो हो सकता है आप कुछ मापदंडों को जोड़ सकते हैं वहाँ यात्री वस्तुओं के लिए. हमें यात्रियों की सभी पता लगाने में मदद करने के लिए हमारे की सीमा के भीतर सभी के माध्यम से शटल, चलो पाश यात्रियों सरणी में यात्रियों. जावास्क्रिप्ट में एक के लिए पाश लग सकता है बहुत से इसी तरह कुछ इस तरह, सी. में छोरों के लिए उन या हम एक प्रयोग कर सकते हैं के लिए, लूप संरचना के लिए वैकल्पिक सरणी में वर मैं, जहाँ मैं अभी भी होगा सूचकांक, लेकिन आप की जरूरत नहीं है array.length निर्दिष्ट हालत और मैं + +. हर यात्री का स्थान है उनकी जगह मार्क द्वारा दिए. लेकिन जगह निशान नहीं है अक्षांश और देशांतर. हम ने उन मापदंडों का उपयोग करने के लिए है मिल का उपयोग, ज्यामिति हो रही तो जगह निशान पर ज्यामिति, और हम हो रही है, ज्यामिति है एक बार अक्षांश या देशांतर या तो उन कार्यों का उपयोग कर. तो अब हम पता लगाने के लिए कैसे पता यात्रियों के भीतर हैं हमारे शटल की सीमा होती है. हम उन यात्रियों की ज़रूरत होगी, हम करेंगे कर रहे हैं कि किसी भी यात्रियों को जोड़ना चाहते हैं उस सीमा के भीतर. हम उन पर हॉप और लेने के लिए अनुमति देना चाहते हैं एक हमारे शटल पर सीट, लेकिन केवल हम उनके लिए पर्याप्त जगह है. shuttle.seats सरणी संकेत जाएगा सीटें खाली हैं, या कि क्या जो कि सीट में है. तो एक सीट खाली है, तो अगर उस सीट रिक्त हो जाएगा. इसलिए सीटों सरणी पर पुनरावृति, भंडारण, खाली सीटों के लिए जाँच आप जब तक उन सीटों में यात्रियों को किसी भी अधिक सीटें खाली नहीं है. और दुर्भाग्य से, किसी भी अन्य यात्री के लिए इंतजार करना होगा अगली बार जब शटल नीचे आता है. वे शटल पर एक बार, हम चाहते हूँ उनकी जगह निशान हटाने के लिए जो 3 डी दुनिया में उनकी तस्वीर है. मैं एक जगह निशान पी दूर करना चाहता था, तो तो मैं सभी सुविधाओं का मिलेगा मेरी धरती से, गूगल अर्थ से, और फिर उस विशिष्ट स्थान को दूर removeChild समारोह का उपयोग निशान. फिर अंत में, के मार्कर को दूर करते हैं, किसी के लिए 2 डी मानचित्र पर आइकन, हम उठा रहे हैं कि यात्री. एक मार्कर मीटर निकालने के लिए, तो मैं हूँ बस m.setMap अशक्त निष्पादित. सीमा के भीतर किसी भी यात्रियों के लिए यह करो, और आप पिक खत्म कर दिया है. चार्ट समारोह सभी प्रदर्शित करना चाहिए में हैं कि यात्रियों की अपनी शटल, और खाली सीट खाली है. तो चार्ट पर पुनरावृति चाहिए shuttle.seats प्रदर्शित हर सूचकांक के लिए यात्री जानकारी, और खाली सीट कि सूचकांक शून्य है. अब HTML पाठ एक के अंदर डाला जाता है अगर जावास्क्रिप्ट चर, तो उपयोग करके document.getElementById, चार्ट कर सकते हैं यह देखते हुए कि के भीतरी HTML संपादित बताए द्वारा तत्व करने के लिए HTML पाठ document.getElementById भीतरी एचटीएमएल चर. उपयोगकर्ताओं ड्रॉप ऑफ बटन क्लिक करते हैं सूचकांक में, यह फोन करता हूँ dropoff समारोह. और यह है कि लागू करने के लिए हमारा काम है. Dropoff में, हम किसी भी दूर करने के लिए चाहता हूँ शटल से यात्रियों केवल अगर हम अपने गंतव्य की रेंज में हैं, उनके आवासीय घर. तो dropoff जाँच करें कि क्या करना होगा शटल में से किसी की रेंज में है घरों, और किसी भी जरूरत को दूर शटल से यात्रियों. हम कर रहे हैं तो हम कैसे की जाँच करते हैं किसी भी मकानों की श्रेणी में? खैर, एक बार फिर, हम का उपयोग कर दूँगा में गुजर, समारोह shuttle.distance बिंदु के अक्षांश और देशांतर हम के खिलाफ जाँच कर रहे हैं कि. लेकिन उन बिंदुओं क्या हैं? खैर, मकान सरणी, अगर तुम्हें याद है houses.js में, दुकानों में प्रत्येक घर के अक्षांश और देशांतर एक साहचर्य सरणी, जहां हर सूचकांक कि घर का नाम है. तब यात्रियों को निकालने के लिए - खैर, हम की रेंज में हैं ही अगर उनके वे करने के लिए जाना चाहते हैं कि घर. तो फिर, याद है कि यात्रियों को घर भंडार है कि हर यात्री करने के लिए जाना चाहता है. वे की सीमा के भीतर कर रहे हैं उनके घर, तो हम उस से हटा देंगे shuttle.seats और सेट से यात्री अशक्त करने के लिए सरणी में अपनी स्थिति. अब हम कुछ अतिरिक्त सुविधाओं के बारे में बात करते हैं उस में लागू किया जा सकता है CS50 शटल पी सेट. एक बिंदु प्रणाली नहीं है जिससे आप का ट्रैक रखने के कितने एक उपयोगकर्ता के लिए अंक. यात्रियों को छोड़ने के लिए सफलतापूर्वक, वे अंक प्राप्त कर सकते हैं. लेकिन यात्रियों को छोड़ने की कोशिश के लिए जहां किसी भी घर के पास नहीं है, खैर, वे उस के लिए दंडित किया जा सकता हो. तो शायद आप ट्रैक के रखना चाहते हैं एक वैश्विक चर में अंक. आप शायद एक टाइमर, लागू कर सकते हैं, जहां उपयोगकर्ता एक निश्चित राशि का है उठाओ और एक छोड़ समय यात्रियों के कुछ नंबर. हो सकता है कि यह एकीकृत अंक प्रणाली के साथ. या फिर आप इस तरह है कि चार्ट को संपादित कर सकते हैं यात्रियों हाउस के अनुसार क्रमबद्ध हैं. इसलिए कि शायद एक प्रकार का हो जाएगा shuttle.seats के लिए कार्य करते हैं. आप एक उड़ान सुविधा को लागू कर सकते हैं, जहां उपयोगकर्ता Konami आदानों अगर कोड, तो शटल बंद लिफ्टों जमीन और शटल उड़ सकता है. लेकिन बंद एक सुरक्षित बूंद के लिए, सबसे अच्छा बनाने के लिए शटल पर अपने पहियों भूमि पहले जमीन. तुम भी टेलीपोर्टेशन लागू कर सकते हैं, आप की सूची नीचे एक बूंद बनाने जहां सूचकांक में इमारतें. और उन में से एक को चुनने उपयोगकर्ता के लिए ले जाया जाएगा परिसर में उस इमारत. ठीक है, हालांकि, के माध्यम से यात्रा करने के लिए कुछ की दीवारों वहाँ अपने रास्ते पर इमारतें. तुम भी की गति बदल सकते हैं शटल, उपयोगकर्ता को बढ़ाने की अनुमति या गति में कमी. शायद तुम एक वैश्विक चर करना चाहते हैं कितना ईंधन का ट्रैक रखने के शटल घटती है यह आप के साथ जाने के रूप में. आप शून्य हिट एक बार, हालांकि, शटल आप जब तक ले जाने के लिए सक्षम नहीं होगा शायद एक बटन का उपयोग कर, या, जोशीले यहां तक ​​कि अपने गैस स्टेशन बनाने. लेकिन वह निश्चित रूप से नहीं है एक विस्तृत सूची. पूर्ण के लिए कल्पना से बाहर की जाँच करें सूची, या शायद का प्रस्ताव अपने अपने TF करने के लिए खुद के. आकाश की सीमा है. यह आपका अंतिम CS50 पी सेट है, इसलिए इसके साथ मज़ा है. इस CS50 शटल था. मैं कहना है, यह एक खुशी की गई है साथ आप के लिए इन बनाने उत्पादन टीम. और मैं तुम्हें है कि आशा साथ ही, उन्हें मजा आता है. मेरा नाम Zamyla है. और इस CS50 था.