[موسیقی بجانا] اسپیکر 1: ٹھیک ہے، ہم یہاں ہیں، CS50 میں آخری P سیٹ. کرنے سے اپنے آپ کو مبارک باد دیتا ہوں اب تک آنے کے بعد آپ سب سے پہلے خوش آمدید دنیاؤں اور باہر پرنٹ ماریو پرامڈ. آپ نے گزشتہ ہفتے ایک ویب سائٹ بنا. اور ہم ایک دوسرے کے بنانے جا رہے ہیں اس ہفتے، ایک آپ کے لئے کی اجازت دیتا ہے اٹھا، ہارورڈ کیمپس کے ارد گرد ڈرائیو اپ CS50 عملے کے ارکان، اور کرنے کے لئے انہیں واپس لانے ان رہائشی گھروں کی. اب پچھلے ہفتے ہم نے، پی ایچ پی میں کام کیا ایک سرور سائیڈ زبان بدلیں. یہ P سیٹ کے لئے، ہم سے متعارف کرایا ہو رہے ہیں ایک ہے جو جاوا اسکرپٹ کا، کرنے کلائنٹ سائڈ زبان بدلیں. تو میں سے کچھ پر ایک نظر ڈالیں فراہم کی ہے کہ تقسیم کے کوڈ یہ P سیٹ کے لئے آپ کو. جاوا سکرپٹ کے فولڈر میں، وہاں جائے گا جاوا اسکرپٹ فائلوں کا ایک گروپ ہو. ایک پر مشتمل ہے جس buildings.js، ہے ہارورڈ کے ارد گرد عمارتوں کی صف ان معلومات کے ساتھ کیمپس، اور پوزیشن. Houses.js ہارورڈ کے ایک صف ہے رہائشی مکانات، کے ساتھ ان کے عرض بلد اور طول. Passengers.js ایک پر مشتمل ہے مسافروں کی صف - CS50 عملے کے ارکان - آپ کو واپس لانے کی جائے گی ان کے رہائشی مکانات. کی ایک بہت پر مشتمل ہے Math3D.js، تحریک کے ساتھ کرنے کے لئے کام کرتا ہے. آپ ریاضی ذہن ہو، تو میں آپ کو ایک نظر لے خیر مقدم کرتے ہیں. لیکن آپ کو سمجھنے کے لئے کی ضرورت نہیں ہے وہاں میں سب کچھ. Shuttle.js، اس کے ساتھ کرتا ہے شٹل کی تحریک. اور index.html ہوم پیج کہاں ہے سب کچھ، واقعی، ہوتا ہے جہاں صارف کی ویب سائٹ کے ساتھ بات چیت ہے. Service.css سی ایس ایس سٹائل شیٹ ہے، جس، ٹویٹر کے علاوہ میں بوٹسٹریپ لائبریری، کنٹرول کس طرح index.html لگتا ہے. اور پھر ہم بھی service.js، ہے جس میں کے لئے سروس کے افعال پر مشتمل ہے شٹل. اور یہاں آپ جا رہے ہیں جہاں DOS کے لئے میں سے کچھ میں بھرنے. اب اشیاء پر ایک نظر ڈالیں اور جاوا سکرپٹ میں ساہچری arrays، جس میں تمام intents اور مقاصد کے لئے تبادلہ ہیں. میں کسی چیز ایک متغیر بنانا چاہتے تھے تو میں نے ایک چھڑی گے کہا جاتا ہے اس کا اعلان کریں. اور میں ان گھوبگھرالی منحنی خطوط وحدانی کے اندر کور ایک تنگاوالا ہے کی وضاحت. لکڑی چیری ہے. اور لمبائی 13 ہے. اب میں بھی اقدار تک رسائی حاصل کر سکتے ہیں کا استعمال کرتے ہوئے اشیاء کی ساہچری سرنی سنکیتن. تو جادو کی چھڑی انڈیکس کور، میں نے مقرر کر سکتے ہیں کہ ایک تنگاوالا کے برابر، یا میں نے کی ضرورت ہے تو، چیک کریں کہ. یا میں نقطہ آپریٹر کا استعمال کر سکتے ہیں. عصا ڈاٹ لکڑی، چیری کے برابر ہے اور اسی طرح، اور وغیرہ. تو آپ دیکھتے ہیں کہ ساہچری arrays اور جاوا اسکرپٹ میں اشیاء کو جا رہے ہیں تبادلہ، اور مرضی بہت ہاتھ میں آئے. اس کے بعد ہم عمارتوں کی ایک صف کو دیکھنے کے buildings.js میں. ایک بار پھر، اشیاء کی ایک صف. میں سب سے بہتر میں سے ایک صف بنانا چاہتے تھے تو پھر ہارورڈ کیمپس عمارتوں، مندرجہ ذیل میں اس کے بنا دے گا. اس کے آبجیکٹ سنکیتن کا استعمال کرتے ہوئے، جہاں میں جڑ، نام، پتہ ذخیرہ، ہر ایک کے لئے عرض بلد، طول بلد اور ایک عمارت اعتراض. جلدی متغیر کے بارے میں بات کرتے ہیں جاوا سکرپٹ میں. پی ایچ پی، جاوا سکرپٹ کے متغیر کی طرح کمزور یا شتل ٹائپ کر رہے ہیں. ایک مقامی متغیر پیدا کرنے کے لئے، آپ کو سابقہ V-A-ر، متغیر کے ساتھ متغیر نام. اب جاوا سکرپٹ میں، افعال گے متغیر کے دائرہ کار کو محدود. تو آپ کے اندر اندر ایک مقامی متغیر ہے تو ایک تقریب، پھر دوسرے افعال اس تک رسائی حاصل نہیں کر سکتے. لیکن C کے برعکس، loops اور حالات نہیں ایک متغیر کے دائرہ کار کو محدود. آپ کو ایک کے اندر اس کا اعلان کریں تو بھی اگر حالت، پورے کام کرے گا اس تک رسائی حاصل ہے. اب متغیر بغیر، متغیر عالمی جائے گا. آپ کو صرف نام کا اعلان کریں اور اگر ایسا ہے تو ایک قدر تفویض، پھر اس متغیر ایک عالمی متغیر ہو جائے گا جاوا سکرپٹ میں. اب گھروں میں، ہم نے ایک ساہچری ہے گھر کی قسم کی اشیاء، کی صف جہاں ہر گھر صرف ایک عرض بلد ہے اور ایک طول بلد. پھر ہم مسافروں کو ہے ایک صف ہے جس میں صف، اعتراض کی قسم مسافر کی. تو ہر مسافر ایک صارف کا نام ہے، ایک کا نام، اور ایک گھر. میں قسم کی دیکھ رہا ہوں نوٹس واقعی صرف کا مطلب ہے کہ مسافر، ہر چیز ہے کہ ایک ہی کلیدی قدر جوڑی. تو قسم مسافر کی ہر چیز ہے، ایک صارف کا نام، ایک کا نام، اور ایک گھر. تو کیا ہم کرنے کی ضرورت ہے P سیٹ کے لئے ہے؟ ٹھیک ہے، ہم صارفین کو منتخب کرنے کے لئے اجازت دینے کے لئے کی ضرورت ہے عملے کے ارکان کو، کے تمام ظاہر کرنے کے لئے فی الحال میں ہیں کہ عملے کے ارکان ہماری شٹل، اور انہیں چھوڑ. اور پھر ہم بھی اضافی بارے میں بات کریں گے کے لئے لاگو کیا جا سکتا ہے خصوصیات شٹل P سیٹ. لیکن پہلے اٹھا بارے میں بات کریں. CS50 عملے کے چہرے رہا ہے ، تمام کیمپس پر لگائے جہاں ہر چہرے پر ایک جگہ نشان کے طور پر لاگو کیا جاتا ہے 3D زمین پر، اور ایک کے طور پر 2D نقشے پر مارکر. صارف اٹھا کلکس تو جب کے بٹن پر، ہم قریبی شامل کرنا چاہتے ہیں شٹل مسافروں. اور ہم بھی ان کی جگہ دور کرنے کے لئے چاہتے ہیں، دنیا سے نشان زد، اور دور ان نقشہ کی طرف سے مارکر، اشارہ ہے کہ اب وہ ہماری شٹل میں ہیں. تو ہم کس طرح پتہ لگانے کے ہے تو مسافروں کو ہماری شٹل کی رینج کے اندر اندر ہیں؟ ٹھیک ہے، تقریب کے فاصلے - تو شٹل ڈاٹ فاصلے، میں گزر طول اور عرض بلد، گے موجودہ سے دوری کا حساب شٹل کی پوزیشن تم اس کے ساتھ وضاحت اس نقطہ طول اور عرض بلد دیا. تو آپ کا حساب کرنے کے لئے اس کا استعمال کر سکتے شٹل سے دوری مسافروں. لیکن آپ کو کیسے پتہ ہے جہاں مسافروں ہیں؟ ہم پڑے گا جہاں ٹھیک ہے، یہ ہے آباد کی تقریب میں ترمیم کریں. مقامات عملے کے ارکان کے تمام آباد اور دنیا میں مسافروں، اور نقشے میں نہیں کرتا، لیکن ان کے مقام کو محفوظ. تو شاید آپ کو محفوظ کر سکتے ہیں ان کے نشانات اور مارکر جگہ کچھ عالمی صف میں. اب پہلے سے ہی ایک عالمی صف ہے مسافروں سے معلومات ذخیرہ کرنے. مسافروں صف اسٹورز ہر مسافر کے نام اور ان کے گھر. تو شاید آپ کو کچھ پیرامیٹرز شامل کر سکتے ہیں وہاں مسافر اشیاء. ہم سب مسافروں کا پتہ لگانے میں مدد کے لئے ہماری شٹل کی رینج کے اندر اندر، چلو مسافروں کے تمام کے ذریعے لوپ مسافروں کی صف میں. جاوا اسکرپٹ میں ایک کے لئے لوپ نظر ہو سکتا ہے کی طرح کچھ اس طرح، سی میں لوپ کے لئے ان لوگوں یا ہم ایک استعمال کر سکتے ہیں لوپ ساخت کے لئے متبادل. صف میں متغیر کے لئے میں، جہاں میں اب بھی انڈیکس کیا جائے گا. لیکن آپ کی وضاحت کرنے کی ضرورت نہیں ہے صف ڈاٹ لمبائی حالت، اور میں کے علاوہ کے علاوہ. ہر مسافر کی جگہ ہے ان کی جگہ مارک کی طرف سے دی. لیکن جگہ نشان نہیں ہے طول اور عرض بلد. ہم کی طرف سے ان پیرامیٹرز تک رسائی حاصل کرنے کے لئے ہے حاصل کا استعمال کرتے ہوئے، ستادوستی ہو رہی ہے جگہ مارک پر جیومیٹری. اور پھر ہم، ستادوستی ایک بار عرض بلد یا یا تو ہو رہی ہے طول بلد، ان کے افعال کا استعمال کرتے ہوئے. تو اب ہم چاہے پتہ لگانے کے لئے کس طرح جانتے ہیں مسافروں کے اندر اندر ہیں ہماری شٹل کی حد. ہم ان مسافروں کو ایک بار، ہم کریں گے ہے کہ کسی بھی مسافروں کو شامل کرنا چاہتے ہیں اس کی حد کے اندر اندر. ہم نے ان پر ہاپ کرنے کی اجازت چاہتے ہیں، اور ہماری شٹل پر ایک نشست کے لے، لیکن صرف ہم ان کے لئے کافی کمرے ہے تو. شٹل ڈاٹ نشستیں صف گے نشستیں خالی ہیں، یا اس بات کی نشاندہی جو اس نشست میں ہے. تو ایک نشست خالی، ہے تو اس نشست، شہوت انگیز null ہو جائے گا. تو نشستوں صف پر iterate، ذخیرہ کرنے، خالی نشستوں کے لئے جانچ پڑتال تم جب تک ان کی نشستوں میں مسافروں کسی بھی خالی نشستوں کی ضرورت نہیں ہے. اور بدقسمتی سے، کسی بھی دوسرے مسافروں کے لئے انتظار کرنا پڑے گا اگلی بار شٹل ارد گرد آتا ہے. وہ شٹل پر حاصل کرنے کے بعد، ہم چاہتے ہیں کریں گے ، ان کی جگہ مارک دور کرنے کے لئے، جس میں 3D دنیا میں ان کی تصویر ہے. میں نے ایک جگہ نشان P دور کرنے کے لئے چاہتا تھا، تو پھر میں خصوصیات میں سے سب ملے گا میری زمین سے، گوگل ارتھ سے، اور پھر اس مخصوص جگہ کو ہٹا دیں removeChild تقریب کا استعمال کرتے ہوئے نشان زد. پھر آخر میں، کی مارکر ہٹانے، کسی کے لئے 2D نقشہ پر آئکن ہم اٹھا رہے ہیں مسافر. ایک مارکر، M کو ہٹانے کے لئے، پھر میں گے صرف M ڈاٹ setMap شہوت انگیز null پھانسی. رینج کے اندر اندر کسی بھی مسافروں کے لئے ایسا کرتے ہیں، اور آپ کو اٹھا لینا ختم کر دیا.