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 >> अब पिछले सप्ताह हम PHP में काम एक सर्वर साइड भाषा. 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 अक्षांश और देशांतर. 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 सीएसएस शैली पत्रक है, जो, ट्विटर के अलावा 30 00:01:39,110 --> 00:01:43,960 बूटस्ट्रैप पुस्तकालय, नियंत्रण कैसे सूचकांक लग रहा है. 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 >> अब की वस्तुओं पर एक नज़र रखना और जावास्क्रिप्ट में साहचर्य arrays, 35 00:01:56,600 --> 00:01:59,360 जो सभी intents और प्रयोजनों के लिए विनिमेय हैं. 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 और मैं होता उन घुंघराले ब्रेसिज़ अंदर कोर गेंडा है निर्दिष्ट. 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 तो छड़ी सूचकांक कोर, मैं सेट कर सकते हैं कि गेंडा के बराबर, या 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 तो आप देखते हैं कि साहचर्य arrays और जावास्क्रिप्ट में वस्तुओं होने जा रहे हैं 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 एक स्थानीय चर बनाने के लिए, आपको उपसर्ग वी ए, आर, वर के साथ चर नाम. 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 लेकिन सी के विपरीत छोरों और शर्तों को नहीं एक चर के दायरे को सीमित. 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 अब वर बिना, चर वैश्विक होगा. 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 चेहरा एक जगह मार्क के रूप में लागू किया जाता है 3 डी पृथ्वी पर, और एक के रूप में 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 >> सरणी में वर के लिए मैं, जहां मैं अभी भी सूचकांक होगा. 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 3 डी दुनिया में उनकी तस्वीर है. 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 फिर अंत में, के मार्कर को दूर करते हैं, किसी के लिए 2 डी मानचित्र पर आइकन 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