Tip:
Highlight text to annotate it
X
>> DAVID Malan: Við skulum skrifa forrit sem felur í sér glugga og hring með
hringur skoppar fram og til baka burt vinstri og hægri
brúnir þeim glugga.
Til að gera það, við skulum nota Stanford Portable Library, og við skulum fyrst
fela gevents.h svo að við getum hlusta á mús hreyfing.
Skulum fela þá gobjects.h þannig að við getum lýst hlutum eins ovals eða
hringi, í raun.
Og þá skulum fela gwindow.h þannig að við höfum myndrænt glugga fyrir
allt.
>> Skulum lýsa helstu á venjubundinn hátt.
Og við skulum nú lýsa og ræst eða búa þessi gluggi, GWindow -
og við munum hringja í breytilega glugga -
fær newGWindow.
Og við munum geðþótta gera það 320 punktar um 240 punkta.
>> Skulum næst ræst hring.
En að ræst þennan hring, við þurfum að gera dálítið meiri vinnu.
Einkum skulum fylla í þessum hring þannig að allt sem er
svart og ekki bara útlista stað.
GOval -
við munum kalla það hring -
fær newGOval.
Við munum setja þetta sporöskjulaga á 0, 110, og við munum gera sporöskjulaga 20 punktar á breidd með
20 punktar á hæð - með öðrum orðum, þvermál 20 eða radíus 10.
>> Skulum nú setja lit sem hring að vera quote, unquote, "svart". Skulum
nú sett það fyllast með því að tilgreina satt.
Og nú loks, við skulum bæta hringinn til glugga sem hér segir, þar sem
síðarnefnda er bætt út í hið fyrrnefnda.
>> Skulum nú lýsa yfir tvöfalt.
Við munum kalla það hraða.
Og nokkuð geðþótta, við skulum segja að hraða þessa hrings verður
2,0, í öðrum orðum, 2 punktar fyrir hverja einingu sem er.
Og nú skulum vísvitandi valdið óendanlega lykkju.
>> Svo hvernig á að gera þennan hring hopp fram og til baka?
Jæja við skulum gera ráð fyrir innan þessa lykkju sem fyrir hverja einingu tíma, erum við
fara að flytja hringnum bara smá hluti byggðar á hraða hennar 2 dílar
hverja einingu af tíma.
En stöðugt, við erum að fara til verða að athuga hvort hringurinn er að snerta
hægri brún skjásins eða vinstri brún skjásins, því ef svo er, við
þarft það til hopp, svo að segja.
>> Hvernig á að framkvæma Hugtakið skoppar?
Jæja, ef við erum að fara á 2 dílar á rétt á tímaeiningu, til að hopp burt
hægri brún, við getum einfaldlega snúa að til þess að vera neikvæð 2 punktar á einingu
tíma, þannig negating hraðinn.
Svo í raun, skoppandi er tiltölulega einföld.
>> Skulum fyrst fara hringinn með þetta margir punktar á x-ás, með þessari
marga pixels eftir y-ásnum.
Með öðrum orðum, við viljum ekki að það að fara eftir y-ás yfirleitt.
Við viljum aðeins það að hopp til baka fram og til vinstri og hægri.
>> Og við skulum athuga nú á þessari lykkju ef x-hnit hringsins plús
breidd hringsins er meiri en, eða jöfn
Breidd á glugganum -
í öðrum orðum, ef staðsetning hringsins er auk breidd hringsins
sjálft er nú framhjá brún um gluggann, við myndum
betri andstæða hraða okkar -
hraða fær neikvæð hraða, þar með ósvífni jákvætt til A
neikvæð eða neikvæð að jákvæð.
En hvað ef hringurinn er áhrifamikill frá hægri til vinstri og það hits því
vinstri brún?
Með öðrum orðum, ef x-hnit hringurinn er nú minna en eða jafnt og
0, við skulum fara á undan og aftur invert hraða okkar.
>> Svo hvers vegna ég hef ekki bætt í breidd hringsins þessarar
tíma, eins og ég gerði áður?
Jæja, hafðu í huga að hnit hlutar eru skilgreind
með efst í vinstra horn hans, ekki um miðju hennar.
Og svo þegar hringurinn er áhrifamikill frá vinstri til hægri, þurfum við að athuga
hvort hægri brún hring hefur staðist
hægri brún glugga.
Svo til að reikna út hvað það er, að við höfum til að fá x-hnit hring
auk breidd hring til að færa okkur frá efstu vinstra
horn, á áhrifaríkan hátt, til efra hægra horninu.
Þegar hringurinn er áhrifamikill frá hægri til vinstri, á meðan, við þurfum ekki að
standa við slíka viðbót, vegna þess að efst í vinstra horninu á hringnum er
þegar gildi við munum fá frá þinn fá x.
>> Skulum nú færa boltann.
Skulum nú spara, safna saman og keyra þetta program, gera hopp,. / hopp.
Og þar sem við erum með forrit.
>> En hringurinn er að flytja svo fjári hratt, það er nánast ómögulegt að sjá hvað er
í raun að fara á.
Svo skulum alveg forritið valdi því smella á X efst í hægra
horn hér.
Skulum nú fara aftur í the uppspretta merkjamál og hægur hlutur dúnn a lítill hluti.
>> Með öðrum orðum, innan þessa óendanlega lykkja, frekar en bara Færa og
færa og aftur auglýsingin nauseum skulum sitja lengi fyrir nokkrum millisekúndur
áður en farið er að færa aftur.
Einkum skulum fara til the botn af óendanlega lykkju hér og einfaldlega
hlé fyrir, segjum, 10 millisekúndur á hverri ítrun.
Skulum nú laun og aftur keyrir hopp.
Og nú sjáum við miklu meira sanngjarnt framkvæmd, þar sem við getum séð
hring sannarlega skoppandi á vinstri og hægri brún.