1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 SPEAKER 1: Mari kita menulis program dengan antara muka pengguna grafik yang juga 3 00:00:03,350 --> 00:00:04,580 termasuk label. 4 00:00:04,580 --> 00:00:07,940 Dan dalam label ini, kita akan menyimpan nombor, walaupun sebagai rentetan. 5 00:00:07,940 --> 00:00:10,880 Dan kita akan mengemas kini label yang sekali lagi, dan sekali lagi, dan lagi. 6 00:00:10,880 --> 00:00:15,040 Supaya kita akhirnya mengira turun dari 50 kepada sifar. 7 00:00:15,040 --> 00:00:20,910 Glabel, memanggil label, mendapat kembali nilai glabel baru. 8 00:00:20,910 --> 00:00:22,900 Sekarang, saya tidak akan memberikan ini nilai label lagi, jadi saya akan 9 00:00:22,900 --> 00:00:25,040 dimasukkan ke dalam quote, unquote. 10 00:00:25,040 --> 00:00:29,080 >> Seterusnya mari kita memanggilnya setFont, lulus dalam label, dan mari kita lulus dalam 11 00:00:29,080 --> 00:00:32,910 khusus font yang dipanggil SansSerif 36 mata. 12 00:00:32,910 --> 00:00:36,370 Font yang berlaku kepada wujud di dalam perkakas CS50 itu. 13 00:00:36,370 --> 00:00:41,940 Akhirnya, mari kita menambah label ke tingkap seperti berikut. 14 00:00:41,940 --> 00:00:44,580 Sekarang, mari kita meneruskan untuk mendorong gelung yang akan mengira 15 00:00:44,580 --> 00:00:46,400 dari 50 turun ke sifar. 16 00:00:46,400 --> 00:00:49,520 Dan dalam gelung itu, mari kita secara berulang mengemaskini label dan 17 00:00:49,520 --> 00:00:55,800 memaparkannya pada skrin, Untuk, int i mendapat 50, i adalah lebih besar daripada atau sama 18 00:00:55,800 --> 00:00:59,750 kepada sifar, i tolak, tolak. 19 00:00:59,750 --> 00:01:02,090 >> Sekarang label, ternyata, perlu tali. 20 00:01:02,090 --> 00:01:04,110 Tetapi saya benar-benar mengira, menggunakan integer. 21 00:01:04,110 --> 00:01:07,750 Jadi entah bagaimana saya akan mempunyai untuk menukar integer, i, kepada rentetan 22 00:01:07,750 --> 00:01:09,010 perwakilan anak panah. 23 00:01:09,010 --> 00:01:12,480 Untuk berbuat demikian mari kita mengisytiharkan kurungan char s tiga. 24 00:01:12,480 --> 00:01:15,500 Supaya kita mempunyai ruang simpanan yang cukup selama dua digit, diikuti dengan 25 00:01:15,500 --> 00:01:16,910 terminator null. 26 00:01:16,910 --> 00:01:22,480 Kemudian mari kita panggilan s cetak f yang berlalu dalam s, lulus dalam petikan, 27 00:01:22,480 --> 00:01:24,220 unquote peratus i. 28 00:01:24,220 --> 00:01:26,960 Yang menunjukkan bahawa kita memang mahu untuk memformat integer. 29 00:01:26,960 --> 00:01:29,420 Akhirnya lulus dalam i sendiri. 30 00:01:29,420 --> 00:01:34,100 Dalam erti kata lain, s cetak f, atau tali cetak f, seperti cetak f, menjangkakan 31 00:01:34,100 --> 00:01:37,450 rentetan format diikuti oleh beberapa pembolehubah untuk menggantikan ke dalam itu 32 00:01:37,450 --> 00:01:38,430 rentetan format. 33 00:01:38,430 --> 00:01:41,910 Tetapi ia juga menerima adalah yang pertama hujah, lokasi di mana anda 34 00:01:41,910 --> 00:01:44,400 ingin menyimpan tali bahawa anda telah diwakili 35 00:01:44,400 --> 00:01:45,830 dengan rentetan format. 36 00:01:45,830 --> 00:01:52,540 >> Jadi, mari kita teruskan dan panggilan ditetapkan, label, lulus dalam label, lulus dalam s. 37 00:01:52,540 --> 00:01:56,430 Sekarang, akhirnya, hanya kerana label ini lebar akan berubah dari masa ke masa 38 00:01:56,430 --> 00:02:00,640 kita mengira turun dari 50, 49, untuk dot, dot, dot, untuk 9-8. 39 00:02:00,640 --> 00:02:03,170 Yang tidak adalah seperti yang luas sebagai nombor dua digit adalah. 40 00:02:03,170 --> 00:02:05,570 Mari kita meneruskan untuk memikirkan secara dinamik apa yang lebar ini 41 00:02:05,570 --> 00:02:08,930 label harus dan kemudian memastikan bahawa ia sentiasa tertumpu pada skrin. 42 00:02:08,930 --> 00:02:12,390 Saya pertama akan mengisytiharkan double, memanggil x, dan saya kemudian akan 43 00:02:12,390 --> 00:02:16,880 menyimpan di dalam x, hasil daripada acara lebar, lulus dalam lebar 44 00:02:16,880 --> 00:02:22,120 keseluruhan tingkap, tolak mendapatkan lebar, lulus dalam label. 45 00:02:22,120 --> 00:02:24,880 Kemudian membahagikan segala-galanya dengan dua. 46 00:02:24,880 --> 00:02:29,660 Begitu juga saya akan mengaku y menjadi sama untuk mendapatkan ketinggian keseluruhan 47 00:02:29,660 --> 00:02:37,280 tingkap, tolak mendapatkan ketinggian hanya label, dan membahagi bahawa dengan dua juga. 48 00:02:37,280 --> 00:02:40,680 Akhir sekali, saya akan memanggil setlocation, lulus dalam label, 49 00:02:40,680 --> 00:02:43,180 lulus dalam x, lulus dalam y. 50 00:02:43,180 --> 00:02:45,970 Terdapat dengan meletakkan yang label pada x koma y. 51 00:02:45,970 --> 00:02:49,290 >> Akhir sekali, supaya detik ini tidak berlaku terlalu cepat mari kita 52 00:02:49,290 --> 00:02:53,350 berhenti seketika, untuk berkata, 100 milisaat antara setiap kini label. 53 00:02:53,350 --> 00:02:56,320 Untuk berbuat demikian, kita boleh memanggil menjedakan fungsi, itu ditakrifkan dalam 54 00:02:56,320 --> 00:03:00,390 Stanford perpustakaan mudah alih, cukup sekadar seperti berikut. 55 00:03:00,390 --> 00:03:04,230 >> Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini. 56 00:03:04,230 --> 00:03:08,320 Membuat label, dot slash, label. 57 00:03:08,320 --> 00:03:11,000 Ada antara muka pengguna saya mengira turun dari 50. 58 00:03:11,000 --> 00:03:14,570 Mengira ke bawah, dan ke bawah, dan ke bawah, dan dilakukan. 59 00:03:14,570 --> 00:03:16,992