>> ZAMYLA Chan: Yaxşı, burada biz, son p-müəyyən CS50.
Olan özünüzü təbrik edirəm bu günə qədər gəlib ilk Salam bəri
Worlds və Printing Up Mario Pyramids.
Siz keçən həftə veb etdi.
Və biz başqa bir edilməsi olacaq Bu həftə, bir sizə imkan verir ki,
aldığınız, Harvard kampus ətrafında sürücü CS50 heyəti üzvləri və
onları geri gətirilməsi onların yaşayış evləri.
>> İndi, ötən həftə biz PHP işləyib bir server yan dil.
Bu p-set üçün, biz təqdim edirik bir olan JavaScript üçün
klient dil.
Beləliklə də bəzi nəzər salaq üçün təqdim etdiyi distribution kodu
Bu p-set üçün.
JavaScript qovluq var olacaq JavaScript faylları bir dəstə.
>> Bir olan buildings.js var Harvard ətrafında binaların array
onların informasiya ilə kampus və mövqeyi.
Houses.js Harvard bir sıra edir yaşayış evləri onların
en və uzunluq.
Passengers.js bir sıra var sərnişin, CS50 əməkdaşları
siz geri gətirilməsi lazımdır ki, onların yaşayış evləri.
>> Bir çox ehtiva Math3D.js, hərəkəti ilə funksiyaları.
Siz riyazi minded danışırsınızsa, sonra Mən sizə bir nəzər salamlayıram.
Amma anlamaq üçün ehtiyac yoxdur orada hər şey.
Shuttle.js ki, ilə məşğul Bu Shuttle hərəkət.
Və index.html ana səhifə olduğu hər şey, həqiqətən, baş harada
istifadəçi saytın ilə əlaqə edir.
>> Service.css CSS stil, olan Twitter əlavə
Bootstrap Kitabxana, nəzarət necə index.html görünür.
Və sonra biz də service.js var, üçün xidmət funksiyaları ehtiva edir
Shuttle.
Və burada olacaq harada to-do nin bəzi doldurulması.
>> İndi obyektlərin nəzər edək və JavaScript assosiativ diziler,
olan bütün niyyətli və məqsədləri üçün, birini əvəz edir.
Mən obyekt dəyişən etmək istəyirdi Mən, bir çubuq olardı adlı
bəyan edir.
Və bu qıvrım aşırma daxilində, mən edərdim daxil, əsas, ağac unicorn edir
albalı və uzunluğu 13.
>> İndi də dəyərlər əldə edə bilərsiniz istifadə obyektlərin
assosiativ array notation.
Belə ki, çubuq index core, mən bilərsiniz ki, unicorn bərabər və ya
Mən lazımdır ki, kontrol edin.
Yoxsa mən dot operator istifadə edə bilərsiniz wand.wood albalı bərabərdir, və
belə və s.
Siz görəcəksiniz ki, assosiativ seriallarda və JavaScript obyektlərin olacaq
əvəz, və iradə olduqca lazımlı gəlir.
>> Sonra binaların bir sıra bax buildings.js da,
yenidən, obyektlərin bir sıra.
Mən yaxşı bir sıra etmək istəyirdi sonra Harvard şəhərciyində binalar,
Aşağıdakı kimi mən bunu etmək olardı.
Bu obyekt notation istifadə edərək, harada Mən kök, adı, ünvanı saxlamaq,
hər enlem, və boylam bir ev object.
>> Tez dəyişənlər haqqında danışaq JavaScript.
PHP, JavaScript dəyişənlər kimi zəif və ya loosely çap olunub.
Yerli dəyişən yaratmaq üçün, prefiks V-A-R, var olan dəyişən adı.
İndi, JavaScript, funksiyaları olacaq dəyişənlərin məhdudlaşdırır.
Beləliklə, siz ərzində bir yerli dəyişən varsa bir funksiyası, sonra digər funksiyaları
gedə bilməz.
>> Lakin C fərqli olaraq, loops və şərait yoxdur dəyişən məhdudlaşdırır.
Bir daxilində bəyan Belə ki, hətta əgər vəziyyəti, bütün funksiyası olacaq
bu çıxışı var.
İndi var olmadan, dəyişən qlobal olacaq.
Yalnız adını elan və əgər bir dəyər təyin, sonra dəyişən
qlobal dəyişən olacaq JavaScript.
>> İndi, evlərdə, biz assosiativ var host tipli obyektlərin, array burada
hər evin bir Enlem edir və boylam.
Sonra sərnişin var bir sıra olan array,
obyekt növü sərnişin.
Belə ki, hər bir sərnişin bir istifadəçi var , adı, və ev adı.
>> Mən növü dedi alıram edək ki həqiqətən, yalnız deməkdir sərnişin,
hər obyekt var ki, eyni əsas dəyər cüt.
Belə ki, növü sərnişin hər obyekt var bir istifadəçi adı, adı, və ev.
Belə ki, nə biz lazımdır p-set üçün nə?
Yaxşı, biz istifadəçilər seçin imkan lazımdır heyət üzvləri up, bütün keçirmək üçün
Hal-hazırda olan əməkdaşları Bizim servis, və onlara yuxulamaq.
Və sonra biz də əlavə haqqında danışmaq lazımdır üçün həyata keçirilə bilər ki, xüsusiyyətləri
Shuttle p-set.
>> Amma ilk alma haqqında danışmaq edək.
CS50 heyəti üzləri olmuşdur bütün kampus üzərində əkilmiş hər
üz bir yer işarəsi kimi həyata keçirilir 3D Earth, və kimi
2D xəritədə marker.
Istifadəçi Pikap klik Belə ki, düyməsini, biz yaxın əlavə etmək istəyirəm
servis sərnişinlərin.
Və biz də onların aradan qaldırılması istəyirəm dünyanın qeyd və aradan qaldırılması onların
Xəritədə marker olduğunu ifadə edən onlar indi bizim servis istəyirik.
>> Belə ki, necə biz aşkar əgər sərnişinlər Bizim servis daxilində var?
Yaxşı, funksiyası məsafə, belə ki, shuttle.distance, bu keçən
enlem ve boylam, hesaplar cari vəziyyəti olan məsafə
nöqtəsinə servis ki, ki, verilmiş müəyyən
enlem ve boylam.
Beləliklə, siz hesablanması üçün bu istifadə edə bilərsiniz Bu üçün servis məsafə
sərnişin.
>> Amma necə bilirsiniz harada sərnişinlərin var?
Biz lazımdır yaxşı ki, Bu yaşayır funksiyası redaktə.
Yerlərdə heyət üzvləri bütün yaşayır dünyaya sərnişin
və xəritə daxil, lakin deyil onların yeri saxlamayın.
Belə ki, bəlkə siz saxlaya bilərsiniz onların nişanları və markerlər yerləşdirmək
bəzi qlobal array.
>> İndi, artıq qlobal array var sərnişin məlumat saxlanılması.
Sərnişinlər array mağazalar hər sərnişin adı və onların ev.
Belə ki, bəlkə bir neçə parametrləri əlavə edə bilərsiniz orada sərnişin obyektlərin.
>> Us sərnişinlərin bütün aşkar kömək etmək üçün bizim dairəsində
Bu bütün vasitəsilə servis, edək loop sərnişinlər array sərnişin.
JavaScript A üçün loop ola bilər çox oxşar bu kimi bir şey,
C. loops üçün bu və ya biz bir istifadə edə bilərsiniz üçün, loop strukturu üçün alternativ
array var i, i hələ olacaq indeksi, ancaq ehtiyac yoxdur
Bu array.length daxil vəziyyəti və i + +.
>> Hər sərnişin yer onların yer nişanı verilir.
Amma yer mark deyil enlem ve boylam.
Biz həmin parametrləri daxil olmaq üçün GET istifadə edərək, həndəsə əldə
sonra yer işarəsi həndəsə, və biz əldə, həndəsə bir dəfə
Enlem və ya boylam ya bu funksiyaları istifadə.
>> Belə ki, indi biz olmadığını aşkar etmək üçün necə sərnişin ərzində
Bizim servis üçündür.
Biz həmin sərnişin var, biz will ki, bir sərnişin əlavə etmək istəyirəm
ki, daxilində.
Biz onları hop və almaq üçün imkan istəyirəm bizim servis oturacaq, ancaq
biz onlara kifayət qədər otaq var.
>> The shuttle.seats array göstərir oturacaqlar boş olub, və ya
edən oturacaq var.
Belə ki, bir oturacaq boş, sonra əgər ki, oturacaq null olacaq.
Belə ki, salon serialın üzərində təkrarlamaq, saxlanılması, yerlər üçün yoxlanılması
sizin qədər o Oturacaqların daxil sərnişinlər bir daha boş oturacaqlar yoxdur.
Və təəssüf ki, hər hansı digər sərnişinlər üçün gözləməli olacaq
növbəti dəfə servis aşağı gəlir.
>> Onlar servis almaq, biz lazımdır onların yer nişanı aradan qaldırılması üçün
3D dünyada öz foto edir.
Mən bir yer mark p çıxarmaq istədim əgər sonra mən bütün özellikleri almaq olardı
Mənim Earth, Google Earth, və sonra xüsusi səhnəsində aradan qaldırılması
Bu removeChild funksiyası istifadə qeyd.
Sonra nəhayət, ən marker aradan qaldırılması bildirin hər hansı 2D xəritədə icon,
biz aldığınız ki, sərnişin.
>> Bir marker m aradan qaldırılması üçün, sonra mən yalnız m.setMap null icra.
Daxilində bir sərnişin üçün bunu, və alma başa etdik.
Bu chart funksiyası bütün göstərmək lazımdır olan sərnişinlərin sizin
servis, və boş oturacaq boş əgər.
Belə ki, chart üzərində təkrarlamaq lazımdır shuttle.seats, bu tapılanlar
hər indeksi üçün sərnişin məlumat, və boş oturacaq ki, index null əgər.
>> İndi HTML mətn daxilində qoymaq əgər JavaScript dəyişən, daha sonra istifadə edərək,
document.getElementById, chart bilər verilir ki, daxili HTML redaktə
təyin edərək element Bu HTML mətn
document.getElementById daxili HTML dəyişən.
Istifadəçilər Drop Off düyməsini basın zaman index.html, bu zəng edəcəyik
düşüş funksiyası.
Və bu həyata keçirmək üçün bizim iş var.
>> Minməsi, biz hər hansı bir çıxarmaq lazımdır servis sərnişinlər yalnız
biz onların təyinat intervalında olduğunuzda, onların yaşayış evi.
Belə ki, düşüş olmadığını yoxlamaq olacaq Bu servis hər hansı bir sıra edir
evləri, və hər hansı bir ehtiyac aradan qaldırılması servis sərnişinlər.
Biz əgər Belə ki, necə biz yoxlamaq yoxdur bir evlərin intervalında?
Bəli, yenə də, biz istifadə etmək lazımdır keçən funksiyası shuttle.distance
baxımından enlem ve boylam biz qarşı yoxlanılması etdiyiniz.
>> Lakin həmin xal nə var?
Yaxşı, evlərin array Yadınızdadırsa, əgər houses.js ildə sakladığı
hər evin enlem ve boylam assosiativ array, hər
index ki, evin adı.
Sonra sərnişin aradan qaldırılması -
yaxşı, biz intervalında olduğunuzda yalnız onların onlar getmək istəyirəm ki, ev.
Belə ki, yenə, unutmayın ki, sərnişinlər ev mağazalar hər sərnişin
getmək istəyir.
Onlar əhatə dairəsində olduqda onların ev, sonra biz aradan qaldırılması lazımdır
shuttle.seats və set sərnişin null serialın öz mövqeyi.
>> İndi bəzi əlavə xüsusiyyətləri haqqında danışaq ki, həyata keçirilə bilər
CS50 Shuttle p-set.
Bir point sistemi var qovuşdurmağımız Siz takip neçə
bir istifadəçi var göstərir.
Sərnişin off düşmə üçün uğurla, onlar xal əldə edə bilərsiniz.
Amma sərnişin yuxulamaq üçün çalışırıq üçün hər hansı bir ev yaxın yoxdur,
yaxşı, onlar üçün cərimə bilərsiniz.
Belə ki, bəlkə track saxlamaq istədiyiniz qlobal dəyişən bal.
>> Siz bəlkə bir Taymer, həyata edə bilərsiniz istifadəçi müəyyən bir malikdir
up seçin və off düşmək üçün vaxt sərnişin sayı müəyyən.
Bəlkə hətta bu inteqrasiya point sistemi ilə.
Yoxsa, belə ki Chart redaktə edə bilərsiniz sərnişin ev ilə sıralanır.
Belə ki, yəqin ki, bir növ olardı shuttle.seats fəaliyyət göstərir.
>> Siz uçan xüsusiyyət həyata keçirə bilər, olduğu istifadəçi Konami giriş əgər
kodu, sonra servis off yüksəldir torpaq və servis uçmaq bilər.
Amma off təhlükəsiz açılan üçün, ən yaxşı etmək üçün Bu servis onun təkərlər torpaq
ilk yer.
Siz həmçinin teleportation həyata keçirə bilər, Siz siyahısı aşağı açılan etmək harada
index.html binalar.
Və o biri, seçilməsi istifadəçi nəql olunacaq
kampus bina.
OK, baxmayaraq ki, ilə səyahət bəzi divarları
orada yol binalar.
>> Siz həmçinin sürəti dəyişə bilərsiniz servis, istifadəçi artırmaq üçün imkan
və ya sürəti azaltmaq.
Yəqin ki, bir qlobal dəyişən istəyirəm nə qədər yanacaq takip
servis azalır var siz boyunca getmək kimi.
Siz sıfır hit sonra, baxmayaraq ki, servis Siz var halda hərəkət edə bilməyəcək
bəlkə bir 'düyməsinə istifadə edərək, və ya, refueled hətta öz qaz stansiyası olun.
>> Amma əlbəttə deyil tam siyahısı.
Tam Spec edin siyahısı, və ya bəlkə təklif
sizin TF öz.
Göy həddi deyil.
Bu son CS50 p-set edir, belə ki, bu əyləncə var.
Bu CS50 Shuttle idi.
>> Mən demək var, bu bir zövq oldu ilə sizin üçün bu edilməsi
istehsal komanda.
Və mən var ümid edirəm ki, eləcə də, onlara zövq.
My name Zamyla edir.
Bu CS50 idi.