>> ZAMYLA Chan: Well, aħna qegħdin hawn, l-aħħar p stabbiliti fl CS50.
Nifraħ yourselves milli jkollhom wasal s'issa peress ewwel Hello tiegħek
Dinjiet u Stampar Up Piramidi għall Mario.
Inti għamilt websajt aħħar ġimgħa.
U aħna qed tmur li jkun qed jagħmel xulxin din il-ġimgħa, wieħed li jippermetti li inti
sewqan madwar il-kampus Harvard, picking up membri tal-persunal CS50 u
jġibhom lura għall tagħhom djar residenzjali.
>> Issa, l-aħħar ġimgħa ħdimna fil PHP, lingwa server sekondarji.
Għal din p-sett, aħna qed jkollna introdotti li JavaScript, li huwa
lingwa naħa tal-klijent.
Mela ejja tagħti ħarsa lejn uħud mill- kodiċi ta 'distribuzzjoni li mogħtija lill
inti għal din p-sett.
Fil-folder JavaScript, se jkun hemm jkun mazz ta 'JavaScript fajls.
>> Hemm buildings.js, li fih firxa tal-bini madwar Harvard
kampus bl-informazzjoni tagħhom u l-pożizzjoni.
Houses.js firxa ta 'Harvard djar residenzjali tagħhom
latitudnijiet u lonġitudnijiet.
Passengers.js fih firxa ta ' passiġġieri, il-membri tal-persunal CS50
li inti ser tkun li tressaq lura lejn djar residenzjali tagħhom.
>> Math3D.js, li fih ħafna ta ' funzjonijiet li għandhom x'jaqsmu mal-moviment.
Jekk int matematikament istess fehma, imbagħad I welcome inti tagħti ħarsa.
Imma inti m'għandekx bżonn li wieħed jifhem kollox fil hemmhekk.
Shuttle.js, li jittratta moviment tal-Shuttle tal.
U index.html huwa l-home page fejn kollox jiġri, verament, fejn il-
utent huwa interazzjoni mal-sit.
>> Service.css hija l-karta tal-istil CSS, li minbarra l-Twitter
Librerija bootstrap, kontrolli kif jistenna index.html.
U allura aħna wkoll ikollhom service.js, li fih il-funzjonijiet ta 'servizz għall-
il-Shuttle.
U hawnhekk fejn int ser tkun timla xi wħud mill-do to-.
>> Issa ejja tagħti ħarsa lejn oġġetti u arrays assoċjattiva fl JavaScript,
li, għall-finijiet u effetti kollha, huma interkambjabbli.
Jekk jien ridt li tagħmel oġġett varjabbli imsejħa wand, nixtieq
jiddikjaraha.
U ġewwa dawk braces kaboċċi, nixtieq tispeċifika, il-qalba hija Unicorn, l-injam
huwa ċirasa, u t-tul huwa ta '13.
>> Issa, I jistgħu wkoll aċċess valuri ta 'oġġetti li jużaw
notazzjoni firxa assoċjattiva.
Qalba indiċi So wand, I tista 'tistabbilixxi li ugwali għal Unicorn, jew
jivverifikaw li jekk għandi bżonn.
Jew I jistgħu jużaw l-operatur dot wand.wood ugwali ċirasa, u
hekk u ibqa 'sejjer hekk.
Allura inti tara li arrays assoċjattiva u oġġetti fl JavaScript ser ikunu
interkambjabbli, u se jaqgħu fil pjuttost handy.
>> Imbagħad naraw firxa ta 'bini fl buildings.js,
għal darb'oħra, firxa ta 'oġġetti.
Jekk jien ridt li jagħmlu firxa ta 'l-aħjar bini fuq Harvard kampus, allura
I jagħmilha kif ġej.
Bl-użu dan l-oġġett notazzjoni, fejn I jaħżnu l-għeruq, l-isem, l-indirizz,
latitudni, lonġitudni u għal kull oġġett bini wieħed.
>> Ejja malajr nitkellmu dwar varjabbli fl JavaScript.
Bħal PHP, JavaScript varjabbli huma dgħajjef jew laxk ittajpjat.
Biex jinħoloq varjabbli lokali, inti prefiss l-isem varjabbli V-A-R, var.
Issa, fil-JavaScript, il-funzjonijiet se jillimita l-ambitu ta 'varjabbli.
Mela jekk għandek varjabbli lokali fi ħdan , funzjoni funzjonijiet allura oħra
ma jistgħux ikollhom aċċess għaliha.
>> Iżda b'differenza C, loops u kundizzjonijiet ma jillimita l-ambitu ta 'varjabbli.
Għalhekk anki jekk inti tiddikjaraha ġewwa ta ' kundizzjoni, il-funzjoni kollha se
jkollhom aċċess għaliha.
Issa, mingħajr var, il-varjabbli se jkun globali.
Mela jekk inti biss tiddikjara l-isem u assenjat valur, allura dak il-varjabbli
se jkun fattur varjabbli globali fl JavaScript.
>> Issa, fid-djar, għandna assoċjattiva firxa ta 'oġġetti tat-tip ospitanti, fejn
kull dar huwa biss latitudni u lonġitudni.
Imbagħad għandna l-passiġġieri array, li hija array
tat-tip oġġett passiġġieri.
Allura kull passiġġier għandu utent isem, isem, u dar.
>> Avviż li jien qal tat-tip passiġġieri, li verament ifisser biss
li kull oġġett għandu l- istess pari valur ewlenin.
Allura kull oġġett ta 'tip passiġġier għandu isem l-utent, l-isem, u dar.
Allura dak li għandna bżonn li jagħmlu għall-p-sett?
Well, għandna bżonn li jippermettu lill-utenti li pick up membri tal-persunal, li jintwerew kollha
il-membri tal-persunal li bħalissa huma fil- shuttle tagħna, u biex qatra minnhom off.
U allura aħna ser jitkellmu wkoll dwar extra karatteristiċi li jistgħu jiġu implimentati għal
il-Shuttle p-set.
>> Imma ejja nitkellmu dwar Pickup ewwel.
L-uċuħ tal-persunal CS50 kienu mħawla kollha fuq il-kampus, fejn kull
wiċċ hija implimentata bħala trade post fuq id-Dinja 3D, u bħala
markatur fuq il-mappa 2D.
Allura meta l-utent klikks l-Pickup buttuna, irridu żid qrib
passiġġieri fil-shuttle.
U aħna rridu wkoll biex jitneħħew il-post tagħhom jimmarkaw mid-dinja u neħħi tagħhom
markatur minn mappa, li jindika li dawn qed fil-shuttle tagħna issa.
>> Allura kif nistgħu jiskopru jekk il-passiġġieri huma fil-firxa ta 'shuttle tagħna?
Ukoll, id-distanza funzjoni, sabiex shuttle.distance, li jgħaddi fil-
latitudni u lonġitudni, se jikkalkula id-distanza mill-pożizzjoni attwali
tal-shuttle sal-punt li inti tispeċifika ma 'dak mogħti
latitudni u lonġitudni.
Allura inti tista 'tuża dan biex tikkalkula l- distanza mill-shuttle għall-
passiġġieri.
>> Imma kif tkun taf fejn il-passiġġieri huma?
Ukoll, li fejn aħna ser ikollhom jeditjaw il-funzjoni timla.
Timla postijiet kollha tal-membri tal-persunal fil-passiġġieri fid-dinja
u fil-mappa, iżda ma jaħżnu post tagħhom.
Allura forsi inti jista 'jaħżen tagħhom poġġi marki u markers
f'xi firxa globali.
>> Issa, diāà hemm firxa globali ħażna ta 'informazzjoni mill-passiġġieri.
Il-ħwienet passiġġieri array kull l-isem tal-passiġġier u d-dar tagħhom.
Allura forsi inti tista 'żżid ftit parametri hemm biex l-oġġetti tal-passiġġieri.
>> Biex tgħinna jiskopru kollha tal-passiġġieri fil-firxa ta 'tagħna
shuttle, loop ejja kollha permezz tal- passiġġieri fil-firxa passiġġieri.
A għall-loop fil JavaScript tista 'tidher xi ħaġa bħal din, simili ħafna għal
dawk għal-linji fl C. Jew nistgħu jużaw alternattiva għall-istruttura loop, għal
i var fil-firxa, fejn i xorta se tkun l-indiċi, imma inti m'għandekx bżonn li
tispeċifika l-array.length kondizzjoni ui + +.
>> Post ta 'kull passiġġier huwa mogħtija mill-marka post tagħhom.
Iżda l-marka post ma jkunx l- latitudni u l-lonġitudni.
Għandna li jaċċedu għal dawk il-parametri minn jkollna l-ġeometrija, bl-użu get
ġeometrija dwar it-trade post, u mbagħad ladarba aħna għandna l-ġeometrija, jkollna
jew il-latitudni jew il-lonġitudni jużaw dawk il-funzjonijiet.
>> Allura issa nafu kif jiskopru jekk passiġġieri huma fi ħdan
firxa ta 'shuttle tagħna.
Ladarba għandna dawn il-passiġġieri, aħna ser tixtieq iżżid xi passiġġieri li huma
f'dik il-medda.
Aħna rridu li jippermettulhom li hops fuq u jieħdu siġġu fuq shuttle tagħna, iżda biss
jekk ikollna spazju biżżejjed għalihom.
>> Il-firxa shuttle.seats se jindikaw jekk sedili huma vojta, jew
li s f'dak is-sedil.
Mela jekk sedil ikun vojt, imbagħad dak is-sedil tkun nulla.
Allura jtenni fuq il-firxa sedili, verifika għall postijiet vojta, il-ħażna
passiġġieri fil dawk is-sedili sakemm inti m'għandhom l-ebda sedili aktar vojta.
U sfortunatament, xi passiġġieri oħra se jkollhom għalfejn jistennew l-
ħin li jmiss l-shuttle jaqa.
>> Ladarba jaslu fuq il-shuttle, aħna ser rridu biex jitneħħew marka post tagħhom, li
huwa ritratt tagħhom fid-dinja 3d.
Jekk jien ridt li tneħħi marka post p, allura nixtieq nikseb kollha tal-karatteristiċi
mill-Dinja tiegħi, mill-Dinja Google, u mbagħad neħħi dak il-post speċifiku
marka billi tuża l-funzjoni removeChild.
Imbagħad fl-aħħar, ejja tneħħi l-markatur, l-ikona fuq il-mappa 2D, għal kwalunkwe
passiġġieri li aħna picking up.
>> Biex tneħħi m marker, imbagħad I ser biss tesegwixxi null m.setMap.
Agħmel dan għal kull passiġġier fil-firxa, u inti ħadthom lest Pickup.
Il-funzjoni chart għandhom juru kollha tal-passiġġieri li huma fil tiegħek
shuttle, u s-sede vojta jekk vojta.
Allura chart għandu jtenni fuq shuttle.seats, juri l-
informazzjoni tal-passiġġieri għal kull indiċi, u s-sede vojta jekk f'dak l-indiċi huwa null.
>> Issa jekk test HTML jitqiegħed ġewwa ta ' , Imbagħad bil-JavaScript varjabbli użu
document.getElementById, chart jista jeditjaw il-HTML ġewwa dak mogħti
element billi jassenja l- Test HTML għall-
document.getElementById varjabbli HTML ġewwa.
Meta l-utenti ikklikkja l-buttuna Drop Off fil index.html, dan ser sejħa-
funzjoni dropoff.
U huwa xogħol tagħna sabiex jimplimentaw dik.
>> Fl dropoff, aħna ser tixtieq li tneħħi kwalunkwe passiġġieri minn l-shuttle biss jekk
aħna qed fil-firxa tad-destinazzjoni tagħhom, dar residenzjali tagħhom.
Allura dropoff ser ikollhom jiċċekkjaw jekk l-shuttle huwa fil-firxa ta 'kwalunkwe mill-
djar, u tneħħi kull bżonn passiġġieri mill-shuttle.
Allura kif nistgħu jiċċekkja jekk aħna qed fil-firxa ta 'kwalunkwe djar?
Well, għal darb'oħra, aħna ser jagħmlu użu mill- shuttle.distance funzjoni, li jgħaddi fil-
il-latitudni u lonġitudni tal-punt li aħna qed iċċekkjar kontra.
>> Imma liema huma dawk il-punti?
Ukoll, il-firxa houses, jekk tiftakar fil houses.js, taħżen l-
latitudni u lonġitudni ta 'kull dar fil firxa assoċjattiva, fejn kull
indiċi huwa l-isem ta 'dik id-dar.
Imbagħad biex jitneħħew passiġġieri -
ukoll, biss jekk aħna qed fil-firxa tagħhom dar li jkunu jridu jmorru biex.
Għalhekk għal darb'oħra, ftakar li l-passiġġieri taħżen l-dar li kull passiġġier
trid tmur.
Jekk huma fil-firxa tagħhom house, allura aħna ser jitneħħa dak
passiġġieri minn shuttle.seats u sett pożizzjoni tagħhom fil-array li null.
>> Issa ejja nitkellmu dwar xi karatteristiċi extra li jistgħu jiġu implimentati
l-CS50 Shuttle p-set.
Hemm sistema ta 'punti li biha inti żżomm rekord ta 'kemm
jindika l-utent ikollu.
Għall twaqqa off-passiġġieri b'suċċess, jistgħu jiksbu punti.
Iżda għall jippruvaw li tinżel off passiġġieri fejn ma jkunx hemm xi dar fil-qrib,
ukoll, huma jistgħu jiksbu penalizzati għal dan.
Allura forsi inti tixtieq li żżomm rekord ta ' il-punti fil-varjabbli globali.
>> Inti tista 'timplimenta forsi timer, fejn l-utent għandu ċertu ammont ta '
ħin biex jittellgħu u qatra off a Ċertu numru ta 'passiġġieri.
Forsi anke tintegra dan mas-sistema ta 'punti.
Jew inti tista Edit Chart tali li passiġġieri huma magħżula mill-house.
Allura li probabbilment tkun ta 'tip funzjoni li shuttle.seats.
>> Inti tista 'timplimenta karatteristika li jtajru, fejn jekk l-utent idaħħal id Konami
kodiċi, allura l-shuttle liftijiet off l- art u l-shuttle jistgħu jtiru.
Iżda għal tnaqqis sigur off, aħjar biex tagħmel il-mekkuk art roti tagħha fuq il-
art l-ewwel.
Tista 'wkoll timplimenta teleportation, fejn inti tagħmel drop down lista ta '
bini fil index.html.
U tagħżel waħda minn dawn, l- utent se jiġu ttrasportati lejn
li l-bini fuq il-kampus.
OK, għalkemm, li jivvjaġġaw permezz il-ħitan ta 'xi
bini fuq tiegħek mod hemmhekk.
>> Tista 'wkoll jibdlu l-veloċità tal- shuttle, li tippermetti lill-utent biex tiżdied
jew inaqqsu l-veloċità.
Forsi inti tixtieq varjabbli globali biex jżommu rekord ta 'kemm fjuwil il-
shuttle għandha, jonqos huwa kif tmur flimkien.
Ladarba inti hit żero, għalkemm, l-shuttle mhux se jkunu jistgħu jiċċaqalqu sakemm inti ħadthom
fjuwil, forsi permezz ta 'buttuna, jew anke jagħmlu istazzjon tal-gass tiegħek.
>> Iżda dan ċertament mhuwiex lista eżawrjenti.
Iċċekkja l-spec għall-full lista, jew forsi tipproponi
tiegħek stess li TF tiegħek.
Il-sema hija l-limitu.
Dan huwa tiegħek aħħar CS50 p-set, hekk jieħdu pjaċir miegħu.
Dan kien CS50 Shuttle.
>> Stajt ltqajna ngħid, huwa kien ta 'pjaċir tagħmel dawn għalik mal-
tim tal-produzzjoni.
U nispera li inti stajt igawdu minnhom, kif ukoll.
Jisimni Zamyla.
U dan kien CS50.