ROB BOWDEN: Hi. Olen Rob. Huvitav, kuidas rakendada seda mängu? Noh, olgem murda personal lahendus. Niisiis, oletame, esimene pea alla init funktsioone, mis me teile rääkinud rakendada esimesena. Esimene neist me vaatleme kell on init mõla. Olgu, pea meeles, et me tahame mõla tuleb täpselt tsentreeritud x-teljel. Nii et me peame välja mõtlema kui see peaks minema. Arvestades laius pardal - mis Samuti hash defineeritud üleval - peame lahutama välja mõla laius ja jagage 2, nii et kesklinnas mõla on laua keskele. Pea meeles, et x-koordinaat viitab ülemises vasakus nurgas mõla, ja nii see on täpselt, kus me tahame seda. Y-koordinaat ei ole oluline nii palju, sest me ei pane see kus iganes me tahame. Nii me instantiating mõla, seadsime värvus must, seadsime täitke True nii et see on täidetud ristkülik, ja me siis lisage see aken ja tagastamine mõla. Ja see on see initsialiseerimiseks mõla. See saab olema sarnane init'it tulemustabel. Nii et me initsialiseerida etiketi me seatud värvi helehall - saab valida mida iganes sa tahan - me kirjasuuruse et sans serif 48 - võiks ka valida mida iganes sa tahad - lisame seda akent. Nüüd on see saata tagasi ei ole tõesti vajalik, see on lihtsalt, kui midagi muidu juhtub kattuda etiketti. Siis, kui me kasutame avastada Kokkupõrke Avasta Collision tuvastab muu asi enne, kui see tuvastab etiketti. Aga see tõesti ei tohiks mõjutada meid selles programmis. Lõpuks oleme selle värskenduse tulemustabel funktsioon, mida me kirjutas. Võtame pilk see. Nüüd siin me näeme midagi, mis on peaaegu identsed, mis nägime label.c. Nii et meil on silt - iseloomu puhver 12 märki, mis on just piisav, et käsitleda mis tahes täisarv, negatiivne või positiivne. Siis me kasutame sprintf kopeerida aspektidega, mis puhver. Nii s see sisaldab string esindavad punktide arv. Lõpuks seadsime etikett selle string. Ja siis peame keskus etikett puhul oleme läinud üheksalt 10 juhib ja me oleme liikunud ta. Nii et me arvutada x ja y-koordinaadid märgise, mis saada laius ja kõrgus akna. Kuigi me võiksime ka lihtsalt kasutada konstandid Laius ja Kõrgus hash defineeritud üleval. Samuti saavad laius ja kõrgus Etiketi ja lõhe et 2 keskele. Ja siis me kasutame Set Location tegelikult pane see selles kohas. Nii et see init tulemustabel. OK. Nii init ball saab olema väga sarnased INIT'isse aerud samuti. Me näeme siin, et me kasutame newgoval et algväärtustan uue palli. Ja siin me oleme, kasutades 2 korda raadius nagu laius palli ja 2 korda raadiusega kõrgus palli. Nüüd ka newgoval, x ja y-koordinaat, et võtame sisse läheb viidata vasakus ülanurgas pall, mis on tegelikult väljaspool palli ise. Nii, et saada pall täpselt tsentreeritud juhatuse peame edasi laius jagatuna 2 keskel ja siis lahutama välja raadius suruda tegelik keskus palli laua keskele. Ja me teeme täpselt sama asja jaoks y-telg, kasutades kõrgus asemel laius. Nii et asetab palli keskel. Ja see instantiates palli seada Värv must, täitke palli Seejärel lisatakse selle aken ja tagastab selle. Ja see on see initsialiseerimiseks palli. Nüüd võtame pilk init tellised mis on veidi enam keeruline, kuid see on üsna sarnane init mõla. Nüüd, esmalt peame välja mõtlema, laius iga tellistest. Pea meeles, et meil on pidev nn kõned, mis täpsustab veergude arv telliste mis meil on. Niisiis, me kindlaks laius ühe tellistest võttes laius kogu pardal, lahutades välja suurus meie vahe - mis on hash määratletud up top ja viitab et pikslite arv, et olema üksteisest tellistest - ja nii me lähed on kokku lõhe korda kutsub tühi pikslit ühes reas. Ja mis viitavad ka mõned tühjad pikslit vasakule ja paremale Vasakus veerus ja parempoolsesse veergu tellis. Nii lahutama välja need tühjaks pikslit jätab meile pikslite arv, et tellised tegelikult kasutavad. Ja siis me jagame kõned saada pikslite arv tellis. Nii et siin me defineerime massiivi lihtsalt täpsustab värvid tahame iga rida telliseid. Kui meil oleks rohkem rida telliseid kui Värvid, mida meie määratud, me näeme et me lihtsalt loop tagasi ringi ja punast uuesti ja oranž ja kollane ja nii edasi. Nii, nagu p-set spec vihjed oleme läheb silmus üle kõik read ja veergu tellised. Aga enne kui me silmus üle veergude me näeme siin, et me täpsustatakse y positsiooni iga tellis selles konkreetses reas. Võiksime ka liigutada üle teisele silmus, aga siis me lihtsalt teeme arvutuse üle ja üle uuesti, kui me ei pea. Seega y positsiooni tellis läheb olema marginaal, mis on hash defineeritud üleval ja lihtsalt viitab vahe peal ja juhatuse algust kõik tellised. Ja me liidame sellele reale et me oleme korda kõrgus individuaalne tellis pluss lõhe mis on üksteisest tellistest. Nii on see ka vertikaalne lõhe iga tellis. Nii et see annab meile y-koordinaat telliskivi. Nii et siin me läheme välja arvutada x-koordinaadi tellis. Nüüd oleme lõhe jagatuna 2, kuna mäletan enne ütlesin, et kell vasak pool pardal, me lahkuda vähe ruumi. Nii vahe jagatud 2 on see, et ruumi. Ja siis me liidame selle veeru et me oleme korda laius pluss lõhe, kus laius on palju ruumi et ühel tellistest kulub ja siis vahe on ruumi vahel iga tellis. Niisiis, mis arvutab x-koordinaat telliskivi. Nüüd on vaja ainult algväärtustan telliskivi kuna x ja y-koordinaat kasutades laius me arvutatakse iga tellistest ja break kõrgus on hash defineeritud üleval. Seame värvi tellis. Pange tähele, me kasutame meie värve massiivi ja me kulgeb rida, mis olid on mod arv värve, mis toimub, et meile murrab tagasi umbes punaseks, kui me rohkem ridu kui värvid. Lõpuks me täitke telliskivi värvi ja lisada see aken. Ja ongi kõik. Nii, et see kõik meie vormindamise meetodid. Nüüd tuleb vaadata, et kuigi loop, et teil oli täita sisse Nii et siin me näeme, et see on meie kui silmus, mis jätkub kuni Mäng on läbi, mis kas vahendid me otsa elu või me otsa telliseid. Nii et esimene asi, mida me peame on Oota Click. Nii mäng ootab meid tegelikult nuppu enne, kui pall hakkab liikuma. Ja siis me lähme ainult kahandab elu. Nii et kui meil oli kolm elu, nüüd me oleme alla kaks elu, mida me kasutame meie kolmas elu. Me läheme keskenduda palli. Nüüd, see ei ole tõesti aidata meid kohe esimesel elu me mängime kuna pall juba läheb on keskendunud alates sellest, kui me konkretiseerida seda. Aga me näeme, kui me lõpuks kaotada elu ja silmus tagasi umbes, siis me oleme kavatse soovite tsentreerige palli põhja pardal tagasi keskele. Nii, nüüd siin on meil vaja, et tekitada x kiiruse palli. Ja nagu iga spec, me kasutame d rand 48 genereerida mingi suvaline number täpsustada kiirus. Me lisame ühe, et kuna me lihtsalt tahad kiirust vahemikus üks kaks nulli asemel ühe. Lõpuks me kasutame d rand 48 uuesti Et teha kindlaks, kas pall Liigutatav vasakule või õigust alustada. Nii d rand 48 tagastab juhusliku arvu nulli ja ühe vahel, ja nii, küsides kui see on väiksem kui 0,5, on meil 50 50 võimalus vahetada kiirus ball negatiivne. Lõpuks seadsime vertikaalne kiirus palli lihtsalt mingi konstant. Valisime kolm. Ja nüüd on meil veel üks silmus. Nii et see sisemine loop on jätkub. Pange tähele siin, kui tellised on suurem kui null - Nii et kui me otsa telliseid oleme mängu võitnud ja me ei murda läbi selle loop - ja kõik siia y Ball alla kõrgus miinus 2 korda raadiusega. Mis siis on see, tunnistades on kui pall juhtub minna varem mõla, et sel juhul oled kaotanud elu. Vaadates sees silmus meil kontrollides hiir sündmus. Ja nii, kui on hiire korral, et tähendab seda, et me tahame, et kontrollida, et vaata kui hiir liigutada, ja kui hiire liigutamine me tahame mõla kursis hiir. Niisiis, mida teha, et me arvutada uus asend mõla, mis läheb haarata positsiooni hiir - mis haarab positsiooni kasutades Kui olime läbinud - ja siis me lahutame välja aer laius jagatuna 2, nii mõla viibimise keskendunud hiir asemel vasakul aer viibivate keskendunud. Nüüd me tahame olla kindlad, et me ei lähe üle vasakul pool või paremal pool pardal. Ja siin me lihtsalt kontrollida, kas mõla oleks off vasakul pardal, lihtsalt kinni selle vasakul poolel. Ja siin me kontrollime kui mõla oleks üle paremal pool pardal, lihtsalt pista paremal poolel. Ja lõpuks, me tegelikult määrata asukohast labaga. Nüüd, kui seal ei olnud hiire liikumist, see tähendab, et me ei kavatse tahad liikuda palli. Ja nii on meil juba x ja y kiiruse palli ja nii me seda liigutada. Aga nüüd me tahame, et avastada paar asja. Nii et siin me avastada, kui me tabanud kas vasakule või paremale pardal, tahame palli põrgatama. Ja nii, et sellisel juhul, seadsime x kiirus negatiivsete x kiirus. Kui pall tabab top pardal, siis me tahame ka palli põrgatama. Aga nüüd me tahame muuta y kiirus. Pange tähele, et me ei ole tingimus tabava palli põhja juhatuses alates, mis oli juba kinni siin selles samas silmus. Lõpuks tahame, et avastada mõningaid kokkupõrked, kus juhul, kui pall tabas kas mõla või tellis, tahame teha mõned erijuhtum asju. Nii et kui seal oli kokkupõrge, milles juhul objektid ei ole null, siis kui objekt tabas mõla, oleksime tahan põrgatama palli. Ja siin ka, seadsime asukoht palli napilt mõla. Pange tähele, me võtame x positsiooni palli ja lihtsalt taaskasutada seda. Aga siin me saame y positsiooni Tiib ja liigub pall eespool mõla. See on eriline juhtum, et pall ei tabanud mõla ja siis, enne kui on võimalik liikuda off mõla, teine ​​silmus läheb ümber ja ta arvab, et see on ikka paneel ja nii y kiirust saab seada tagasi negatiivne ja seejärel palli lihtsalt selline pulgad kopsakas mõla. Niisiis, kui me ei tabanud mõla, siis me ka kontrollida kui me tabas telliskivi. Ja nii see on, kuidas me saame kontrollida, et näha, kas me tabas telliskivi. Meil on vaja vaadata seda, sest meil võib tegelikult tabas label ja me ei taha, et eemaldada märgis. Nii et kui me tabas telliskivi, saame eemaldada, et telliskivi aknast aland meie Krahv tellised, juurdekasvu meie punktide arv, ja nüüd on meil vaja uuendada tulemustabeli, mis on täpselt sama nagu me nägime enne, kui me nägime init tulemustabel. Aga nüüd me oleme lihtsalt ajakohastamine tulemustabeli sest oleme muutnud punktide arv. Ja see peaks nüüd näidata, et me tabas veel üks paus. Ja lõpuks, kui me tabas telliskivi tahame ka põrge. Nii et lõpuks, me peatume lihtsalt nii, et pall ei liigu super kiire ja me võib tegelikult tabanud meie mõla. Ja see on päris palju see. Nüüd me oleks loop tagasi algusse see samas loop ja jätkata kuni kas me kaotad elu või me otsa telliseid. Mis juhtub, kui me kaotame elu? Siis me väljumiseks ajal loop, ja me vaatame loop varundada ülemise välimise samas silmus. Millisel juhul, me täita seda looma uuesti. Ja see loodud läheb on meil oodata kliki eest, kahandab meie number elusid tsentreerige palli ümberarvutamist x ja y kiiruse ja seejärel jätkata mängu. Ja nii, et jätkub ka tellised jõuab on väiksem kui või võrdub nulliga - mille puhul me võitsime mängu - või elu on väiksem kui null, mis omakorda juhul oleme mängu kaotanud. Niisiis, kui see on nii, siis puhkeb kohta, et kuigi loop, ja me jõuame siin kui me oodata kliki enne väljumist mäng nii, et mäng ei ole ainult kohe sulgeda meist. Ja lõpuks me sulgeda aken ja see on kõik. Minu nimi on Rob ja see oli Breakout.