>> ZAMYLA CHAN: kuruka Hebu katika Mario.
Mario ni mpango ambapo tutaweza kufanya wetu mwenyewe, pamoja na mali, toleo la
classic Super Mario Brothers mchezo background.
Kwa ajili ya kuweka na tatizo hili, tunakwenda recreate nusu-piramidi kwa
Mario kuruka juu.
Mpango wetu itakuwa maingiliano, hivyo kuuliza mtumiaji pembejeo fulani
urefu kwa piramidi.
Na mpango wa magazeti nje nusu ya piramidi ya urefu kwamba, ambapo
chini hash kushoto aligns na chini kushoto kona ya wastaafu
pato dirisha.
>> Hebu kuvunja tatizo hili katika sehemu mbili, moja, kupata user pembejeo, na wawili,
magazeti nje ya piramidi.
Kumbuka kwamba ingawa kazi GetInt mapenzi retrieve integer, wewe
kuhakikisha kwamba pembejeo hii inafanya maana kwa ajili ya mpango wako, hivyo katika
Mario, itakuwa si kufanya tu bidhaa kwa ajili ya integer.
Utasikia haja ya kuhakikisha kwamba mtumiaji pembejeo integer kwamba ndani ya
chini na juu ya mipaka ya piramidi kwamba unaweza magazeti.
Kwa spec hii, hii ni 0 na 23 ya umoja.
Kama mtumiaji pembejeo integer nje ya mipaka yetu kukubalika, basi tunataka
kuwashawishi tena na tena mpaka wao kutupatia integer halali.
>> Moja ya njia ya kuhakikisha sahihi mtumiaji pembejeo ni kwa kutumia kitanzi Do-Wakati, ambayo ni
sawa na kitanzi Wakati.
Do-Wakati kitanzi executes kanuni ndani ya mwili mara moja, na kisha hundi
kama hali ni alikutana au la.
Hii ni muhimu kwa ajili ya kupata user pembejeo kwa sababu unajua kwamba unahitaji
kuwashawishi angalau mara moja.
Kama hali ni kukutana, mpango nitafanya line baada ya
yako Do-Wakati kitanzi.
Kama hali ni alikutana, ingawa, kitanzi kurudia.
>> Kitanzi Do-Wakati kwa ajili ya kuthibitisha mtumiaji pembejeo itakuwa kuangalia kitu kama hiki.
Mimi kutangaza n kutofautiana, GetInt, na kurudia mpaka n ni halali.
Kumbuka kwamba wakati kutangaza yako kutofautiana, inahitaji sahihi
wigo, kama vile katika Scratch.
Kama mimi kutangaza n ndani ya kitanzi yangu Do-Wakati, wengine wa mpango si kuwa
uwezo wa kupata huduma hiyo.
Ni mdogo na mipaka ya braces curly.
>> Haki ya wote, hivyo sasa kwamba tumekuwa Ilisahihishwa pembejeo mtumiaji, sisi kweli wanahitaji
kuteka hii nusu-piramidi.
Ni alifanya juu ya wahusika wa kuchapishwa, hivyo hebu kufanya nusu ya piramidi katika rahisi
Nakala mhariri.
Kama tunataka kufanya style Mario piramidi ya urefu wa tatu hiyo iliyokaa
upande wa kushoto wa dirisha yetu, basi tunatarajia aina hashes mbili, bonyeza Enter,
basi aina ya hashes tatu, bonyeza Kuingia, na basi aina ya nne.
>> Lakini katika hili kuweka tatizo, yetu nusu-piramidi ina kuwa haki iliyokaa.
Kutumia kiwango keyboard, jinsi gani wewe kurekebisha faili hii kwa hoja hashes
juu kwa upande wa kulia?
Mimi ili kutumia inasisitiza, mbili juu ya juu ya mstari na moja ya pili.
Kwamba hana kuangalia kama nzuri, ingawa, hivyo hebu kuchukua nafasi inasisitiza na
mazingira, na kuna tuna nusu ya piramidi ya urefu wa tatu.
>> Jaribu na kumbuka hii Nakala mhariri mfano kama wewe kuanza kufikiri nyuma
C. Hebu jaribu na kufikiri baadhi ya aina ya muundo kwamba tunaweza
kuweka katika kujenga kitanzi.
Kuchukua urefu mfano, kusema nane, na kuona kama unaweza kuanza
kuja na muundo.
safu ya kwanza itakuwa na nafasi ya saba ikifuatiwa na hashes mbili.
safu ya pili itakuwa na nafasi sita na tatu hashes, na kadhalika mpaka
nane mfululizo.
>> Lakini jinsi gani ungependa kuwakilisha mstari nth?
Kumbuka kwamba mkataba programu ni sifuri indexed.
Hiyo ina maana kwamba wewe kuanza kuhesabu saa sifuri, hivyo safu ya kwanza ni ya kitaalam
mstari idadi sifuri walioshika mbili, mstari namba moja ina hashes tatu, mstari
namba mbili ina hashes nne, hivyo kufuatia huu kwa ajili ya safu yoyote
idadi n, kuna n plus 2 hashes.
Mimi itabidi kuondoka wewe, ingawa, na kupata nje mfano kwa nafasi.
Kumbuka kwamba muundo yako itakuwa tofauti kidogo kama wewe kuchagua
kuanza kuhesabu yako kutoka moja na sio sifuri.
>> Sasa, una mfano kwa yoyote abstract mstari n.
Unajua jinsi maeneo mengi na magazeti na wangapi hashes, hivyo kwa kila mstari, ili
idadi itabadilika.
Lakini mchakato huo wa kuchapa moja tabia, ama nafasi au
hash, ni mara kwa mara.
Hivyo wote kufanya ni kurudia magazeti kwamba tabia kwa mara kama wengi
kama muundo yako huamua.
>> Hivyo ni jinsi gani sisi kurudia michakato?
Katika Scratch, sisi kutumika kuzuia kurudia.
Katika C, tutaweza kutumia Kwa kitanzi.
Hebu tuangalie syntax Kwa ajili ya matanzi.
>> Kila Kwa kitanzi linajumuisha tatu sehemu, initialization, hali,
na update.
Kwa kitanzi yako itakuwa initialize kutofautiana wakati wa kwanza
inaingia Kwa kitanzi.
Kama hali ni alikutana, mwili ya kitanzi nitafanya.
Baada ya hapo, update nitafanya.
>> Kama hali bado ni alikutana, kitanzi nitafanya na na update
kurudia kwa muda mrefu kama hali yako kutathmini kwa kweli.
Wewe ni sharti lazima hatimaye tathmini ya kwa uongo, ingawa, kwa sababu
tofauti Scratch, hatufanyi kuwa na mizunguko yoyote milele.
Mpango wako lazima mwisho hatimaye.
>> Hapa ni mfano wa Kwa kitanzi kwamba unaweza kutaka kutumia kwa ajili ya Mario.
initialization anatangaza i integer na thamani ya 0.
Muda mrefu kama i ni chini ya urefu, mwili wa kitanzi nitafanya na
kuongeza i kwa moja na kurudia mpaka i ni zaidi au
sawa na urefu.
>> Sasa, yangu Kwa kitanzi ni sifuri index.
Int i kuanza saa sifuri, hata mmoja.
Kama mimi alichagua moja, basi hali yangu ingekuwa pia kuwa tofauti kwa
kitanzi kutekeleza huo idadi ya nyakati.
Kumbuka hii kwa makini wakati uko kuchagua initialization yako na yako
hali, na kushauriana hii chati ya mara mbili ya hundi.
>> Moja ya mambo makubwa kuhusu kompyuta sayansi ni kwamba kuna tu wengi
njia ya kutekeleza mambo.
Unaweza kuchagua kama wewe kuanza saa zero au moja.
Kama hutaki kutumia Kwa kitanzi, unaweza pia kutumia kitanzi Wakati kwa
kurudia kauli muda mrefu kama wewe kuweka kiini cha Kwa kitanzi,
initialization, hali, na update.
Mara sisi kufikiri kitanzi Kwa kuwa sisi ni vizuri zaidi na, basi sisi
wanaweza kukamilisha Mario.
>> Sisi kwanza checked kwa pembejeo user na kisha kutambuliwa
mfano kwa n yoyote mfululizo.
Hivyo kwa kila mstari kutoka sifuri kwa n minus 1 magazeti idadi sahihi ya
nafasi, basi idadi sahihi ya hashes kulingana na muundo wetu, na
kisha mstari mpya.
Pamoja na kwamba, una piramidi yako.
Jina langu ni Zamyla, na hii ilikuwa Mario.