ROB BOWDEN: Hi. Аз съм Роб. Чудите се как да се приложи тази игра? Е, нека да избухне Решението на персонала. Така че, нека първо главата надолу до първоначален функции, които сме ви казали да прилагане на първо място. Първо един ние ще разгледаме в него е първоначален гребло. Добре, така че не забравяйте, че ние искаме гребло да бъде точно съсредоточена в оста х. Така че ние трябва да разбера когато това трябва да тръгвам. Като се има предвид ширината на дъската - които също е хеш дефинирани до върха - ние трябва да се изважда от ширината на гребло и разделете на две, така че център на гребло е в центъра на дъската. Не забравяйте, че х-координатата се отнася до горния ляв ъгъл на греблото, И така, това е точно там, където ние искаме да бъде. Y-координата Няма значение като много, защото може да се постави това, където и да искате. Така че ние инстанциира гребло, ние се черен цвят, ние се запълни до True така че това е изпълнен в правоъгълник, и ние след това го добавите към прозореца и връщане гребло. И това е всичко за инициализиране гребло. Тя ще бъде подобна за първоначален табло. Така че ние ще се инициализира на етикета, отиваме да зададете цвят, за да светло сиво - можете да вземете каквото и да искате - ние отиваме, за да настроите шрифта, който да безсерифни 48 - също може да вземете каквото искате - ние ще го добавите към прозореца. Сега това изпрати да архивирате не е наистина е необходимо, това е само в случай, че нещо друго се случва, за да се припокрият етикета. Тогава, когато ние използваме Detect Collision, Откривам Collision ще открие на другия нещо, преди да го засича етикета. Но това наистина не трябва да засяга ни в тази програма. И накрая, ние имаме това Scoreboard обновяване функция, която писахме. Така че нека да разгледаме това. Сега, тук виждаме нещо, което е почти идентичен на видяхме в label.c. Така че ние имаме един етикет - характер буфер от 12 символа, което е достатъчно само да се справи с всеки число, отрицателно или положително. След това ние използваме Оферта номер, за да копирате изтъква, че в буфер. Така че и това съдържа низ, представляващ броя на точките. И накрая, ние се създаде етикета в този низ. И тогава ние трябва да центрирате етикета в случай, че сме преминали от девет до 10 точки и сме го измести. Така че ние изчисляваме Х и У-координатите на етикета, който ще получите ширина и височина на прозореца. Въпреки че, ние също може да просто използвайте константи Ширина и Височина хеш дефинирани до върха. Ние също така да получите ширината и височината на етикета и разделение че от 2 до център. И тогава ние използваме Set Местоположение действително го постави в това място. Така че това е за първоначален табло. OK. Така първоначален топка ще бъде много сходен при добавяне на предавките, както добре. Виждаме тук, че ние използваме newgoval с цел да се конкретни примери нова топка. И тук ние използваме два пъти радиуса като ширината на играта, и 2 пъти радиуса например височина на топката. Сега също за newgoval, х и Y-координата, че минаваме през става да се позове на горния ляв ъгъл на топка, която е действително извън самата топката. Така че, за да получи топката точно центриран в борда, трябва да мине широчина разделен от 2 за центъра, и След това се изважда от радиуса да прокара същинския център на топката центъра на дъската. И ние правим точно същото нещо за у-ос, с изключение на използването височина вместо на ширина. Така че пуска топката в центъра. И това instantiates топката, задайте оцвети в черно, попълнете в играта, след това най-накрая да го добавите към прозорец и да го върнете. И това е всичко за инициализиране топката. Така че сега нека да разгледаме най-първоначален тухли, които е малко по- сложно, но това е доста сходен с първоначален гребло. Сега, първо ние трябва да разберем ширината на всяка тухла. Не забравяйте, че ние имаме постоянно нарича повиквания, които определя брой колони от тухли че имаме. Така че, ние отиваме да се определи ширината на единични тухли, като ширината на цялата дъска, изваждане от размера на нашия пропуск - който е хеш дефинирани до върха и се отнася броя на пикселите, които трябва да бъде между всяка тухла - и така ние ще имаме общо недостига пъти призовава празни пиксела в един ред. Това също ще се отнася до някои празен пиксела отляво и отдясно на лява колона и дясната колона тухла. Така се изважда от тези празни пиксела ни оставя с брой на пикселите, които тухли действително се използва. И тогава ние се разделят с разговори, за да получите броя на пиксела на тухла. Така че тук ние определяме масив, който току-що уточнява, цветовете, които искаме за всеки ред от тухли. Ако имахме повече редове от тухли, отколкото цветове, които сме определени, ще видим че ние просто ще контур обратно около и използвате отново червено, а след това и оранжево жълт и така нататък. Така че, като р-настроите спец. намеци на, ние сме ще контур над всички редове и колони от тухли. Но преди да примка над колоните, ние виж тук, че ние сме, определящи Y позиция на всеки тухла в този конкретен ред. Бихме могли също така да преместите този в секунда за линия, но тогава щяхме да бъде само прави изчислението отново и отново отново, когато не е нужно. Така че положението у на блокчето се случва да бъде марж, който е хеш дефинирани до върха и просто се отнася до пространство между горната част на таблото и началото на всички тухли. И ние ще добавим към това и ред че сме на пъти височината на индивидуален тухла плюс разликата че е между всяка тухла. Това е също така вертикално празнина между всяка тухла. Така че това ни дава у-координатата на тухлата. Така че тук ние отиваме да се изчисли х-координатата на тухлата. Сега, ние имаме празнина, разделено на две, тъй като, Спомням си преди, аз казах, че в лявата страна на борда, ние ще да оставите малко място. Така празнина, разделено на две е, че пространството. И тогава ние добавяме към това колоната че сме на пъти ширина плюс празнина, където ширината на което е размера на пространството че една-единствена тухла заема и тогава разликата е пространството между всяка тухла. Така че, който изчислява на х-координатата на тухлата. Сега ние просто трябва да се конкретни примери на тухла има предвид, че X и Y-координата използване на ширина, която ние изчислява за всеки височина тухла, и почивка, което е хеш дефинирани до върха. Ние зададете цвят на блокчето. Забележете, ние използваме нашите цветове масив и ние сме преминаване в реда, които са били на Министерството на отбраната цветове бр която ще направи ни приключи обратно около до червено, ако ние има повече редове от цветове. И накрая, ние ще напълним в тухлата цвят и да го добавите към прозореца. И това е всичко. Така, че това е за всички ни методи за инициализация. Сега ние трябва да разгледаме, че докато линия, която трябваше да се попълни инча Така че тук ние виждаме, че това е нашата, докато линия, която ще продължи до Играта свърши, което означава или бягаме от живота или бягаме от тухли. Така че първото нещо, което трябва е Чакайте Click. Така че играта ни очаква действително да кликнете преди топката да започне да се движи. И тогава ние ще да намалите стъпково живот. Така че, ако имахме три живота, сега сме до два живота, ние използваме нашия трети живот. Отиваме да центрира топката. Така че сега, това не е наистина ще помогне ни от първия живот ние играем тъй като топката вече няма да са центрирани от когато тя инстанция. Но виждаме, когато в крайна сметка губи живот и принципа на обратната наоколо, тогава ние сме ще искате да recenter топката от в долната част на дъската обратно към центъра. Така че, сега тук ние трябва да се генерира скоростта х на топката. И, според спецификацията, ние използваме г ранд 48 за генериране на някои случайни числа за уточняване на скоростта. Ние сме добавяне на един да, че тъй като ние просто искате скорост в обхвата на един два вместо на нула до един. И накрая, ние използваме г ранд 48 отново в За да се определи дали топката ще се премести в ляво или правото да се започне. Така че, г ранд 48 Връща случайно число между нула и едно, и така чрез задаване ако това е по-малко от 0.5, имаме 50 50 възможност за превключване на скоростта на топката да бъде отрицателен. И накрая, ние настроите вертикалната скорост на топката да бъде само някои постоянно. Ние избираме три. И сега ние имаме друг цикъл. Така че тази вътрешна линия е ще продължи. Забележете, тук, докато тухли е по-голяма от нула - Така че, ако ние се изчерпи от тухли, ние сме спечели играта и можем се измъкнат от този цикъл - и всички се у Ball-малко от височина минус два пъти радиуса. И така, какво се признава, ако е топка се случва да отида покрай гребло, в който случай, че сте загубили живота. Търсите вътре в тази линия за имаме Проверката за събитие на мишката. И така, ако има събитие мишка, че означава, че ние искаме да се провери, за да види дали мишката е преместен, и ако мишката е преместен, ние искаме да имаме гребло справи с мишката. Така че, за да постигнем това, ние се изчисли новото позиция на гребло, което се случва да вземете позицията на мишката - която грабва позиция с помощта на събитие, което бяхме преминали - и след това отиваме да се изважда от гребло широчина разделен от 2, така че гребло престой съсредоточени върху мишката вместо на лявата страна на планката пребиваващи в центъра. Така че сега ние също искаме да бъдем сигурни, че не трябва да излизат над лявата страна или надясно страна на дъската. И така, тук ние просто проверява дали гребло ще бъде на разстояние от лявата страна на дъската, просто се придържат то към лявата страна. И тук ние сме проверка дали гребло ще бъде над дясната страна на борда, просто го залепите от дясната страна. И накрая, ние всъщност настроите местоположението на гребло. Сега, ако не е имало движение на мишката, това означава, че ние ще Искам да се движи топката. И така, ние вече имаме х и г скорост на топката и така ние го преместите. Но сега искаме да се открие няколко неща. Така че тук ние сме откриване ако удари или лявата или дясната страна на борда, ние искаме топката да скача. И така, в този случай, ние се създаде х скорост до отрицателен х скорост. Ако топката се удари в горната част на дъската, След това ние също искаме отскока топка. Но сега искаме да променим скоростта у. Забележете, че не е нужно условие за топката удря дъното на борда, тъй като това вече е заловен тук в тази линия, докато. И накрая, ние искаме да се открият някои сблъсъци, където, ако ударът на топката или гребло или тухлата, ние искаме да се направят някои специални случай, че нещата. Така че, ако е имало сблъсък, в който конкретни обекти няма да бъдат празни, а след това, ако обектът е паднал гребло, Бихме Просто искам да скача на топката. И тук, също така, ние зададете местоположението на топката точно над гребло. Забележете, ние ще вземем х позицията на топката и просто повторно използване на това. Но тук ние сме получаване на позицията на Y на гребло и преместване на топката над гребло. Това е специален случай, така че топката не удари гребло и след това, преди да е в състояние да се движат на разстояние от гребло, друга линия обикаля и той мисли, че тя все още е на панела и така че скоростта на Y получава върна към отрицателно и тогава топката просто вид на пръчки подскачащи на гребло. Така че, ако ние не се удари гребло, След това ние също искаме да се провери ако ние удари тухлата. И така, това е начина, по който може да се провери да видим дали ще удари тухла. Ние трябва да се провери за това, защото ние може да действително са хит на етикета и ние Не искам да се премахне етикета. Така че, ако ние удари тухла, можем да премахнем, че тухла от прозорец, снижаване нашата брой на тухлите, СТЪПКА нашия брой точки, а сега ние трябва да се актуализиране на таблото, което е точно същите, както видяхме преди, когато видяхме първоначален табло. Но сега ние сме просто актуализиране на табло, тъй като ние променихме брой точки. И сега трябва да покаже, че ударихме по една пауза. И най-накрая, ако ние удари тухла ние също искаме да скача. Така че най-накрая, ние да спрем временно само, така че топка, не се движи супер бързо и ние всъщност може да го удари с нашия гребло. И това е доста много. Така че сега ние ще контур обратно в началото на тази линия, докато и продължи до или ще загубят живота или бягаме от тухли. Какво ще стане, ако загубим един живот? След това ние ще излезете от този докато контур, и ще видим воля контур архивирате към горната част на външния докато линия. В този случай, ние ще изпълнение на това се създаде отново. И това създаде ще трябва да изчакаме за кликване, декрементира нашия номер на живота, recenter топката преизчисли х и у скорост, и след това да продължите играта. И така, че ще продължи до или тухли завършва е по-малко от или равна на нула - в този случай ние спечелихме мача - живот или е по-малко от нула, в която случай ние сме загубили играта. Така че, след като това е така, ние избухне на тази линия, докато, и стигаме до тук къде отиваме да се изчака за клик преди излизане на играта, така че Играта не само веднага приключи на нас. И най-накрая ние ще затворете прозорец и това е всичко. Моето име е Роб, и това беше Breakout.