>> [Tónlist spila]
>> Ræðumaður 1: Jæja, hér erum við, síðasta P sett í CS50.
Hamingju yður frá að hafa komið svo langt síðan fyrsta halló þín
heima og prenta út pýramýda fyrir Mario.
Þú lést á vefsíðu síðustu viku.
Og við erum að fara að vera að gera eitthvað annað í þessari viku, eitt sem gerir þér kleift að
keyra um Harvard háskólasvæðinu, tína upp CS50 starfsmenn, og
uppeldi þá aftur til þeirra íbúðarhús.
>> Nú í síðustu viku unnum við í PHP, hlið miðlara tungumál.
Fyrir þetta P sett, við erum að fá kynnt JavaScript, sem er
viðskiptavinur hlið tungumál.
Þannig að við skulum taka a líta á sumir af the dreifingu kóða sem er veitt til
þér fyrir þetta P setja.
>> Í Javascript möppunni, það verður vera fullt af JavaScript skrá.
Það er buildings.js, sem inniheldur array bygginga kringum Harvard
Campus, með upplýsingum og stöðu.
Houses.js er fylki af Harvard íbúðarhús, með sínum
breiddargráðum og longitudes.
Passengers.js inniheldur array farþega -
the CS50 starfsfólk -
að þú munt vera að koma aftur til íbúðarhús þeirra.
>> Math3D.js, sem inniheldur mikið af aðgerðir til að gera með hreyfingu.
Ef þú ert stærðfræðilega sinnaður, þá vil ég bjóða ykkur velkomin að kíkja.
En þú þarft ekki að skilja Allt við það.
Shuttle.js, sem fjallar hreyfing Skutla er.
Og index.html er heimasíða þar allt sem gerist, í raun, þar sem
notandi er samskipti við síðuna.
>> Service.css er CSS stíll lak, sem, til viðbótar við Twitter
Ræsi bókasafn, eftirlit hvernig index.html útlit.
Og þá höfum við líka service.js sem inniheldur þjónustubeiðnir virka fyrir
The skutla.
Og hér er þar sem þú ert að fara að vera fylla í sumum af að DOS.
>> Nú skulum taka a líta á hlutum og tengin fylki í JavaScript,
sem fyrir alla intents og tilgangi eru víxlanlegur.
Ef ég vildi gera hlut breytu kallað vendi, ég myndi
lýsa það.
Og inni þessum hrokkið axlabönd ég myndi tilgreina kjarninn er Einhyrningsins.
The viður er kirsuber.
Og lengdin er 13.
>> Nú get ég líka aðgang að gildum af hlutum með
tengin array ritháttur.
Svo vendi vísitölu algerlega, get ég stillt sem jafn Einhyrningsins, eða
athuga það, ef ég þarf.
Eða ég get notað punktur stjórnandi.
Vendi punktur viður jafngildir kirsuber, og svo framvegis, og svo framvegis.
Svo þú sérð að tengin fylki og hlutir í JavaScript er að fara að vera
víxlanlegur og mun komið í alveg vel.
>> Þá sjáum við fjölda bygginga í buildings.js.
Aftur, fylki af hlutum.
Ef ég vildi gera á fjölbreytta besta byggingar á Harvard háskólasvæðinu, þá
Ég myndi gera það eins og hér segir.
Using this mótmæla táknun, þar Ég geyma rót, nafn, heimilisfang,
breiddar, og lengdargráðu fyrir hvert einn bygging mótmæla.
>> Við skulum tala fljótt um breytur JavaScript.
Eins og PHP, JavaScript breytur eru veikt eða lauslega slegið.
Til að búa til staðbundna breytu, forskeyti þú breytan nafn með V-A-R, var.
>> Nú í JavaScript aðgerðir munu takmarka umfang breytur.
Svo ef þú hafa a heimamaður breytu innan fall, þá aðrar aðgerðir
getur ekki opnað það.
En ólíkt C, lykkjur og skilyrði ekki takmarka umfang breytu.
>> Svo jafnvel ef þú lýsa það inni í Skilyrði, allt aðgerð mun
hafa aðgang að henni.
Nú án Var, breytan á heimsvísu.
Þannig að ef þú lýsa bara nafnið og úthluta gildi, þá breytu
verður alþjóðlegt breytu JavaScript.
>> Nú í hús, höfum við tengin fylki af húsi tegund mótmæla, þar
Sérhvert hús er bara breiddar og lengdargráðu.
Þá höfum við farþega array, sem er fylki
af gerðinni mótmæla farþega.
Svo hefur hver farþegi notandanafn, nafn, og hús.
Takið eftir að ég ætla að sjá um gerð farþega, sem í raun þýðir bara
að sérhver hlutur hefur að Sama lykill gildi par.
Svo hefur sérhver hlutur af taginu farþega notandi nafn, nafn, og hús.
>> Svo hvað þurfum við að gert fyrir P setja?
Jæja, við þurfum að leyfa notendum að velja upp starfsfólki, til að birta allar
Starfsmenn sem eru nú í skutla okkar, og til að falla þá burt.
Og þá munum við einnig tala um auka aðgerðir sem hægt er að innleiða til
The skutla P setja.
>> En við skulum tala um pallbíll fyrst.
Andlit CS50 starfsmenn hafa verið gróðursett allt háskólasvæðið, þar sem hver
andlit er útfært sem setja merki á 3D jörðinni, og sem
merki á 2D kortinu.
Svo þegar notandi smellir á pallbíll hnappinn, viljum við að bæta í nágrenninu
farþegum til skutla.
Og við viljum líka að fjarlægja þeirra stað merkja frá heiminum, og fjarlægja þeirra
merki frá kortinu, sem gefur til kynna að þeir eru í skutla okkar núna.
>> Og hvernig eigum við að uppgötva ef farþegar ert innan skutla okkar?
Jæja, sem virka fjarlægð -
svo skutla punktur fjarlægð, sem liggur í lengdar-og breiddargráðu, mun
reikna fjarlægð frá núverandi staða rúta til
benda sem þú tilgreinir við að gefið breiddar-og lengdargráðu.
Svo þú getur notað þetta til að reikna fjarlægð frá rúta til
farþegar.
>> En hvernig veistu hvar farþegar eru?
Jæja, það er þar sem við verðum að breyta byggja virka.
Byggja stöðum allt frá starfsfólki og farþega í heiminum,
og inn í kortinu, en ekki geyma staðsetningu þeirra.
Svo kannski er hægt að geyma þeirra setja merki og merki
í sumum alþjóðlegum fylkisins.
>> Nú þegar er alþjóðlegt array geyma upplýsingar frá farþegum.
Farþegar array geymir hver nafn farþega og húsið þeirra.
Svo kannski er hægt að bæta við nokkrum þáttum það farþega mótmæla.
>> Til að hjálpa okkur að uppgötva öll farþega innan skutla okkar, við skulum
lykkja í gegnum alla farþega í farþega fylkisins.
For lykkju í JavaScript gæti litið eitthvað eins og þetta, mjög svipað
þá for lykkju í C eða við getum notað val fyrir lykkja.
>> Fyrir VAR ég í fylki, þar sem ég mun enn vera vísitölunni.
En þú þarft ekki að tilgreina array punktur lengd
ástand, og ég auk plús.
Staðsetning hver farþegi er gefið setja merki þeirra.
>> En staðurinn árangur er ekki breiddar og lengdargráðu.
Við verðum að opna þau breytur með fá rúmfræði, með fá
rúmfræði á þeim stað merkja.
Og svo þegar við höfum rúmfræði, fá annaðhvort breiddar eða á
lengdar, að nota þessar aðgerðir.
>> Svo nú vitum við hvernig á að greina hvort farþegar eru innan
svið skutla okkar.
Þegar við höfum þá farþega, munum við langar að bæta við farþega sem eru
innan þess svið.
Við viljum leyfa þeim að hoppa á, og taka sæti á skutla okkar, en aðeins
ef við höfum nóg pláss fyrir þá.
>> The skutla punktur sæti array mun kynna hvort sæti eru tóm, eða
sem er í því sæti.
Svo ef sæti er tómur, þá sem sæti verður null.
Svo iterate yfir sætum fylking, stöðva fyrir auð sæti, geyma
farþega í þessum sætum þar til þú ekki hafa allir fleiri tóm sæti.
Og því miður, allir aðrir farþegar verður að bíða eftir að
næst þegar skutla kemur í kring.
>> Þegar þeir fá á skutla, munum við viljum að fjarlægja setja merki sitt, sem
er mynd þeirra í 3D heiminum.
Ef ég vildi að fjarlægja setja merki á bls, þá myndi ég fá alla þá valkosti
frá jörðu minn, frá Google Earth, og þá fjarlægja þessi sérstakur staður
merkja með removeChild virka.
Þá loks, við skulum fjarlægja merkið, táknið á kortinu 2D til hvaða
farþega sem við erum að tína upp.
Til að fjarlægja merki, m, þá ég bara framkvæma m punktur setMap null.
Gera þetta fyrir hvaða farþega á svæðinu, og þú hefur lokið pallbíll.