[MUSIC پخش] SPEAKER 1: خب، در اینجا ما هستند، آخرین مجموعه ای 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 می باشد. در حال حاضر من نیز می تواند ارزش های دسترسی از اشیاء با استفاده از نماد آرایه انجمنی. شاخص اصلی پس عصا، من می توانم مجموعه که به تکشاخ برابر، و یا بررسی کنید که، اگر من نیاز. یا من می توانم عملگر نقطه استفاده کنید. ترکه دات چوب برابر با گیلاس، و غیره، و غیره. پس می بینید که آرایه های انجمنی و اشیاء در جاوا اسکریپت می خواهد قابل تعویض، و اراده آمده در کاملا دستی. سپس ما می بینیم آرایه ای از ساختمان در buildings.js. باز هم، آرایه ای از اشیاء. اگر من می خواستم به مجموعه ای از بهترین ساختمان در دانشگاه هاروارد، و سپس من آن را به شرح زیر ایجاد کند. با استفاده از این نماد جسم، که در آن I ذخیره ریشه، نام، آدرس، عرض جغرافیایی، طول و عرض جغرافیایی برای هر شی ساختمان. اجازه دهید به سرعت در مورد متغیرهای صحبت در جاوا اسکریپت. مانند PHP، متغیرهای جاوا اسکریپت در حال ضعیف و یا از نوع بی قاعده. برای ایجاد یک متغیر محلی شما پیشوند نام متغیر با V-A-R، ور. در حال حاضر در جاوا اسکریپت، تابع، محدود کردن دامنه از متغیرهای. بنابراین اگر شما یک متغیر محلی در یک تابع، و سپس توابع دیگر می توانید آن را دسترسی پیدا کنید. اما بر خلاف C، حلقه ها و شرایط انجام نمی محدود کردن دامنه یک متغیر. بنابراین حتی اگر شما آن را در داخل یک اعلام شرایط، کل تابع دسترسی به آن را دارند. حالا متغیر، متغیر جهانی خواهد بود. بنابراین اگر شما فقط به اعلام نام و تعیین یک مقدار، پس از آن که متغیر خواهد شد یک متغیر جهانی در جاوا اسکریپت. در حال حاضر در خانه، ما یک انجمنی آرایه ای از اشیاء نوع خانه، که در آن هر خانه فقط یک طول و عرض جغرافیایی است و طول جغرافیایی. سپس ما را از مسافران آرایه است که یک آرایه از نوع شی مسافر. بنابراین هر نفر یک نام کاربری، یک نام و یک خانه. توجه داشته باشید که من از دیدن از نوع مسافری، که واقعا فقط به معنی که هر جسم است یک زوج کلید. بنابراین هر شیء از نوع مسافر است نام کاربر، نام، و یک خانه. بنابراین چه چیزی ما را به نیاز برای مجموعه ای P انجام دهید؟ خب، ما باید به کاربران اجازه می دهد تا انتخاب کنید تا کارکنان، برای نمایش تمام اعضای هیات که در حال حاضر در شاتل ما، و آنها را به رها کردن. و سپس ما نیز در مورد فوق العاده صحبت ویژگی های است که می تواند برای اجرا شاتل مجموعه P. اما اجازه دهید در مورد وانت بحث اول است. چهره کارکنان CS50 شده است در سراسر محوطه دانشگاه کاشته، که در آن هر صورت به عنوان یک علامت محل اجرا بر روی زمین 3D، و به عنوان یک نشانگر را بر روی نقشه 2D. بنابراین، هنگامی که کاربر کلیک وانت را فشار دهید، ما می خواهیم برای اضافه کردن این نزدیکی مسافران به شاتل. و ما همچنین می خواهم به حذف جای خود را علامت از جهان، و حذف آنها نشانگر از نقشه، نشان می دهد که آنها در شاتل ما در حال حاضر است. پس چگونه می توانم تشخیص ما اگر مسافر در طیف وسیعی از شاتل ما هستند؟ خوب، از راه دور تابع - بنابراین شاتل فاصله نقطه، عبور در طول و عرض جغرافیایی، خواهد شد محاسبه فاصله از جریان موقعیت شاتل به نکته ای که شما را با آن مشخص با توجه به طول و عرض جغرافیایی. بنابراین شما می توانید این برای محاسبه استفاده از فاصله از شاتل به مسافر. اما چگونه می دانید که در آن مسافر می باشد؟ خوب، که در آن ما را به ویرایش تابع جمعیت. مکان های جمعیت همه کارکنان و مسافران به جهان، و به نقشه، اما نمی کند ذخیره محل خود. بنابراین شاید شما می توانید فروشگاه خود را جای علامت و نشانگر در بعضی از مجموعه ای جهانی است. در حال حاضر در حال حاضر یک آرایه جهانی وجود دارد ذخیره سازی اطلاعات از مسافران. هر یک از فروشگاه های مسافر آرایه نام و نام خانوادگی مسافر و خانه خود را. شاید شما می توانید چند پارامتر اضافه وجود دارد به اشیاء مسافر. برای کمک به ما شناسایی تمام مسافران در طیف وسیعی از شاتل، بیایید حلقه را از طریق تمام مسافران در آرایه مسافر. حلقه for در جاوا اسکریپت ممکن است نگاه چیزی شبیه به این، بسیار شبیه به کسانی که برای حلقه در C. یا ما می توانیم با استفاده از جایگزین برای ساختار حلقه. برای ور من در آرایه، که در آن I هنوز هم شاخص باشد. اما شما لازم نیست که برای مشخص طول آرایه نقطه شرایط، و من به علاوه به علاوه. محل سکونت هر مسافر است داده شده توسط علامت جای خود. اما علامت جای نیست عرض و طول جغرافیایی. ما باید برای دسترسی به آن پارامترها توسط گرفتن هندسه، با استفاده از GET هندسه در علامت محل. و سپس یک بار ما باید هندسه، گرفتن یا طول و عرض جغرافیایی یا طول جغرافیایی، استفاده از آن دسته از توابع. بنابراین در حال حاضر ما می دانیم که چگونه به تشخیص اینکه آیا مسافران در است طیف وسیعی از شاتل است. زمانی که ما آن دسته از مسافران، ما می خواهم برای اضافه کردن هر مسافر که در آن محدوده. ما می خواهیم به آنها اجازه هاپ در، و نگاهی به صندلی در شاتل ما، اما تنها اگر ما به اندازه کافی جا برای آنها. آرایه صندلی شاتل نقطه خواهد شد نشان می دهد که آیا صندلی های خالی، و یا که در آن صندلی است. بنابراین اگر یک صندلی خالی، و سپس که صندلی null خواهد بود. بنابراین در طول آرایه صندلی تکرار، چک کردن برای صندلی های خالی، ذخیره سازی مسافران به کسانی که صندلی تا زمانی که شما هیچ صندلی های خالی بیشتر ندارد. و متاسفانه، هر مسافر دیگر باید برای صبر کنید دفعه بعد که شاتل می آید در اطراف. هنگامی که آنها در شاتل، ما می خواهم برای حذف علامت جای خود را، که عکس خود را در جهان 3D است. اگر من می خواستم به حذف فسفر علامت مکان، پس من همه از ویژگی های دریافت از زمین من، از کره زمین گوگل، و سپس حذف آن محل خاص علامت با استفاده از تابع removeChild. سپس در آخر، اجازه دهید نشانگر را حذف کنید، آیکون را بر روی نقشه 2D برای هر مسافر که ما برداشته. برای حذف یک مارکر، متر، پس از آن من فقط اجرا M نقطه setMap تهی. این کار را برای هر مسافر در محدوده، و شما وانت به پایان رسید.