>> ЗАМИЛА цхан: Па, ту смо, последња П-сет у ЦС50.
Честитајте себе из потребе доћи до сада од вашег првог Хелло
Светови и штампање Горе Пирамиде за Марио.
Направили сте сајт прошле недеље.
И ми ћемо бити доношење још један ове недеље, онај који вам омогућава да
возити око кампуса Харвард, брање до ЦС50 особља и
доводећи их назад на своје стамбене куће.
>> Сада, прошле недеље смо радили у ПХП, серверској страни језик.
За овај П-СЕТ, ми смо упознавање на ЈаваСцрипт, што је
клијент страни језик.
Па хајде да погледамо неке од дистрибуција код које је пружена
ти за овај п-сета.
У ЈаваСцрипт фолдеру, тамо ће бити гомила ЈаваСцрипт фајлова.
>> Има буилдингс.јс, који садржи низ зграда око Харварду
кампус са њиховим информацијама и положај.
Хоусес.јс је низ Харварду стамбене куће са њиховим
географске ширине и географске дужине.
Пассенгерс.јс садржи низ путници, чланови особља ЦС50
да ћете бити враћа на њихове стамбене куће.
>> Матх3Д.јс, који садржи много функције могу да се ураде са кретањем.
Ако сте математички оријентисан, онда Поздрављам вас да погледате.
Али ти не треба да разумеју све тамо.
Схуттле.јс, која се бави покрет шатл-а.
И индек.хтмл је почетна страна где све дешава, стварно, где
корисник је у интеракцији са сајта.
>> Сервице.цсс је ЦСС стила, која поред Твиттер
Боотстрап Библиотека, контроле како индек.хтмл изглед.
А онда имамо и сервице.јс, који садржи функције за сервисне
Схуттле.
И овде је где идете да се пуњење у неким од То-До-а.
>> Сада ћемо да погледамо и објеката асоцијативни низови у ЈаваСцрипт,
који, за све намере и сврхе, су заменљиви.
Да сам хтео да направи објекат променљиву зове штапић, ја бих
прогласи га.
И унутар тих заграда, ја бих спецификацију, језгро је једнорог, дрво
је трешња, а дужина је 13.
>> Сада, ја такође могу приступити вредности објеката користе
асоцијативни низ нотација.
Дакле штапић индекс језгро, ја могу поставити који једнако једнорог, или
проверите да ли ми треба.
Или могу користити оператор дот ванд.воод једнако трешње, а
тако даље и тако даље.
Па видиш да асоцијативни низови и објекти у ЈаваСцрипт ће бити
заменљиви, а воља долазе у прилично згодно.
>> Онда видимо низ зграда у буилдингс.јс,
опет, низ објеката.
Да сам хтео да направи низ најбоље зграде на Харвард универзитету, затим
Ја бих то учинити на следећи начин.
Користећи овај објекат нотацију, где Ја држати корена, име, адреса,
географска ширина, географска дужина и за сваки један грађевински објекат.
>> Хајде да причамо о брзо променљивих у ЈаваСцрипт.
Као ПХП, ЈаваСцрипт променљиве су слабо или лабаво откуцан.
Да бисте креирали локалне променљиве, ви префикс име променљиве са В-А-Р, вар.
Сада, у ЈаваСцрипт, функције ће ограничавају обим променљивих.
Дакле, ако имате локалну променљиву унутар функција, онда друге функције
не могу да приступе.
>> Али за разлику од Ц, петље и услови не ограничавају обим променљиве.
Дакле, чак и ако га прогласи унутар услов, цела функција ће
имају приступ њему.
Сада, без вар, променљива ће бити глобална.
Дакле, ако сте само прогласи име и доделите вредност, онда то променљива
ће бити глобални променљива у ЈаваСцрипт.
>> Сада, у кућама, имамо асоцијативне низ типа домаћин објеката, где
свака кућа је само ширина и географске дужине.
Онда имамо путнике низ, који је низ
од типа објекта путника.
Дакле, сваки путник има корисника име, име и кућу.
>> Приметите да ја говорим о врсти путник, који заправо само значи
да сваки објекат има Исте кључне вредности парова.
Дакле, сваки објекат типа путника има корисничко име, име, и кућа.
Дакле, шта нам је потребно да учинити за п-сет?
Па, морамо да омогући корисницима да изаберете до особља, да бисте приказали све
чланови особља који су тренутно у наш шатл, и да их оставим.
И онда ми такође ћемо говорити о екстра функције које се могу реализовати за
Схуттле П-скуп.
>> Али, хајде да разговарамо о пицкуп први.
Лица ЦС50 особља су засађено широм кампуса, где сваки
лице је имплементиран као место знак на 3Д Земљи, и као
маркер на карте 2Д.
Дакле, када корисник кликне на Пицкуп дугме, желимо да додате у близини
путници на шатлу.
И ми такође желимо да уклоните своје место означи из света и уклоне своје
маркер из карте, што указује да они су сада у нашој шатлу.
>> Па како да открије да ли путници су у домету нашег шатлу?
Па, функција растојање, тако схуттле.дистанце, пролази у
географске ширине и дужине, ће израчунати растојање од тренутног положаја
од шатл до тачке која ви одредите са обзиром да
географске ширине и географске дужине.
Дакле, можете да користите ово за израчунавање удаљеност од шатла до
путника.
>> Али како да знате где путници су?
Па, то је где ћемо морати да измените населити функцију.
Населити посланичка места сви чланови особља у путницима у свет
и у карте, али не чувате своју локацију.
Дакле, можда можете да сачувате своје поставите ознаке и маркере
у неком глобалном низу.
>> Сада, већ постоји низ глобална чување информација од путника.
Низ путници складишти сваки Име сувозача и њихова кућа.
Дакле, можда можете да додате неколико параметара ту да путничким објектима.
>> Да бисте нам помогли да открију све путнике у асортиману наших
шатл, хајде да петља кроз све путници у низу путника.
За петље у ЈаваСцрипт може да изгледа овако нешто, веома слично
оне за петље у Ц или можемо да користимо алтернатива за структуру петље, за
вар и у низу, где сам и даље ће бити индекс, али не морате да
одредите арраи.ленгтх услов и ја +.
>> Локација Сваки путник је дао своје место знака.
Али место жиг није ширине и географске дужине.
Морамо да приступи тим параметрима по добијање геометрије, помоћу ГЕТ
геометрији на месту знака, а затим када имамо геометрију, узимајући
или ширина или географска дужина користећи те функције.
>> Дакле, сада знамо како да се открије да ли путници су у оквиру
Асортиман наших шатлу.
Када имамо те путнике, ми ћемо Желим да додате неке путнике који су
унутар тог опсега.
Ми желимо да им дозволи да хоп на и узети седиште на нашем шатл, али само
ако имамо довољно простора за њих.
>> Схуттле.сеатс низ ће указати да ли су седишта празна, или
ко је у том седишту.
Дакле, ако седиште је празна, онда да седиште ће бити ништаван.
Тако поновити преко седишта низа, проверу празних седишта, складиштење
Путници у тих места до тебе немају више празних места.
И нажалост, неки други путници ће морати да сачека
следећи пут шатл своди.
>> Када су се на шатл, ми ћемо желети да скину ознаку место, које
је њихова фотографија у 3Д свету.
Да сам хтео да се уклони место марк п, онда бих се свим функцијама
из мог Земље, из Гоогле Еартх, а затим уклоните да одређеном месту
означити помоћу функције ремовеЦхилд.
Онда на крају, хајде да уклоните маркер, икона на карте 2Д, за сваки
путник који смо брање горе.
>> Да бисте уклонили маркер м, онда ћу само извршава м.сетМап нулл.
Урадите ово за све путнике унутар домета, и ви сте завршили камионет.
Функција графикон треба да прикаже све од путника који су у вашем
шатл, а празна столица ако празна.
Дакле, графикон треба поновити више схуттле.сеатс, приказујући
информисање путника за сваки индекс, и празан седиште ако је индекс нулл.
>> Сада ако ХТМЛ-текст се ставља унутар Јава променљива, онда помоћу
доцумент.врите, табела може да измените унутрашњу ХТМЛ тога дато
елеменат додељивањем ХТМЛ текст на
доцумент.врите унутрашњи ХТМЛ променљива.
Када корисници кликну на дугме отпасти у индек.хтмл, то ће позвати
дропофф функција.
И то је наш посао да спроведе то.
>> У дропофф, ми ћемо желети да уклоните било Путници из шатл само ако
ми смо у распону од њихове намене, њихова стамбена кућа.
Дакле дропофф ће морати да провери да ли шатл је у распону од било које од
куће, и уклоните било потребно Путници из шатла.
Па како да проверите да ли смо у опсегу од било које кућа?
Па, опет, ми ћемо искористити за схуттле.дистанце функцију, пролази у
географске ширине и дужине од тачке да смо проверу против.
>> Али шта су оне тачке?
Па, кућа низ, ако се сећате у хоусес.јс, складишти
географске ширине и дужине сваке куће у асоцијативни низ, где сваки
индекс је име те куће.
Затим да уклоните путника -
добро, само ако смо у домету њиховог кућа који желе да иду у.
Па опет, запамтите да путници чува кућу да сваки путник
жели да иде у.
Ако су у распону од њиховог кућа, онда ћемо уклонити да
путник из схуттле.сеатс и скупа њихов положај у низу на нулл.
>> Сада хајде да разговарамо о неким додатним функцијама који могу бити имплементиран у
ЦС50 Схуттле П-скуп.
Постоји тачка систем којим да пратите колико
указује корисник има.
За довезла путнике успешно, они могу да добију поене.
Али за покушавају да оставе путнике где не постоји кућа у близини,
добро, они могу добити кажњене за то.
Дакле, можда желите да пратите тачке у глобалну променљиву.
>> Можете да спроведе можда тајмер, где корисник има одређену количину
Време је да покупи и отпасти А известан број путника.
Можда чак интегришу ово са бодовном систему.
Или можете да измените графикон који су путници су поредани према кући.
Тако да ће вероватно бити врста функционише на схуттле.сеатс.
>> Можете да спроведе лети функцију, где ако корисник уноси Конами
код, онда шатл лифтова искључен Приземље и шатл може да лети.
Али за безбедан Гребена, најбоље да шатл слети своје точкове на
млевени први.
Такође можете имплементирати телепортацију, где сте направили падајућу листу
зграде у индек.хтмл.
И изаберете једну од оних, корисник ће бити пребачени у
да зграда на кампусу.
У реду, мада, да путује кроз зидови неких
зграде на вашем путу до тамо.
>> Такође можете променити брзину шатл, омогућавајући кориснику да повећа
или да смањите брзину.
Можда желите глобалну променљиву пратите колико горива
шатл има, смањење то као што иду заједно.
Када ударио нула, мада, шатл неће бити у стању да се креће, осим ако сте
горивом, можда користећи дугме, или чак направите сопствену бензинска пумпа.
>> Али то свакако није исцрпна листа.
Погледајте спецификацију за пуну лист, или можда предложити
свој на ваш ТФ.
Небо је граница.
Ово ти је последња ЦС50 П-скуп, па забавите се са њом.
Ово је ЦС50 Трансфер.
>> Морам да кажем, то ми је задовољство чинећи ово за вас са
производња тим.
И ја се надам да ви сте уживати у њима, као добро.
Моје име је Замила.
И то је било ЦС50.