SPEAKER 1: Mari kita menulis program dengan antara muka pengguna grafik yang juga
termasuk label.
Dan dalam label ini, kita akan menyimpan nombor, walaupun sebagai rentetan.
Dan kita akan mengemas kini label yang sekali lagi, dan sekali lagi, dan lagi.
Supaya kita akhirnya mengira turun dari 50 kepada sifar.
Glabel, memanggil label, mendapat kembali nilai glabel baru.
Sekarang, saya tidak akan memberikan ini nilai label lagi, jadi saya akan
dimasukkan ke dalam quote, unquote.
>> Seterusnya mari kita memanggilnya setFont, lulus dalam label, dan mari kita lulus dalam
khusus font yang dipanggil SansSerif 36 mata.
Font yang berlaku kepada wujud di dalam perkakas CS50 itu.
Akhirnya, mari kita menambah label ke tingkap seperti berikut.
Sekarang, mari kita meneruskan untuk mendorong gelung yang akan mengira
dari 50 turun ke sifar.
Dan dalam gelung itu, mari kita secara berulang mengemaskini label dan
memaparkannya pada skrin, Untuk, int i mendapat 50, i adalah lebih besar daripada atau sama
kepada sifar, i tolak, tolak.
>> Sekarang label, ternyata, perlu tali.
Tetapi saya benar-benar mengira, menggunakan integer.
Jadi entah bagaimana saya akan mempunyai untuk menukar integer, i, kepada rentetan
perwakilan anak panah.
Untuk berbuat demikian mari kita mengisytiharkan kurungan char s tiga.
Supaya kita mempunyai ruang simpanan yang cukup selama dua digit, diikuti dengan
terminator null.
Kemudian mari kita panggilan s cetak f yang berlalu dalam s, lulus dalam petikan,
unquote peratus i.
Yang menunjukkan bahawa kita memang mahu untuk memformat integer.
Akhirnya lulus dalam i sendiri.
Dalam erti kata lain, s cetak f, atau tali cetak f, seperti cetak f, menjangkakan
rentetan format diikuti oleh beberapa pembolehubah untuk menggantikan ke dalam itu
rentetan format.
Tetapi ia juga menerima adalah yang pertama hujah, lokasi di mana anda
ingin menyimpan tali bahawa anda telah diwakili
dengan rentetan format.
>> Jadi, mari kita teruskan dan panggilan ditetapkan, label, lulus dalam label, lulus dalam s.
Sekarang, akhirnya, hanya kerana label ini lebar akan berubah dari masa ke masa
kita mengira turun dari 50, 49, untuk dot, dot, dot, untuk 9-8.
Yang tidak adalah seperti yang luas sebagai nombor dua digit adalah.
Mari kita meneruskan untuk memikirkan secara dinamik apa yang lebar ini
label harus dan kemudian memastikan bahawa ia sentiasa tertumpu pada skrin.
Saya pertama akan mengisytiharkan double, memanggil x, dan saya kemudian akan
menyimpan di dalam x, hasil daripada acara lebar, lulus dalam lebar
keseluruhan tingkap, tolak mendapatkan lebar, lulus dalam label.
Kemudian membahagikan segala-galanya dengan dua.
Begitu juga saya akan mengaku y menjadi sama untuk mendapatkan ketinggian keseluruhan
tingkap, tolak mendapatkan ketinggian hanya label, dan membahagi bahawa dengan dua juga.
Akhir sekali, saya akan memanggil setlocation, lulus dalam label,
lulus dalam x, lulus dalam y.
Terdapat dengan meletakkan yang label pada x koma y.
>> Akhir sekali, supaya detik ini tidak berlaku terlalu cepat mari kita
berhenti seketika, untuk berkata, 100 milisaat antara setiap kini label.
Untuk berbuat demikian, kita boleh memanggil menjedakan fungsi, itu ditakrifkan dalam
Stanford perpustakaan mudah alih, cukup sekadar seperti berikut.
>> Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini.
Membuat label, dot slash, label.
Ada antara muka pengguna saya mengira turun dari 50.
Mengira ke bawah, dan ke bawah, dan ke bawah, dan dilakukan.