Rob Bowden: Hi. Unë jam Rob. Mendojnë se si për të zbatuar këtë lojë? E pra, le të shpërthejë zgjidhja stafi. Pra, lejo që flokët e parë deri në init Funksionet që ne ju thënë që të zbatuar parë. Së pari ne do të hedhim një sy në të është init vozis. Në rregull, kështu që mos harroni që ne duam vozis për të përqëndruar pikërisht në x-boshti. Pra, ne duhet të kuptoj se ku që duhet të shkoni. Duke pasur parasysh gjerësia e bordit - e cila është gjithashtu hash përcaktuar deri të lartë - ne duhet të zbres nga gjerësinë vozis dhe të ndarë me 2, në mënyrë që Qendra e vozis është në qendra e bordit. Mos harroni se x-koordinuar i referohet qoshe të lartë e majtë të vozis, dhe kështu që kjo është pikërisht aty ku ne duam që ajo të jetë. Y-koordinojë nuk ka rëndësi sa më shumë sepse ne mund të vendos ajo kudo ne duam. Pra, ne instantiating vozis, ne kemi vendosur ngjyrë e zezë, ne kemi vendosur për të mbushur Saktë kështu që kjo është një e mbushur në drejtkëndësh, dhe ne pastaj shtoni atë në dritaren dhe kthehu vozis. Dhe kjo është ajo për fillimin vozis. Ajo do të jetë i ngjashëm për init Scoreboard. Pra, ne jemi duke shkuar për të nisja etiketë, ne jemi duke shkuar për të vendosur ngjyra të gri të lehta - ju mund të vini çdo gjë që doni - ne jemi duke shkuar për të vendosur font për të sans serif 48 - gjithashtu mund të vini çdo gjë që dëshironi - ne do të shtoni atë në dritare. Tani kjo dërgoni për të mbështetur nuk është me të vërtetë e nevojshme, kjo është vetëm në rast diçka tjetër ndodh që të përputhen etiketën. Pastaj kur ne përdorim Zbuluar përplasje, Zbuluar përplasje do të zbuluar të tjera gjë para se ai zbulon etiketën. Por që me të vërtetë nuk duhet të ndikojnë ne në këtë program. Së fundi, ne kemi këtë Update Scoreboard funksion që kemi shkruar. Pra, le të marrin një vështrim në atë. Tani, këtu ne shohim diçka që është pothuajse identike me atë që ne pamë në label.c. Pra, ne kemi një etiketë - një tampon karakter i 12 karaktere, i cili është vetëm sa për të trajtuar ndonjë numër i plotë, negative apo pozitive. Pastaj ne i përdorim sprintf për të kopjuar vë në atë tampon. Pra, kjo përmban një varg përfaqëson numri i pikave. Së fundi, ne kemi vendosur etiketën në atë varg. Dhe pastaj ne kemi nevojë të qendrës etiketën në rast se ne kemi shkuar nga nëntë në 10 pikë dhe ne kemi zhvendosur atë. Pra, ne llogarisim x dhe y-koordinatat e etiketës të cilat do të merrni gjerësinë dhe lartësinë e dritares. Edhe pse, ne mund të përdorni vetëm konstanta Gjerësia dhe lartësia hash përcaktuar deri të lartë. Ne të merrni edhe gjerësia dhe lartësia e etiketës dhe ndarjes se 2 me qendrën. Dhe pastaj ne i përdorim Vendodhje që në fakt vënë atë në atë vend. Pra, kjo është ajo për init Scoreboard. OK. Top Pra init do të jetë shumë e ngjashme të init paddles si. Ne shohim këtu se ne jemi duke përdorur newgoval në mënyrë që të ilustroj me shembull konkret një top të ri. Dhe këtu ne jemi duke përdorur 2 herë rreze sa gjerësia e të drejt, dhe 2 herë rrezja si Lartësia e topit. Tani, edhe për newgoval, x dhe y-koordinuar që ne të kalojë në po shkon të referohen krye majtë top, e cila është në të vërtetë jashtë topin vetë. Pra, në mënyrë për të marrë topin saktësisht përqëndruar në bord, ne kemi nevojë për të kaluar gjerësia e ndarë nga 2 për qendër, dhe pastaj të zbriten nga rrezen për të nxitur qendra aktuale e topit në qendra e bordit. Dhe ne bëjmë të njëjtën gjë e saktë për aksit y, përveç duke përdorur Lartësia në vend të gjerësisë. Kështu që e vendos topin në qendër. Dhe kjo instantiates topin, i vendosur ngjyrë të zezë, të mbushur në topin, pastaj në fund të shtoj se në dritare dhe do ta kthejë. Dhe kjo është ajo për fillimin topin. Pra, tani le të marrin një vështrim në init tulla e cila është pak më komplikuar, por kjo është goxha e të ngjashme me init vozis. Tani, së pari ne duhet të kuptoj se gjerësia e secilit tullave. Mos harroni se ne kemi një konstante të quajtur thirrjet e cila specifikon Numri i kolonat e tullave që ne kemi. Pra, ne jemi duke shkuar për të përcaktuar gjerësinë një tullë vetme duke marrë gjerësinë të gjithë bordit, zbritur nga madhësia e hendekut tonë - e cila është e hash përcaktuar deri të lartë dhe i referohet me numrin e pixel që duhet të jetë në mes të çdo tulla - dhe kështu ne do të kemi një total prej herë hendekut quan pixels bosh në një rresht të vetëm. Dhe kjo do të referohen disa bosh piksele në të majtë dhe të djathtë të la kolonë dhe kolona tulla e duhur. Pra zbres nga ato pixels bosh na lë me një numër pixels që tulla të vërtetë janë duke përdorur. Dhe pastaj ne ndani me thirrjet për të marrë Numri i pixels per tulla. Pra, këtu kemi të përcaktuar një grup që vetëm specifikon ngjyrat ne duam për secilin rresht me tulla. Nëse do të kishte më shumë rreshtat e tulla se ngjyrat që ne të specifikuara, ne do të shohim që ne vetëm do të loop përsëri përreth dhe përdorni kuqe përsëri, dhe pastaj portokalli dhe verdhë dhe kështu me radhë. Pra, siç lë të kuptohet se spekulim të p-vendosur, ne jemi do të lak mbi të gjitha rreshtave dhe kolona e tulla. Por, para se ne lak mbi shtyllat, ne shohim këtu se ne jemi duke specifikuar Pozita y e çdo tullave në atë rresht të veçantë. Ne gjithashtu mund të lëvizë këtë në të dytin për lak, por atëherë ne do të jetë vetëm duke bërë llogaritjen mbi dhe mbi përsëri kur ne nuk kemi nevojë për të. Pra, pozita y e tullave është duke shkuar të jenë diferencë të, i cili është hash përcaktuar deri të lartë dhe vetëm i referohet hapësirë ​​midis krye bordi dhe fillimi i të gjitha tulla. Dhe ne jemi duke shkuar për të shtuar se në radhën e se ne jemi në kohë lartësia e një tulla individuale plus hendeku që është në mes të çdo tullë. Pra, kjo është edhe një vertikale Hendeku në mes të çdo tullë. Kështu që na jep koordinatën y i tullave. Pra, këtu ne jemi duke shkuar për të llogaritur x-koordinuar e tullave. Tani, ne kemi boshllëk ndarë me 2 viti, mos harroni para, kam thënë se në Krahu i majtë i bordit, ne jemi duke shkuar për të lënë një hapësirë ​​të vogël. Pra hendek i ndarë me 2 është se hapësirë. Dhe atëherë ne jemi duke shtuar se kolona se ne jemi në kohë plus width hendek, ku gjerësia është sasia e hapësirës se një tullë të vetme merr dhe atëherë hendeku është hapësira në mes të çdo tullë. Kështu që llogarit x-koordinuar i tullave. Tani ne vetëm duhet të ilustroj me shembull konkret tulla duke pasur parasysh se x dhe y-koordinuar duke përdorur gjerësi që ne e llogaritur për secilin lartësi tulla, dhe pushim cila është hash përcaktuar deri të lartë. Ne kemi vendosur ngjyra e tullave. Vini re që ne jemi duke përdorur ngjyra grup tonë dhe ne jemi duke kaluar në rreshtin që ishin në ngjyra të mod num e cila do të bëjë Na përfundojë përsëri rreth të kuqe në qoftë se ne kanë më shumë rreshtave se ngjyra. Së fundi, ne do të plotësoni në tulla ngjyra dhe shtoni atë në dritare. Dhe kjo është ajo. Pra, kjo është ajo për të gjithë e tona Metodat Gatitjeje. Tani ne duhet të shohim në atë që, kur loop që keni pasur për të mbushur in Pra, këtu ne shohim se kjo është ndërkohë ynë loop që do të vazhdojë deri loja është e gjatë, e cila ose do të thotë ne të dalë jashtë e jetës ose kemi drejtuar nga tulla. Gjëja e parë kështu që ne kemi është një Prisni për Kliko. Pra loja na pret që në fakt klikoni para se topi te fillon te levize. Dhe pastaj ne do për pakësim jetën. Pra, nëse do të kishim tre jetë, tani ne jemi poshtë për të dy jetët, ne jemi duke përdorur tonë Jeta e tretë. Ne jemi duke shkuar për të qendrës topin. Deri tani, kjo nuk është me të vërtetë do të ndihmojë na në jetën e parë që ne të luajë pasi topi është tashmë do të janë përqendruar prej kur kemi instantiated atë. Por ne shohim kur të përfundojë me humbje Jeta dhe loop përsëri rreth, atëherë ne jemi do të duan të recenter topin nga në fund të bordit përsëri në qendra. Pra, tani këtu ne kemi nevojë për të gjeneruar x shpejtësia e topit. Dhe, sipas spekulim, ne jemi duke përdorur d rand 48 për të gjeneruar një numër të rastit të specifikojë shpejtësinë. Ne jemi duke shtuar një të tillë për të se që ne vetëm doni shpejtësinë në rangun e një që të dy në vend të zero në një. Së fundi, ne jemi duke përdorur d rand 48 përsëri në Për të përcaktuar nëse topin do të lëvizë në të majtë ose të drejtën për të filluar. Pra d rand 48 jep një numër të rastit mes zero dhe një, dhe kështu duke i pyetur nëse kjo është më pak se 0.5, ne kemi një 50 50 shans të kaloni shpejtësinë e topin të jetë negativ. Së fundi, ne kemi vendosur shpejtësinë vertikal të topi të jetë vetëm disa konstante. Kemi zgjedhur tre. Dhe tani ne kemi një tjetër lak. Pra, ky lak i brendshëm është do të vazhdojë. Vini re këtu, ndërsa tulla është më e madhe se zero - kështu që nëse ne të drejtuar nga tulla, ne kemi fitoi ndeshjen dhe ne mund thyer nga ky lak - dhe të gjithë Get y Ball pak se lartësia minus 2 herë sa rrezja. Pra, çfarë është e njohur kjo është në qoftë se topin ndodh të kaloj pallë, në të cilin rast ju keni humbur një jetë. Duke kërkuar brenda kjo për lak që kemi kontrolluar për një ngjarje të miut. Dhe kështu, në qoftë se nuk është një ngjarje e miut, që do të thotë se ne duam të kontrolloni të të parë nëse miu u zhvendos, dhe nëse miut u zhvendos, ne duam të kemi vozis mbajtur me miun. Pra, për të bërë këtë, ne llogarisim ri pozita e vozis, i cili do për të rrëmbyer pozitën e miut - që ta merr pozitën duke përdorur ngjarje që ne ishim të kaluar - dhe pastaj ne do të zbres nga Gjerësia vozis ndarë me 2, në mënyrë qëndron vozis përqëndruan në miun vend e majta pallë duke qëndruar në qendër. Deri tani ne gjithashtu duan të jenë të sigurt se ne nuk shkojnë mbi anën e majtë apo të djathtë anë e bordit. Dhe kështu që këtu ne jemi vetëm duke kontrolluar nëse vozis do të jetë jashtë anën e majtë të bordi, vetëm rrinë në anën e majtë. Dhe këtu ne jemi të kontrolluar nëse vozis do të jetë mbi anën e djathtë të bordit, vetëm rrinë atë në anën e djathtë. Dhe së fundi, ne fakt vendosur vendndodhja e vozis. Tani, në qoftë se nuk ishte një lëvizje mouse, që do të thotë që ne do të dëshironi të lëvizur topin. Dhe kështu që ne tashmë kemi x dhe shpejtësia y e topit dhe kështu që ne të lëvizin atë. Por tani ne duam të zbuluar nja dy gjëra. Pra, këtu ne jemi zbulimin nëse goditur ose anën e majtë ose të djathtë të bordi, ne duam topin të kërcej. Dhe kështu, në këtë rast, ne kemi vendosur x shpejtesi për x shpejtësisë negative. Nëse topi goditi krye të bordit, atëherë ne gjithashtu duam të kërcej topin. Por tani ne duam të ndryshojmë shpejtësia y. Vini re ne nuk kemi një kusht për topi goditur pjesën e poshtme të bordi pasi që ishte kapur tashmë deri këtu në këtë lak ndërsa. Së fundi, ne duam të zbuluar disa Goditjet ku nëse hit topi ose vozis ose tulla, ne duam për të bërë disa gjëra të rasteve të veçanta. Pra, në qoftë se ka pasur një përplasje, në të cilën objekte rast nuk do të jetë e pavlefshme, atëherë, në qoftë se objekti goditi vozis, ne do të thjesht duan për të kërcej topin. Dhe këtu, gjithashtu, ne kemi vendosur vendndodhjen e topi të vetëm mbi vozis. Vini re që ne jemi duke marrë pozitën e x topin dhe vetëm ripërdorimin atë. Por këtu ne jemi duke marrë pozitën y e vozis dhe lëvizur topin mbi vozis. Ky është një rast i veçantë në mënyrë që topin nuk e goditi vozis dhe pastaj, para se është në gjendje për të lëvizur off vozis, një tjetër loop shkon rreth dhe ajo mendon se është ende në panel dhe kështu y shpejtësia merr të vendosur përsëri në negative dhe pastaj topi vetëm lloji e shkopinj kërcim të vozis. Pra, nëse ne nuk e goditi vozis, atëherë ne gjithashtu duam të kontrolloni në qoftë se ne e goditi tulla. Dhe kështu kjo është se si ne mund të kontrolloni për të parë nëse ne e goditi një tullë. Ne duhet të kontrolloni për këtë, sepse ne mund të kanë goditur në fakt etiketën dhe ne nuk duan për të hequr etiketën. Pra, në qoftë se ne e goditi një tullë, ne mund të hiqni se tulla nga dritarja, pakësim numërimin jonë e tulla, rritje tonë numri i pikave, dhe tani ne kemi nevojë për të update Scoreboard që është pikërisht e njëjtë si e pamë më parë, kur pamë Scoreboard init. Por tani ne jemi vetëm përditësimin Scoreboard nga viti ne kemi ndryshuar numri i pikave. Dhe tani duhet të ekranit që ne goditi edhe një pushim. Dhe së fundi, në qoftë se ne e goditi një tullë ne gjithashtu duam të kërcej. Pra më në fund, ne të ndalemi vetëm në mënyrë që topi nuk po lëviz super të shpejtë dhe ne në fakt mund të goditur atë me pallë tonë. Dhe kjo është shumë e shumë atë. Deri tani ne do të lak përsëri në krye të ky loop ndërsa dhe të vazhdojë deri në ose ne humbni një jetë apo kemi drejtuar nga tulla. Çfarë ndodh në qoftë se ne të humbni një jetë? Pastaj ne jemi duke shkuar për të dalë këtë duke loop, dhe ne do të shohim vullnet loop mbështetur në majë të lak jashtme kohë. Në këtë rast, ne do të ekzekutimin e këtij ngritur përsëri. Dhe kjo të ngritur do të ketë të presim për një klik, pakësim numrin tonë e jetës, recenter topin, rillogaritjen një x dhe y shpejtësia, dhe pastaj të rifillojë të lojës. Dhe kështu, që do të vazhdojë deri ose tulla përfundon duke qenë më pak se ose e barabarte me zero - rast në të cilin ne e fitoi ndeshjen - ose jetën është më pak se zero, në të cilën rast e kemi humbur ndeshjen. Pra, një herë se është e rastit, që shpërthen e atij lak ndërsa, dhe arrijmë këtu ku ne do të presim për të klikoni para daljes loje mënyrë që Loja nuk ka vetëm menjëherë mbyllet në ne. Dhe në fund ne do të mbyllet dritare dhe kjo është ajo. Emri im është Rob, dhe kjo ishte Breakout.