1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 SPEAKER 1: Scriviamo un programma con un'interfaccia utente grafica che anche 3 00:00:03,350 --> 00:00:04,580 comprende etichetta. 4 00:00:04,580 --> 00:00:07,940 E in questa etichetta, stiamo andando a memorizzare numero, sia pure sotto forma di stringa. 5 00:00:07,940 --> 00:00:10,880 E stiamo andando ad aggiornare tale etichetta ancora, e ancora, e ancora. 6 00:00:10,880 --> 00:00:15,040 Così che alla fine contiamo giù da 50 a zero. 7 00:00:15,040 --> 00:00:20,910 Glabel, definendolo etichetta, ottiene il valore della nuova glabel ritorno. 8 00:00:20,910 --> 00:00:22,900 Ora, io non ho intenzione di dare a questo valore dell'etichetta ancora, così io 9 00:00:22,900 --> 00:00:25,040 mettere in preventivo, unquote. 10 00:00:25,040 --> 00:00:29,080 >> Avanti chiamiamolo setFont, passando in etichetta, e passiamo in 11 00:00:29,080 --> 00:00:32,910 specificamente un font chiamato SANSSERIF 36 punti. 12 00:00:32,910 --> 00:00:36,370 Un font che accade di esistere all'interno dell'apparecchio CS50. 13 00:00:36,370 --> 00:00:41,940 Poi finalmente, aggiungiamo l'etichetta alla finestra come segue. 14 00:00:41,940 --> 00:00:44,580 Ora, procediamo per indurre un ciclo che sta per contare 15 00:00:44,580 --> 00:00:46,400 da 50 fino a zero. 16 00:00:46,400 --> 00:00:49,520 E all'interno di quel ciclo, facciamo in modo iterativo aggiornare l'etichetta e 17 00:00:49,520 --> 00:00:55,800 visualizzare sullo schermo, per, int i ottiene 50, i è maggiore o uguale 18 00:00:55,800 --> 00:00:59,750 a zero, i meno, meno. 19 00:00:59,750 --> 00:01:02,090 >> Ora etichette, si scopre, devono essere stringhe. 20 00:01:02,090 --> 00:01:04,110 Ma in realtà sto contando, con numeri interi. 21 00:01:04,110 --> 00:01:07,750 Così in qualche modo ho intenzione di avere per convertire il numero intero, i, in una stringa 22 00:01:07,750 --> 00:01:09,010 Rappresentazione freccia. 23 00:01:09,010 --> 00:01:12,480 Per farlo cerchiamo di dichiarare char s staffa tre. 24 00:01:12,480 --> 00:01:15,500 In modo che abbiamo abbastanza spazio di archiviazione per numero a due cifre, seguito da un 25 00:01:15,500 --> 00:01:16,910 terminatore null. 26 00:01:16,910 --> 00:01:22,480 Poi Chiamiamo s stampa f passaggio in s, passando citazione, 27 00:01:22,480 --> 00:01:24,220 unquote cento i. 28 00:01:24,220 --> 00:01:26,960 Indicando che davvero vogliamo per formattare un numero intero. 29 00:01:26,960 --> 00:01:29,420 Infine passando i sé. 30 00:01:29,420 --> 00:01:34,100 In altre parole, s stampa f, o stringa stampa f, proprio come la stampa f, prevede un 31 00:01:34,100 --> 00:01:37,450 stringa di formato seguita da alcune variabili sostituire in quella 32 00:01:37,450 --> 00:01:38,430 stringa di formato. 33 00:01:38,430 --> 00:01:41,910 Ma accetta anche è il suo primo argomento, la posizione in cui si 34 00:01:41,910 --> 00:01:44,400 vorrebbe archiviare la stringa che hai rappresentato 35 00:01:44,400 --> 00:01:45,830 con quella stringa di formato. 36 00:01:45,830 --> 00:01:52,540 >> Così la prossima, andiamo avanti e chiamare set, etichetta, passando in etichetta, passando s. 37 00:01:52,540 --> 00:01:56,430 Ora, finalmente, solo perché questo le etichette Larghezza sta per cambiare nel tempo 38 00:01:56,430 --> 00:02:00,640 il conto alla rovescia da 50, a 49, a puntino, dot, dot, per 9-8. 39 00:02:00,640 --> 00:02:03,170 Che non sono il più ampio un numero di due cifre è. 40 00:02:03,170 --> 00:02:05,570 Ma procediamo per capire dinamicamente quanto la larghezza di questa 41 00:02:05,570 --> 00:02:08,930 etichetta deve essere quindi garantire che è sempre al centro dello schermo. 42 00:02:08,930 --> 00:02:12,390 Io prima di andare a dichiarare una doppia, definendolo X e sto andando poi a 43 00:02:12,390 --> 00:02:16,880 memorizzare all'interno di x, il risultato di get larghezza, passando la larghezza della 44 00:02:16,880 --> 00:02:22,120 intera finestra, meno ottenere la larghezza, passando l'etichetta. 45 00:02:22,120 --> 00:02:24,880 Quindi dividendo il tutto per due. 46 00:02:24,880 --> 00:02:29,660 Allo stesso modo ho intenzione di dichiarare y per essere uguali per ottenere l'altezza dell'intero 47 00:02:29,660 --> 00:02:37,280 altezza della finestra, meno get del proprio etichetta, e dividere per due. 48 00:02:37,280 --> 00:02:40,680 Infine, ho intenzione di chiamare setLocation, passando l'etichetta, 49 00:02:40,680 --> 00:02:43,180 passando x, passando in y. 50 00:02:43,180 --> 00:02:45,970 Ci posizionando l' etichettare in x comma y. 51 00:02:45,970 --> 00:02:49,290 >> Infine, in modo che questo conteggio non accadere troppo rapidamente LET'S 52 00:02:49,290 --> 00:02:53,350 pausa, per dire, 100 millisecondi tra ogni aggiornamento dell'etichetta. 53 00:02:53,350 --> 00:02:56,320 Per fare ciò, possiamo chiamare la pausa funzione, che è definito nel 54 00:02:56,320 --> 00:03:00,390 Stanford biblioteca portatile, molto semplicemente come segue. 55 00:03:00,390 --> 00:03:04,230 >> Ora salviamo, compilare, ed eseguire questo programma. 56 00:03:04,230 --> 00:03:08,320 Fai etichetta, puntino barra, etichetta. 57 00:03:08,320 --> 00:03:11,000 C'è la mia interfaccia utente conto alla rovescia da 50. 58 00:03:11,000 --> 00:03:14,570 Conto alla rovescia, e giù, e giù, e fatto. 59 00:03:14,570 --> 00:03:16,992