1 00:00:00,000 --> 00:00:09,870 2 00:00:09,870 --> 00:00:13,360 >> ZAMYLA CHAN: Nah, di sini kita, p-set terakhir dalam CS50. 3 00:00:13,360 --> 00:00:17,040 Ucapkan tahniah kepada diri kamu daripada mempunyai datang setakat ini sejak Hello pertama anda 4 00:00:17,040 --> 00:00:20,090 Alam dan Percetakan Up Piramid untuk Mario. 5 00:00:20,090 --> 00:00:21,930 Anda membuat laman web minggu lepas. 6 00:00:21,930 --> 00:00:25,110 Dan kita akan membuat satu sama lain minggu ini, salah satu yang membolehkan anda untuk 7 00:00:25,110 --> 00:00:28,570 memandu di sekitar kampus Harvard, mengambil sehingga kakitangan CS50 dan 8 00:00:28,570 --> 00:00:31,910 membawa mereka kembali kepada mereka rumah-rumah kediaman. 9 00:00:31,910 --> 00:00:35,400 >> Sekarang, minggu lepas kami bekerja dalam PHP, bahasa sebelah pelayan. 10 00:00:35,400 --> 00:00:38,250 Untuk ini p-set, kita mendapat diperkenalkan untuk JavaScript, yang merupakan 11 00:00:38,250 --> 00:00:40,610 pelanggan bahasa sampingan. 12 00:00:40,610 --> 00:00:44,020 Jadi mari kita lihat beberapa daripada kod pengedaran yang yang diberikan kepada 13 00:00:44,020 --> 00:00:46,210 anda untuk ini p-set. 14 00:00:46,210 --> 00:00:49,700 Dalam folder JavaScript, ada akan menjadi sekumpulan fail JavaScript. 15 00:00:49,700 --> 00:00:53,600 >> Ada buildings.js, yang mengandungi bangunan-bangunan di sekitar Harvard 16 00:00:53,600 --> 00:00:57,340 kampus dengan maklumat mereka dan kedudukan. 17 00:00:57,340 --> 00:01:01,630 Houses.js adalah pelbagai Harvard rumah-rumah kediaman dengan mereka 18 00:01:01,630 --> 00:01:04,030 latitud dan longitud. 19 00:01:04,030 --> 00:01:08,600 Passengers.js mengandungi pelbagai penumpang, ahli-ahli kakitangan CS50 20 00:01:08,600 --> 00:01:11,640 bahawa anda akan membawa kembali kepada rumah-rumah kediaman mereka. 21 00:01:11,640 --> 00:01:16,450 >> Math3D.js, yang mengandungi banyak fungsi kaitan dengan pergerakan itu. 22 00:01:16,450 --> 00:01:19,500 Jika anda berfikiran matematik, maka Saya mengalu-alukan anda untuk membaca. 23 00:01:19,500 --> 00:01:23,530 Tetapi anda tidak perlu memahami segala-galanya di sana. 24 00:01:23,530 --> 00:01:26,710 Shuttle.js, yang memperkatakan pergerakan pesawat itu. 25 00:01:26,710 --> 00:01:31,450 Dan index.html adalah halaman rumah di mana semua yang berlaku, benar-benar, di mana 26 00:01:31,450 --> 00:01:33,610 pengguna berinteraksi dengan laman web ini. 27 00:01:33,610 --> 00:01:39,110 >> Service.css adalah lembaran gaya CSS, yang sebagai tambahan kepada Twitter 28 00:01:39,110 --> 00:01:43,960 Perpustakaan Bootstrap, kawalan bagaimana kelihatan index.html. 29 00:01:43,960 --> 00:01:48,190 Dan kemudian kita juga mempunyai service.js, yang mengandungi fungsi-fungsi perkhidmatan untuk 30 00:01:48,190 --> 00:01:49,010 Shuttle tersebut. 31 00:01:49,010 --> 00:01:53,010 Dan di sini di mana anda akan menjadi mengisi beberapa tugasan ini. 32 00:01:53,010 --> 00:01:56,600 >> Sekarang mari kita lihat pada objek dan array bersekutu dalam JavaScript, 33 00:01:56,600 --> 00:01:59,360 yang, untuk tujuan dan maksud, boleh ditukar. 34 00:01:59,360 --> 00:02:03,030 Jika saya mahu membuat objek pembolehubah dipanggil tongkat, saya akan 35 00:02:03,030 --> 00:02:04,290 mengisytiharkan ia. 36 00:02:04,290 --> 00:02:09,350 Dan di dalam orang-orang pendakap kerinting, saya akan nyatakan, teras adalah Unicorn, kayu 37 00:02:09,350 --> 00:02:12,710 ceri, dan panjang ialah 13. 38 00:02:12,710 --> 00:02:16,370 >> Sekarang, saya juga boleh mengakses nilai-nilai objek menggunakan 39 00:02:16,370 --> 00:02:18,270 notasi array bersekutu. 40 00:02:18,270 --> 00:02:22,610 Jadi tongkat teras indeks, saya boleh menetapkan yang sama dengan Unicorn, atau 41 00:02:22,610 --> 00:02:24,710 pastikan jika saya perlukan. 42 00:02:24,710 --> 00:02:28,890 Atau saya boleh menggunakan operator titik wand.wood sama ceri, dan 43 00:02:28,890 --> 00:02:30,280 sebagainya dan sebagainya. 44 00:02:30,280 --> 00:02:33,930 Jadi anda lihat bahawa array bersekutu dan objek dalam JavaScript akan menjadi 45 00:02:33,930 --> 00:02:37,710 ditukar, dan kehendak datang dalam agak berguna. 46 00:02:37,710 --> 00:02:41,570 >> Kemudian kami melihat bangunan-bangunan dalam buildings.js, 47 00:02:41,570 --> 00:02:43,870 sekali lagi, pelbagai objek. 48 00:02:43,870 --> 00:02:48,500 Jika saya mahu membuat pelbagai terbaik bangunan di kampus Harvard, maka 49 00:02:48,500 --> 00:02:49,710 Saya akan membuat ia seperti berikut. 50 00:02:49,710 --> 00:02:55,250 Menggunakan notasi objek ini, di mana Saya menyimpan akar, nama, alamat, 51 00:02:55,250 --> 00:03:00,260 latitud, longitud dan bagi tiap-tiap objek bangunan. 52 00:03:00,260 --> 00:03:02,930 >> Mari cepat bercakap tentang pembolehubah dalam JavaScript. 53 00:03:02,930 --> 00:03:07,760 Seperti PHP, JavaScript pembolehubah adalah lemah atau longgar ditaip. 54 00:03:07,760 --> 00:03:14,120 Untuk membuat pembolehubah tempatan, anda awalan nama ubah dengan V-A-R, var. 55 00:03:14,120 --> 00:03:17,010 Sekarang, dalam JavaScript, fungsi akan menghadkan skop pembolehubah. 56 00:03:17,010 --> 00:03:20,600 Jadi jika anda mempunyai pembolehubah tempatan dalam fungsi, maka fungsi-fungsi lain 57 00:03:20,600 --> 00:03:22,060 tidak boleh mengaksesnya. 58 00:03:22,060 --> 00:03:26,090 >> Tetapi tidak seperti C, gelung dan syarat yang tidak melakukan menghadkan skop pembolehubah. 59 00:03:26,090 --> 00:03:30,600 Jadi, walaupun anda mengisytiharkan ia di dalam sebuah keadaan, seluruh fungsi akan 60 00:03:30,600 --> 00:03:32,810 mempunyai akses kepadanya. 61 00:03:32,810 --> 00:03:35,820 Kini, tanpa var, pembolehubah akan global. 62 00:03:35,820 --> 00:03:39,170 Jadi jika anda hanya mengisytiharkan nama dan menetapkan nilai, maka pemboleh ubah yang 63 00:03:39,170 --> 00:03:41,900 akan berubah-ubah global dalam JavaScript. 64 00:03:41,900 --> 00:03:48,480 >> Sekarang, dalam rumah, kami mempunyai sebuah bersekutu pelbagai objek jenis tuan rumah, di mana 65 00:03:48,480 --> 00:03:52,100 setiap rumah hanya latitud yang dan longitud yang. 66 00:03:52,100 --> 00:03:55,140 Kemudian kita mempunyai penumpang pelbagai, yang merupakan satu pameran 67 00:03:55,140 --> 00:03:57,370 jenis objek penumpang. 68 00:03:57,370 --> 00:04:01,620 Jadi setiap penumpang mempunyai pengguna nama, nama, dan sebuah rumah. 69 00:04:01,620 --> 00:04:04,840 >> Perhatikan bahawa saya katakan jenis penumpang, yang benar-benar hanya bermakna 70 00:04:04,840 --> 00:04:08,150 bahawa setiap objek mempunyai pasangan nilai utama sama. 71 00:04:08,150 --> 00:04:12,830 Jadi setiap objek jenis penumpang mempunyai nama pengguna, nama, dan sebuah rumah. 72 00:04:12,830 --> 00:04:14,850 Jadi, apa yang kita perlu lakukan untuk p-set? 73 00:04:14,850 --> 00:04:20,779 Nah, kita perlu untuk membolehkan pengguna untuk memilih sehingga ahli-ahli kakitangan, untuk memaparkan semua 74 00:04:20,779 --> 00:04:25,080 ahli-ahli kakitangan yang kini ulang-alik kami, dan untuk menggugurkan mereka di luar. 75 00:04:25,080 --> 00:04:29,395 Dan maka kita juga akan bercakap mengenai tambahan ciri-ciri yang boleh dilaksanakan untuk 76 00:04:29,395 --> 00:04:30,980 Shuttle p-set. 77 00:04:30,980 --> 00:04:33,610 >> Tetapi mari kita bercakap tentang pikap pertama. 78 00:04:33,610 --> 00:04:37,480 Wajah-wajah kakitangan CS50 telah ditanam di seluruh kampus, di mana setiap 79 00:04:37,480 --> 00:04:41,750 muka dilaksanakan sebagai tanda tempat di Bumi 3D, dan sebagai 80 00:04:41,750 --> 00:04:44,020 penanda di peta 2D. 81 00:04:44,020 --> 00:04:47,880 Oleh itu, apabila pengguna klik Pikap yang butang, kita mahu menambah berdekatan 82 00:04:47,880 --> 00:04:49,590 penumpang untuk ulang-alik. 83 00:04:49,590 --> 00:04:53,650 Dan kita juga mahu mengeluarkan tempat mereka menandakan dari dunia dan mengeluarkan mereka 84 00:04:53,650 --> 00:04:58,060 penanda dari peta, yang menunjukkan bahawa mereka dalam kapal kita sekarang. 85 00:04:58,060 --> 00:05:02,520 >> Jadi bagaimana kita mengesan jika penumpang berada dalam liputan perkhidmatan ulang-alik kita? 86 00:05:02,520 --> 00:05:06,670 Nah, jarak majlis itu, jadi shuttle.distance, lulus dalam 87 00:05:06,670 --> 00:05:10,630 latitud dan longitud, akan mengira jarak dari kedudukan semasa 88 00:05:10,630 --> 00:05:14,220 ulang-alik ke titik yang anda tentukan paras diberikan 89 00:05:14,220 --> 00:05:15,860 latitud dan longitud. 90 00:05:15,860 --> 00:05:19,180 Jadi, anda boleh menggunakan ini untuk mengira jarak dari ulang-alik ke 91 00:05:19,180 --> 00:05:20,310 penumpang. 92 00:05:20,310 --> 00:05:24,040 >> Tetapi bagaimana anda tahu di mana penumpang adalah? 93 00:05:24,040 --> 00:05:27,510 Nah, itu di mana kami akan perlu mengedit fungsi mengisi. 94 00:05:27,510 --> 00:05:32,500 Mengisi tempat semua anggota kakitangan penumpang ke dalam dunia 95 00:05:32,500 --> 00:05:36,300 dan ke dalam peta, tetapi tidak menyimpan lokasi mereka. 96 00:05:36,300 --> 00:05:39,850 Jadi mungkin anda boleh menyimpan mereka meletakkan tanda dan penanda 97 00:05:39,850 --> 00:05:41,570 di beberapa pelbagai global. 98 00:05:41,570 --> 00:05:45,780 >> Kini, terdapat sudah adalah pelbagai global menyimpan maklumat daripada penumpang. 99 00:05:45,780 --> 00:05:49,960 Kedai-kedai pelbagai penumpang setiap nama penumpang dan rumah mereka. 100 00:05:49,960 --> 00:05:54,985 Jadi mungkin anda boleh menambah beberapa parameter ada kepada objek penumpang. 101 00:05:54,985 --> 00:05:58,150 >> Untuk membantu kami mengesan semua penumpang dalam jarak kami 102 00:05:58,150 --> 00:06:02,485 ulang-alik, gelung yang disewakan melalui semua penumpang dalam pelbagai penumpang. 103 00:06:02,485 --> 00:06:07,790 A untuk gelung dalam JavaScript mungkin kelihatan sesuatu seperti ini, hampir sama dengan 104 00:06:07,790 --> 00:06:13,200 mereka untuk gelung dalam C. Atau kita boleh menggunakan alternatif untuk struktur gelung, untuk 105 00:06:13,200 --> 00:06:18,680 var i dalam array, di mana i masih indeks, tetapi anda tidak perlu 106 00:06:18,680 --> 00:06:23,310 nyatakan array.length yang keadaan dan i + +. 107 00:06:23,310 --> 00:06:26,130 >> Lokasi setiap penumpang adalah diberikan oleh tanda tempat mereka. 108 00:06:26,130 --> 00:06:29,800 Tetapi tanda tempat itu tidak di latitud dan longitud. 109 00:06:29,800 --> 00:06:34,170 Kita perlu mengakses mereka parameter oleh mendapatkan geometri, menggunakan get 110 00:06:34,170 --> 00:06:38,180 geometri pada tanda tempat, dan kemudian sebaik sahaja kami mempunyai geometri, mendapatkan 111 00:06:38,180 --> 00:06:42,580 sama ada latitud atau longitud menggunakan fungsi-fungsi itu. 112 00:06:42,580 --> 00:06:45,680 >> Jadi sekarang kita tahu bagaimana untuk mengesan sama ada penumpang berada dalam 113 00:06:45,680 --> 00:06:47,920 pelbagai perkhidmatan ulang-alik kami. 114 00:06:47,920 --> 00:06:52,050 Apabila kita mempunyai orang-orang penumpang, kita akan mahu menambah mana-mana penumpang yang 115 00:06:52,050 --> 00:06:53,140 dalam julat itu. 116 00:06:53,140 --> 00:06:57,580 Kami mahu membenarkan mereka untuk naik dan mengambil tempat duduk dalam pengangkutan ulang-alik kami, tetapi hanya 117 00:06:57,580 --> 00:06:59,630 jika kita mempunyai ruang yang cukup kepada mereka. 118 00:06:59,630 --> 00:07:04,120 >> Yang shuttle.seats array akan menunjukkan sama ada tempat duduk kosong, atau 119 00:07:04,120 --> 00:07:05,890 yang dalam tempat itu. 120 00:07:05,890 --> 00:07:11,160 Jadi, jika kerusi yang kosong, maka tempat duduk yang akan batal. 121 00:07:11,160 --> 00:07:15,930 Jadi melelar lebih pelbagai tempat duduk, memeriksa tempat duduk kosong, menyimpan 122 00:07:15,930 --> 00:07:20,020 penumpang ke kerusi-kerusi sehingga anda tidak mempunyai apa-apa kerusi lebih kosong. 123 00:07:20,020 --> 00:07:23,330 Dan malangnya, mana-mana penumpang lain perlu menunggu 124 00:07:23,330 --> 00:07:26,000 lain kali ulang-alik datang ke bawah. 125 00:07:26,000 --> 00:07:30,280 >> Sebaik sahaja mereka mendapatkan di ulang-alik, kita akan mahu untuk membuang tanda tempat mereka, yang 126 00:07:30,280 --> 00:07:32,580 adalah gambar mereka di dunia 3D. 127 00:07:32,580 --> 00:07:38,030 Jika saya mahu membuang tanda tempat p, maka saya akan mendapat semua ciri-ciri 128 00:07:38,030 --> 00:07:42,820 dari Bumi saya, dari Google Earth, dan kemudian keluarkan bahawa tempat tertentu 129 00:07:42,820 --> 00:07:45,910 menandakan menggunakan fungsi removeChild itu. 130 00:07:45,910 --> 00:07:51,360 Kemudian akhir sekali, mari kita membuang penanda, ikon pada peta 2D, bagi apa-apa 131 00:07:51,360 --> 00:07:53,650 penumpang bahawa kita meningkat. 132 00:07:53,650 --> 00:07:59,790 >> Untuk mengeluarkan penanda m, maka saya akan hanya melaksanakan m.setMap null. 133 00:07:59,790 --> 00:08:03,670 Adakah ini untuk mana-mana penumpang dalam liputan, dan anda selesai pikap. 134 00:08:03,670 --> 00:08:07,890 Fungsi Carta harus memaparkan semua penumpang yang berada dalam anda 135 00:08:07,890 --> 00:08:11,000 ulang-alik, dan tempat duduk kosong jika kosong. 136 00:08:11,000 --> 00:08:14,420 Jadi carta perlu melelar lebih shuttle.seats, memaparkan 137 00:08:14,420 --> 00:08:21,350 maklumat penumpang bagi setiap indeks, dan tempat duduk kosong jika indeks yang null. 138 00:08:21,350 --> 00:08:26,160 >> Sekarang jika teks HTML diletakkan di dalam sebuah JavaScript berubah-ubah, maka dengan menggunakan 139 00:08:26,160 --> 00:08:31,950 document.getElementByID, carta boleh mengedit HTML dalaman yang diberikan 140 00:08:31,950 --> 00:08:36,140 elemen dengan memperuntukkan HTML teks kepada 141 00:08:36,140 --> 00:08:40,840 document.getElementByID dalaman HTML berubah-ubah. 142 00:08:40,840 --> 00:08:46,180 Apabila pengguna klik butang Drop Off dalam index.html, ia akan menelefon 143 00:08:46,180 --> 00:08:47,160 fungsi dipulangkan. 144 00:08:47,160 --> 00:08:49,510 Dan ia adalah tugas kita untuk melaksanakan itu. 145 00:08:49,510 --> 00:08:54,150 >> Dalam dipulangkan, kami akan mahu mengeluarkan apa-apa penumpang dari perkhidmatan ulang-alik hanya jika 146 00:08:54,150 --> 00:08:58,740 kita berada dalam pelbagai destinasi mereka, rumah kediaman mereka. 147 00:08:58,740 --> 00:09:03,300 Jadi dipulangkan perlu menyemak sama ada ulang-alik adalah dalam lingkungan mana-mana 148 00:09:03,300 --> 00:09:08,200 rumah, dan mengeluarkan apa-apa yang diperlukan penumpang dari ulang-alik. 149 00:09:08,200 --> 00:09:11,020 Jadi bagaimana kita memeriksa jika kita dalam pelbagai mana-mana rumah? 150 00:09:11,020 --> 00:09:16,630 Nah, sekali lagi, kami akan menggunakan shuttle.distance fungsi, lulus dalam 151 00:09:16,630 --> 00:09:20,990 latitud dan longitud yang bahawa kita memeriksa menentang. 152 00:09:20,990 --> 00:09:22,730 >> Tetapi apa yang adalah mereka mata? 153 00:09:22,730 --> 00:09:27,210 Nah, pelbagai rumah-rumah itu, jika anda ingat dalam houses.js, menyimpan 154 00:09:27,210 --> 00:09:32,790 latitud dan longitud bagi setiap rumah di pelbagai bersekutu, di mana setiap 155 00:09:32,790 --> 00:09:35,980 index adalah nama rumah itu. 156 00:09:35,980 --> 00:09:37,590 Kemudian untuk mengeluarkan penumpang - 157 00:09:37,590 --> 00:09:41,820 dengan baik, hanya jika kita berada dalam lingkungan mereka rumah yang mereka mahu pergi ke. 158 00:09:41,820 --> 00:09:46,380 Jadi sekali lagi, ingat bahawa penumpang menyimpan rumah yang setiap penumpang 159 00:09:46,380 --> 00:09:48,850 mahu pergi ke. 160 00:09:48,850 --> 00:09:51,670 Jika mereka berada dalam liputan mereka rumah, maka kami akan memadam yang 161 00:09:51,670 --> 00:09:57,200 penumpang dari shuttle.seats dan set kedudukan mereka dalam array untuk nol. 162 00:09:57,200 --> 00:10:00,220 >> Sekarang mari kita bercakap tentang beberapa ciri-ciri tambahan yang boleh dilaksanakan di 163 00:10:00,220 --> 00:10:02,690 yang CS50 Shuttle p-set. 164 00:10:02,690 --> 00:10:05,850 Ada sistem mata di mana anda menjejaki berapa banyak 165 00:10:05,850 --> 00:10:07,520 menunjukkan pengguna mempunyai. 166 00:10:07,520 --> 00:10:11,120 Untuk menjatuhkan luar penumpang berjaya, mereka boleh mendapatkan mata. 167 00:10:11,120 --> 00:10:15,100 Tetapi kerana cuba menurunkan penumpang di mana tidak ada mana-mana rumah yang berhampiran, 168 00:10:15,100 --> 00:10:16,980 dengan baik, mereka boleh dihukum untuk itu. 169 00:10:16,980 --> 00:10:21,790 Jadi mungkin anda mahu untuk mengesan mata dalam pembolehubah global. 170 00:10:21,790 --> 00:10:25,970 >> Anda boleh melaksanakan mungkin pemasa, di mana pengguna mempunyai sejumlah 171 00:10:25,970 --> 00:10:29,800 masa untuk mengambil dan menurunkan satu sebilangan penumpang. 172 00:10:29,800 --> 00:10:33,280 Mungkin juga mengintegrasikan ini dengan sistem mata. 173 00:10:33,280 --> 00:10:39,970 Atau anda boleh Ubah Carta seperti yang penumpang disusun mengikut rumah. 174 00:10:39,970 --> 00:10:45,250 Supaya mungkin akan menjadi yang amat berfungsi untuk shuttle.seats. 175 00:10:45,250 --> 00:10:49,240 >> Anda boleh melaksanakan ciri terbang, di mana jika pengguna input yang Konami 176 00:10:49,240 --> 00:10:53,460 kod, maka ulang-alik lif kira tanah dan pengangkutan ulang-alik yang boleh terbang. 177 00:10:53,460 --> 00:10:58,890 Tetapi bagi penurunan yang selamat luar, terbaik untuk membuat ulang-alik tanah roda ke atas 178 00:10:58,890 --> 00:11:00,700 tanah pertama. 179 00:11:00,700 --> 00:11:05,910 Anda juga boleh melaksanakan teleportation, di mana anda membuat drop down senarai 180 00:11:05,910 --> 00:11:08,380 bangunan index.html. 181 00:11:08,380 --> 00:11:12,270 Dan memilih salah seorang daripada mereka, yang pengguna akan dihantar ke 182 00:11:12,270 --> 00:11:14,220 bahawa bangunan di kampus. 183 00:11:14,220 --> 00:11:16,760 OK, walaupun, untuk perjalanan melalui dinding beberapa 184 00:11:16,760 --> 00:11:19,290 bangunan dalam perjalanan anda di sana. 185 00:11:19,290 --> 00:11:22,960 >> Anda juga boleh menukar kelajuan ulang-alik, yang membolehkan pengguna untuk meningkatkan 186 00:11:22,960 --> 00:11:25,490 atau mengurangkan kelajuan. 187 00:11:25,490 --> 00:11:28,840 Mungkin anda mahu berubah-ubah global untuk menjejaki berapa banyak bahan api 188 00:11:28,840 --> 00:11:31,520 ulang-alik mempunyai, mengurangkan sebagai anda pergi bersama-sama. 189 00:11:31,520 --> 00:11:35,860 Sebaik sahaja anda memukul sifar, walaupun, ulang-alik tidak akan dapat bergerak kecuali anda telah 190 00:11:35,860 --> 00:11:40,610 refueled, mungkin menggunakan butang, atau juga membuat stesen gas anda sendiri. 191 00:11:40,610 --> 00:11:43,240 >> Tetapi itu sudah tentu tidak senarai yang lengkap. 192 00:11:43,240 --> 00:11:46,340 Semak spec untuk penuh senarai, atau mungkin mencadangkan 193 00:11:46,340 --> 00:11:47,840 anda sendiri untuk TF anda. 194 00:11:47,840 --> 00:11:48,950 Langit adalah had. 195 00:11:48,950 --> 00:11:53,110 Ini adalah CS50-p anda yang terakhir ditetapkan, jadi berseronok dengannya. 196 00:11:53,110 --> 00:11:56,360 Ini adalah CS50 Shuttle. 197 00:11:56,360 --> 00:11:59,230 >> Saya ada untuk mengatakan, ia telah keseronokan membuat ini untuk anda dengan 198 00:11:59,230 --> 00:12:00,400 pasukan pengeluaran. 199 00:12:00,400 --> 00:12:04,330 Dan saya berharap bahawa anda telah menikmati mereka, juga. 200 00:12:04,330 --> 00:12:06,040 Nama saya Zamyla. 201 00:12:06,040 --> 00:12:08,310 Dan ini adalah CS50. 202 00:12:08,310 --> 00:12:16,363