ZAMYLA چان: ٹھیک ہے، ہم یہاں ہیں، آخری P-قائم CS50 میں. کرنے سے اپنے آپ کو مبارک باد دیتا ہوں اب تک آنے کے اپنے پہلے خوش بعد دنیاؤں اور پرنٹنگ ممبر ماریو پرامڈ. آپ نے گزشتہ ہفتے ایک ویب سائٹ بنا. اور ہم ایک دوسرے کے بنانے جا رہے ہیں اس ہفتے، ایک آپ کے لئے کی اجازت دیتا ہے اٹھا، ہارورڈ کیمپس کے ارد گرد ڈرائیو CS50 عملے کے ارکان اور کرنے کے لئے انہیں واپس لانے ان رہائشی گھروں کی. اب، پچھلے ہفتے ہم نے، پی ایچ پی میں کام کیا ایک سرور سائیڈ زبان بدلیں. یہ P-سیٹ کے لئے، ہم نے متعارف کرایا ہے کر رہے ہیں ایک ہے جو جاوا اسکرپٹ کا، کرنے کلائنٹ سائڈ زبان بدلیں. تو میں سے کچھ پر ایک نظر ڈالیں فراہم کی ہے کہ تقسیم کے کوڈ یہ P-سیٹ کے لئے آپ کو. جاوا سکرپٹ کے فولڈر میں، وہاں جائے گا جاوا اسکرپٹ فائلوں کا ایک گروپ ہو. ایک پر مشتمل ہے جس buildings.js، ہے ہارورڈ کے ارد گرد عمارتوں کی صف ان معلومات کے ساتھ کیمپس اور پوزیشن. Houses.js ہارورڈ کے ایک صف ہے کے ساتھ رہائشی مکانات ان عرض بلد اور طول. Passengers.js کی ایک سرنی پر مشتمل ہے مسافروں، CS50 عملے کے ارکان آپ کو واپس لانے کی جائے گی ان کے رہائشی مکانات. کی ایک بہت پر مشتمل ہے Math3D.js، تحریک کے ساتھ کرنے کے لئے کام کرتا ہے. آپ ریاضی ذہن ہو، تو میں آپ کو ایک نظر لینے کے لئے خیر مقدم کرتے ہیں. لیکن آپ کو سمجھنے کے لئے کی ضرورت نہیں ہے وہاں میں سب کچھ. Shuttle.js، اس کے ساتھ کرتا ہے شٹل کی تحریک. اور index.html ہوم پیج کہاں ہے سب کچھ، واقعی، ہوتا ہے جہاں صارف کی ویب سائٹ کے ساتھ بات چیت ہے. Service.css سی ایس ایس سٹائل شیٹ ہے، جس میں ٹویٹر کرنے کے علاوہ میں بوٹسٹریپ لائبریری، کنٹرول کس طرح index.html لگتا ہے. اور پھر ہم بھی service.js، ہے جس میں کے لئے سروس کے افعال پر مشتمل ہے شٹل. اور یہاں آپ جا رہے ہیں جہاں کرنے کے لئے کے کچھ میں بھرنے. اب اشیاء پر ایک نظر ڈالیں اور جاوا سکرپٹ میں ساہچری arrays، جس میں، تمام intents اور مقاصد کے لئے، تبادلہ ہیں. میں کسی چیز ایک متغیر بنانا چاہتے تھے تو میں نے ایک چھڑی گے کہا جاتا ہے اس کا اعلان کریں. اور ان گھوبگھرالی منحنی خطوط وحدانی کے اندر، میں کروں گا وضاحت، بنیادی، لکڑی ایک تنگاوالا ہے چیری ہے، اور لمبائی میں 13 ہے. اب، میں نے بھی اقدار تک رسائی حاصل کر سکتے ہیں کا استعمال کرتے ہوئے اشیاء کی ساہچری سرنی سنکیتن. تو جادو کی چھڑی انڈیکس کور، میں نے مقرر کر سکتے ہیں کہ ایک تنگاوالا کے برابر، یا میں کی ضرورت ہو تو چیک کریں کہ. یا میں نقطہ آپریٹر کا استعمال کر سکتے ہیں wand.wood چیری کے برابر ہے، اور تو اور تو آگے. تو آپ دیکھتے ہیں کہ ساہچری arrays اور جاوا اسکرپٹ میں اشیاء کو جا رہے ہیں تبادلہ، اور مرضی بہت ہاتھ میں آئے. اس کے بعد ہم عمارتوں کی ایک صف کو دیکھنے کے buildings.js میں، پھر، اشیاء کی ایک صف. میں سب سے بہتر میں سے ایک صف بنانا چاہتے تھے تو پھر ہارورڈ کیمپس عمارتوں، مندرجہ ذیل میں اس کے بنا دے گا. اس کے آبجیکٹ سنکیتن کا استعمال کرتے ہوئے، جہاں میں جڑ، نام، پتہ ذخیرہ، ہر ایک کے لئے عرض بلد، طول بلد اور ایک عمارت اعتراض. جلدی متغیر کے بارے میں بات کرتے ہیں جاوا سکرپٹ میں. پی ایچ پی، جاوا سکرپٹ کے متغیر کی طرح کمزور یا شتل ٹائپ کر رہے ہیں. ایک مقامی متغیر پیدا کرنے کے لئے، آپ کو سابقہ V-A-ر، متغیر کے ساتھ متغیر نام. اب، جاوا سکرپٹ میں، افعال گے متغیر کے دائرہ کار کو محدود. تو آپ کے اندر اندر ایک مقامی متغیر ہے تو ایک تقریب، پھر دوسرے افعال اس تک رسائی حاصل نہیں کر سکتے. لیکن C کے برعکس، loops اور حالات نہیں ایک متغیر کے دائرہ کار کو محدود. آپ کو ایک کے اندر اس کا اعلان کریں تو بھی اگر حالت، پورے کام کرے گا اس تک رسائی حاصل ہے. اب، متغیر کے بغیر، متغیر عالمی جائے گا. آپ کو صرف نام کا اعلان کریں اور اگر ایسا ہے تو ایک قدر تفویض، پھر اس متغیر ایک عالمی متغیر ہو جائے گا جاوا سکرپٹ میں. اب، گھروں میں، ہم نے ایک ساہچری ہے میزبان قسم اشیاء، کی صف جہاں ہر گھر صرف ایک عرض بلد ہے اور ایک طول بلد. پھر ہم مسافروں کو ہے ایک صف ہے جس میں صف، اعتراض کی قسم مسافر کی. تو ہر مسافر ایک صارف ہے ، ایک نام، اور ایک گھر کا نام ہے. میں قسم کی کہہ رہا ہوں کہ نوٹس واقعی صرف کا مطلب ہے کہ مسافر، ہر چیز ہے کہ ایک ہی کلیدی قدر جوڑوں. تو قسم مسافر کی ہر چیز ہے، ایک صارف کا نام، ایک کا نام، اور ایک گھر. تو کیا ہم کرنے کی ضرورت ہے P-سیٹ کے لئے ہے؟ ٹھیک ہے، ہم صارفین کو منتخب کرنے کے لئے اجازت دینے کے لئے کی ضرورت ہے عملے کے ارکان کو، کے تمام ظاہر کرنے کے لئے فی الحال میں ہیں کہ عملے کے ارکان ہماری شٹل، اور انہیں چھوڑ. اور پھر ہم بھی اضافی بارے میں بات کریں گے کے لئے لاگو کیا جا سکتا ہے خصوصیات شٹل P-سیٹ. لیکن پہلے اٹھا بارے میں بات کریں. CS50 عملے کے چہرے رہا ہے ، تمام کیمپس پر لگائے جہاں ہر چہرے پر ایک جگہ نشان کے طور پر لاگو کیا جاتا ہے 3D زمین پر، اور ایک کے طور پر 2D نقشے پر مارکر. صارف اٹھا کلکس تو جب کے بٹن پر، ہم قریبی شامل کرنا چاہتے ہیں شٹل مسافروں. اور ہم بھی ان کی جگہ دور کرنے کے لئے چاہتے ہیں، دنیا سے نشان زد اور دور ان نقشہ کی طرف سے مارکر، اشارہ ہے کہ اب وہ ہماری شٹل میں ہیں. تو ہم کس طرح پتہ لگانے کے ہے تو مسافروں کو ہماری شٹل کی رینج کے اندر اندر ہیں؟ ٹھیک ہے، تقریب کے فاصلے، تو shuttle.distance، میں گزر طول اور عرض بلد، حساب کرے گا موجودہ پوزیشن سے دوری نقطہ شٹل کی ہے کہ آپ کو کہ دیا کے ساتھ کی وضاحت طول اور عرض بلد. تو آپ کا حساب کرنے کے لئے اس کا استعمال کر سکتے شٹل سے دوری مسافروں. لیکن آپ کو کیسے پتہ ہے جہاں مسافروں ہیں؟ ہم پڑے گا جہاں ٹھیک ہے، یہ ہے آباد کی تقریب میں ترمیم کریں. مقامات عملے کے ارکان کے تمام آباد دنیا میں مسافروں میں اور نقشے میں نہیں کرتا، لیکن ان کے مقام کو محفوظ. تو شاید آپ کو محفوظ کر سکتے ہیں ان کے نشانات اور مارکر جگہ کچھ عالمی صف میں. اب، پہلے سے ہی ایک عالمی صف ہے مسافروں سے معلومات ذخیرہ کرنے. مسافروں صف اسٹورز ہر مسافر کے نام اور ان کے گھر. تو شاید آپ کو کچھ پیرامیٹرز شامل کر سکتے ہیں وہاں مسافر اشیاء. ہم سے مسافروں کی تمام کا پتہ لگانے میں مدد کے لئے ہماری رینج کے اندر اندر کے تمام کے ذریعے شٹل، چلو لوپ مسافروں کی صف میں مسافروں. جاوا اسکرپٹ میں ایک کے لئے لوپ نظر ہو سکتا ہے کی طرح کچھ اس طرح، سی میں loops کے لئے ان لوگوں یا ہم ایک استعمال کر سکتے ہیں کے لئے، لوپ ساخت کے لئے متبادل صف میں متغیر میں، جہاں میں اب بھی ہو جائے گا انڈیکس، لیکن آپ کو کرنے کی ضرورت نہیں array.length کی وضاحت حالت اور میں + +. ہر مسافر کی جگہ ہے ان کی جگہ مارک کی طرف سے دی. لیکن جگہ نشان نہیں ہے طول اور عرض بلد. ہم کی طرف سے ان پیرامیٹرز تک رسائی حاصل کرنے کے لئے ہے حاصل کا استعمال کرتے ہوئے، ستادوستی ہو رہی ہے پھر جگہ مارک پر جیومیٹری، اور ہم ہو رہی ہے، ستادوستی ایک بار عرض بلد یا طول بلد یا تو ان کے افعال کا استعمال کرتے ہوئے. تو اب ہم چاہے پتہ لگانے کے لئے کس طرح جانتے ہیں مسافروں کے اندر اندر ہیں ہماری شٹل کی حد. ہم ان مسافروں کو ایک بار، ہم کریں گے ہے کہ کسی بھی مسافروں کو شامل کرنا چاہتے ہیں اس کی حد کے اندر اندر. ہم نے ان پر ہاپ اور لے جانے کے لئے اجازت دینے کے لئے چاہتے ہیں، ہمارے شٹل پر نشست، لیکن صرف ہم نے ان کے لئے کافی کمرے ہے تو. shuttle.seats سرنی کی نشاندہی کرے گا نشستیں خالی ہیں، یا جو اس نشست میں ہے. تو ایک نشست خالی، ہے تو اس نشست، شہوت انگیز null ہو جائے گا. تو نشستوں صف پر iterate، ذخیرہ کرنے، خالی نشستوں کے لئے جانچ پڑتال تم جب تک ان کی نشستوں میں مسافروں کسی بھی خالی نشستوں کی ضرورت نہیں ہے. اور بدقسمتی سے، کسی بھی دوسرے مسافروں کے لئے انتظار کرنا پڑے گا اگلی بار شٹل نیچے آتا ہے. وہ شٹل پر حاصل کرنے کے بعد، ہم چاہتے ہیں کریں گے ، ان کی جگہ مارک دور کرنے کے لئے، جس میں 3D دنیا میں ان کی تصویر ہے. میں نے ایک جگہ نشان P دور کرنے کے لئے چاہتا تھا، تو پھر میں خصوصیات میں سے سب ملے گا میری زمین سے، گوگل ارتھ سے، اور پھر اس مخصوص جگہ کو ہٹا دیں removeChild تقریب کا استعمال کرتے ہوئے نشان زد. پھر آخر میں، کی مارکر ہٹانے، کسی کے لئے 2D نقشہ پر آئکن، ہم اٹھا رہے ہیں مسافر. ایک مارکر ایم کو ہٹانے کے لئے، پھر میں گے صرف m.setMap شہوت انگیز null پھانسی. رینج کے اندر اندر کسی بھی مسافروں کے لئے ایسا کرتے ہیں، اور آپ کو اٹھا لینا ختم کر دیا. چارٹ تقریب کے تمام ظاہر کرنا چاہئے میں ہیں کہ مسافروں کی آپ شٹل، اور خالی نشست خالی ہو تو. تو چارٹ پر iterate چاہئے shuttle.seats، کی نمائش ہر انڈیکس لئے مسافر کی معلومات، اور خالی نشست کہ انڈیکس خالی ہے. اب ایچ ٹی ایم ایل متن کے اندر ڈال دیا جاتا ہے تو جاوا سکرپٹ کو متغیر، تو کا استعمال کرتے ہوئے کی طرف سے document.getElementByID، چارٹ کر سکتے ہیں دی ہے کہ کے اندرونی HTML میں ترمیم بتائے کی طرف سے عنصر کرنے کے لئے HTML متن document.getElementByID اندرونی HTML متغیر. صارفین ڈراپ آف بٹن پر کلک کریں جب index.html میں، یہ فون کروں گا dropoff تقریب. اور یہ اس پر عملدرآمد کرنے ہمارا کام ہے. dropoff میں، ہم کسی بھی دور کرنے کے لئے چاہتے ہیں کریں گے شٹل سے مسافروں صرف اس صورت میں ہم اپنی منزل کی رینج میں ہیں، اپنے رہائشی گھر. تو dropoff چیک کریں کہ کیا کرنا پڑے گا شٹل میں سے کسی کی رینج میں ہے گھروں، اور کسی بھی ضرورت کو ہٹا دیں شٹل سے مسافروں. ہم ہیں تو ہم کس طرح چیک کر سکتا ہوں کسی بھی گھروں کی حد میں؟ ویسے، ایک بار پھر، ہم کا استعمال کر لیں گے میں گزر، تقریب shuttle.distance نقطہ کے طول اور عرض بلد ہم کے خلاف کی جانچ پڑتال کر رہے ہیں. لیکن ان نکات کیا ہیں؟ ٹھیک ہے، گھروں صف، اگر آپ کو یاد houses.js میں، ذخیرہ میں ہر گھر کے طول اور عرض بلد ایک ساہچری سرنی، جہاں ہر انڈیکس اس کے گھر کا نام ہے. اس کے بعد مسافروں کو دور کرنے کے لئے - ٹھیک ہے، ہم کی رینج میں ہیں صرف اس صورت میں ان کے وہ جانا چاہتا ہوں اس کے گھر. تو پھر، یاد ہے کہ مسافروں کو گھر ذخیرہ ہے کہ ہر مسافر کرنے کے لئے جانا چاہتا ہے. وہ حد کے اندر اندر ہیں، تو ان کی گھر، پھر ہم اس کو دور کریں گے shuttle.seats اور سیٹ سے مسافر شہوت انگیز null صف میں ان کی پوزیشن. اب کچھ اضافی خصوصیات کے بارے میں بات کرتے ہیں کہ میں لاگو کیا جا سکتا CS50 شٹل P-سیٹ. ایک نقطہ کا نظام ہے جس کے تحت آپ کا ٹریک رکھنے کے کتنے ایک صارف ہے پوائنٹس. مسافروں بند چھوڑنے کے لئے کامیابی کے ساتھ، وہ پوائنٹس حاصل کر سکتے ہیں. لیکن مسافروں کو چھوڑ کرنے کی کوشش کے لئے جہاں کسی بھی گھر کے قریبی نہیں ہے، ٹھیک ہے، وہ اس کے لئے سزا حاصل کر سکتے ہیں. تو شاید آپ کو ٹریک کے رکھنے کے لئے چاہتے ہیں، ایک عالمی متغیر میں پوائنٹس. آپ شاید ایک ٹائمر، عملدرآمد کر سکتے ہیں، جہاں صارف کو ایک مخصوص رقم کی ہے لینے اور ایک کو چھوڑ کرنے کے لئے وقت مسافروں کے مخصوص تعداد. شاید یہ بھی ضم نقطہ کے نظام کے ساتھ. یا آپ کو اس طرح ہے کہ چارٹ ترمیم کر سکتے ہیں مسافروں کے گھر کی طرف سے حل کر رہے ہیں. تو یہ شاید ایک طرح سے ہو گا shuttle.seats تقریب. آپ ایک پرواز کو نمایاں عملدرآمد کر سکتے ہیں، جہاں صارف کوناما آدانوں تو کوڈ، اور پھر شٹل دور ختم زمین اور شٹل پرواز کر سکتے ہیں. لیکن ایک محفوظ کمی کے لئے، سب سے بہتر بنانے کے لئے شٹل پر اس کے پہیوں کے زمین سب سے پہلے زمین. تم نے بھی teleportation کے عملدرآمد کر سکتے ہیں، آپ کی فہرست کے نیچے ایک بوند کو بنانے کے جہاں index.html میں عمارتوں. اور ان میں سے ایک، منتخب صارف کو منتقل کیا جائے گا کیمپس میں اس عمارت. ٹھیک ہے، اگرچہ، کے ذریعے سفر کرنے کچھ کی دیواروں وہاں اپنے راستے پر عمارتوں. تم نے بھی کی رفتار تبدیل کر سکتے ہیں شٹل، صارف اضافہ کرنے کے لئے کی اجازت دیتا ہے یا رفتار میں کمی. شاید آپ کو ایک عالمی متغیر کے لئے چاہتے ہیں کتنا ایندھن کا ٹریک رکھنے کے شٹل میں کمی، ہے یہ آپ کے ساتھ جانے کے طور پر. آپ کو صفر مارا ایک بار، اگرچہ، شٹل آپ نے جب تک منتقل کرنے کے لئے نہیں کر سکیں گے شاید ایک بٹن کا استعمال کرتے ہوئے، یا، شدید یہاں تک کہ آپ اپنے گیس سٹیشن بنانے کے. لیکن یہ یقینی طور پر نہیں ہے ایک جامع فہرست. مکمل رپورٹ کو چیک کریں فہرست، یا شاید تجویز آپ آپ TF کے لئے خود. آسمان حد ہے. یہ آپ کی آخری CS50 P-سیٹ ہے، تو اس کے ساتھ مذاق ہے. یہ CS50 شٹل تھا. مجھے کہنا ہے، یہ ایک خوشی رہا ہے کے ساتھ آپ کے لئے ان کے بنانے پروڈکشن ٹیم. اور میں تم کیا ہے کہ امید ہے کہ اس کے ساتھ ساتھ، ان سے لطف اندوز. میرا نام کیا Zamyla ہے. اور اس CS50 تھا.