>> СПИКЕР: Ја сам [ИНАУДИБЛЕ].
И ја сам старији у Леверетт Хоусе.
Учим рачунарске науке, и ја сам за ТФ ЦС50.
Као бруцош, нисам чак ни лаптоп или смарт телефон.
Нисам имао програмерско искуство.
ЦС50 је најупечатљивијих курс који Сам узео на Харварду, јер је то био
борба, али то је заиста забава борба у исто време.
И ја сам направио доста невероватно, стални пријатељи, и много сам научио од стварно
примењују вештине.
Ја сам толико ми је драго што нисам дајте да недостатак позадини буде изговор за мене
не узимају ЦС50.
Ја сам [ИНАУДИБЛЕ].
Ја сам старији у Леверетт Кућа, класа 2014.
И ја сам узео ЦС50.
>> ДАВИД Малан: Дакле, ово је ЦС50.
Ово је крај недеље нуле.
И сећам се где смо почели последњи пут, је са овим лампама, које су биле
толико популарна да смо отишли ​​и купио још данас.
Тако да мислим да ће ово бити наша ствар ове године -
стоне лампе, ако се појави на сцени, барем док не нестане.
>> Али користили смо ове сећам, да се уведе основе представљања података.
Био нам је потребан начин да почнете представља информација унутар рачунара.
А најједноставнији начин да то урадите је са један састојак, струја.
И најједноставније што можете да урадите са струја је да укључите га и искључите га.
Нека електрони прелазе или не.
И користи та два основна стања, искључивање и на, или лажне и истините, или нула и
један, почели смо да видимо да градимо се, у овом случају, с обзиром
сијалице, више него бројеви само нула и један.
Ми смо рачунали чак седам, на пример, последњи пут.
Али, све што треба да урадите је да бацање све више и више сијалице у том
проблема и, заиста, можемо да представљају било који број да
можда евентуално желе.
>> Па, ми смо прешли брзо затим на Среда овом бајту волонтера.
8 бита је оно што обично називамо бајт, Дакле, овде смо имали осам волонтера
у среду, који су колективно представља осам бита.
А када су им руке отишао горе, они су били једно.
А када су им руке биле доле, било је нула.
И ми смо имали те људе дошао на бину зашто?
Оно што смо могли да урадимо са Овакав редослед битова?
>> Да бисте креирали алфабет.
Ми смо били у стању да изгради на врху тога Претходна лекција научена и заправо
почети да се више занимљив информације да је бар више
познато да нас људе.
И то ће бити понавља кроз 50 тема, али и компјутер
наука уопште, ова идеја слојевитост, где је, на крају
дана, ако сте заиста почели основе са рачунаром, да,
то је нула и јединица.
А испод тога је само струја.
Али, ми смо врло брзо почети да се оне низак ниво детаљи за одобрена
и почети да се слој на врху прошлости радили урадили тако да смо, на крају, по
крају семестра и, заиста, уопштеније као информатичаре
и програмери, може да уради нешто заиста моћне ствари за усклађивање рада
које смо сами урадили и стоји на раменима других.
>> Сада смо се брзо пребачен у среду Управо из потребе да се
представљају информације желећи да уради нешто са њим.
Дакле, оно што смо дефинисали као алгоритам?
Низ инструкција.
Дакле, то је низ упутстава, број корака које ви, људска, или
рачунар, обично више, би извршити један за другим, како би
да се постигне неки циљ.
И ми смо имали мало голова последњи пут, од којих је једна да броји
људи у соби.
И још један такав пример је био да се пронађе Мајк Смит у телефонском именику.
>> Дакле, можда ћете се сетити да сам поцепао телефон књига у половини ка том циљу се
проналажење Мајк Смит.
Циљ је био да се да визуелни показују, опет, да смо
буквално разара овај проблем у пола, на пола, на пола, а врло
брзо као што иде од 1.000 страна на само један једној страници.
Они од вас који су пропустили ово Среда, Мислио сам да репродукујете
неки снимак шта сте пропустили.
Хајде да погледамо.
>> [ВИДЕО РЕПРОДУКЦИЈА]
>> -Идемо.
1500 страница, Ница чисте линије, легитимна суза.
>> [ЕНД ВИДЕО РЕПРОДУКЦИЈА]
>> Малан ДАВИД: Па то је среда.
Ми транзиција, међутим, у среду сад да жели да представља алгоритме
на неки начин помало стандардном, не само описујући их вербално, али
покушава да их се писмено или на Екран рачунара, тако да смо могли
почињу да се побољша на, и модификовати их, и, на крају, у ствари
анализира колико тачно или како су брзо.
>> Зато смо увели овај појам од псеудокоду, који, у
лаике услови, шта је?
У реду, реци.
Идемо мало дубље од тога.
Енглески, наравно, али су према којим циљем?
Речи којима се стварају или да представља алгоритама.
Тако да нема један познати језик као псеудокоду у свету.
То је само да сте, на енглеском језику, или Без обзира на ваш говорни језик, користи
врста површног нотацији да пренесу идеја врло језгровито.
Али ћемо видети да, свакако уз Енглески Псеудокод, а испада
већина програмских језика саме су дериват енглеског саме,
открићемо да постоји неки стандард начини представља и Псеудокод
Такође програмског кода.
Дакле, када почнете да видите чак најједноставнији примери данас, схватите ово
Исти обрасци ће се поново јавити следеће недеље.
>> Дакле Псеудокод је нека врста да личи језика
програмски језик.
И први пример видели смо визуелно записано је био овај.
То је био само три корака програма, циљ био да броји
људи у студентским собама за Видео који је у среду.
Али, било је неколико занимљивих аспеката овог најједноставнији програм.
>> И то ће бити понављају теме.
Дакле, за оне који су упознати са овај, један, увели смо променљиву.
И вероватно свако у овој просторији је упознати са променљиве у
контекст алгебре.
Али овде у програмирању, променљиве су, један, може бити
позвао све што желимо.
Ми смо се користи као бројач н.
Али, можемо да користимо бројач реч, или, Као што ћете видети, највише било који израз који
можда желите докле год је то описно, али то је заиста само
контејнер за складиштење.
То је комад меморије, одређени број бита, и то варира од рачунара, како
многи бита који су компонује ту променљиву.
>> Али, можемо да ставимо вредности у њему.
До сада, само смо ставили бројеве.
Али можемо ставити праве речи.
Можемо ставити пасусе.
Можемо ставити слике -
нешто, заиста, можемо да представљају са нуле и јединице, можемо ставити у
Овај виши ниво појам променљиве.
>> Дакле, прилично равно напред тамо.
И то је једна линија.
Али, ми смо врло брзо прешао на основу једна линија да се заиста уради
нешто са тим променљиве.
И на линији три, Н. Ми смо ажуриран увећава Н. и можемо написати ово
било који број начина.
Али, можда је најочигледнији Само да кажем, поставите Н изједначавају са
све што је Н плус 1.
Дакле, то је био наш прираштај.
>> У међувремену, дошло је петља.
И ово је, такође, вероватно прилично једноставно.
Петља је само нешто у програму се то деси поново и поново, неки
врста циклуса.
И ово фраза овде, за сваки, је заправо веома честа у највећем
програмски језици, укључујући оне видећемо у току.
Сваки пут када видите реч, она обично преноси идеју да
петља, нешто цикличне, ће се десити.
>> Али вреди напоменути једну други синтаксни детаљ.
Чињеница да постоји трећа линија заправо увучен погађа
Спаце бар неколико пута је намерно.
Јер човек је такав да Конвенција, када радиш нешто и поново
опет, у петљи, као и почела на линији два, Ви алинеја нешто што припада
том петљи само да то буде јасно то је линија три, а не, на пример,
линија четири или пет, ако је било линије за пет, или који су
део тог петљи.
Дакле, ово једноставно засецање преноси да је основна идеја.
>> Дакле, примењују овај алгоритам, Сада, на само неколико примера.
А ово, такође, једноставна пример у стварном свету.
Али, то ће бити представник како ће ићи око провера
Поседујемо све сложене програме.
Пробај неколико сценарија, неке представници улаза, и видите да ли
добити жељене резултате.
>> Дакле, ово је пример две особе седи у студентским собама.
Са леве стране је та иста псеудо код.
А ово је снимак екрана са веома Последњи корак у примени овог
алгоритам оним улаза, где двоје људи у соби, и
сећам, јер смо корак преко линије један, и два, и три, и два
и три и учињено -
до краја тог алгоритма, имали смо заиста избројао два момци који су
у соби.
>> Онда смо покушали још један пример.
А ми смо рекли шта ако постоје нула људи у соби?
Да ли је то код још тачно?
И заиста је било.
Тако се дешава да линију два и, на тај начин, линија три или
неће да изврши.
Они неће да се деси уопште јер они једноставно не примењује ако
има нула људи у соби.
>> Али, није страшно.
Линији Н иницијализују на нулу, тако да иако је само један ред ове
Програм заправо завршава се користи, још увек даје тачан одговор, као
показује наранџаста нула на дну.
Али онда смо одлучили да је врста глупог алгоритма.
Било је прилично споро.
Наравно, ја могу да урадим два, четири, шест, осам, десет, када
бројање људи у соби.
>> Тако смо намештена алгоритам, Псеудокод, да кажем, сада у линији,
за сваки пар људи у просторији, наставити да, у складу три, повећање
у по два са сваке итерације.
Тако да би овде радио Овај пар особа у просторији.
>> Али онда, ако почнете да размишљате о то, и не траје дуго да
схватити, само мало је ово хтео је да побегне, она разбија
у ком случају једноставно?
Ако постоје три особе у соби или, уопште, када је
непаран број људи у соба, укључујући и један.
Ми бисмо овде пропустити ту особу, јер нема таквих парова.
Тако смо брзо решити уместо увођење која додатна
програмирање конструкти у псеудо коду.
>> Дакле услов, позвали смо то, или огранак.
А то је значило да се пренесе, визуелно, Идеја о гране, раскршћу
где можете да урадите или, можда, нешто друго.
И заиста, да се овај проблем реши додајући линије 4, говорећи, заиста, у
на самом крају, ако једна особа остане, онда само напред и рачунамо их посебно.
Дакле, на неки начин посебан их случаја, тако да говори, тако да сада можемо да рукује
чак и број људи и непаран број људи.
>> Сада постоји велики број начина Могли смо изразили ово.
И искрено, ја сам могао још више Нит избирљиви када је дошао у мој избор
Енглески за псеудокоду.
Али барем дух идеја која се преноси.
Ако сте предали овај код пријатељу ко није у ЦС, или никада није узета
ЦС, шансе су они могли да схватимо, дао три особе у соби, како да
Одбројавање те људе на основу о овим упутствима.
И то је све што заиста желимо да постигнемо са псеудокоду, некако
стандардизује како ћемо о представљају идеје, тако да можемо
почињу да раде компликованије ствар даље.
>> То нас води онда, данас, стварној код.
Почињемо да програмирате данас, иако у пријатељском окружењу.
А онда смо прелаз веома брзо да више волшебни синтакса, али која
видећете је у основи исти као и идеје ће видети манифестовати
овај други језик данас.
Само ће да изгледа мало другачије.
>> Дакле, уместо да само позовете овај број, ја сам ће бити мало прецизнији
и кажу, надаље, при писању Програм, пишете изворног кода.
То је нешто као псеудокоду.
Али, видећемо да то није нека врста лабаве када је реч о избору речи
да користите.
Када је програмирање на језику, имате да користе речи, фразе,
синтакса, да други људи Одлучио представљају
том језику.
Дакле псеудоцодес је на вама.
Стварни програмски језик као Ц, као што смо на крају ћемо видети, је
стандардизован од стране других људи.
>> Па како да идемо о писању неки изворни код?
Па ја ћу да идем Хајде, уради то.
Ја ћу ићи напред и отвори прозор овде.
Више о овом следеће недеље.
Али, ово је уређај под називом ЦС50 апарата.
Трчим комад софтвера на мом Мек, мада можете да урадите исту ствар
на Виндовс рачунару, што даје ја илузија ради другачије
оперативни систем у потпуности у праву овде у прозору на мом Мацу.
Управо сам га пуно приказан тако да не заправо види Мац ОС сада.
>> То је оперативни систем зове Линук.
То је веома популаран.
Веома је брз.
Веома је бесплатно, што је учинила веома убедљив, посебно у
комерцијални свет.
И још о томе крајем семестар кад користимо Линук доста
за програмирање и веб хостинг стварни сајтова и пројеката.
Дакле, сада, само знам да је ово десктоп који је требало да изгледа нејасно
познато да Виндовс и Мац ОС.
То има неке различите називе и иконе за ствари.
Али, то је тзв ЦС50 апарата, виртуелна машина која,
следеће недеље, момци ће води унутар једног прозора на
свој Мац или ПЦ.
>> За данас, ја ћу да отворим најједноставнији програма.
То се зове гедит.
А ово је само графички уредник.
То је нешто као Мицрософт Реч, али је једноставнија.
То је нешто као текста едит или нотепад.
То је веома једноставан програм са за писање речи на екрану.
То је управо оно што се дешава тако да ако сачувате датотеке да направим када је овај програм
у посебном проширење као што су Ц, уместо тога. од доц, или.. клс, или шта год
Ви сте упознати са, ја заправо могу креирање програма помоћу чак и овај једноставан
текст едитор.
>> Дакле, дозволите ми да урадим.
Дозволите ми да иде напред и сачувајте ово филе прво као хелло.ц.
И опет, ово ће кориснички интерфејс се упознају са вама брзо.
Али за сада, само куцам у имену датотеке.
Ја ћу да га сачувате у свом Јовану Харвард хоме директоријум.
И сада имам ову картицу која указује Ја сам заиста уређивање
фајл под хелло.ц.
Па ипак ништа претерано занимљиво.
>> А сада ће то добити прилично загонетан.
Идем да зумирате, само тако да је више видљив.
И ја ћу почети куцање укључи стдио.х, тап_п, празнина, отворени коврџава
браце, један, два, три, четири места за увлачење, штампање Ф, за штампу
нешто форматиран, цитат завршити цитат, "Здраво, свете" обрнута коса црта, н, близу
цитат, затворена заграда, тачка и зарез, унесите повратница, повратница, бацкспаце,
Бацкспаце, затворена заграда коврџаву -
Програмирања сам.
>> Добро, тако да је ово супер једноставно Програм, заправо, програм који
свако почиње са програмирање.
И све што ради, за свој својој сложености, се одштампати на
екран, погодите шта?
Здраво свет.
Али није довољно само да напишете програм.
Дакле, ово је број.
Ово је изворни код у Ц језик зове.
Она се тренутно чувају у фајл под хелло.ц.
>> Сада погледајте на дну од екрана овде.
Више о томе, опет, у наредним недељама.
Али, то је оно што ћемо назвати прозор терминала.
То је трепери, црни и беле брз.
То је нека врста старе школе интерфејса рачунар који уопште не
користите миша или другог графички елементи.
То је само користи тастатуру.
И ја могу да куцате команде у ово трепери брзо.
>> И за потребе данашњих, само сам ће да откуцате следеће -
направити здраво.
И тај програм, да, само је програм који, у стварном свету ове
дана, ми смо два пута да кликнете на.
Али, у овом интерфејсу за данас, ми смо ће да упишете своје име на овај брз.
Добро је направити буквално ће ме програм под називом здраво.
И то ће учинити тако што ћете за фајл, само
подразумевани, зове хелло.ц.
То ће претпоставити Желим Ц програм по природи како овај рачунар
је конфигурисан.
>> Тако да иде напред и притисните ентер.
Видим неку шифровану излаз, али ово ће постати све превише
познато пре дуго.
Ово се десило да покренете компајлер, више на који тренутак, зове Цланг.
Али сада, имам само још један трепери промпт.
И ја сада ићи напред и упишите тачку сласх, за неинтересантна разлога ми ћемо
врати се следеће недеље -
здраво.
>> Дакле, све ове напора до сада само да напише најједноставнији програма који,
чим притиснете Ентер, то ради.
Тако сам написао свој први програм.
Тако да сам ја намерно убадањем забаве овај врло једноставан програм
за неколико разлога.
Један, тешко је узбудити о узимању класу ако
Ово је крај игре.
>> Али више од тога, постоји доста сметњи овде.
Први пут када научите да програмира, за оне мање удобан, и
чак и ја, у своје време, када сам први пут видела овако нешто - можете некако
на слици да, у реду, овај је у штампаном хелло свету.
Али има толико сметња.
Има толико синтаксе на екрану да се добије на путу веома
једноставне, иначе једноставан, идеје.
>> Дакле, шта ћемо да урадимо данас јесте да смо ће да оставе по страни и да се Ц
Назад на то у понедељак.
И ми ћемо користити графички програмски језик зове нуле.
То је програмски језик, који сам алудирао да у среду, да ће
да нам омогући да раде исту врсту ствари али жмуре, за данас,
до великих заграда, заграде, је тачка-зарез, а све ове глупе
сметње да стане на пут, у ово први дан, неких основних, прилично
интересантне идеје.
>> Дакле, у том циљу, ја ћу да идем назад на десктопу овде и
увести вас на алтернативу да Програм, који ће да изгледа
мало нешто светло то.
Тако ћемо да применимо Исти програм данас - две слагалица
комада који, када се међусобно и кликне на, ће рећи свету,
хелло ворлд.
>> Па хајде да заиста идемо тамо.
Дакле, ја ћу ићи напред и отворите сајт познат као сцратцх.мит.еду.
И то ће ме довести до Овај сајт овде.
Унапред, ја сам пријављен на ово сајт и први проблеми који
ће ходати вас кроз неке од ових корака.
Ја ћу ићи напред и кликните на дугме овде на мом огреби фолдер.
>> И ово ће ми показати неки пројекти које сам
заправо створио унапред.
И испоставило се да је овај графички програмски језик не само да иде
да нас пусте програм превлачењем и падају ове делове слагалице, ви
чак и не треба посебан софтвер.
Све је уграђен у бровсер тако које можете да урадите, у теорији, на
рачунари сада, као неки од вас може бити, чак и без потребе
софтвер као ЦС50 апарата, који ће доћи следеће недеље.
>> Дакле, ја ћу да идем до горњем углу овде и кликните на Цреате.
И у једном тренутку ћу добити празан екран преко кога могу да почну
програмирање у овај графички програмском окружењу.
Али овај пут, то ће бити много, много једноставније да се заиста уради.
Дакле, у само једном тренутку, када је Ви-Фи сарађује, сада имамо овај екран.
Тако брзо вербални турнеје, али усуђујем се рећи, сигурно када зароните у
Први проблем је скуп, ви ћете ово је све врло
доступни и прилично интуитиван.
Али, хајде да наслика менталну слику за тренутак.
>> Дакле, под ово подстаћи рекавши саве промене, ти си о томе да виде огреботине.
То је дух.
То је карактер.
И он живи на оно што ћемо назвати фазу, овај велики бели правоугаоник на
коју може да се креће горе, доле, лево, у праву, и то, заиста,
друге врсте активности.
>> У међувремену, у сред овог корисника интерфејс, имамо гомилу
пуззле комада.
И видећете да кажу ствари као мове 10 корака, окренуо за 15 степени,
тачка у одређеном правцу.
Али постоји категорија блокови до овде.
Дакле, ако одем у Погледа, видећете да има и других пуззле комада који
очигледно ће рећи да овај цит поздрави, да мислим, да покаже
Сам, сакрити.
Ако одем доле на Соундс, испада Постоје начини да се играју звучи као мијау,
да се заустави све звукове, да играју бубањ.
>> Дакле, кратка дуга прича, ту је цела гомила делове слагалице да дозволите
да испричам ову мачку, или било који број други ликови, шта да радим.
Али да би све ово да се деси Треба да почнете програмирање.
А та велика бела кутија, или црна кутија, на десна страна, ово је место где
Ја ћу да се заиста драг и дроп оне делове слагалице.
То је мој празан текст прозор еквивалент.
>> Дакле, ја ћу ићи напред и кликните Контрола у средини.
Или боље речено, почећу Догађаји се.
У оквиру догађаја клупи, приметићете неколико ствари које су намерно
заобљен на врху на такав начин да они вероватно не блокирајући на
врху делове слагалице.
А то је зато што Демарк почетак програма, почетак
скрипта, да тако кажем.
Дакле, ако ја идем напред и повуците, када зелена застава кликне овде, а онда сам
Желим да кажем ово мачка нешто што на први поглед.
Дакле, ја ћу да идем у изгледа табла.
И ја ћу ићи напред и зграби поздрави блок и драг, и пад,
и пустите да се аутоматски браве тамо.
>> А онда сам приметио да Кликните на текст.
И ја могу да замене да буде више специфичне као, рецимо, здраво свет.
И сада имамо програм који Тврдим је иста као и много више
волшебни програм сам реализован у Ц малопре.
>> Ако ја одем сада на левој страни стране, приметити постоји велика знака стоп
и велика зелена застава.
Дозволите ми да увећате због јасноће.
А кад сам сада кликнете на ову зелену заставу, вероватно можете погодити шта овај први
Програм ће сада да уради.
Тако да, такође, смо програмирање, али Ми заправо не залажења
У неким од тих синтаксичких, појединости.
>> Али, хајде да пробамо нешто на мало интересантније.
Пусти ме да идем у мој фолдер Огреби овде.
А у ствари, дозволите ми да отворим па се посебан програм за само овде
тренутак, Повећајте овај прозор, Филе Опен, а ја ћу да идем у данашњим
извор директоријум.
Као и увек, ви ћете, данас и надаље, да су сви примери данашњих
су доступни унутар Курс сајт.
>> И ја ћу да наставим овде и изаберите се нешто мало другачије.
Овај овде, за који Треба ми добровољац.
Ко би хтео лампу сто данас?
У реду, шта кажеш некоме нешто - Да ли сте на крају?
Сиђи доле.
Сада, да ли желите да учествујете, или само да кажем почети са Стона лампа?
>> Ванесса: [ИНАУДИБЛЕ].
>> Малан ДАВИД: У реду.
Одлично, оно што је име?
Ванеса?
Дејвид.
Драго ми је што смо се упознали.
Па хајде горе и Ванеса иде да преузме контролу над мојим
тастатура за тренутак.
И оно што сам овде урадио, само је за време саке, као што сам схватио
Ви-Фи је мало спор, гребање, програмско окружење које смо
коришћење, може се преузети и раде на локалном рачунару.
Дакле, оно што сам урадио пре предавања, у случај који се дешава, јесте да сам скинуо
сви фајлови смо о томе да се игра са тако да може да ради мало више
брзо овде на мом лаптопу.
Зато сада видим Мац-специфични интерфејс.
>> Дакле, ја ћу да наставим и отворити ову.
Ја ћу ићи напред и сада Фулл Сцреен прозор.
И као што ћете видети, можемо веома брзо, као што је овај ученик, један од
Ваши претходници, идите из света хелло да много много више убедљив
апликација.
Дакле, овде су упутства.
Ох, и ми имамо једну другу ствар.
Мислио сам да ће бити забавно, јер, Нормално, ми ћемо се снимање
камере на овај начин.
Мислио сам да ће бити забавно ако, Ванеса, могли смо да видимо свет
својим очима.
Дакле, овде имамо неке Гоогле Гласс.
>> [Запањен ГАСПС]
>> ДАВИД Малан: Ми само ће давати е лампе деск данас.
>> [Смех]
>> Тако да ме ово горе шлагворт.
У реду, па додирните ово.
У реду, стакло, снимили видео.
У реду, Ванеса?
Сада, као и страну која нема никакве везе са нуле, ако погледате
мало горе и десно, видећете буквално стакло, и требало би да
погледајте мало правоугаони прозор.
Требало би да видите све своје другове снима управо сада?
Да.
>> Ванесса: Да.
>> Малан ДАВИД: У реду.
Дакле, то је у реду.
Касније ћемо објавити овај снимак.
За сада, скрећемо пажњу на екрану овде.
А шта је ваш претходник учинио је ставити неке упутства на екрану
користећи само програм боја.
Тако ћете, на тренутак, притисните размакницу да бисте започели.
А онда су неки комади слагалице ће за почетак креће горе екран.
И ви желите да удари стрелице, само као у стварном ДДР, у складу
у ствари гурају са тим стрелама.
>> Ванесса: У реду.
>> Малан ДАВИД: Ти си играте ово раније.
>> Ванесса: Да.
>> Малан ДАВИД: У реду, Ванеса, само напред и да се она уклони.
>> [МУЗИКА - ЗАПАД Кејн, "јаче"]
>> [Апплаусе]
>> Малан ДАВИД: Па, хајде да сада се корак од тога.
Па јасно, то је крај игре.
Енд Гаме није здраво свет.
Али, не морате нужно да урадите ствари које су толико интерактиван.
То можете урадити и анимацију.
Тако на пример, још једна од твојих наследници су овде овај програм,
који прича причу више него не спроводи се игра.
Дакле, дозволите ми да иде напред и отвори овде Програм у нашем каталогу истог извора
од данас.
Овај позив, и почнимо са, љубавном причом колачић.
>> А не да се то превише академски, али, док гледате ово, мислим да
оних који се једноставно програмирање концепти смо разговарали
о до сада -
варијабле, и петље, и услови, Ваш претходник је вероватно користити само
да спроведе неке од су визуелизације.
Овде се види.
Зато сам вам причу колачић љубавну.
>> [МУЗИКА - Греен Даи, "Холидаи"]
>> [Црасх]
>> [МУЗИКА - корњаче, "Хаппи Тогетхер"]
>> Малан ДАВИД: У реду, тако да, смо имали колачић љубавну причу.
Али, чак и тамо -
>> [Апплаусе]
>> Малан ДАВИД: У реду, чак и тамо, мислим о, како ти је срце од
дна до врха екрана, заправо било мало
случајност дешава.
И заиста, ми ћемо видети да чак и у најједноставнија од окружења, као што су
Огреби, као у Ц, можете генерисати случајних бројева, или илузија
случајних бројева, тако да је игра занимљивије него да би могло
било да сте имали апсолутно фиксирани све.
>> У покрету који видите, ту постоји нека врста одзив.
Чим медењак човек дотакне Гингербреад жена, она
Изгледа да се удаљи.
И тако, заиста, можете да спроведе, у већина програмских језика, појам
догађаја, при чему, ако једна рука додирује С друге стране, то може да изазове неке
вашег изворног кода у заправо извршава.
Иоу цан листен за такав ствари на екрану.
>> Дакле, хајде да брз обилазак, онда, неки од блокова можемо да користимо
да оствари неке од ових циљева.
Дакле, ово је оно што ћу убудуће позовите изјаву.
Изјава се дешава да се у љубичасте Нуле, мало овако нешто,
али то је произвољно.
Изјава је само комад слагалице или, генерално, инструкција, која
говори компјутер да уради нешто, изјава.
>> Дакле, овде је једноставан пример.
Поздрави свет.
Још један се може чекати један секунд.
Дакле, слагалице, која је подржана у Огреби, обавестићемо ваше
карактера паузу за неке Број секунди.
Ово је, такође, је само изјава.
>> Овде поред, имамо још више интересантан, игра звук мијау, и
мала стрелица значи да у нуле, ово је падајући мени.
Дакле, можете да увезете звуке.
Можете да снимите звукове и до других забавне ствари у нуле.
И све то, ипак, на крају дана, је само изјава.
Али сада хајде да уведе више занимљив комад, који познат као
Булов израз.
Капитал Б, названа по момак по имену Боол.
>> А Булов израз је само слагалице или, уопште,
податак који је истинито или лажно -
један или нула, да или не.
Дакле, то је само један од оних две супротности.
Дакле, један такав Булов израз у Свет Огреби изгледа овако плава
слагалица.
И то је постављате питање, миша доле, и то може да буде, на
Наравно, тачно или нетачно.
Дакле, са овим слагалица у нуле, добро, ви ћете бити у могућности да открије да ли
пуззле ако миш је, у ствари, бити спутава човека у интеракцији
са својим програмом.
>> То је мало више апстрактна, али те две беле кутије
су само за бројеве.
Дакле, можете да радите ствари као што је то број мањи од другог?
И ако је тако, Огреби ће се понашати један или други начин.
То је мало више графички.
То је, ако спрајт, ако мачку, за пример, заправо додирује
миша.
Дакле, ако мало стрелица глава лебди преко мачке, онда то
слагалице који ће проценити да истина.
То ће бити тачно, у том случају, ако вас користите овај боолеан израз, као што ћемо
видети за тренутак, у грани, можете или ово, или можете да урадите,
много као што смо имали услов да проверио, постоји још једна последња особа
у соби?
Ако је тако, додајте једну.
У супротном, не брините више.
>> Дакле Булов израз може бити и-ед заједно, или заједно или-ед.
Дакле, можете да комбинујете логичких израза и кажу да и то мора да важи и за
Цела ствар да би било истинито.
И овде је више стваран свет пример.
Ако сте користили ЦС50 Курсеви да курс куповина, ти контролни кутије
тамо, где ако проверите ту кутију поред курсевима, које ће рећи, да,
само ми покаже предмете за које П вредност је 4,5 или виши.
Ако искључите га, не, не брините о томе.
Или слично, са десне стране, не Сукоб са курсевима узимам,
То је истинито или лажно.
То је само Булов израз.
Дакле, све ово време, када сте се користи сајтова са поља за потврду, ти си
пребацивање еквивалент Булова израз и искључивање.
>> Дакле, у ком облику се користи ово?
Па, у нуле, видећемо у тренутку да постоје услови да се
изгледа овако.
И то је некако разумно, јер много као у псеудокоду, ми увучен
врста у облику слова делове слагалице, значи да је све унутар тог У је
ће да изврши, или не, у зависности од о где је.
Дакле, ако Булов израз, онда све што је унутра ће се извршити.
>> У међувремену, постоји ако / други блок.
Дакле, ако желите грану која иде ово начин или да, Огреби нам даје то.
И по тој логици, сада, иако то слагалице који је очигледно сувише мали
ударају на нешто друго унутар ње се, Тхе Сцратцх пуззле комада, они су
само ће расти.
Када превучете и отпустите преко нечега, само ће расти да стане све што је
се ви покушавате да урадите.
>> Дакле, можемо узети два од тих ствари и чине три виљушку начин на путу, тако
да или урадите, или то, или ова друга ствар само гнезда њих
на тај начин.
Наравно, ако то урадите превише много, она почиње да се ружно.
Али, у том тренутку, ви сте у ствари вероватно није добро програмирање.
И то ће бити периодичан тема, такође, да од стила.
Колико добро се заиста обликујете свој код?
Или колико добро дизајнирате свој код?
Али више о томе у будућности.
>> И сада имамо петље.
Има леп заувек петља у Огреби што дословно значи - до
све што је унутра опет, и опет, и опет.
Можете да буду конкретнији и каже, урадите следеће ствари 10 пута.
Такође можете да користите променљиве.
Можете доћи до било које име у мало спустите доле и реци, дај ми
променљива зове н и подесите је једнак некој вредности.
А онда можете имати функције.
Али више о онима који тренутак.
>> Дозволите ми да се вратим у Сцратцх интерфејс.
И дозволите ми да иде напред овај пут.
И идемо напред и отвори, рецимо, пример из -
то је мало занимљивије.
Пусти ме само напред, и, у ствари, Само да се направи.
Не треба да се отвори ову.
Пусти ме да одем на Филе, Нев.
Ја ћу да идем у догађајима.
Ја ћу да идем у када зелена застава кликнуо, а ја ћу да идем у Соунд.
А ја ћу за превлачење и ово слагалице, играју мијау звука.
То заједно резе.
А сад, ако кликнем зелене заставе -
>> [МЕОВ СОУНД]
>> ДАВИД Малан: Предивна.
У реду, па сад хајде да радимо нешто мало логичније само да покаже да
можемо, за сада.
Идем да откачили овај од тог момка.
Ја ћу да идем на контролу.
А ја ћу да узмем стање.
Дакле, ако нешто онда.
Па тако је то тамо изгледа.
Па морам боолеан израз.
И дозволите ми да иде напред и рећи, пусти ме на оператера.
Ја ћу да урадим нешто мало Матхи, за сваки случај.
Ја ћу да одем овде и кажем, ако нешто мање од нечег другог,
само напред и уради нешто.
Па сад, знаш шта, случајни блок.
Па приметити како, ако пређете преко ове ствар овде, која ће пуцкање у тамо.
>> Па сад, обавештење, ја почињем да радим већ нешто више логички
занимљиво.
Ако случајни број између 1 и 10 је мања од, рецимо шест.
Ако изаберем шест, који у суштини значи, урадите следеће са 50%
вероватноћа.
То је као бацање новчића.
Сада, ја могу да урадим нешто условно.
И то нешто идем да се играју звук.
Тако да сада, када кликнем на екрану застава, то је као бацања новчића.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: То је глава или шта тамо.
Хајде да то урадимо поново.
>> [МЕОВ СОУНД]
>> ДАВИД Малан: Хеадс поново.
>> [МЕОВ СОУНД]
>> ДАВИД Малан: Хеадс поново.
Фуј, ОК.
Писмо које време.
Дакле, 50% времена, ако то урадимо бескрајно дуго, ми ћемо добити 50% меовс
и 50% ућутка.
Дакле, само основни градивни блок који омогућава нам да урадимо.
Али, ово је некако досадан да сам да кликнете то дугме.
Дакле, хајде да превучете и бацају сви они далеко.
Ако их је одвукла у средини, они ће само да се уклони.
>> Пусти ме да идем горе да контролише.
Пусти ме да се заувек.
И овај пут, ја ћу да урадим минорли нешто нервира.
>> [Смех]
>> ДАВИД Малан: И да ме пусте напред и до контроле.
Сачекајте само тренутак, само тако није превише решетка.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: То није природно.
ОК.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: А погледајте шта је, лепо око нуле, за оне од вас који
имају претходно искуство програмирања, ви не треба да се покрене и заустави.
Не треба да се састави.
Само га промените, а програм динамички прилагодити.
Дакле, то је све мало занимљиво.
Али, хајде да га узме један корак даље.
Дозволите ми да иде напред и да се ослободити од тог програма.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: То је оно што ћемо позовите грешку у нуле.
Он не би требало да задржи што тај звук.
Дакле, ми ћемо му рећи да престане.
Добро, сад сам да идем у -
Јавићу МИТ знати.
Идемо овде на Заувек.
А сада, желим да урадим нешто изнова и изнова.
Ја ћу да идем у Цонтрол.
>> И да видимо, ја ћу да превучете мој услов ако постоји.
Дакле, сада приметити логику.
Када зелена застава се кликне, до нешто заувек, већ само то да урадим
ако је то нешто друго је истина.
Ја ћу да идем на, хајде да кажу, сензора.
И ја ћу ићи напред и одаберите додиривање и пустите га тамо.
То је Булов израз.
>> А сада, приметити, у овом паду падајућег менија, постоје
неке унапред дефинисане вредности.
Дакле, могу да кажем, да ли додирује ивицу екрана?
Или сте додиривања миша, стрелица на екрану?
Дакле, ја ћу то да урадим.
И ако је тако, онда ћу да одем напред и да репродукује звук мијау.
Сада сам некако имају почеци игре -
сладак игре.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: У реду, сладак, луд игре.
Пусти ме чекај, рецимо, један тренутак.
Сада играју поново, тако што ћете кликнути зелена застава.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: Па сад је као да мази мачку.
>> [МЕОВ СОУНД]
>> Малан ДАВИД: У реду, сада то један сам правио унапред.
Веома касно, постаје врста лако да правиш глупости.
Зато ме пусти унутра.
Рецимо, да је Пет мачку.
Хајде сад отвори Немојте Пет мачку.
Сада, ако будемо играли ову, можете да погодите, ако сте
гледајући у екран -
>> [МЕОВ СОУНД]
>> ДАВИД Малан: Сада, ако сам мазе мачку
>> [ЛИОН'С РОАР]
>> Малан ДАВИД: Па у ствари, не љубимац мачка у том случају.
Дакле, сада имамо само један пример грана која иде у два правца.
Сада да иде напред и отвори још један овде.
Ово, такође, међу нашег извора код датотеке за дан.
Дакле, да се вратим у мој извор директоријум и иду у, хајде да изаберу
овај момак овде и види што је другачије.
>> Вау, у реду, тако да сада то постаје мало сложенији.
И пре него што видимо шта овај момак ради, хајде да покушамо да закључимо, из програма
на десној страни.
А сада гребање јасно нам омогућава да имају више скрипте, више
програми у вези са једним Сприте, са једним ликом, и, очигледно,
они обоје ће да ради пратиле цену.
Због оба ова програма почиње Са Код зелене заставе кликова, ово је
алудирајући на много вишем теми, са што неки од вас можда бити упознат,
познат као навоја, или мулти-тхреадинг.
>> Испада, да скратим причу, компјутери Данас се у суштини урадити више
ствари истовремено.
Или они могу да ураде једну ствар у исто време, тако брзо да ни не приметите да
то је заправо на један по једно.
Али за сада, хајде да претпоставимо да су оба ови програми ће се извршити у
исто време.
И запазите, обојица имају заувек делове слагалице.
Дакле, они обоје ће наставити да ради док сам ударио црвени знак стоп.
>> Па шта ће да раде?
На левој страни, ја сам очигледно проглашења променљиву зове искључен.
Па нисам назвао нешто досадно као и Н. Назвала сам је искључен ово
време је да пренесе значење.
Поставио сам је једнака нули.
Хајде да размишљамо о томе како Нетачно, или хајде да се то као лажна.
>> Сада, заувек урадите следеће.
Ако је размак на тастатури се притисне, онда, ако пригушен једнак нули,
затим промените искључен на једнак један.
Иначе, поставите мутиран на нулу.
Па логично, мада то је сасвим гомила делове слагалице који је
Само кажем, када сам ударио размак, Шта треба да урадим да променљива
зове искључен?
Промените га од једног до нуле, или нула до један.
То је све.
Дакле, то је као кад се прекидач за светло или искључите и памћења, уз
променљива, да сам то урадио.
>> У међувремену, на десној страни, у лаике услови, шта је сврха
скрипта са десне стране?
>> СТУДЕНТ: Да бисте репродуковали звук морски лав.
>> Малан ДАВИД: Да бисте репродуковали звук Сеа Лион, ако није искључен, по
природа те променљиве.
Дакле, делимо државу, да тако кажем, дељење информација преко ове две
скрипте јер, приметио овде, ми смо заувек на следећи начин.
Ако је искључен нула, па ако није искључен - ако је искључен лажна, онда играју
ово Сеа Лион звук.
И мислим у себи, хи, хи, хи, за две секунде, сачекајте тренутак, а затим
проверите поново.
Дакле, ако смо сада овде на лево, где је тај тип, и ударио
зелена застава,
>> [Сеа Лион СОУНД]
>> Малан ДАВИД: У ком тренутку ради ово се стварно нервира?
Зато што ће само ићи у недоглед.
Дакле, понекад, бескрајно петље, да тако кажем, су намерно.
Али у овом случају, чим сам ударио размакницу, он зауставља.
Сада је програм не престане.
И даље се ради на тим петљама.
Али, ако се опет размак -
>> [Сеа Лион СОУНД]
>> ДАВИД Малан: Он ће да узме тамо где је он стао.
Дакле, постоји један начин за нас да нешто изнова и изнова, али, да
време, само условно.
Па, док смо у том смислу обављања ствари изнова и изнова, да ме
иду у други такав пример.
Ово ћемо назвати бројање оваца.
>> А погледајте шта овај момак ради.
То је заправо мало више као Псеудокод смо играли са по
Среда, чиме он поставља неке цоунтер, мислите о томе се као Н поново, на
нула, он је заувек чини следеће.
Он каже да на шалтеру за вредност за један Друго, чека други, а затим
мења бројач за један.
И у том контексту, да само То значи корацима.
Дакле, он додаје један на њега.
Дакле, ово је буквално -
То није баш оно што ми мислимо од бројања као овце.
То раде бројање оваца, заувек, горе од нуле.
>> Тако да можемо да урадимо нешто слично као ја тамо, логично.
Али, хајде да покушамо да очистите неке од ових ствари.
Пусти ме само напред сада у једноставан Пример где је наша мачка це једноставно
почети кашаљ.
У реду, тако да овде имамо кашаљ 0 -
компјутерски научници старт рачунајући од 0.
Дакле, ово је само мачка иде да кашље три пута.
А ево како сам то реализује.
Када се кликне зелена застава, кашаљ, чекај, кашаљ, чекај, кашаљ, чекај.
И ја сам то само превлачењем и пада делове слагалице.
Или, ако почнете да се лимарија са нуле, видећете можете заправо
дупликат комада, тако да можете да урадите више ствари брзо без драггинг
и пада ад наусеум.
>> Али ми смо на најбољем путу овде.
Јер како да га направити кашаљ и четврти пут?
Па, ја могу некако иде доле.
Ја могу умножавати и онда налепите тамо.
Како да га кашаљ и пети пут?
Па, копирајте и налепите поново.
Или превуците кап поново.
И врло брзо, овај програм почиње да се заиста, заиста сувишно,
стварно дуг, али стварно незанимљива.
Али, постоји начин да се очисти ово.
Шта је очигледан начин да очисти ово?
>> У реду, тако да смо заправо могао да иде напоље и, када кликнете на простор
бар, да га кашаљ.
Али, ако желим да урадим нешто репетитивели, сећам се да ми немамо
неке контроле конструише.
Да пређемо на ово начин, идите под контролом.
Дозволите ми да урадим да се понови, кажу, три пута.
А сада да ми неко украде ове делове слагалице.
Пусти ме да пукне ово овде.
Дозволите ми да их бацимо у потпуности.
>> А сада, имам бољи дизајниран програм.
Зашто?
Ако желим да променим број пута ова мачка кашља, све што треба да
урадите је да промените једну променљиву, или једну вредност, а од три, до четири, или
пет, или шест.
Или бих могао да урадим нешто условно, чак, са простором
бар да сам хтео да.
>> Дакле, ово је општи принцип.
Када почнете да копирате и налепите код, да ли је у нуле, или у
Ц, да радиш нешто погрешно, највероватније.
Или макар, једном сте премашили неке разумном броју примерака и
пасте, вероватно сте радите нешто погрешно.
>> Али, знате шта?
Стварно не овако.
Ово није најчистија дизајн.
Волела бих да има комад слагалице зове кашаљ, јер онда не бих
морају да остваре ово се, старински начин, по
што кажу, и чекај -
шта ако су били само кашаљ комад слагалице.
>> Па, ја заправо могу да урадим то.
Пусти ме у више блокова, кликните на дугме Направите блок, а сада имам ово
прозор овде.
Ја ћу да зовем овај кашаљ ствар.
Ја ћу ићи напред и кликните на дугме У реду.
Запазите сада, имам нови полазна комад који је завијен на врху.
И шта ћу да урадим са тим, ја сам ће украсти ових блокова.
Ја ћу их ставити овде.
>> А сада, са ове три комада, имам реализује оно што ћу назвати
функција, или процедура, или неки од можда га знате као метод.
Незнатне разлике међу речима.
Али за сада, хајде да звати функција.
Ово је само нови комад слагалице.
Сада се реализује овако.
>> Али приметите да Огреби нам је дао физичком одразу да цела
блокирају овде.
Дакле, сада, могу само да превучете ово овде, кажу, поновите три пута, а
шта ће се десити сада, када играм Ова скрипта, је само један програм
ради у исто време.
Постоји само један, када зелена застава кликнули.
Али то љубичаста блок зове кашаљ ефикасно говори Огреби, сваки
пут када видите тај комад слагалице, заправо извршава следеће кораке да
десити да ручно спроведе.
>> Дакле, то је некако уредан.
Али сада, претпостављам да сам одлучио, не знам Желим ову мачку само да кашље.
Желим да будем у стању да кијам као добро.
Па, како да идемо о спровођење кине?
Па могао сам прилично раде исту ствар.
Могу да направим још један блок.
Могу да позовем ову кијање, кликните на дугме У реду.
>> Затим, овде сам могла су, дозволите ми да ово дупликат -
и тамо је где треба да се осећате као вероватно се не ради нешто у
најбољи начин.
Могу да кажем нешто попут: ацхоо, за једну секунду.
Чекај секунду.
Сада имам нову групу под називом кијање.
И заиста, то је то.
>> Али то, такође, треба да почну да се осећају - можда не прве недеље класе, али
по други - само мало сувишан.
Јасно, ту постоји нека сувишна.
Тако да ме предложи, уместо тога, да смо прецизирате ова дефиниција на следећи начин.
>> Пусти ме да идем горе у моју падајућег менија.
Нећу да сачувате ову верзију.
Ја ћу да идем у једну од моји премаде фајлове овде.
И ја ћу да наставим и отвори 2 кашаљ.
Упс да је кашаљ 2.
Дозволите ми да иде напред и отвори кашаљ 3, што је овај извор директоријум.
Кашаљ 3 и приметио - Ох, рекао сам прича у погрешном редоследу.
Дозволите ми да се опорави од ове приче.
>> Прича Хтео сам да кажем завршава кашљем 4 -
то је то.
Па шта ако сам уместо тога, дефинишу већи комад слагалице зове
дефинисати, кажу реч н пута.
Кијање је само, очигледно, у Огреби, ацхоо.
Дакле, ми смо га изрази као реч, само зато што је то
ограничење програма.
И кашаљ [ЦОУГХ], али кашаљ, Ц-О-У-Г-Х. Дакле, то је само два
различите речи ради, у суштини, иста ствар.
>> Тако да ја заправо могу да Нови блок овако.
Нисам користио ову опцију менија раније.
Али, када кликнете на Маке Блоцк, можете изабрати неке опције.
И може се рећи да је заправо овај блок узима неке инпуте, иначе
познат као аргумената, или параметри, тако које можете изменити понашање
Ваша блок.
>> Дакле, оно што сам урадио малопре је Звао сам блок Реци.
И онда сам рекао, потребно је стринг улаз.
Запазите сада, по дефаулту, пише ниску 1.
Стринг је само реч, или фраза, за наше потребе.
Али, ја ћу само да се неке Текст чувара места тамо, баш као у
сајт, када видите корисничко име, или лозинку, а онда нестаје када
почнете да куцате.
То је све што јесте.
>> А сада ћу да додајте уноса бројева.
И ја ћу да позовем ову н - али то је прилично произвољан.
И онда само етикета, само да би Овај блок мало више себе
објашњења -
пута, то је оно што сам урадио.
А крајњи резултат је да сам се блок који изгледа овако.
>> Запазите сада, ја користим понављање блок.
Али, уместо хард кодирање три, ја сам превлачењем н тамо, тако да
може параметризе функцију.
Могу да ова функција нешто различит број пута на основу
ту вредност.
>> И приметио, кажу, то је оно што сам урадио Овде, ако сам превуците реч, ја могу да кажем не
фиксирани реч, али шта год је донет за једну секунду.
У међувремену, како да поново примени кашаљ?
И уместо да дефинише као кашаљ рекавши кашаљ н пута.
>> Дакле укратко, ја ћу кроз овај брзо, али основна идеја је што пре
као што сте да видите у вашем програму да, чекај мало, ја сам урадио
сасвим нешто овако раније, могу факторишу неке заједничке
функционалност?
Да ли могу да разлажу шта радим у неким основним идејама?
То је оно што ми радимо овде.
И ја сам наслагане ове ствари, визуелно, један на другог
јер је то потврда да идеја почевши бинарни, иде у АСЦИИ,
израду графичких програма, врста наношење слојева све више комплексне идеје о
један на други.
>> Иста идеја овде.
Почела сам од нуле, спровођење кашаљ, онда је схватио кашаљ
стварно само каже нешто.
Па да, уместо примене Идеја да се нешто каже.
И поврх свега, да остварим ацхоо, или кашаљ?
И ми смо могли да урадимо што више даље варијанте.
>> Дакле, од овог основног принципа, можемо да почнемо да
све сложеније програме.
Дозволите ми да отворим ову.
Ми заправо може да има више спрајтова интеракцији на екрану одједном.
Ако ја одем у изворни директоријум и зграби један под називом теме, сећам се да
Тема је заиста само способност два сценарија да раде раме уз
страна у исто време.
>> Погледајте сада, имају и спрајта птица и мачка спрајт, које обе имају
сопственим писмом.
Дакле обавештења, када кликнем мачка, ја се ове скрипте.
Када кликнем на птицу, Ја се ове скрипте.
Дакле, сваки од ових момака има његови програми.
Када сам сада кликните зелене заставе, приметити да је оно што овај програм ради је
имају мачку, невероватно полако, јури птицу.
Али мачка има предност да програмиран на такав начин
да без обзира где птица је, мачка иде према њему.
>> Можемо да играм ту игру много брже.
Дакле, ако сам на мачке, приметио да сам користи, рецимо померити један кораке.
Хајде да га преместите у пет корака време, па пет тачака одједном.
Пусти ме да играм на дугме.
>> [ЛИОН'С РОАР]
>> Малан ДАВИД: У реду, сада можемо стварно је мачка дају предност.
10 корака у исто време.
>> [ЛИОН'С РОАР]
>> Малан ДАВИД: У реду, тако да врло брзо, постаје мало предност
за мачку.
Али ја ћу махнем руком на неких детаља.
Али разлог да тај пут је почев мало другачији сваки пут
је да радим мало случајности.
Ја сам заправо указује мачку у другом правцу на основу тога где сам
жели да он почне тако да сваки пут игра, или анимација, је
мало другачије.
>> Сада, дозволите ми да представим једну други конструишу овде.
Дакле, у овом случају, ми смо имали функције.
Ту ће бити комад слагалице познат као низ или листа,
који вам омогућава да сачувате више Вредности унутар променљиве.
Видели смо тема, а сада Догађаји постоји.
>> Дакле, овде је помоћу догађај ова двојица овде.
И ако ја отворим фајл под Догађаји примерима из данашњих, ми ћемо
види програм који изгледа мало овако.
Запазите сада овог типа -
па приметио сам плави Муппет кликнули -
Он само ради следеће.
Он нема један од оних зелене заставе пуззле комада.
Он је, када сам добио догађај -
па нека произвољна рец.
Само сам откуцао се догађај тамо -
он ће рећи, Поло, за две секунде.
>> Дакле, оне од вас који су упознати са ова игра може знати
куда све ово води.
Ако сада кликнете на наранџасте Муппет, његов програм то ради.
Заувек, ако тастатура размак потиснута, он ће рећи, Марко,
за две секунде на екрану.
Али он такође ће користити овај љубитељ блокирају познат као емитовање.
Он ће емитовати цитат Крај цитата, "догађај".
>> У међувремену, плави момак, подсетимо, је за слушање куоте Крај цитата, "догађај".
Тако некако, сад, можемо имати два спритес интеракцији.
А када стигнемо у веб програмирање, касније у року, слично ће ово
бити корисно да имате свој сајт нешто као одговор на, за
пример, клик на тастатури.
>> Дакле, дозволите ми да иде напред и ударио размакницу.
Наранџаста момак каже Марко.
Плава момак каже Поло.
Ако урадим то опет наранџаста момак каже Марко, плави момак каже Пола.
Па хајде да ово корак даље.
Овај пут, ићи ћемо, вероватно, Само пар минута овде.
Да ли имамо -
Стона лампа, хајде доле.
Ти си у праву на крају.
У реду, можете доћи до оба.
Имамо стоне лампе за свакога.
Хајде.
Ја не знам да ли можемо задржати ово смешно гег горе
све семестра, мада.
У реду, хајде доле.
>> А у међувремену, имамо Следећи примери да се повуче, да се само
сада убрзати ствари, тако да смо имају манифестацију од другог
претходник твој користе Исти основни градивни блокови.
Како се зовеш?
>> ЈОВАН: Јован.
>> ДАВИД Малан: Јован.
Драго ми вас.
А?
>> Сетз: Сетз.
>> ДАВИД Малан: Сетз, лепо ми ти.
Џоне, ако желите да се Прво се, ово је стара
школа игре под називом Фроггер.
Можете користити тастатуру за ово.
А циљ је да се преко улица и воде.
>> [ФРОГГЕР музика и звук плаис]
>> ДАВИД Малан: Жао ми је, не Стона лампа за вас данас.
У реду, Сетз, хоћеш ли желели да дођу на горе?
Добро, хајде да то урадимо поново.
>> Сетз: Да ли користите стрелице?
>> ДАВИД Малан: Само са стрелицама.
Горе, доле, лево, десно.
>> [ФРОГГЕР музика и звук плаис]
>> ДАВИД Малан: Ми ћемо их позвати награде утеха данас,
затим, веома добро урађен.
Ево, за обоје, Јована и Сетз.
Честитам, у реду.
Па опет, јер ова игра игра, размислите о томе шта се дешава?
>> Једна, очигледно има много кретања.
Међутим, видели смо како се, са мачком и птица пример, како можете да
илузија кретања од само померањем неких број пиксела поново и поново.
А ако имате заувек блок, могао си ово
аутомобили радим ово заувек.
Ми имамо могућност да имају неке случајности.
Дакле, ова игра не мора да буде исти сваки пут.
Та стабла, те аутомобиле, могу да се крећу од незнатно различитих времена, тако да
Сама игра је занимљивија са сваке игре.
>> А у међувремену, видели смо могућност да слушају размак.
Али, јасно, у нуле, такође можете слушајте на горе, доле, лево, десно, и
заиста било који тастер на тастатури.
И можете да урадите неке друге ствари.
Дозволите ми да иде напред и да се вратите на веб верзији.
>> Пусти ме да идем у нашој колекцији од примера овде.
И у мом студију, видео који је, у суштини, фасцикла на
сцратцх.мит.еду.
Имамо веб верзије све ове пројекте.
И хајде да видимо да ли могу да га Рачунар се овде сарађују.
То је написао један од наших пријатеља на МИТ-у, под називом Померите лептир.
>> А када то отвара, ово је ће се заправо користи више од
мој рачунар је хардвер.
Огреби се дешава да се реализује са Фласх.
Блиц може да разговара са веб камере, ако је имате.
Дакле, ако иде напред и то преко целог екрана овде, кликните на зелену заставу, обавештење
да је безбедност Фласх порука каже, да ли желите да
дозволити да користе свој веб камеру?
>> Нормално, требало би да вероватно рекао Дени.
Али у овом случају, рећи ћемо дозволити.
Онда ћу рећи Цхроме да би и ово.
А сада, за тренутак, да ме видите, да, ја.
И ако моја рука иде горе -
Морам да се не померим глава у исто време.
Ту је одраз на екрану.
Хајде, ево га -
можете да га преместите на екрану, јер Такође ту је пуззле комада - ох,
знам шта је то, то је зато што и види пројектора екран иза мене.
Дакле, имамо малу Инфините ствар дешава тамо.
>> У реду, тако да ћу играти овде.
Ту смо.
Дакле, ту је комад слагалице који каже, кад видите кретање испод
један од Спрајтови, можете да га идем горе, доле, лево, десно или слично.
Дакле, имамо мало виртуелне реалности дешава и овде, све у року од
граница претраживачу, само Овде користим камеру.
Па шта је онда на хоризонту.
Први проблем скуп, као што ћете видети, или сајт ће касније ићи на мрежи
вечерас у цс50.нет, је прилично колико ће бити отворена завршен.
И спровођења пројекта Огреби од интереса за вас, игра,
интеракција, нешто уметнички, и Изазовите себе да користи било који број
ове делове слагалице.
И он може бити интерактивна на овај начин.
Или то може бити нешто више намерно је да исприча причу.
>> И заиста, то је где ћемо завршити искључен Данас, са последњим пример.
Пусти ме у Огреби локално.
Дозволите ми да иде напред и отвори ово, и играју последњи програм написао један
од ваших претходника, односно да је један овде.
Добро, смањите звук за ову једну.
>> [Музика свира]
>> НАРАТОР: На следећем ЦС50, Давид позива на бини добровољца.
>> ДАВИД Малан: За ову презентацију, ћемо морати један добровољац.
Да ли бисте желели да дођу на доле?
Како се зовеш?
Идемо даље.