HÖGTALARE 1: Låt oss skriva ett program med ett grafiskt användargränssnitt som även innefattar etiketten. Och i denna etikett, kommer vi att lagra nummer, om än som en sträng. Och vi kommer att uppdatera den etiketten igen, och igen, och igen. Så att vi i slutändan räknas ned från 50 till noll. Glabel, kalla det etikett, blir det returnera värdet av nya glabel. Nu, jag kommer inte att ge denna etikettvärde än, så jag ska sätta in citat, unquote. Nästa låt oss kalla setFont, passerar på etiketten, och låt oss gå in specifikt ett typsnitt som heter SansSerif 36 punkt. Ett teckensnitt som råkar existera inuti CS50 apparaten. Sedan slutligen, låt oss lägga till etiketten till fönstret som följer. Nu ska vi gå vidare för att framkalla en loop som kommer att räkna från 50 ned till noll. Och inom denna slinga, låt oss iterativt uppdatera etiketten och visa den på skärmen, för, int i blir 50, i är större än eller lika till noll, i minus, minus. Nu etiketter, visar det sig, måste vara strängar. Men jag är faktiskt räkna, med hjälp av heltal. Så på något sätt jag kommer att behöva konvertera heltal, i, till en sträng representation pil. För att göra så låt oss förklara char s fäste tre. Så att vi har tillräckligt med lagringsutrymme för tvåsiffrigt nummer, följt av en null terminator. Låt oss då samtal s utskrifts f passerar i s, som går i citat, unquote procent i.. Vilket visar att vi verkligen vill ha formatera ett heltal. Slutligen passerar in i sig själv. Med andra ord, s tryck F eller sträng print f, precis som tryck f, förväntar sig en formatsträng följt av några variabler att sätta in i det formatsträng. Men det är också emot är den första argument, den plats där du vill lagra strängen att du har representerat med den formatsträng. Så nästa, låt oss gå vidare och ringa in, etikett, som går i etiketten, som går i s.. Nu, äntligen, bara för att dessa etiketter bredd kommer att förändras över tiden som Vi räknar ner från 50, till 49, till prick, prick, punkt, till 9-8. Vilket inte är så omfattande som ett tvåsiffrigt nummer är. Låt oss fortsätta att räkna ut dynamiskt vad bredden på denna Etiketten ska vara och sedan se till att det är alltid centrerad på skärmen. Jag först ska förklara en dubbel, kalla det x, och jag sedan gå till lagra insidan av x, resultatet av get bredd, som passerar i bredden på hela fönstret, minus få bredd, passerar i etiketten. Sedan dela det hela med två. På samma sätt kommer jag att förklara y vara lika med få höjden på hela fönster, minus få höjd på bara etikett, och dividera det med två också. Slutligen kommer jag att ringa setlocation, passerar i etiketten, passerar i x, som går i y. Det genom att placera etikett på x kommatecken y. Slutligen, så att denna nedräkning inte ske för snabbt låt oss pausa, för säg, 100 millisekunder mellan varje uppdatering av etiketten. För att göra detta, kan vi kalla det paus funktion, som är definierat i Stanford bärbar bibliotek, helt enkelt som följer. Nu ska vi spara, sammanställa, och köra programmet. Gör etikett, punkt snedstreck, etikett. Där är min användargränssnitt räkna ner från 50. Räknar ner, och ner, och ner, och gjort.