Роб BOWDEN: Здраво. Јас сум Роб. Прашувајќи се како да се имплементира оваа игра? Добро, ајде да се пробие персоналот решение. Значи, ајде прво со главата надолу на init функции кои што ти реков да спроведување во прв план. Првиот ние ќе ги разгледаме во тоа е init гребло. Добро, па се сеќавам дека сакаме лопатка за да биде точно центриран во на x-оската. Значи ние треба да дознаам каде што треба да оди. Со оглед на ширината на одборот - што исто така хаш дефинирани до врвот - ние треба да се одземе од перка ширина и подели со 2, така што центарот на лопатка е во центарот на одборот. Се сеќавам дека x-координатата се однесува на горниот лев агол на лопатката, и така тоа е токму каде што ние сакаме да биде. Y-координатата не е важно колку затоа што може да се одржи тоа секаде каде што сакаме. Па ние искажал гребло, ние се постави боја црна, ги поставивме се пополни до Точно па тоа е исполнет во правоаголник, а ние потоа го додадете во прозорецот и се врати лопатката. И тоа е тоа за иницијализацијата лопатката. Тоа се случува да бидат слични за init табла. Па ние ќе да се иницијализира на етикетата, ние ќе поставите бојата да светло сива - можете да изберете што ќе сакате - ние ќе го поставите на фонтот да sans сериф 48 - исто така може да ги собереш она што сакате - ние ќе ја додадете на прозорецот. Сега ова препрати врати не е навистина е потребно, тоа е само во случај нешто друго не се случува да се преклопуваат на етикетата. Тогаш кога ние ги користиме Откривање на судир, Откривање на судир ќе ги детектира другите нешто пред да го детектира на етикетата. Но тоа навистина не треба да влијаат на ни во оваа програма. Конечно, имаме оваа Update таблица функцијата што напиша. Па ајде да ги разгледаме во тоа. Сега, тука можеме да видиме нешто што е речиси идентична со она што видовме во label.c. Па ние имаме етикетата - карактер тампон на 12 карактери, која е само доволно да се справи со какви било цел број, негативни или позитивни. Потоа ние ги користиме sprintf да ја копирате укажува во таа тампон. Па на оваа содржи низа претставуваат бројот на поени. Конечно, ние во собата на етикетата на таа низа. И тогаш ние треба да се фокусираат на етикетата во случај да си отиде од девет до 10 поени и ние сме го префрли. Па ние се пресмета x и y-координатите на етикетата која ќе добие ширината и висината на прозорецот. Иако, ние исто така може да се само користење на константи ширина и висина хаш дефинирани до врвот. Ние, исто така се добие ширина и висина на етикетата и поделба дека од 2 до центар. А потоа ние ги користиме Постави Локација всушност го ставив во таа локација. Значи тоа е тоа за init табла. OK. Па init топката ќе биде многу слична да го иницијализира paddles, како и. Гледаме дека овде ние сме со користење newgoval со цел да се показ за нови топката. И тука ние сме со користење 2 пати на радиус како ширината на топка, и 2 пати од радиусот како висина на топката. Сега, исто така, за newgoval, x и y-координата дека ние помине во се случува да се однесуваат на горниот лев агол на топка, која што е, всушност, надвор од себе топката. Значи, со цел да се добие топката точно центриран во одборот, ние треба да се помине ширина поделено со 2 за центар, и потоа одземе од радиусот да им помогнам на вистински центар на топката во центарот на одборот. И тоа го правиме иста работа за y-оската, освен користење висина, наместо на ширина. Така што става топката во центарот. И ова instantiates топката, во собата на боја на црно, пополнете топката, потоа конечно го додадете во прозорецот и се врати. И тоа е тоа за иницијализацијата топката. Па сега ајде да ги разгледаме во init тули што е малку повеќе комплицирано, но тоа е прилично слични на init гребло. Сега, прво треба да дознаам ширината на секоја тула. Се сеќавам дека имаме постојана наречен повици кои ги одредува бројот на колони од тули што го имаме. Значи, ние ќе треба да се одреди ширина на еден тули со преземање на ширина на целиот одбор, одземање надвор од големината на нашата јазот - кој е хаш дефинирани до врвот и се однесува на бројот на пиксели што треба да биде помеѓу секоја цигла - и така ние ќе имаат вкупно јазот пати повици празно пиксели во еден ред. И дека, исто така, ќе се однесуваат на некои празни пиксели на лево и десно од левата колона и десната колона тула. Па одземе од оние празно пиксели ни остава со бројот на пиксели кои тули се всушност користење. А потоа ја делиме со повици да се добие бројот на пиксели по тула. Па еве ние се дефинира низа која само одредува бои сакаме за секој ред на тули. Ако имавме повеќе редови на тули од бои кои ние одредено, ќе видиме дека ние само ќе јамка назад наоколу и го користите црвено повторно, а потоа портокалова и жолта и така натаму. Значи, како p-собата спецификации загатки, ние сме ќе јамка во текот на сите редови и колони од тули. Но, пред да јамки низ колоните, ние види тука дека ние сме специфицирање на y позиција на секоја цигла со тоа, што особено ред. Ние, исто така, би можело да се помести ова во втората за телефонска линија, но потоа ние би само да биде прави пресметката одново и одново повторно кога не треба. Па у позиција на тули се случува да биде маргина, што е hash дефинирани до врвот и само се однесува на просторот меѓу врвот на одборот и почетокот на сите тули. И ние ќе додадете дека ред дека ние сме на пати висината на поединечни тули плус јазот кој е помеѓу секој тула. Значи ова е, исто така, вертикална јазот помеѓу секоја тула. Така што ни дава y-координатата на тули. Па еве ние ќе се пресмета x-координатата на тули. Сега, имаме празнина поделено со 2, бидејќи, се сеќавам пред, реков дека во левата страна на одборот, ние ќе да оставите малку простор. Па јазот поделено со 2 е тој простор. А потоа ние сме додавање на онаа на колоната дека ние сме на пати ширина плус јазот, каде што ширина е износот на просторот дека еден од тули зема и тогаш јаз е простор помеѓу секоја тула. Така што пресметува x-координатата на тули. Сега ние само треба да се показ на тули со оглед на тоа x и y-координатата користење ширина дека ние пресметува за секоја тула, и пауза висина што е хаш дефинирани до врвот. Ние во собата на боја на тула. Забележете ние сме за користење на нашата бои низа и ние сме поминува во ред, кои беа на современи Num бои кои ќе се направи ни заврши назад околу да се црвени, ако ние имаат повеќе редови од бои. Конечно, ние ќе се пополни во тули боја и да го додадете на прозорецот. И тоа е тоа. Значи, тоа е тоа за сите наши иницијализација методи. Сега ние треба да се погледне во тоа што додека јамка што ќе мораше да се пополни внатре Па еве гледаме дека ова е нашата додека јамка што се случува да продолжи до Играта е завршена, кои или средства ние снема животи или ние снема од тули. Па првото нешто што го имаат е Чекај клик. Па играта чека за нас да се всушност кликнете пред топката почнува да се движи. И тогаш ние ќе да Decrement животи. Значи, ако ние имавме три животи, сега сме сведува на две животи, ние сме за користење на нашата трети живот. Ние ќе се фокусираат на топката. Па сега, тоа не е навистина се случува да им помогне на ни на првиот живот играме бидејќи топката е веќе случува да се центрирани од кога ние инстанцира неа. Но гледаме кога ќе крајот не ги загубат живот и јамка назад наоколу, тогаш ние сме ќе сакаат да recenter на топката од на дното на одборот назад центарот. Значи, сега тука ќе мора да се генерираат х брзина на топката. И, како за на спецификации, ние сме со користење г ранд 48 за да генерирате некои случаен број да одредите брзината. Ние сме додавање на една до тоа, бидејќи ние само сакаме брзина во опсег од една две наместо од нула до еден. Конечно, ние сме со користење г ранд 48 повторно во цел да се утврди дали топката се случува да се движат лево или за правото да се започне. Па г ранд 48 се враќа на случаен број помеѓу нула и еден, и така со поставување ако тоа е помалку од 0,5, имаме 50 50 Можност за префрлување брзината на топката да биде негативен. Конечно, ние се постави вертикална брзина на топката само да биде некој константа. Ние избираме три. И сега имаме уште еден циклус. Значи ова внатрешниот циклус е ќе продолжи. Забележете тука, додека тули е поголема од нула - па ако трчаме од тули, ние сме победи на играта и можеме да се пробие на овој циклус - и сите станувај y Бол помалку од висина минус 2 пати од радиусот. Па што ова е признавајќи е ако топката се случува да одат минатото на лопатка, во кој случај сте го изгубиле животот. Барате Внатре тоа за јамка имаме на проверка за глушец настан. И така, ако постои глувчето настан, дека значи дека ние сакаме да се провери да види дали глувчето беше преместена, и ако глувчето бил преместен, ние сакаме да имаат лопатка остане во чекор со глувчето. Значи, да го сторат тоа, ние се пресмета нова позиција на лопатка, кој ќе да го зграби позицијата на глувчето - кој ја зграпчува позиција со помош на настан што ние беа донесени - а потоа ние ќе одземе од лопатка ширина поделено со 2, па лопатка престој во центарот на глувчето наместо на левата страна на лопатката престојуваат во центарот. Па сега ние, исто така, сакаат да бидат сигурни дека ние не оди во текот на левата страна или десно страна на одборот. И така тука се само проверка дали лопатка ќе биде надвор од левата страна на одборот, само се држи до левата страна. И тука сме Проверуваме дали лопатка ќе биде во текот на десната страна на одбор, само да го држи на десната страна. И, конечно, ние всушност го трасираме на локацијата на лопатка. Сега, ако немаше движење на глушецот, тоа значи дека ние ќе сакате да ја движи топката. И така ние веќе имаат х и y брзината на топката и така ние ја преместите. Но сега сакаме да се открие неколку работи. Значи тука сме откривање ако ние хит или на левата или десната страна на одбор, сакаме топката отскокнување. И така, во тој случај, ние се постави х брзина на негативните x брзина. Ако топката го погоди врвот на управниот одбор, тогаш ние исто така сакаме топката отскокнување. Но сега сакаме да се промени на y брзина. Забележите немаме услов за топката притискање на дното на одбор, бидејќи тоа веќе бил фатен тука во ова време јамка. Конечно, ние сакаме да се открие некои судири каде што ако топката хит или гребло или тула, сакаме да се направи некои посебни случај работите. Значи, ако имаше судир, во кој случај објекти нема да биде нула, тогаш, ако предметот го погоди гребло, ние би само сакам да отскокнување на топката. И тука, исто така, ги поставивме на локацијата на топката само да над гребло. Забележете ние сме преземање на x позицијата на топката и само повторната употреба на тоа. Но тука ние сме добивање на y позиција на лопатка и движење на топката над гребло. Ова е посебен случај, така што топката не се погоди гребло а потоа, пред да биде во можност да се движат надвор од лопатка, друг јамка оди наоколу и тоа смета дека е се уште на панелот и па брзината на y добива постави назад кон негативни, а потоа топката само вид на стапчиња бие на гребло. Значи, ако ние не го погоди гребло, тогаш ние исто така сакаме да се провери ако ние хит на тули. И така ова е како може да се провери за да видат дали ние хит тули. Ние треба да се провери за тоа затоа што ние може да всушност хит на етикетата и ние не сакате да го отстраните етикетата. Значи, ако ние хит тули, можеме да ја отстрани таа тули од прозорецот, декриминирачките нашите Грофот од тули, прираст нашите број на поени, а сега ние треба да се ажурирање на табла, која е токму како истата видовме пред кога видовме init табла. Но сега ние сме само ажурирање на табла, бидејќи ние сме промени број на поени. И сега треба да се прикаже дека ние хит уште една пауза. И конечно, ако ние хит тули ние исто така сакаме да отскокнување. Значи, конечно, ќе застанеме само така што топката не се движи супер брз, а ние всушност може да го удри со нашите гребло. И тоа е доста тоа. Па сега ние ќе јамка назад кон врвот на ова додека јамка и продолжи до или ние изгуби животот или ние снема од тули. Што се случува ако ние изгуби животот? Тогаш ние ќе треба да излезете ова додека јамка, а ние ќе видиме ќе поминете врати на врвот на надворешната додека јамка. Во кој случај, ние ќе Изврши оваа постави повторно. И оваа постави се случува да имаат ни да почекаме за кликање, Decrement нашиот број животи, recenter топката, преизчислите на x и y брзина, и а потоа продолжи играта. И така, што ќе продолжи се додека или тули завршува се помалку од или еднаков на нула - во кој случај ние го освои игра - или животот е помала од нула, во која случај ние го изгубивме играта. Значи, еднаш тоа е случај, ние се пробие на тоа што додека јамка, и доаѓаме до тука каде одиме да се чека за клик пред излегување на играта, така што играта не само веднаш затвори врз нас. И конечно ќе се затвори прозорецот и тоа е тоа. Моето име е Роб, и тоа беше Збег.