ZAMYLA Chan: Bon, isit la nou yo, dènye p la-mete nan CS50. Felisite nou soti nan gen vin twò lwen depi premye Bonjou ou Univer ak Printing moute Piramid pou Mario. Ou te fè yon sit entènèt semèn pase a. Apre sa, nou pral yo dwe fè yon lòt semèn sa a, yon sèl ki pèmèt ou kondwi otou kanpis la Harvard, davwa moute anplwaye CS50 ak pote yo tounen nan yo kay rezidansyèl yo. Koulye a, semèn pase a nou te travay nan PHP, yon sèvè lang bò. Pou sa p-seri, nou resevwa prezante JavaScript, ki se yon kliyan lang bò. Se konsa, kite a pran yon gade nan kèk nan la Kòd distribisyon ki nan bay ou pou sa a p-seri egzèsis la. Nan dosye a JavaScript, pral gen yon pakèt moun sou JavaScript dosye. Genyen buildings.js, ki gen yon etalaj nan bilding nan Harvard lakou lekòl la ak enfòmasyon yo ak pozisyon. Houses.js se yon etalaj de Harvard kay rezidansyèl ak yo latitid ak lonjitud. Passengers.js gen yon etalaj de pasaje, anplwaye lekòl ki CS50 ki ou pral pote tounen nan kay rezidansyèl yo. Math3D.js, ki gen yon anpil nan fonksyon fè ak mouvman an. Si w ap matematik vle, Lè sa a, Mwen akeyi ou nan pran yon gade. Men, ou pa bezwen konprann tout bagay nan la. Shuttle.js, ki boule ak mouvman Shuttle la. Apre sa, index.html se paj la kay kote tout bagay sa yo rive, reyèlman, kote la itilizatè ki kominike avèk sit la. Service.css se fèy style CSS, ki nan adisyon nan Twitter a Bibliyotèk demaraj, kontwole ki jan index.html sanble. Lè sa a, nou menm tou nou gen service.js, ki gen fonksyon sèvis pou Shuttle la. Apre sa, Isit la nan kote w ap ale nan dwe ranpli nan kèk nan fè-a la. Koulye a, kite a pran yon gade nan objè ak ranje asosyatif nan JavaScript, ki, pou tout entansyon ak objektif, yo ka ranplase. Si m 'te vle fè yon objè yon varyab rele yon ralonj, mwen ta deklare li. Ak andedan sa yo aparèy òtopedik Curly, mwen ta presize, nwayo a se goumen tankou towo mawon, bwa a se Cherry, ak longè a se 13. Koulye a, mwen kapab tou jwenn aksè nan valè nan objè lè l sèvi avèk asosyatif notasyon etalaj. Nwayo endèks Se konsa, ralonj, mwen ka mete ki egal a goumen tankou towo mawon, oswa tcheke ke si mwen bezwen. Oswa mwen kapab itilize operatè a dot wand.wood egal Cherry, ak Se konsa, sou ak pou fè. Se konsa, ou wè ke ranje asosyatif ak objè ki nan JavaScript yo ale nan dwe ranplase, epi li pral vini nan byen sou la men. Lè sa a, nou wè yon etalaj nan bilding nan buildings.js, ankò, yon etalaj de objè yo. Si m 'te vle fè yon etalaj de pi bon an bilding sou lakou lekòl la Harvard, Lè sa a, Mwen ta fè l 'jan sa a. Lè l sèvi avèk notasyon sa a objè, kote Mwen sere rasin, non, adrès la, latitid, ak lonjitid pou chak yon sèl bilding objè. Se pou yo byen vit pale sou varyab nan JavaScript. Menm jan ak PHP, JavaScript varyab yo chetif oswa blesi tape. Pou kreye yon varyab lokal yo, ou prefiks non an varyab ak V-A-R, var. Koulye a, nan JavaScript, fonksyon pral limite sijè ki abòde lan varyab. Se konsa, si ou gen yon varyab lokal ki nan yon fonksyon, lè sa a lòt fonksyon pa ka jwenn aksè li. Men, kontrèman ak C, pasan ak kondisyon pa fè sa limite sijè ki abòde lan yon varyab. Se konsa, menm si ou deklare li andedan nan yon kondisyon, fonksyon an antye ap gen aksè a li. Koulye a, san yo pa var, varyab la yo pral mondyal la. Se konsa, si ou jis deklare non ak bay yon valè, Lè sa a, varyab sa a pral gen yon varyab mondyal nan JavaScript. Koulye a, nan kay, nou gen yon asosyatif etalaj de objè di ki kalite lame, kote chak kay se jis yon latitid ak yon lonjitid. Lè sa a, nou gen pasaje yo etalaj, ki se yon etalaj nan kalite objè pasaje. Se konsa, chak pasaje yo gen yon itilizatè non, yon non, ak yon kay. Remake m ap di nan kalite pasaje yo, ki reyèlman jis vle di ke chak objè gen nan menm valè kle pè. Se konsa, chak objè nan kalite pasaje yo gen yon non itilizatè, yon non, ak yon kay. Se konsa, sa nou bezwen fè pou p-seri a? Oke, nou bezwen pèmèt itilizatè yo chwazi moute manm pèsonèl la, yo montre tout anplwaye lekòl ki ki kounye a nan navèt nou an, epi lage yo ale. Lè sa a, nou pral tou pale sou siplemantè karakteristik ki kapab aplike pou Shuttle p-gwoup la. Men, se pou nou pale sou pickup an premye. Ap fè fas yo nan anplwaye CS50 yo te plante tout lòt peyi sou lakou lekòl la, kote chak se figi aplike kòm yon mak kote sou 3D Latè a, epi kòm yon makè sou kat jeyografik la 2D. Se konsa, lè itilizatè a klik Ramase la bouton, nou vle ajoute ki tou pre pasaje yo navèt la. Apre sa, nou menm tou nou vle retire plas yo make soti nan mond lan epi retire yo makè nan kat la, ki endike ke yo ap nan navèt nou an kounye a. Se konsa, ki jan nou detekte si pasaje se nan ran de navèt nou an? Oke, distans la fonksyon, se konsa shuttle.distance, pase nan la latitid ak lonjitid, ap kalkile distans ki soti nan pozisyon aktyèl la nan shuttle an nan pwen a ki ou presize ak ki bay latitid ak lonjitid. Se konsa, ou ka itilize sa a kalkile nan Distans soti nan navèt la a pasaje. Men, ki jan ou konnen ki kote pasaje yo yo ye? Oke, sa a, se kote nou pral gen modifye fonksyon an alimenté. Peple kote tout nan manm yo anplwaye nan pasaje nan mond lan ak nan kat jeyografik la, men li pa magazen kote yo. Se konsa, petèt ou ka magazen yo mete mak ak makè nan kèk etalaj mondyal la. Koulye a, gen deja se yon etalaj mondyal estoke enfòmasyon ki soti nan pasaje. Boutik sa yo pasaje etalaj chak Non pasaje a ak kay yo. Se konsa, petèt ou ka ajoute yon paramèt kèk gen yo objè yo pasaje. Pou ede nou detekte tout pasaje yo nan ranje nan nou an navèt, bouk Annou nan tout nan la pasaje peye ki nan etalaj la pasaje. A pou bouk nan JavaScript ta ka gade yon bagay tankou sa a, sanble anpil ak sa yo pou pasan nan C. oubyen nou ka sèvi ak yon altènatif pou estrikti bouk, pou var mwen an pozisyon, kote mwen ap toujou gen endèks la, men ou pa bezwen presize array.length la kondisyon e mwen + +. Kote chak pasaje a se yo bay nan mak plas yo. Men, make la kote se pa nan latitid ak lonjitid la. Nou gen jwenn aksè nan paramèt sa yo pa ap resevwa jeyometri a, lè l sèvi avèk Pran Jewometri sou make la kote, ak Lè sa a, yon fwa nou gen jeyometri a, ap resevwa swa latitid a oswa lonjitid la lè l sèvi avèk fonksyon sa yo. Se konsa, kounye a nou konnen ki jan yo detekte si wi ou non pasaje yo nan lespas ran de navèt nou an. Yon fwa nou gen moun ki pasaje, nou pral vle ajoute nenpòt ki pasaje ki nan ki pòte. Nou vle pou pèmèt yo hop sou epi pran yon plas sou navèt nou an, men se sèlman si nou gen ase espas nan men yo. Etalaj la shuttle.seats pral endike si wi ou non plas yo vid, oswa ki moun ki la nan ke chèz. Se konsa, si yon plas vid, Lè sa a, ki chèz pral nil. Se konsa, repňte sou etalaj la plas, tcheke pou plas vid, sere pasaje nan sa yo chèz jiskaske ou pa gen okenn plas plis vid. Apre sa, malerezman, nenpòt ki lòt pasaje ap gen pou ret tann pou la pwochen fwa shuttle an vini desann. Yon fwa yo jwenn sou navèt la, nou pral vle yo retire mak plas yo, ki se foto yo nan mond lan 3D. Si mwen te vle retire yon kote ki make p, Lè sa a, mwen ta jwenn tout nan karakteristik yo ki sou Latè mwen an, ki soti nan tè a Google, ak Lè sa a, retire kote sa a espesifik make lè l sèvi avèk fonksyon an removeChild. Lè sa a, Finalman, se pou yo retire makè a, Meksiko an sou kat jeyografik la 2d, pou nenpòt ki pasaje yo ke nou ap davwa ke yo pran. Pou retire yon makè m, Lè sa a, mwen pral jis egzekite m.setMap nil. Fè sa pou nenpòt ki pasaje nan ranje, ak ou te fini pickup. Fonksyon an tablo ta dwe montre tout nan pasaje yo ki nan ou navèt, ak chèz vid si vid. Se konsa, tablo ta dwe repekte sou shuttle.seats, ap montre a enfòmasyon pasaje pou chak endèks, ak plas vid si sa endèks se nil. Koulye a, si se HTML tèks mete andedan nan yon JavaScript varyab, Lè sa a, lè l sèvi avèk document.getElementByID, tablo bwat edite HTML anndan an nan ki bay eleman pa plase a Tèks HTML nan document.getElementByID anndan varyab HTML. Lè itilizatè yo klike sou bouton an Drop Off nan index.html, li ap rele nan fonksyon dropoff. Apre sa, li nan travay nou an aplike sa. Nan dropoff, nou pral vle retire nenpòt ki pasaje yo soti nan navèt la sèlman si nou ap nan seri nan destinasyon yo, yo rezidansyèl kay la. Se konsa, dropoff ap gen yo tcheke si wi ou non navèt la se nan seri nan nenpòt nan la kay, epi retire nenpòt ki nesesè pasaje yo soti nan navèt la. Se konsa, ki jan nou tcheke si nou ap nan seri nan nenpòt ki kay? Oke, ankò, nou pral fè pou sèvi ak nan shuttle.distance fonksyon, pase nan latitid ak lonjitid nan pwen an ke nou ap tcheke kont. Men, sa ki se pwen sa yo? Oke, etalaj la kay, si ou sonje nan houses.js, magazen an latitid ak lonjitid nan chak kay nan yon etalaj asosyatif, kote chak endèks se non an nan kay sa a. Lè sa a, yo retire pasaje - byen, sèlman si nou ap nan seri yo kay yo ke yo vle pou yo ale nan. Se konsa, ankò, sonje ke pasaje magazen kay la ke chak pasaje yo vle pou yo ale nan. Si yo ki nan seri yo kay, Lè sa a, nou pral retire ki pasaje yo soti nan shuttle.seats ak seri pozisyon yo nan etalaj la nan nil. Koulye a, kite nan pale sou kèk karakteristik siplemantè ki ka aplike nan CS50 Shuttle p-gwoup la. Genyen yon sistèm pwen kijan w kenbe tras nan konbyen pwen yon itilizatè te genyen an. Pou jete nan pasaje avèk siksè, yo ka jwenn pwen. Men, pou ap eseye depoze pasaje kote pa gen okenn kay ki tou pre, byen yo, yo ka jwenn okenn sanksyon kont pou sa. Se konsa, petèt ou vle kenbe tras nan pwen yo nan yon varyab mondyal la. Ou ka aplike petèt yon kwonomèt, kote itilizatè a gen yon sèten kantite tan yo ranmase ak desann kite sou yon sèten kantite pasaje. Petèt menm entegre sa a ak sistèm nan pwen. Oswa ou ka Edit Tablo sa yo ki pasaje yo Ranje pa kay la. Se konsa, ki ta kapab yon sòt fonksyone nan shuttle.seats. Ou ka aplike yon karakteristik vole, kote si itilizatè a entrain konami a Kòd, lè sa a shuttle an asanseur koupe nan tè ak shuttle an ka vole. Men, pou yon gout san danje koupe, pi bon fè navèt nan peyi a wou li sou la tè an premye. Ou kapab tou aplike teleportasyon, ki kote ou fè yon gout desann lis bilding nan index.html. Apre sa, chwazi youn nan sa yo, ap itilizatè te transpòte li nan ki bati sou lakou lekòl la. OK, menm si, yo vwayaje nan mi yo ki nan kèk bilding sou wout ou a. Ou kapab tou chanje vitès la nan la navèt, sa ki pèmèt itilizatè a ogmante oswa diminye vitès la. Petèt ou vle yon varyab mondyal kenbe tras nan konbyen lajan gaz la navèt gen, diminye li jan ou ale ansanm. Yon fwa ou frape zewo, menm si, shuttle an pa yo pral kapab pou avanse pou pi eksepte si yo te kreye, petèt lè l sèvi avèk yon bouton, oswa menm fè estasyon pwòp gaz ou a. Men, ki sètènman se pa yon lis konplè. Tcheke espèk a pou plen la lis, oswa petèt pwopoze pwòp TF ou ou. Syèl la se limit la. Sa a se dènye ou CS50 p-seri, Se konsa, gen amizan ak li. Sa a te CS50 Shuttle. Mwen te gen vle di, li te gen yon plezi fè sa yo pou ou ak nan pwodiksyon ekip. Apre sa, mwen espere ke ou te jwi yo, tankou byen. Non mwen se Zamyla. Lè sa a te CS50.