ROB BOWDEN: Ahoj. Som Rob. Zaujíma vás, ako realizovať túto hru? Dobre, poďme vypuknúť Riešenie personál. Takže, poďme sa najprv hlavou dole do init funkcie, ktoré sme vám povedal, aby ste vykonávať ako prvý. Prvý z nich budeme sa pozrieť na to je init pádlo. Dobre, tak si pamätajte, že chceme pádlo, aby sa presne v strede v x-os. Takže musíme prísť na to, kde to by malo ísť. Vzhľadom k tomu, že šírka dosky - čo je tiež hash definovaného up top - musíme odpočítať z šírky pádlo a rozdeliť o 2, tak, aby centrum pádlo je v stred dosky. Pamätajte si, že x-ová súradnica sa vzťahuje na ľavý horný roh pádla, a tak to je presne tam, kde chceme, aby to bolo. Y-súradnicu nezáleží ako moc, pretože môžeme umiestniť že všade tam, kde chceme. Tak sme konkretizáciu pádlo, sme sa vydali farba čierna, sme si stanovili vyplniť na hodnotu true tak to je vyplnený obdĺžnika, a my pridajte ho do okna a späť pádlo. A to je pre inicializáciu pádlo. To bude podobné Pre init tabuľu. Takže budeme inicializovať štítok, budeme nastavte farbu na svetlo šedá - môžete si vybrať, čo vám chcete - budeme nastaviť písmo sans serif 48 - by tiež mohla vybrať, čo chcete - pridáme ju k oknu. Teraz to send-to-back je naozaj je to nutné, je to len v prípade, že sa niečo inak sa stane, aby sa prekrývali etiketu. Potom, keď sme sa použiť Detekcia kolízie, Detekcia kolízií odhalí ďalšie vec, než zistí štítok. Ale naozaj by nemalo mať vplyv na nám v tomto programe. Nakoniec, máme túto aktualizáciu hodnotiacej tabuľky funkcie, ktoré sme napísali. Takže poďme sa na to pozrieť. Teraz, tu vidíme niečo, čo je takmer totožný s tým, čo sme videli v label.c. Takže máme štítok - charakter vyrovnávacia pamäť 12 znakov, ktorý je len tak zvládnuť akýkoľvek integer, negatívne alebo pozitívne. Potom sme sa použiť sprintf kopírovať poukazuje na tejto vyrovnávacej pamäti. Takže je to obsahuje reťazec predstavujúci počet bodov. Nakoniec sme sa vydali na štítok na tento reťazec. A potom sa musíme sústrediť na štítok v prípade, že sme išli od deviatich do 10 body a sme posunul ju. Tak sme vypočítali xay súradníc na štítku, ktorý bude si šírku a výšku okná. Aj keď by sme mohli tiež stačí použiť konštanty Šírka a Výška hash definovať až nahor. Tiež sme si šírku a výšku štítku a delenie že 2 do centra. A potom sme sa použiť Bydlisko skutočne dať v tomto umiestnení. Tak to je pre init tabuľu. OK. Takže init lopta bude veľmi podobné init pádla rovnako. Vidíme tu, že sme pomocou newgoval za účelom vytvorenia inštancie nový loptu. A tu sme pomocou 2 krát polomer ako je šírka lopty, a 2 krát polomer as výška lopty. Teraz, aj pre newgoval, x a y-ovú súradnicu, že sme sa prejsť do deja odkazovať sa na ľavej hornej časti lopta, ktorý je v skutočnosti mimo loptu sám. Tak, aby si presne loptu v strede dosky, musíme prejsť šírka deleno 2 do centra, a potom odpočítať z polomer tlačiť skutočný stred lopty do stred dosky. A robíme to isté na osi y, s výnimkou použitia výška namiesto šírky. Tak, že umiestni loptu v strede. A to konkretizuje loptu, nastavte farba na čiernu, vyplňte loptou, a nakoniec sa pridá ho do okno a vrátiť ho. A to je pre inicializáciu loptu. Takže teraz sa poďme pozrieť na init tehly, ktorá je o niečo viac zložité, ale je to celkom podobný init pádlo. Teraz, najprv musíme zistiť, Šírka jednotlivých tehál. Nezabudnite, že máme konštantu nazvanú volanie, ktorá špecifikuje počet stĺpcov tehál že máme. Takže, ideme zistiť šírku z jednej tehly tým, že šírka celej dosky, odpočítaním z veľkosti nášho medzery - ktorý je hash definovaná až hore a odkazuje počtu pixelov, ktoré by mala byť medzi jednotlivými tehly - a tak budeme mať celkom medzera doba žiada prázdnych pixelov v jednoradové. A to bude tiež odkazovať sa na nejaký prázdny pixelov vľavo a vpravo ľavý stĺpec a pravý stĺpec tehla. Takže odčítajte z tých prázdnych pixelov listy nás s počtom pixelov, ktoré tehly sú vlastne používať. A potom sme sa rozdeliť o volanie, aby sa počet pixelov na tehly. Takže tu máme definovať pole, ktoré práve špecifikuje farby, ktoré chceme pre každý rad tehál. Ak by sme mali viac riadkov tehál ako farby, ktoré sme špecifikované, uvidíme že budeme práve spätnej slučky okolo a znovu použiť červenú, a potom oranžové a žlté a tak ďalej. Tak, ako p-set spec rady, sme ísť do slučky cez všetky riadky a stĺpce tehál. Ale skôr, než my slučky cez stĺpy, sme vidieť, že sme s uvedením y pozície každého tehál v tomto konkrétnom riadku. Mohli by sme tiež presunúť to do druhého pre sláčiky, ale potom by sme byť len robí výpočet znova a znova znovu, keď nemusíte. Tak y polohy tehál sa deje do ziskové rozpätie, ktoré je hash definované up hornej a len sa odvoláva na Priestor medzi hornej dosky a štart všetkých tehál. A budeme pridávať k tomu, že mnoho že sme na časy výška tehla jednotlivca a medzera že je medzi jednotlivými tehly. Takže to je tiež vertikálne Medzera medzi jednotlivými tehál. Tak, že nám dáva súradnicu y z tehál. Takže tu budeme počítať x-súradnicu tehál. Teraz máme medzeru deleno 2 od roku, pamätať predtým, som povedal, že na ľavá strana predstavenstva, ideme nechať trochu miesta. Takže medzera deleno 2 je, že priestor. A potom budeme pridávať k tomu, že stĺpec že sme na dobu šírka a medzera, kde šírka je množstvo priestoru že jeden tehál a zaberá potom medzera je priestor medzi jednotlivými tehly. Tak, že počíta x-súradnicu z tehál. Teraz už stačí len vytvoriť inštanciu tehly za predpokladu, že x a y-ová súradnica pomocou šírku, ktorá sa vypočítava pre každú výška tehál a prerušenia, ktoré je hash definovaného hore hore. Nastavili sme farbu tehál. Všimnite si, sme pomocou nášho farby poľa a sme okolo v rade, ktoré boli na mod num farieb, ktoré sa bude robiť nám zabaliť späť okolo červeno, ak sa mať viac riadkov, ako farby. Nakoniec, budeme vyplniť tehál farba a pridajte ju do okna. A to je všetko. Tak, to je pre všetky naše metódy inicializácia. Teraz sa musíme pozerať v tej chvíli slučky, ktoré ste mali na vyplnenie Takže tu vidíme, že to je naša chvíľa slučka, ktorá bude pokračovať až do Hra je u konca, ktoré buď prostriedky sme dôjdu životy alebo sme sa spustiť z tehál. Takže prvá vec, ktorú máme Je Počkajte Click. Takže hra čaká nás skutočne kliknite na tlačidlo skôr ako lopta začne pohybovať. A potom ideme dekrementovat život. Takže ak sme mali tri životy, teraz sme s dvoma životy, sme pomocou našich Tretí život. Ideme na stred gule. Takže teraz, to nie je naozaj nepomôže nás na prvom živote hráme pretože lopta sa už chystá boli v stredu od okamihu, kedy sme sa inštancie ho. Ale vidíme, keď sme skončiť stratou život a slučka sa späť, potom sme bude chcieť recenter loptu od spodnej dosky späť do centrum. Tak, teraz tu musíme vytvárať x rýchlosť lopty. A, podľa špecifikácie, sme pomocou d rand 48 na výrobu asi náhodné číslo určiť rýchlosť. Sme pridávanie kto, že od tej doby sme práve chcú rýchlosť v rozsahu jedného na dva namiesto nuly do jednej. Nakoniec sme pomocou d rand 48 opäť v aby určila, či lopta sa bude pohybovať doľava alebo právo na štart. Takže d rand 48 vráti náhodné číslo medzi nulou a jednotkou, a to tým, že žiada v prípade, že je menšia ako 0,5, máme 50 50 Možnosť prepínania rýchlosti loptu negatívne. Nakoniec nastavíme vertikálnu rýchlosť loptu len nejaká konštanta. Zvolíme tri. A teraz tu máme ďalší slučku. Tak to vnútorná slučka je bude pokračovať. Všimnite si tu, kým tehly je väčší ako nula - takže keď narazíme z tehál, máme vyhral zápas a môžeme vymaniť sa z tejto slučky - a všetci si y ples menšia než výška mínus 2 krát polomer. Takže, čo je to uznanie, ak Lopta sa stane ísť okolo pádlo, v takom prípade ste stratili život. Hľadáte vnútri tejto slučky for my máme kontrola na udalosti myši. A tak, ak je udalosť, myš, že Znamená to, že chceme skontrolovať, či myš bola presunutá, a v prípade, že myš bola presunutá, chceme mať pádlo držať krok s myšou. Takže k tomu, že budeme počítať nový postavenie pádla, ktorá sa deje chytiť pozíciu myši - ktorá chytí pozíciu pomocou Udalosť, ktorá nám boli odovzdané - a potom budeme odpočítať z lopatka šírka deleno 2, takže pádlo pobyty zamerané na myši miesto na ľavej strane lopatky zostať sústredený. Takže teraz sme sa tiež chcú byť istí, že sme nejdú cez ľavej alebo pravej strane strane dosky. A tak tu máme len kontrolovať, či pádlo by sa z ľavej strany doska, len držať je na ľavej strane. A tu sme kontrolovať, či pádlo by sa po pravej strane doska, len držať ju na pravej strane. A konečne, vlastne sada Umiestnenie pádla. Teraz, v prípade, že nebol pohyb myši, to znamená, že budeme chcete presunúť loptu. A tak už máme x a y rýchlosť lopty a tak sme sa presunúť. Ale teraz chceme zistiť, pár vecí. Takže tu máme detekciu, ak sme narazili buď ľavej alebo pravej strane doska, chceme loptu odraziť. A tak, v tomto prípade sme sa vydali x rýchlosť na negatívne x rýchlosti. Ak lopta hit hornej palube, potom tiež chceme loptu odraziť. Ale teraz chceme zmeniť y rýchlosť. Všimnite si, že nemáme podmienku pre lopta biť do dolnej časti doska od ktorej už bol zajatý tu v tomto cykle while. A konečne, chceme odhaliť niektoré kolízie, kedy v prípade, že lopta hit buď pádlo alebo tehla, chceme urobiť nejaké špeciálne prípadové veci. Takže, ak došlo ku kolízii, v ktorej Prípadové objekty nebudú mať hodnotu null, potom, v prípade, že objekt zasiahol pádlo, by sa len chcem odraziť loptu. A tu tiež, nastavíme umiestnenie lopta tesne nad lopatkou. Všimnite si budeme brať x pozície loptu a len opakované použitie, ktoré. Ale tu sa dostávame na pozíciu y pádla a pohybujúce sa lopta nad pádlom. Jedná sa o zvláštny prípad tak, aby loptička nie je hit pádlo a potom, pred tým, než je schopný sa pohybovať mimo pádlo, ďalšie slučka ide okolo a že si myslia, že je stále na paneli a takže rýchlosť y dostane nastaviť späť na negatívne a potom loptu len tak z palice poskakovanie na pádlo. Takže, ak sme nemali hit pádlo, potom tiež chcieť skontrolovať ak sa narazí na tehlu. A tak to je, ako môžeme kontrolovať zistiť, či sme narazili na tehlu. Musíme skontrolovať, pretože sme môže skutočne hit štítok a my Nechceme odstrániť nálepku. Takže keď sme narazili na tehlu, môžeme odstrániť, aby tehly z okna, úbytku náš počet tehál, zvýšiť našu počet bodov, a teraz musíme aktualizovať tabuľku, ktorá je presne to, rovnako ako sme videli predtým, keď sme videli, init tabule. Ale teraz sme práve aktualizuje scoreboard, pretože sme zmenili počet bodov. A to by mal teraz zobraziť, že sa dostaneme ešte jednu prestávku. A nakoniec, keď sme hit tehly chceme tiež odraziť. Tak konečne sme sa pozastaviť práve tak, aby lopta nie je v pohybe veľmi rýchlo a my môže skutočne udrel ho s našou pádlom. A to je celkom veľa to. Takže teraz by sme slučky späť na začiatok Tento cyklus while a bude pokračovať až buď prídeme o život alebo sme sa spustiť z tehál. Čo sa stane, keď stratíte život? Potom budeme túto chvíľu zavrite slučky, a uvidíme, bude slučka zálohovať v hornej časti, zatiaľ čo vonkajšie slučky. V tom prípade budeme vykonaní tohto nastavenia znovu. A toto nastavenie bude mať nás čakať za kliknutie, decrement naše číslo životov, recenter loptu, prepočítať x a y rýchlosť, a potom pokračovať v hre. A tak, že bude pokračovať, kým buď tehly skončí byť menšia než alebo rovná nule - V takom prípade sme vyhrali hru - alebo život je menšia ako nula, v ktorej Prípad sme prehrali. Takže, akonáhle je to tak, sme vypuknúť tohto cyklu while, a my sme sa sem dostali kde budeme čakať na kliknutie pred ukončením hry tak, aby hra nie je len bezprostredne zatvoriť na nás. A nakoniec budeme zavrite okná a je to. Volám sa Rob, a to Breakout.