ZAMYLA CHAN: خوب، در اینجا ما، آخرین-P را در CS50. تبریک می گویم خودتان را از داشتن آمده تا کنون از زمان اولین خوش شما جهان و چاپ بالا اهرام مصر برای ماریو. شما ساخته شده یک وب سایت به هفته گذشته است. و ما قصد داریم به ساخت یک دیگر این هفته، که به شما اجازه می دهد تا به رانندگی در سراسر محوطه دانشگاه هاروارد، چیدن تا کارکنان CS50 و آوردن آنها را به خود خانه های مسکونی. در حال حاضر، در هفته گذشته ما در PHP کار می کرد، یک زبان سمت سرور. برای این p-مجموعه، ما در حال معرفی شدن به جاوا اسکریپت است، که یک مشتری زبان سمت. بنابراین اجازه دهید نگاهی به برخی از کد توزیع است که به ارائه شما برای این p-مجموعه. در پوشه جاوا اسکریپت، وجود خواهد یک دسته از فایل های جاوا اسکریپت. این buildings.js، که حاوی وجود دارد آرایه ای از ساختمان های اطراف دانشگاه هاروارد محوطه دانشگاه، با اطلاعات خود را و موقعیت. Houses.js آرایه ای از دانشگاه هاروارد است خانه های مسکونی با خود عرض و طول جغرافیایی. Passengers.js شامل آرایه ای از مسافران، کارکنان CS50 که به شما امکان بازگرداندن به خانه های مسکونی خود را. Math3D.js، که حاوی مقدار زیادی از توابع برای انجام با جنبش. اگر شما از نظر ریاضی فکر می کنید، پس از آن خوش آمدید من شما را به یک نگاه. اما شما لازم نیست به درک همه چیز در آن وجود دارد. Shuttle.js، که با معاملات جنبش شاتل. و index.html به صفحه اصلی است که در آن همه چیز اتفاق می افتد، واقعا، که در آن کاربر با سایت تعامل. Service.css شیوه نامه CSS است، که علاوه بر توییتر کتابخانه خود راه انداز، کنترل چگونه به نظر می رسد میکنید. و سپس ما نیز service.js، باید که شامل توابع خدمات برای شاتل. و در اینجا که در آن شما خواهد بود پر کردن برخی از کارهای روزانه است. حالا اجازه دهید نگاهی به اشیاء و آرایه های انجمنی در جاوا اسکریپت، که برای تمام مفاهیم و اهداف، قابل تعویض هستند. اگر من می خواستم به یک شی یک متغیر به نام گرز، من می اعلام آن. و در داخل آن آکولاد، من مشخص، هسته تکشاخ است، چوب گیلاس است، و طول 13 می باشد. در حال حاضر، من نیز می تواند ارزش های دسترسی از اشیاء با استفاده از نماد آرایه انجمنی. شاخص اصلی پس عصا، من می توانم مجموعه که به تکشاخ برابر، و یا بررسی کنید که اگر من نیاز. یا من می توانم عملگر نقطه استفاده کنید wand.wood برابر گیلاس، و غیره و غیره. پس می بینید که آرایه های انجمنی و اشیاء در جاوا اسکریپت می خواهد قابل تعویض، و اراده آمده در کاملا دستی. سپس ما می بینیم آرایه ای از ساختمان در buildings.js، دوباره، آرایه ای از اشیاء. اگر من می خواستم به مجموعه ای از بهترین ساختمان در دانشگاه هاروارد، و سپس من آن را به شرح زیر ایجاد کند. با استفاده از این نماد جسم، که در آن I ذخیره ریشه، نام، آدرس، عرض جغرافیایی، طول و عرض جغرافیایی برای هر شی ساختمان. اجازه دهید به سرعت در مورد متغیرهای صحبت در جاوا اسکریپت. مانند PHP، متغیرهای جاوا اسکریپت در حال ضعیف و یا از نوع بی قاعده. برای ایجاد یک متغیر محلی شما پیشوند نام متغیر با V-A-R، ور. در حال حاضر، در جاوا اسکریپت، تابع، محدود کردن دامنه از متغیرهای. بنابراین اگر شما یک متغیر محلی در یک تابع، و سپس توابع دیگر می توانید آن را دسترسی پیدا کنید. اما بر خلاف C، حلقه ها و شرایط انجام نمی محدود کردن دامنه یک متغیر. بنابراین حتی اگر شما آن را در داخل یک اعلام شرایط، کل تابع دسترسی به آن را دارند. در حال حاضر، بدون ور، متغیر جهانی خواهد بود. بنابراین اگر شما فقط به اعلام نام و تعیین یک مقدار، پس از آن که متغیر خواهد شد یک متغیر جهانی در جاوا اسکریپت. در حال حاضر، در خانه، ما یک انجمنی آرایه ای از اشیاء نوع میزبان، که در آن هر خانه فقط یک طول و عرض جغرافیایی است و طول جغرافیایی. سپس ما را از مسافران آرایه است که یک آرایه از نوع شی مسافر. پس هر مسافر یک کاربر نام، نام، و یک خانه. توجه کنید که من گفت از نوع مسافری، که واقعا فقط به معنی که هر جسم است همان جفت ارزش کلیدی است. بنابراین هر شیء از نوع مسافر است نام کاربر، نام، و یک خانه. بنابراین چه چیزی ما را به نیاز برای p-مجموعه ای کاری انجام دهید؟ خب، ما باید به کاربران اجازه می دهد تا انتخاب کنید تا کارکنان، برای نمایش تمام اعضای هیات که در حال حاضر در شاتل ما، و آنها را به رها کردن. و سپس ما نیز در مورد فوق العاده صحبت ویژگی های است که می تواند برای اجرا شاتل p-مجموعه. اما اجازه دهید در مورد وانت بحث اول است. چهره کارکنان CS50 شده است در سراسر محوطه دانشگاه کاشته، که در آن هر صورت به عنوان یک علامت محل اجرا در 3D زمین، و به عنوان یک نشانگر را بر روی نقشه 2D. بنابراین، هنگامی که کاربر کلیک وانت را فشار دهید، ما می خواهیم برای اضافه کردن این نزدیکی مسافران به شاتل. و ما همچنین می خواهم به حذف جای خود را علامت از جهان و حذف آنها نشانگر از نقشه، نشان می دهد که آنها در شاتل ما در حال حاضر است. پس چگونه می توانم تشخیص ما اگر مسافر در طیف وسیعی از شاتل ما هستند؟ خوب، از راه دور تابع، بنابراین shuttle.distance، عبور در طول و عرض جغرافیایی، محاسبه خواهد شد فاصله از موقعیت فعلی از شاتل به نقطه ای که شما را با آن داده شده مشخص طول و عرض جغرافیایی. بنابراین شما می توانید این برای محاسبه استفاده از فاصله از شاتل به مسافر. اما چگونه می دانید که در آن مسافر می باشد؟ خوب، که در آن ما را به ویرایش تابع جمعیت. مکان های جمعیت همه کارکنان در مسافران به جهان و به نقشه، اما نمی کند ذخیره محل خود. بنابراین شاید شما می توانید فروشگاه خود را جای علامت و نشانگر در بعضی از مجموعه ای جهانی است. در حال حاضر، یک آرایه جهانی وجود دارد در حال حاضر است ذخیره سازی اطلاعات از مسافران. هر یک از فروشگاه های مسافر آرایه نام و نام خانوادگی مسافر و خانه خود را. شاید شما می توانید چند پارامتر اضافه وجود دارد به اشیاء مسافر. برای کمک به ما همه مسافران تشخیص در طیف وسیعی از ما شاتل، حلقه اجازه دهید به همه مسافران در آرایه مسافر. حلقه for در جاوا اسکریپت ممکن است نگاه چیزی شبیه به این، بسیار شبیه به کسانی که برای حلقه ها در C. یا ما می توانیم با استفاده از جایگزین برای ساختار حلقه، برای ور من در آرایه، جایی که من هنوز هم می شود شاخص، اما شما لازم نیست مشخص array.length شرایط و من + +. محل سکونت هر مسافر است داده شده توسط علامت جای خود. اما علامت جای نیست عرض و طول جغرافیایی. ما باید برای دسترسی به آن پارامترها توسط گرفتن هندسه، با استفاده از GET هندسه در علامت محل، و پس از آن یک بار ما باید هندسه، گرفتن یا عرض و یا طول جغرافیایی با استفاده از آن دسته از توابع. بنابراین در حال حاضر ما می دانیم که چگونه به تشخیص اینکه آیا مسافران در است طیف وسیعی از شاتل است. زمانی که ما آن دسته از مسافران، ما می خواهم برای اضافه کردن هر مسافر که در آن محدوده. ما می خواهیم به آنها اجازه هاپ در و یک کرسی در شاتل ما، اما تنها اگر ما اتاق به اندازه کافی به آنها. آرایه shuttle.seats نشان می دهد آیا صندلی های خالی، و یا که در آن صندلی است. بنابراین اگر یک صندلی خالی، و سپس که صندلی null خواهد بود. بنابراین در طول آرایه صندلی تکرار، چک کردن برای صندلی های خالی، ذخیره سازی مسافران به کسانی که صندلی تا زمانی که شما هیچ صندلی های خالی بیشتر ندارد. و متاسفانه، هر مسافر دیگر باید برای صبر کنید دفعه بعد که شاتل پایین می آید. هنگامی که آنها در شاتل، ما می خواهم برای حذف علامت جای خود را، که عکس خود را در جهان 3D است. اگر من می خواستم به حذف فسفر علامت مکان، پس من همه از ویژگی های دریافت از زمین من، از کره زمین گوگل، و سپس حذف آن محل خاص علامت با استفاده از تابع removeChild. سپس در آخر، اجازه دهید نشانگر را حذف کنید، آیکون را بر روی نقشه 2D، برای هر مسافر که ما برداشته. برای حذف یک نشانگر متر، پس از آن من فقط اجرا m.setMap تهی. این کار را برای هر مسافر در محدوده، و شما وانت به پایان رسید. تابع نمودار باید همه نمایش از مسافران موجود در خود را شاتل و صندلی خالی اگر خالی است. بنابراین نمودار باید تکرار بیش از shuttle.seats، نمایش اطلاعات مسافر برای هر شاخص، و صندلی خالی در صورتی که شاخص تهی شده است. حال اگر متن HTML در داخل یک قرار جاوا اسکریپت متغیر، و سپس با استفاده از document.getElementByID، نمودار می تواند ویرایش HTML داخلی است که با توجه به عنصر را تعیین متن HTML به document.getElementByID متغیر HTML داخلی است. هنگامی که کاربران با کلیک بر روی دکمه رها کردن در index.html به، آن را تماس بگیرید عملکرد dropoff. و این کار ما را برای پیاده سازی آن است. در dropoff، ما می خواهید به حذف هر گونه مسافران از شاتل تنها در صورتی ما در طیف وسیعی از مقصد خود هستید، خانه مسکونی خود را. بنابراین dropoff خواهد شد که آیا بررسی شاتل است در طیف وسیعی از هر یک از خانه ها، و حذف هر مورد نیاز مسافران از شاتل. پس چگونه بررسی می کنیم اگر ما در محدوده هر خانه؟ خوب، دوباره، ما به شما استفاده از را shuttle.distance عملکرد، عبور در طول و عرض جغرافیایی از نقطه که ما در حال چک کردن در برابر. اما آنچه در آن نقاط می باشد؟ خوب، آرایه خانه، اگر شما به یاد داشته باشید در houses.js، فروشگاه ها طول و عرض جغرافیایی هر خانه در یک آرایه انجمنی، که در آن هر صفحه اول نام آن خانه است. سپس به حذف مسافران - خوب، تنها در صورتی که ما در طیف وسیعی از هستی خود خانه که آنها می خواهند برای رفتن به. بنابراین دوباره، به یاد داشته باشید که مسافران فروشگاه خانه که هر مسافر می خواهد برای رفتن به. اگر آنها در طیف وسیعی از می خود خانه، پس از آن خواهیم حذف مسافر از shuttle.seats و مجموعه موقعیت خود را در آرایه تهی. حالا اجازه دهید در مورد برخی از ویژگی های اضافی صحبت است که می تواند در اجرا CS50 شاتل p-مجموعه. یک سیستم نقطه وجود دارد که به موجب آن شما پیگیری از حفظ چگونه بسیاری از اشاره یک کاربر است. برای پیاده کردن مسافران موفقیت، آنها می توانند امتیاز دریافت کنید. اما تلاش برای رها کردن مسافر است که در آن هر خانه وجود دارد در این نزدیکی هست، خب، آنها می توانید برای آن تنبیه. بنابراین شاید شما می خواهید برای پیگیری نقاط در یک متغیر جهانی است. شما می توانید شاید یک تایمر، پیاده سازی که در آن کاربر یک مقدار مشخصی از زمان به بلند کردن و رها کردن تعداد معینی از مسافران. شاید حتی این ادغام با سیستم نقطه. یا شما می توانید نمودار را ویرایش کنید به طوری که مسافر توسط خانه طبقه بندی شده اند. به طوری که احتمالا یک نوع است عمل به shuttle.seats. شما می توانید از ویژگی های پرواز پیاده سازی، که در صورتی که کاربر ورودی کونامی کد، پس از آن شاتل بلند کردن زمین و شاتل می تواند پرواز کند. اما برای یک قطره امن کردن، بهترین را شاتل فرود چرخ آن در زمین برای اولین بار. شما همچنین می توانید انتقال از راه دور پیاده سازی، که در آن شما را به یک لیست از پایین ساختمان در میکنید. و انتخاب یکی از آن ها، کاربر خواهد شد به حمل و نقل که ساختمان در محوطه دانشگاه. OK، هر چند، از طریق سفر دیوارهای برخی از ساختمان ها در راه خود را وجود دارد. شما همچنین می توانید سرعت را تغییر دهید شاتل، اجازه می دهد تا کاربر را به افزایش یا کاهش سرعت. شاید شما بخواهید یک متغیر جهانی به پیگیری چه مقدار سوخت شاتل است، کاهش آن را به عنوان شما را به همراه. هنگامی که شما صفر است، هر چند، شاتل قادر خواهد بود به حرکت می کند مگر اینکه شما در سوخت گیری مجدد، شاید با استفاده از یک دکمه، و یا حتی ایستگاه های گاز خود را. اما قطعا نمی یک لیست جامع. اتمام تنظیمات برای کامل لیست، یا شاید پیشنهاد خود را به TF خود شما. آسمان محدود است. این آخرین CS50 p-مجموعه خود است، تا از آن لذت ببرید با آن است. این CS50 شاتل بود. من به گفتن نیست، آن شده است لذت ساخت این برای شما با تیم تولید. و من امیدوارم که شما لذت بردن از آنها، و همچنین. نام من Zamyla است. و این CS50 بود.