>> ROB BOWDEN: Hei.
Olen Rob.
Mietitkö, miten tätä peliä?
No, puhkeaa henkilöstön ratkaisu.
>> Joten, nyt ensin pää alaspäin init toimintoja, joita me niin määrännyt
toteuttaa ensin.
Ensimmäinen tuli katsomaan sitä on init meloa.
Kunnossa, niin muista, että haluamme meloa olla juuri keskellä
x-akselilla.
Joten meidän täytyy selvittää jos se pitäisi mennä.
>> Kun otetaan laudan leveyden - mikä Myös hash määritelty ylös -
Meidän on vähennettävä ulos meloa leveys ja jakaa 2, niin että
keskellä meloa on keskellä hallituksen.
Muista, että x-koordinaatti viittaa vasemmassa yläkulmassa meloa,
ja niin tämä on juuri siellä, missä me haluamme sen olevan.
Y-koordinaatti ei ole väliä niin paljon, koska voimme sijoittaa
sen minne haluamme.
Joten me instantiating mela, asetimme väri musta, asetimme täytetään True
joten se on täytetty suorakulmio, ja me Sitten lisää se ja palaa
meloa.
Ja se on siinä alustetaan meloa.
>> Se tulee olemaan samanlainen varten init ottelun.
Menemme siis alustaa etiketti, aiomme asettaa väriä
vaaleanharmaa - voit valita mitä haluavat - aiomme asettaa fontin
sans serif 48 -
voisi myös valita mitä haluat -
me lisäämme sen ikkunan.
Nyt tämä Vie taakse ei oikeastaan tarpeen, se on vain jos jotain
muuta tapahtuu päällekkäin etiketti.
Sitten kun käytämme Tunnista Collision, Tunnista Collision tunnistaa muiden
asia ennen kuin se havaitsee etiketti.
Mutta se ei todellakaan pitäisi vaikuttaa meitä tässä ohjelmassa.
>> Lopuksi, meillä on tämä päivitys tulostaulu toiminto, että me kirjoitti.
Joten katsotaanpa katsomaan sitä.
Nyt, tässä näemme jotain, joka on lähes sama kuin mitä
näimme label.c.
Joten meillä on etiketti -
merkkipuskuri 12 merkkiä, joka on juuri tarpeeksi käsittelemään mitä tahansa
kokonaisluku, negatiivinen tai positiivinen.
Sitten käytämme sprintf kopioida huomauttaa tuohon puskuriin.
Joten s tämä sisältää merkkijonon edustaa pisteiden määrä.
>> Lopuksi asetamme etiketti tähän merkkijono.
Ja sitten meidän täytyy keskittää etiketti jos olemme menneet yhdeksästä 10
kohdat ja olemme siirtäneet sen.
Joten laskemme x-ja y-koordinaatit Etiketin joka
saada leveys ja korkeus ikkunan.
Vaikka voisimme myös vain käyttää vakiot leveys ja korkeus hash
määritelty ylös.
Saamme myös leveys ja korkeus Etiketin ja jakaa
että 2. keskustaan.
Ja sitten käytämme Aseta sijainti todella laita se kyseisessä paikassa.
Niin, että se init ottelun.
>> OK.
Joten init pallo tulee olemaan hyvin samanlainen init melat samoin.
Näemme tässä, että käytämme newgoval jotta instanssia uuden pallon.
Ja tässä käytämme 2 kertaa säde leveyden pallon, ja 2
kertaa säde korkeus pallo.
Nyt myös newgoval, x ja y-koordinaatti, että me kulkea on menossa
viitata vasemmassa yläkulmassa pallo, joka on itse asiassa
ulkopuolella pallo itse.
Joten saadakseen pallon tarkasti keskellä aluksella, meidän täytyy kulkea
leveys jaettuna 2 keskuksen ja vähennä ulos säde työntää
tosiasiallisen pallo keskellä hallituksen.
Ja teemme täsmälleen sama asia ja y-akselilla, mutta käyttäen
korkeus sijasta leveys.
>> Niin, että asettaa pallon keskellä.
Ja tämä instantiates pallo, aseta väri musta, täytä pallo,
ja lopuksi lisätään sen ja palaa sen.
Ja se on siinä alustetaan pallo.
>> Joten nyt Katsotaanpa katsomaan init tiilet mikä on hieman enemmän
monimutkainen, mutta se on melko samanlainen init meloa.
Nyt, ensin meidän täytyy selvittää leveys kunkin tiili.
Muista, että meillä on jatkuvasti nimeltään puhelut jossa täsmennetään
sarakkeiden määrä tiiliä että meillä on.
Joten, aiomme määrittää leveyden yhden tiili ottamalla leveys
koko aluksella, vähentämällä pois koko meidän kuilu -
joka on hash määritelty ylös ja viittaa on määrä pikseleitä, että
tulisi olla jokaisen tiili -
ja niin aiomme olla yhteensä kuilu kertaa pyytää tyhjä pikseliä
yksirivinen.
Ja se tarkoittaa myös joitakin tyhjiä pikselit vasemmalla ja oikealla
vasemmassa sarakkeessa ja oikealla palstalla tiili.
>> Joten vähennä pois ne tyhjän pikseliä jättää meille määrä pikseleitä, että
tiilet todellisuudessa käyttävät.
Ja sitten jaamme by puhelut saada pikselien määrä per tiili.
Joten tässä me määrittelemme array, joka vain määrittelee värit haluamme jokaisen
tiilirivi.
Jos meillä olisi enemmän rivejä tiiliä kuin värit, että me mainita, näemme
että me vain silmukan takaisin ympäri ja käyttää punaista uudelleen ja oranssi ja
keltainen ja niin edelleen.
>> Joten, kuten p-set spec vihjeitä, olemme menossa lenkki kaikki rivit ja
sarakkeet tiiliä.
Mutta ennen kuin lenkki sarakkeet, me katso tästä, että olemme täsmennetään
y asema kunkin tiili siitä, että tietyn rivin.
Voisimme myös siirtää tämän toiseen silmukka, mutta sitten olisi vain
tekee laskelman uudestaan ​​ja uudestaan uudelleen, kun meidän ei tarvitse.
>> Joten y-paikka tiili on menossa olla marginaali, joka on hash
määritelty ylös ja vain viitataan välinen tila yläreunassa linjan ja
alussa kaikki tiilet.
Ja aiomme lisätä, että rivi että olemme kertaa korkeus
yksittäiset tiili plus kuilu että on jokaisen tiili.
Joten tämä on vertikaalinen rakoa jokaisen tiili.
Niin että antaa meille y-koordinaatti tiili.
>> Joten tässä me aiomme laskea x-koordinaatti tiili.
Nyt meillä on kuilu jaettuna 2 vuodesta, Muistan ennen, sanoin, että
vasemmalle puolelle pöytää, aiomme jättää vähän tilaa.
Niin, että väli jaettuna 2 on tuo tila.
Ja sitten me lisäämällä että sarakkeen että olemme ajat leveys plus
kuilu, jossa leveys on paljon tilaa että yksi tiili vie ja
niin kuilu on tilaa jokaisen tiili.
Niin että laskee x-koordinaatti tiili.
>> Nyt meidän täytyy vain instanssia tiili otetaan huomioon, että x-ja y-koordinaatti
käyttämällä leveys että me lasketaan kullekin tiili, ja tauko korkeuteen, joka on
hash määritelty ylös.
Asetimme värin tiili.
Huomaa käytämme meidän värejä array ja olemme kulkee peräkkäin, jotka olivat
mod num värejä, jotka aikoo tehdä us kääri takaisin noin punaiseksi, jos me
on enemmän rivejä kuin värejä.
Lopuksi, me täyttää tiili Väri ja lisää se ikkunaan.
>> Ja se on siinä.
Niin, että on se meidän kaikkien alustus menetelmiä.
Nyt meidän täytyy tarkastella, että vaikka silmukka, joka sinun piti täyttää tuumaa
Joten tässä me näemme, että tämä on meidän taas silmukka, joka tulee jatkumaan, kunnes
Peli on ohi, jotka joko keinoin loppuvat ihmishenkiä tai
loppuvat tiiliä.
>> Joten meidän täytyy ensiksi on Odota Click.
Joten peli odottaa meidän todella Napsauta ennen kuin pallo alkaa liikkua.
Ja sitten me aiomme dekrementoidaan elämää.
Joten jos meillä olisi kolme elämää, nyt olemme alas kaksi elämää, käytämme meidän
kolmas elämä.
Menemme keskustaan ​​pallo.
Joten nyt, tämä ei todellakaan auta meitä aivan ensimmäinen elämä soitamme
koska pallo on jo menossa on keskitetty siitä, kun me
instantioidaan se.
Mutta me näemme kun me lopulta menettävät elämän ja silmukka takaisin noin, niin olemme
menossa haluavat keskittäminen pallon laudan pohjasta takaisin
keskus.
>> Joten, nyt täällä meidän täytyy tuottaa x nopeus pallo.
Ja kohti spec, käytämme d randia 48 tuottaa joitakin satunnaisia ​​numero
määrittää nopeuden.
Olemme lisätään yksi että koska me vain Lisää nopeus on välillä yksi
kahden sijasta nollasta yhteen.
Lopuksi, käytämme d randia 48 jälleen Jotta voidaan määrittää, onko pallo
tulee siirtymään vasemmalle tai oikeutta aloittaa.
>> Niin d randia 48 palauttaa satunnaisluvun nollan ja yhden välillä, ja niin pyytämällä
jos se on alle 0,5, meillä on 50 50 mahdollisuus vaihtaa nopeuden
pallo olevan negatiivinen.
Lopuksi asetamme pystysuora liikenopeus pallo vain olla joitakin vakio.
Valitsemme kolme.
Ja nyt meillä on toinen silmukka.
>> Joten tämä sisäsilmukan on tulee jatkumaan.
Huomaa täällä, sen sijaan tiiliä on suurempi kuin nolla -
joten jos me loppuu tiiliä, olemme voitti pelin ja voimme
murtautua ulos tästä loop -
ja kaikki saavat y Ball alle korkeus miinus 2 kertaa tämä säde.
Joten tässä on tunnustaa on, jos pallo sattuu ohittaa meloa, vuonna
jolloin olet menettänyt elämän.
>> Etsitkö sisälle silmukka olemme tarkistamalla hiiren tapahtuma.
Ja niin, jos on hiiri tapahtuma, että tarkoittaa, että haluamme tarkistaa
nähdä, jos hiiri oli siirretty, ja jos hiiri on siirretty, haluamme olla
mela pysyä hiirellä.
Joten, tehdä, että laskemme uuden asemaa mela, joka on menossa
napata asemaa hiiren - joka tarttuu asentoon
tapauksessa, että he olivat kulkeneet -
ja sitten me aiomme vähentää ulos mela leveys jaettuna 2, joten
mela pysyy keskittyi hiiri sen sijaan, että vasemmalla puolella mela
oleskelevat keskitetty.
>> Joten nyt haluamme myös olla varma, että me älä mene yli vasemmalle puolelle tai oikealle
puolelle pöytää.
Ja niin tässä me vain tarkistaa, jos meloa olisi pois vasemmalla puolella
aluksella, vain kiinni sitä vasemmalle puolelle.
Ja tässä me tarkastamme jos mela olisi yli oikealle puolelle
aluksella, vain kiinni se oikealle puolelle.
Ja lopuksi, me todella perustetaan sijainnin meloa.
>> Nyt, jos ei ole hiiren liikkeitä, se tarkoittaa, että aiomme
haluat siirtää pallo.
Ja niin meillä on jo x ja nopeuden y pallon
ja niin me siirtää sen.
Mutta nyt haluamme havaita pari asiaa.
Joten tässä olemme havaitsemiseksi, jos osuimme joko vasemmalle tai oikealle puolelle
aluksella, haluamme pallon pomppia.
Ja niin, siinä tapauksessa, asetamme x nopeus negatiiviseksi x nopeus.
>> Jos pallo osui yläreunassa linjan, niin me myös haluamme pallon pomppia.
Mutta nyt haluamme muuttaa Tämä nopeuden y.
Huomaa, meillä ei ole edellytys pallo osuu pohjaan
hallituksessa vuodesta, joka oli jo kiinni jopa täällä kun silmukka.
>> Lopuksi haluamme havaitsemaan jotkin törmäykset jos jos pallo osui
joko meloa tai tiili, haluamme tehdä joitakin erikoistapaus asioita.
Joten jos oli törmäys, jossa tapauksessa esineitä ei saa olla tyhjä, niin,
jos esine osui meloa, olisimme vain haluavat toipua pallo.
Ja tässä, myös asetimme sijainti pallo hieman yli meloa.
Huomaa, että menemme x asema pallo ja vain uudelleenkäyttöä että.
Mutta täällä olemme pääsemässä y asemaa meloa ja liikkuvat pallo
yläpuolella meloa.
>> Tämä on erikoistapaus, jotta pallo ei osu meloa ja sitten,
ennen kuin on voitava liikkua pois mela, toinen silmukka menee ympäri ja
se luulee sen edelleen paneeli ja joten nopeuden y saa asettaa takaisin
negatiivinen ja sitten pallo vain sellaista tikkuja terhakka meloa.
Joten, jos me ei osunut mela, Sitten haluamme myös tarkistaa
jos osuimme tiili.
Ja niin näin voimme tarkistaa nähdä, jos osuimme tiili.
>> Meidän täytyy tarkistaa tämän, koska me saatamme ovat todella osuma etiketti ja me
eivät halua poistaa tarran.
Joten jos osuimme tiili, voimme poistaa että tiili ikkunasta, vähenemä
meidän lasken tiiliä, kasvattaa meidän määrän pisteitä, ja nyt meidän täytyy
päivittää tulostaulu, joka on täsmälleen sama kuin näimme ennen kun näimme
init ottelun.
Mutta nyt olemme vain päivittää Tulostaulu koska olemme muuttaneet
pisteiden määrä.
Ja se pitäisi nyt näyttää, että osuimme yksi tauko.
>> Ja lopuksi, jos osuimme tiili haluamme myös pomppia.
Joten lopuksi, pysähdymme juuri niin, että pallo ei liiku huippunopea ja me
voi todella lyödä sen meloa.
Ja se on aika paljon se.
Joten nyt olisi silmukka takaisin alkuun Tässä taas silmukan ja jatkaa, kunnes
joko menetämme elämän tai loppuvat tiiliä.
>> Mitä tapahtuu, jos menetämme elämän?
Sitten aiomme poistua tästä taas silmukka, ja näemme tahtoa silmukka varmuuskopioida
alkuun ulomman kun silmukka.
Missä tapauksessa aiomme suorita tämä pannaan kuntoon.
Ja tätä perustaa joutuu meidän odottaa napsautuksesta, dekrementoidaan meidän numero
ihmishenkiä, keskittäminen pallo, laskea x-ja y-nopeus, ja
jatka peliä.
>> Ja niin, että jatkuu kunnes joko tiilet päätyy alle
tai olemattomat -
jolloin voitimme pelin -
tai ihmishenkiä on pienempi kuin nolla, jossa tapauksessa olemme menettäneet pelin.
Joten, kun näin on, me puhkeaa Kyseisen while-silmukka, ja pääsemme täällä
minne olemme menossa odottamaan click ennen poistumista pelin niin, että
Peli ei vain heti Sulje meitä.
Ja lopuksi suljemme ikkuna ja se on siinä.
Nimeni on Rob, ja tämä oli Breakout.