1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 SPEAKER 1: Ni skribos programon kun grafika uzantinterfaco ke ankaŭ 3 00:00:03,350 --> 00:00:04,580 inkluzivas etiketon. 4 00:00:04,580 --> 00:00:07,940 Kaj en ĉi etikedo, ni iras al stoki nombro, kvankam kiel linio. 5 00:00:07,940 --> 00:00:10,880 Kaj ni tuj aktualigi ke etiketon denove, kaj denove, kaj denove. 6 00:00:10,880 --> 00:00:15,040 Por ke ni finfine kalkuli malsupren de 50 al nulo. 7 00:00:15,040 --> 00:00:20,910 Glabel, nomante ĝin label, ricevas la redoni valoro de novaj glabel. 8 00:00:20,910 --> 00:00:22,900 Nun, mi ne tuj transdonos ĉi label valoro ankoraŭ, do mi 9 00:00:22,900 --> 00:00:25,040 meti en citaĵo, unquote. 10 00:00:25,040 --> 00:00:29,080 >> Sekva ni nomas setFont, pasante en la etiketo, kaj ni iam en 11 00:00:29,080 --> 00:00:32,910 specife tiparon nomata SansSerif 36 punkton. 12 00:00:32,910 --> 00:00:36,370 A tiparo kiu okazas ekzisti interne de la CS50 aparaton. 13 00:00:36,370 --> 00:00:41,940 Tiam fine, ni aldonos la etikedon al la fenestro kiel sekvas. 14 00:00:41,940 --> 00:00:44,580 Nun, ni procedi indukti buklo, ke tuj kalkuli 15 00:00:44,580 --> 00:00:46,400 el 50 suben al nulo. 16 00:00:46,400 --> 00:00:49,520 Kaj ene de tiu ciklo, ni ripete ĝisdatigi la etiketo kaj 17 00:00:49,520 --> 00:00:55,800 montri ĝin sur la ekrano, CXar int i gets 50, i estas pli granda ol aŭ egala 18 00:00:55,800 --> 00:00:59,750 al nulo, i minus, minus. 19 00:00:59,750 --> 00:01:02,090 >> Nun etiketo, rezultas, devas esti kordoj. 20 00:01:02,090 --> 00:01:04,110 Sed mi vere rakonti, uzante entjeroj. 21 00:01:04,110 --> 00:01:07,750 Do iel mi tuj devos konverti la entjero, i, al ĉeno 22 00:01:07,750 --> 00:01:09,010 reprezento sago. 23 00:01:09,010 --> 00:01:12,480 Por fari tion ni deklarus Char s krampo tri. 24 00:01:12,480 --> 00:01:15,500 Por ke ni havas sufiĉan stora por du cifera nombro, sekvata de 25 00:01:15,500 --> 00:01:16,910 nula finilo. 26 00:01:16,910 --> 00:01:22,480 Do ni alvoko s print f forpaso en s, pasante en citaĵo, 27 00:01:22,480 --> 00:01:24,220 unquote procento i. 28 00:01:24,220 --> 00:01:26,960 Indikante, ke ni ja volas formati entjero. 29 00:01:26,960 --> 00:01:29,420 Fine pasante en i mem. 30 00:01:29,420 --> 00:01:34,100 En aliaj vortoj, s print f, aŭ kordo print f, samkiel print f, atendas 31 00:01:34,100 --> 00:01:37,450 formato kordo sekvata de kelkaj variabloj anstataŭigi en tiun 32 00:01:37,450 --> 00:01:38,430 formato kordo. 33 00:01:38,430 --> 00:01:41,910 Sed gxi ankaux akceptas estas lia unua argumento, la situo en kiu vi 34 00:01:41,910 --> 00:01:44,400 volus gardi la kordo ke vi jam reprezentita 35 00:01:44,400 --> 00:01:45,830 kun tiu formato kordo. 36 00:01:45,830 --> 00:01:52,540 >> Do la sekvan, ni iru antaŭen kaj nomas enkadrigeblajn label, pasante en label, pasante en s. 37 00:01:52,540 --> 00:01:56,430 Nun, finfine, simple ĉar ĉi etiketoj larĝa tuj ŝanĝas super tempo 38 00:01:56,430 --> 00:02:00,640 nombru malsupren de 50, 49, al dot, streketo streketo naŭ ok. 39 00:02:00,640 --> 00:02:03,170 Kiuj ne estas tiel larĝa kiel du cifera nombro estas. 40 00:02:03,170 --> 00:02:05,570 Ni procedi elkompreni dinamike kio estas la larĝeco de tiu 41 00:02:05,570 --> 00:02:08,930 label devus esti kaj tiam certigi ke ĝi estas ĉiam centrita sur la ekrano. 42 00:02:08,930 --> 00:02:12,390 Mi unue tuj deklari duobla, nomante ĝin X, kaj mi tiam tuj 43 00:02:12,390 --> 00:02:16,880 stoki ene de x, la rezulto de Get larĝa, pasante en la larĝeco de la 44 00:02:16,880 --> 00:02:22,120 tutan fenestron, minus get larĝa, pasante en la etikedo. 45 00:02:22,120 --> 00:02:24,880 Tiam dividante la tutan aferon por du. 46 00:02:24,880 --> 00:02:29,660 Simile Mi tuj rakontos y al esti egala por akiri altecon de la tuta 47 00:02:29,660 --> 00:02:37,280 fenestro, minus get altecon de nur la label, kaj dividi ke per du tiel. 48 00:02:37,280 --> 00:02:40,680 Fine, mi tuj vokos setlocation, pasante en la etiketo, 49 00:02:40,680 --> 00:02:43,180 pasante en x, pasante en y. 50 00:02:43,180 --> 00:02:45,970 Tie por Metante la etikedi je x komo y. 51 00:02:45,970 --> 00:02:49,290 >> Fine, do, ke tiu rakontas malantaŭen ne okazi tro rapide ni 52 00:02:49,290 --> 00:02:53,350 paŭzi, por diri, 100 milisekundoj inter ĉiu ĝisdatigo de la etikedo. 53 00:02:53,350 --> 00:02:56,320 Por tion fari, ni povas nomi la paŭzo funkcio, tio difinita en la 54 00:02:56,320 --> 00:03:00,390 Stanford porteblan biblioteko, tute simple kiel sekvas. 55 00:03:00,390 --> 00:03:04,230 >> Nun ni savu, kompili, kaj kuri ĉi programo. 56 00:03:04,230 --> 00:03:08,320 Faru label, skalara oblikvo, etiketo. 57 00:03:08,320 --> 00:03:11,000 Estas mia uzantinterfaco rakonti malsupren de 50. 58 00:03:11,000 --> 00:03:14,570 Counting malsupren kaj malsupren, kaj malsupren, kaj farita. 59 00:03:14,570 --> 00:03:16,992