[संगीत खेल] स्पीकर 1: ठीक है, यहाँ हम कर रहे हैं, CS50 में पिछले पी सेट. होने से अपने आप को बधाई इतनी दूर आ के बाद से अपने पहले नमस्ते दुनिया और बाहर मुद्रण मारियो के लिए पिरामिड. तुम पिछले हफ्ते एक वेबसाइट बनाई. और हम एक दूसरे को बनाने जा रहे हैं इस हफ्ते, एक आप की अनुमति देता है उठा, हार्वर्ड परिसर के चारों ओर ड्राइव ऊपर CS50 स्टाफ के सदस्यों, और उन्हें वापस लाने के उनके आवासीय मकान. अब पिछले सप्ताह हम PHP में काम एक सर्वर साइड भाषा. इस पी सेट के लिए, हम शुरू की हो रही है एक है जो जावास्क्रिप्ट, के लिए ग्राहक पक्ष भाषा. तो चलो कुछ पर एक नज़र रखना करने के लिए प्रदान की जाती है कि वितरण कोड इस पी सेट के लिए आप. जावास्क्रिप्ट फ़ोल्डर में, वहाँ होगा जावास्क्रिप्ट फ़ाइलों का एक गुच्छा हो. एक होता है जो buildings.js, वहाँ हार्वर्ड के आसपास की इमारतों की सरणी उनकी जानकारी के साथ परिसर, और स्थिति. Houses.js हार्वर्ड के एक सरणी है आवासीय मकानों, के साथ अपने अक्षांश और देशांतर. Passengers.js एक होता है यात्रियों की सरणी - CS50 सदस्य कर्मचारी - आप को वापस लाने होंगे कि उनके आवासीय मकान. का एक बहुत कुछ शामिल है कि Math3D.js, आंदोलन के साथ क्या करने के लिए कार्य. आप गणितीय दिमाग कर रहे हैं, तो मैं आपको एक बार देख लेने का स्वागत करते हैं. लेकिन तुम समझने की जरूरत नहीं है वहाँ में सब कुछ. Shuttle.js, उस के साथ सौदों शटल के आंदोलन. और index.html होम पेज है जहां सब कुछ, वास्तव में होता है, जहां उपयोगकर्ता साइट के साथ बातचीत कर रहा है. Service.css सीएसएस शैली पत्रक है, जो, ट्विटर के अलावा बूटस्ट्रैप पुस्तकालय, नियंत्रण कैसे सूचकांक लग रहा है. और फिर हम भी service.js, जो है के लिए सेवा कार्य शामिल शटल. और यहाँ आप हो जा रहे है जहां डॉस करने के भरने में कुछ. अब की वस्तुओं पर एक नज़र रखना और जावास्क्रिप्ट में साहचर्य arrays, जो सभी intents और प्रयोजनों के लिए विनिमेय हैं. मैं एक वस्तु एक चर बनाना चाहते थे मैं, एक छड़ी होगी बुलाया यह घोषणा. और मैं होता उन घुंघराले ब्रेसिज़ अंदर कोर गेंडा है निर्दिष्ट. लकड़ी चेरी है. और लंबाई 13 है. अब मैं भी मूल्यों का उपयोग कर सकते हैं उपयोग की वस्तुओं के साहचर्य सरणी संकेतन. तो छड़ी सूचकांक कोर, मैं सेट कर सकते हैं कि गेंडा के बराबर, या मैं की जरूरत है, कि जांच ले. या मैं डॉट ऑपरेटर का उपयोग कर सकते हैं. छड़ी डॉट लकड़ी, चेरी के बराबर होती है और इतने पर, और बहुत आगे है. तो आप देखते हैं कि साहचर्य arrays और जावास्क्रिप्ट में वस्तुओं होने जा रहे हैं विनिमेय, और विल काफी काम में आते हैं. तो फिर हम इमारतों की एक सरणी देखना buildings.js में. फिर, वस्तुओं की एक सरणी. मैं सबसे अच्छा के एक सरणी बनाने के लिए चाहता था तब हार्वर्ड परिसर में भवनों, मैं के रूप में यह करना होगा. इस वस्तु संकेतन का उपयोग, जहां मैं जड़, नाम, पते की दुकान, हर के लिए अक्षांश, और देशांतर एक इमारत वस्तु. चलो जल्दी से चर के बारे में बात करते हैं जावास्क्रिप्ट में. पीएचपी, जावास्क्रिप्ट चर की तरह कमजोर या शिथिल टाइप कर रहे हैं. एक स्थानीय चर बनाने के लिए, आपको उपसर्ग वी ए, आर, वर के साथ चर नाम. अब जावास्क्रिप्ट में, कार्य करेंगे चर का दायरा सीमित. तो अगर आप के भीतर एक स्थानीय चर है अगर एक समारोह है, तो अन्य कार्यों इसे का उपयोग नहीं कर सकते हैं. लेकिन सी के विपरीत छोरों और शर्तों को नहीं एक चर के दायरे को सीमित. आप एक के अंदर यह घोषणा तो भी अगर हालत, पूरे कार्य करेंगे यह करने के लिए उपयोग कर सकते है. अब वर बिना, चर वैश्विक होगा. आपको सिर्फ नाम की घोषणा और यदि हां एक मूल्य निर्दिष्ट है, तो उस चर एक वैश्विक चर हो जाएगा जावास्क्रिप्ट में. अब घरों में, हम एक साहचर्य है घर के प्रकार की वस्तुओं की सरणी जहां हर घर में सिर्फ एक अक्षांश है और एक देशांतर. तो फिर हम यात्रियों है एक सरणी है जो सरणी, ऑब्जेक्ट प्रकार यात्री की. इसलिए हर यात्री एक उपयोगकर्ता नाम है, एक नाम है, और एक घर. मैं प्रकार की देख रहा हूँ कि नोटिस वास्तव में बस का अर्थ है जो यात्री, हर वस्तु है कि एक ही कुंजी मान जोड़ा. तो प्रकार यात्री की हर वस्तु है एक उपयोगकर्ता नाम, एक नाम है, और एक घर. तो क्या हम क्या ज़रूरत है पी सेट के लिए करते हैं? खैर, हम उपयोगकर्ताओं को लेने के लिए अनुमति की जरूरत है स्टाफ के सदस्यों को, के सभी प्रदर्शित करने के लिए वर्तमान में कर रहे हैं कि स्टाफ के सदस्यों को हमारे शटल, और उन्हें छोड़. और फिर हम भी अतिरिक्त बारे में बात करेंगे के लिए लागू किया जा सकता है कि सुविधाओं शटल पी सेट. लेकिन पहले पिक के बारे में बात करते हैं. CS50 कर्मचारियों के चेहरे की गई है सभी परिसर में लगाए जहां प्रत्येक चेहरा एक जगह मार्क के रूप में लागू किया जाता है 3 डी पृथ्वी पर, और एक के रूप में 2D मानचित्र पर मार्कर. उपयोगकर्ता पिक क्लिक करता है तो जब बटन, हम पास में जोड़ना चाहते हैं शटल के लिए रवाना. और हम भी अपनी जगह निकालना चाहते हैं दुनिया से निशान हटाने, और उनके नक्शे से मार्कर, यह दर्शाता है कि वे अब हमारे शटल में हैं. तो हम कैसे पता लगा है कि अगर यात्रियों को हमारे शटल की सीमा के भीतर कर रहे हैं? खैर, समारोह दूरी - ताकि शटल डॉट दूरी, में गुजर अक्षांश और देशांतर, होगा वर्तमान से दूरी की गणना शटल की स्थिति तुम उस के साथ निर्दिष्ट उस बिंदु अक्षांश और देशांतर दिया. तो आप की गणना करने के लिए इस का उपयोग कर सकते हैं शटल से दूरी यात्रियों. लेकिन तुम कैसे जानते हो जहां यात्रियों हैं? हम करने के लिए होगा जहां खैर, कि आबाद समारोह को संपादित करें. स्थानों स्टाफ के सदस्यों के सभी आबाद और दुनिया में यात्रियों, और नक्शे में नहीं है, लेकिन उनके स्थान की दुकान. तो शायद आप स्टोर कर सकते हैं उनकी निशान और मार्करों जगह कुछ वैश्विक सरणी में. अब पहले से ही एक वैश्विक सरणी है यात्रियों से सूचना के संचय. यात्रियों सरणी दुकानों प्रत्येक यात्री का नाम और उनके घर. तो हो सकता है आप कुछ मापदंडों को जोड़ सकते हैं वहाँ यात्री वस्तुओं के लिए. हमें सभी यात्रियों का पता लगाने में मदद करने के लिए हमारे शटल की सीमा के भीतर है, चलो यात्रियों की सभी के माध्यम से पाश यात्रियों सरणी में. जावास्क्रिप्ट में एक के लिए पाश लग सकता है बहुत से इसी तरह कुछ इस तरह, सी में पाश के लिए उन या हम एक प्रयोग कर सकते हैं पाश संरचना के लिए वैकल्पिक. सरणी में वर के लिए मैं, जहां मैं अभी भी सूचकांक होगा. लेकिन आप निर्दिष्ट करने की आवश्यकता नहीं है सरणी डॉट लंबाई हालत, और मैं अधिक से अधिक. हर यात्री का स्थान है उनकी जगह मार्क द्वारा दिए. लेकिन जगह निशान नहीं है अक्षांश और देशांतर. हम ने उन मापदंडों का उपयोग करने के लिए है मिल का उपयोग, ज्यामिति हो रही जगह निशान पर ज्यामिति. और फिर हम, ज्यामिति है एक बार अक्षांश या या तो हो रही है देशांतर, उन कार्यों का उपयोग कर. तो अब हम पता लगाने के लिए कैसे पता यात्रियों के भीतर हैं हमारे शटल की सीमा होती है. हम उन यात्रियों की ज़रूरत होगी, हम करेंगे कर रहे हैं कि किसी भी यात्रियों को जोड़ना चाहते हैं उस सीमा के भीतर. हम उन पर कूद करने के लिए अनुमति देना चाहते हैं, और हमारे शटल पर एक सीट ले, लेकिन केवल हम उनके लिए पर्याप्त जगह है. शटल डॉट सीटों सरणी होगा सीटें खाली हैं, या यह इंगित जो कि सीट में है. तो एक सीट खाली है, तो अगर उस सीट रिक्त हो जाएगा. इसलिए सीटों सरणी पर पुनरावृति, भंडारण, खाली सीटों के लिए जाँच आप जब तक उन सीटों में यात्रियों को किसी भी अधिक सीटें खाली नहीं है. और दुर्भाग्य से, किसी भी अन्य यात्री के लिए इंतजार करना होगा अगली बार जब शटल के आसपास आता है. वे शटल पर एक बार, हम चाहते हूँ उनकी जगह निशान हटाने के लिए जो 3 डी दुनिया में उनकी तस्वीर है. मैं एक जगह निशान पी दूर करना चाहता था, तो तो मैं सभी सुविधाओं का मिलेगा मेरी पृथ्वी से, गूगल अर्थ से, और फिर उस विशिष्ट स्थान को दूर removeChild समारोह का उपयोग निशान. फिर अंत में, के मार्कर को दूर करते हैं, किसी के लिए 2 डी मानचित्र पर आइकन हम उठा रहे हैं कि यात्री. एक मार्कर, एम निकालने के लिए, तो मैं हूँ बस एम डॉट setMap अशक्त निष्पादित. सीमा के भीतर किसी भी यात्रियों के लिए यह करो, और आप पिक खत्म कर दिया है.