>> 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.