>> Rob BOWDEN: Hi.
Mimi nina Rob.
Anashangaa jinsi ya kutekeleza mchezo huu?
Naam, hebu kuvunja nje ufumbuzi wafanyakazi.
>> Kwa hiyo, basi kichwa ya kwanza chini ya init kazi ambayo tunaambiwa wewe
kutekeleza mradi wa kwanza.
Kwanza moja tutaweza kuangalia saa yake ni init paddle.
Haki ya wote, ili kukumbuka kwamba tunataka paddle kuwa hasa katikati ya
x-mhimili.
Kwa hiyo, tunahitaji kufikiri ambapo kwamba lazima kwenda.
>> Kutokana na upana wa bodi - ambayo pia ni hash kuelezwa juu juu -
tunahitaji Ondoa nje paddle upana na kugawanya na 2, ili
katikati ya paddle ni katika katikati ya bodi.
Kumbuka kwamba x-kuratibu inahusu juu kushoto kona ya paddle,
na hivyo hii ni hasa ambapo tunataka kuwa.
y kuratibu haina jambo kama vile kwa sababu tunaweza mahali
popote tunataka.
Hivyo sisi instantiating paddle, sisi kuweka rangi nyeusi, sisi kuweka kujaza kwa kweli
hivyo ni kujazwa katika mstatili, na sisi kisha kuongeza kwa dirisha na kurudi
paddle.
Na kwamba ni kwa initializing paddle.
>> Ni kwenda kuwa sawa kwa init ubao.
Hivyo sisi ni kwenda initialize studio, tunakwenda kuweka rangi kwa
mwanga kijivu - unaweza kuchukua chochote unataka - tunakwenda kuweka font kwa
sans serif 48 -
inaweza pia kuchukua chochote unataka -
tutaweza kuongeza kwa dirisha.
Sasa kutuma hii kwa nyuma ni kweli muhimu, ni tu katika kesi kitu
mwingine hutokea kuingiliana studio.
Kisha wakati sisi kutumia kuchunguza Mgongano, Kuchunguza Mgongano kuchunguza nyingine
kitu kabla ya hutambua studio.
Lakini kwa kweli haipaswi kuathiri sisi katika mpango huu.
>> Hatimaye, tuna hii Mwisho resultattavlan kazi ambayo sisi aliandika.
Hivyo basi tuangalie hiyo.
Sasa, hapa tunaona kitu ambacho karibu sawa na kile
tuliona katika label.c.
Hivyo tuna studio -
tabia ya buffer ya wahusika 12, ambayo ni haki ya kutosha kushughulikia yoyote
integer, hasi au chanya.
Kisha sisi kutumia sprintf kwa nakala anasema ndani ya kwamba buffer.
Hivyo s hili lina kamba anayewakilisha idadi ya pointi.
>> Hatimaye, sisi kuweka studio kamba hiyo.
Na kisha tunahitaji kituo cha studio katika kesi tumeenda kutoka tisa hadi 10
anasema na tumekuwa kubadilishwa yake.
Hivyo sisi mahesabu ya x na y-kuratibu ya studio ambayo itakuwa
kupata upana na urefu ya dirisha.
Pamoja na kwamba, tunaweza pia kutumia tu constants upana na urefu hash
inavyoelezwa juu juu.
Sisi pia kupata upana na urefu wa studio na kugawanya
kwamba kwa 2 hadi kituo hicho.
Na kisha sisi kutumia kuweka eneo kwa kweli kuiweka katika eneo hilo.
Hivyo hiyo ni kwa init ubao.
>> OK.
Hivyo init mpira ni kwenda kuwa sawa sana kwa init paddles pia.
Tunaona hapa kwamba sisi ni kutumia newgoval ili instantiate mpira mpya.
Na hapa sisi ni kutumia 2 mara radius kama upana wa mpira, na 2
mara radius kama urefu wa mpira.
Sasa, pia kwa newgoval, x na y kuratibu kwamba sisi kupita katika ni kwenda
kwa kutaja kushoto juu ya mpira, ambayo ni kweli
nje mpira yenyewe.
Hivyo ili kupata mpira hasa unaozingatia katika bodi, tunahitaji kupita
upana kugawanywa na 2 kwa ajili ya kituo hicho, na kisha Ondoa nje radius kushinikiza
halisi ya katikati ya mpira ndani ya katikati ya bodi.
Na sisi kufanya halisi kitu kimoja kwa y-mhimili, ila kwa kutumia
urefu badala ya upana.
>> Ili maeneo mpira katika kituo hicho.
Na hii instantiates mpira, kuweka rangi nyeusi, kujaza mpira,
kisha hatimaye kuongeza kwa dirisha na kurudi.
Na kwamba ni kwa initializing mpira.
>> Hivyo sasa hebu tuangalie init matofali ambayo ni kidogo zaidi
ngumu, lakini ni pretty sawa na init paddle.
Sasa, kwanza tunahitaji kufikiri nje upana wa kila matofali.
Kumbuka kwamba tuna mara kwa mara aitwaye wito ambayo inabainisha
idadi ya nguzo ya matofali kwamba tuna.
Kwa hiyo, tunakwenda kuamua upana ya matofali moja kwa kuchukua upana
wa bodi nzima, kutoa mapato nje ukubwa wa pengo yetu -
ambayo ni hash kuelezwa juu juu na inahusu na idadi ya saizi ya kwamba
lazima kati ya kila matofali -
na hivyo sisi ni kwenda kuwa na jumla ya mara pengo wito saizi tupu katika
moja mfululizo.
Na kwamba pia kutaja baadhi tupu saizi wa kushoto na haki ya
safu ya kushoto na kulia safu matofali.
>> Hivyo Ondoa nje saizi wale tupu majani sisi na idadi ya saizi ya kwamba
matofali ni kweli kutumia.
Na kisha sisi kugawanya na wito kwa kupata idadi ya saizi kwa matofali.
Hivyo hapa sisi kufafanua safu kwamba tu bayana rangi tunataka kwa kila
mstari wa matofali.
Kama tungekuwa na safu zaidi ya matofali kuliko rangi ya kwamba sisi maalum, tutaweza kuona
kwamba tutaweza tu kitanzi nyuma karibu na kutumia nyekundu tena, na kisha rangi ya machungwa na
njano na kadhalika.
>> Hivyo, kama p-kuweka spec mwanga, sisi ni kwenda kitanzi juu ya safu zote na
nguzo ya matofali.
Lakini kabla ya sisi kitanzi juu ya nguzo, sisi kuona hapa kwamba sisi ni kubainisha
y nafasi ya kila matofali katika mstari husika.
Tunaweza pia hoja hii katika pili kwa kitanzi, lakini basi tunatarajia tu kuwa
kufanya hesabu tena na tena tena wakati hatuna haja.
>> Hivyo y nafasi ya matofali ni kwenda kuwa kiasi, ambayo ni hash
inavyoelezwa juu juu na tu inahusu nafasi kati ya juu ya bodi na
mwanzo wa wote wa matofali.
Na sisi ni kwenda kuongeza kwamba mstari kwamba sisi ni juu ya nyakati urefu wa
matofali ya mtu binafsi pamoja na pengo kwamba ni kati ya kila matofali.
Hivyo hii ni pia wima pengo kati ya kila matofali.
Ili inatupa y kuratibu ya matofali.
>> Hivyo hapa tunakwenda mahesabu ya x-kuratibu ya matofali.
Sasa, tuna pengo kugawanywa na 2 tangu, kumbuka kabla, mimi alisema kuwa katika
upande wa kushoto wa bodi, tunakwenda kuacha nafasi kidogo.
Hivyo pengo kugawanywa na 2 ni nafasi hiyo.
Na kisha sisi ni kuongeza kuwa safu kwamba sisi ni juu ya nyakati upana pamoja na
pengo, ambapo upana ni kiasi cha nafasi kwamba matofali moja inachukua hadi na
kisha pengo ni nafasi kati ya kila matofali.
Ili mahesabu ya x-kuratibu ya matofali.
>> Sasa sisi tu haja ya instantiate matofali kutokana na kwamba x na y kuratibu
kutumia upana kwamba sisi mahesabu kwa kila matofali, na kuvunja urefu ambayo ni
hash kuelezwa juu juu.
Sisi kuweka rangi ya matofali.
Taarifa sisi ni kutumia rangi yetu safu na sisi ni kupita katika mstari kwamba walikuwa
juu ya mod rangi num ambayo ni kwenda kufanya sisi kufuta nyuma karibu na nyekundu kama sisi
na safu zaidi ya rangi.
Hatimaye, tutaweza kujaza matofali rangi na kuongeza kwa dirisha.
>> Na hiyo ni yake.
Kwa hiyo, hiyo ni kwa yetu yote ya initialization mbinu.
Sasa sisi haja ya kuangalia kwamba wakati kitanzi kwamba alikuwa na kujaza in
Kwa hiyo hapa tunaona kwamba hii ni wakati wetu kitanzi kwamba ni kwenda kuendelea hadi
mchezo ni juu, ambayo aidha njia sisi kukimbia nje ya maisha au
sisi kukimbia nje ya matofali.
>> Kitu hivyo kwanza tuna ni Wait kwa Click.
Hivyo mchezo kusubiri kwa sisi kwa kweli bonyeza kabla ya mpira kuanza kusonga mbele.
Na kisha tunakwenda kwa kuongezwa maisha.
Hivyo kama sisi na maisha tatu, sasa tuko chini ya maisha mbili, sisi ni kwa kutumia wetu
maisha ya tatu.
Tunakwenda kituo cha mpira.
Basi sasa, hii si kweli kwenda kusaidia sisi juu ya maisha ya kwanza kabisa sisi kucheza
tangu mpira ni tayari kwenda wamekuwa unaozingatia kutoka wakati sisi
instantiated yake.
Lakini sisi kuona wakati sisi kuishia kupoteza maisha na kitanzi nyuma kote, basi sisi ni
atataka recenter mpira kutoka chini ya bodi nyuma
kituo hicho.
>> Kwa hiyo, sasa hapa sisi haja ya kuzalisha x kasi ya mpira.
Na, kama kwa spec, sisi ni kutumia d rand 48 ya kuzalisha baadhi ya idadi random
kutaja kasi.
Sisi ni kuongeza moja kwa kuwa tangu sisi tu wanataka kasi katika aina mbalimbali ya moja
mbili badala ya sifuri kwa moja.
Hatimaye, sisi ni kutumia d rand 48 tena katika ili kujua kama mpira
ni kwenda hoja kwa upande wa kushoto au haki ya kuanza.
>> Hivyo d rand 48 anarudi idadi random kati ya sifuri na moja, na hivyo kwa kuuliza
kama kwamba ni chini ya 0.5, tuna 50 50 nafasi ya byte kasi ya
mpira kuwa hasi.
Hatimaye, sisi kuweka kasi ya wima ya mpira kuwa baadhi tu mara kwa mara.
Sisi kuchagua tatu.
Na sasa tuna mwingine kitanzi.
>> Hivyo hii kitanzi ndani ni kwenda kuendelea.
Taarifa hapa, wakati matofali ni zaidi ya sifuri -
hivyo kama sisi kukimbia nje ya matofali, tumekuwa mshindi wa mchezo na tunaweza
kuvunja nje ya kitanzi hii -
na wote Kupata y mpira chini ya urefu bala 2 mara radius.
Basi nini hii ni kutambua ni kama mpira hutokea kwenda nyuma ya paddle, katika
kesi ambayo umefanya walipoteza maisha.
>> Kuangalia ndani ya hii kwa kitanzi tuna kuangalia kwa ajili ya tukio panya.
Na hivyo, kama kuna tukio panya, kwamba ina maana kwamba tunataka kuangalia kwa
kuona kama panya wakiongozwa, na kama panya wakiongozwa, tunataka kuwa na
paddle kuweka juu na panya.
Hivyo, kufanya hivyo, sisi mahesabu ya mpya nafasi ya paddle, ambayo ni kwenda
kunyakua nafasi ya panya - ambayo grabs nafasi kwa kutumia
tukio hilo kuwa sisi kupita -
na kisha tunakwenda Ondoa nje paddle upana kugawanywa na 2, hivyo
paddle anakaa katikati ya panya badala ya upande wa kushoto wa paddle
kukaa katikati.
>> Basi sasa sisi pia wanataka kuwa na uhakika kwamba sisi hawaendi juu ya upande wa kushoto au kulia
upande wa bodi.
Na hivyo hapa sisi ni kuangalia tu kama paddle itakuwa mbali upande wa kushoto wa
bodi, fimbo tu kwa upande wa kushoto.
Na hapa sisi ni kuangalia kama paddle itakuwa juu ya upande wa kulia wa
bodi, fimbo tu ni kwa upande wa kulia.
Na hatimaye, sisi kweli kuweka eneo la paddle.
>> Sasa, kama kulikuwa na si harakati za panya, hiyo ina maana tunakwenda
wanataka hoja ya mpira.
Na hivyo sisi tayari kuwa na x na y kasi ya mpira
na hivyo sisi hoja hiyo.
Lakini sasa tunataka kuchunguza mambo kadhaa.
Hivyo hapa sisi ni kuchunguza kama sisi kugonga ama kushoto au kulia upande wa
bodi, tunataka mpira Bounce.
Na hivyo, katika kesi hiyo, sisi kuweka x kasi hasi x kasi.
>> Ikiwa mpira kugonga juu ya bodi, kisha sisi pia unataka mpira bounce.
Lakini sasa tunataka mabadiliko y kasi.
Taarifa hatuna hali ya mpira kupiga chini ya
bodi tangu kwamba alikuwa tayari alitekwa hapa katika kitanzi hii wakati.
>> Hatimaye, tunataka kuchunguza baadhi migongano ambapo kama mpira hit
ama paddle au matofali, tunataka kufanya baadhi ya mambo kesi maalum.
Hivyo kama kulikuwa na mgongano, ambayo vitu kesi haitakuwa null, basi,
kama kitu kugonga paddle, tunataka nataka tu Bounce mpira.
Na hapa, pia, sisi kuweka eneo la mpira tu juu ya paddle.
Taarifa sisi ni kuchukua x nafasi ya mpira na Reusing kwamba tu.
Lakini hapa sisi ni kupata y nafasi ya paddle na kusonga mpira
juu ya paddle.
>> Hii ni kesi ya pekee ili mpira haina hit paddle na kisha,
kabla ya ni uwezo wa hoja mbali paddle, mwingine kitanzi unaendelea kuzunguka na
anadhani bado ni juu ya jopo na hivyo y kasi anapata kuweka nyuma kwa
hasi na kisha mpira tu aina vijiti bouncing juu ya paddle.
Hivyo, kama sisi hakuwa hit paddle, kisha sisi pia wanataka kuangalia
kama sisi kugonga matofali.
Na hivyo hii ni jinsi gani tunaweza kuangalia kuona kama sisi kugonga matofali.
>> Sisi haja ya kuangalia kwa hili kwa sababu sisi inaweza kwa kweli kugonga studio na sisi
hawataki kuondoa studio.
Hivyo kama sisi kugonga matofali, tunaweza kuondoa kwamba matofali kutoka dirisha, decrement
kuhesabu yetu ya matofali, nyongeza wetu idadi ya pointi, na sasa tunahitaji
update ubao ambayo ni hasa sawa na tuliona kabla ya wakati tuliona
init ubao.
Lakini sasa sisi ni kuhuisha tu ubao tangu tumekuwa iliyopita
idadi ya pointi.
Na ni lazima sasa kuonyesha kwamba sisi kugonga moja zaidi ya mapumziko.
>> Na hatimaye, kama sisi kugonga matofali sisi pia wanataka Bounce.
Hivyo hatimaye, sisi pause tu ili mpira si kusonga super haraka na sisi
unaweza kweli hit kwa paddle yetu.
Na kwamba ni pretty kiasi.
Hivyo sasa tunataka kitanzi nyuma juu ya kitanzi hii wakati na kuendelea mpaka
ama sisi kupoteza maisha au sisi kukimbia nje ya matofali.
>> Kile kinachotokea kama sisi kupoteza maisha?
Kisha tunakwenda exit wakati huu kitanzi, na tutaweza kuona mapenzi kitanzi nyuma hadi
juu ya wakati nje kitanzi.
Katika kesi ambayo, tunakwenda kutekeleza hii kuanzisha tena.
Na hii kuanzisha ni kwenda na sisi kusubiri kwa click, kuongezwa idadi yetu
ya maisha, recenter mpira, recalculate x na y kasi, na
kisha kuanza mchezo.
>> Na hivyo, kwamba itaendelea mpaka ama matofali kuishia kuwa chini ya
au sawa na sifuri -
katika kesi sisi mshindi wa mchezo ambayo -
au maisha ni chini ya sifuri, ambayo kesi tumepoteza mchezo.
Hivyo, mara moja hiyo kesi, sisi kuvunja nje ya kuwa kitanzi wakati, na sisi kufikia hapa
ambapo tunakwenda kusubiri kwa click kabla ya exiting mchezo ili
mchezo gani si tu mara moja karibu juu yetu.
Na hatimaye tutaweza karibu dirisha na hiyo ni yake.
Jina langu ni Rob, na hii ilikuwa Breakout.