1 00:00:07,360 --> 00:00:09,360 [Powered by Google Translate] NATE HARDISON: Siz var zaman çox proqramları açmaq 2 00:00:09,360 --> 00:00:11,250 kompüter, hər şeyi Agentliyi kimi görünür 3 00:00:11,250 --> 00:00:12,880 eyni zamanda çalışır. 4 00:00:12,880 --> 00:00:15,350 Məsələn, sizin kimi bir web browser çalışır bilər 5 00:00:15,350 --> 00:00:19,360 Firefox və ya Internet Explorer, iTunes musiqi dinləmək, 6 00:00:19,360 --> 00:00:21,490 və sözü ilə inşa yazı. 7 00:00:21,490 --> 00:00:24,240 Lakin, başlıq altında, proqramlar, həqiqətən, 8 00:00:24,240 --> 00:00:25,830 bir-bir axır. 9 00:00:25,830 --> 00:00:29,750 Bu, Windows, Mac OSX əməliyyat sisteminin iş var, və ya 10 00:00:29,750 --> 00:00:33,070 Linux kimi, bu ayrı-ayrı proseslərin hər idarə etmək 11 00:00:33,070 --> 00:00:35,900 proqramları məlumdur və onlar arasında keçid ki, zaman 12 00:00:35,900 --> 00:00:38,610 Sizin inşa üzrə iş üçün Facebook səhifə yoxlanılması getmək 13 00:00:38,610 --> 00:00:41,590 yenidən, Word çalışan olan biridir. 14 00:00:41,590 --> 00:00:44,890 >> Bəzən də, biz özləri edə proqramlar istəyirəm 15 00:00:44,890 --> 00:00:47,440 də bu kimi bir çox şeyə. 16 00:00:47,440 --> 00:00:49,630 Siz mənim kimi değilseniz, siz yəqin ki, bir dəstə var 17 00:00:49,630 --> 00:00:52,730 müxtəlif Nişanlar web brauzerinizin, e-poçt üçün bir açılacaq 18 00:00:52,730 --> 00:00:55,070 təqvim ilə və s. 19 00:00:55,070 --> 00:00:58,270 Biz ayrı-ayrı proqram və ya proses kimi hər nişanı müalicə edə bilər 20 00:00:58,270 --> 00:01:01,300 kimi Google Chrome edir, lakin bir çox proqramları istifadə 21 00:01:01,300 --> 00:01:04,430 prosesinin yüngül çəki versiyası mövzu çağırıb. 22 00:01:04,430 --> 00:01:07,190 >> A sap emal yalnız başqa vahidi, bir sıra 23 00:01:07,190 --> 00:01:10,100 təlimat və ya "Çalıştır" bilər ki, kodu, quote dırnağı bağlamaq, 24 00:01:10,100 --> 00:01:12,560 eyni zamanda digər mövzuları ilə. 25 00:01:12,560 --> 00:01:15,150 Bu mümkün Facebook göz üçün edir nə 26 00:01:15,150 --> 00:01:17,940 fonunda məni dinləmək və ya iki üçün isə 27 00:01:17,940 --> 00:01:20,790 YouTube videos eyni zamanda oynayır. 28 00:01:20,790 --> 00:01:24,660 Belə ki, concurrency kimi tanınan bu ümumi mövzu, adətən 29 00:01:24,660 --> 00:01:26,930 belə erkən kompüter kursları qədər deyil 30 00:01:26,930 --> 00:01:29,790 aşağı səviyyədə ətraflı müzakirə tələb çünki 31 00:01:29,790 --> 00:01:31,930 əməliyyat sistemləri və kimi. 32 00:01:31,930 --> 00:01:34,170 Lakin, proqramlaşdırma dili, biz də istifadə 33 00:01:34,170 --> 00:01:38,000 CS50 əvvəlinə, Not, bəzi uykusuz alətləri təmin edir 34 00:01:38,000 --> 00:01:40,390 asan çox şeyi proqramları yazmaq etmək 35 00:01:40,390 --> 00:01:42,390 bir dəfə gedir. 36 00:01:42,390 --> 00:01:45,050 >> Siz Not proqramları qurmaq zaman, daim istəyirik 37 00:01:45,050 --> 00:01:46,760 mövzuları ilə işləyir. 38 00:01:46,760 --> 00:01:49,770 Hər Not script, ilə başlayan bir kod blok deyil 39 00:01:49,770 --> 00:01:52,600 və "zaman" puzzle ədəd biri fikir ola bilər 40 00:01:52,600 --> 00:01:54,380 ayrı bir mövzu kimi. 41 00:01:54,380 --> 00:01:58,040 Nin necə bu işləri görmək üçün sadə Not proqram baxaq. 42 00:01:58,040 --> 00:02:01,730 >> Burada iki scripts, bir balıq obyekt və ya sprite var 43 00:02:01,730 --> 00:02:05,000 həm start biz az yaşıl bayraq düyməsinə basın zaman. 44 00:02:05,000 --> 00:02:07,290 Ilk script balıq hərəkət nəzarət edir. 45 00:02:07,290 --> 00:02:09,850 Yaşıl bayrağı tıklandığında zaman, balıq yerləşdirilmiş olur 46 00:02:09,850 --> 00:02:12,450 ekranın sol tərəfində, səhnəyə çağırıb 47 00:02:12,450 --> 00:02:14,090 sağ duran. 48 00:02:14,090 --> 00:02:17,070 Sonra əbədi qaçmaq lazımdır ki, təlimat bir sıra qədər biz 49 00:02:17,070 --> 00:02:20,270 proqramı dayandırmaq, balıq, sağ tərəfə sürüşür 50 00:02:20,270 --> 00:02:22,900 ətrafında dönür sol tərəfində geri gedir və 51 00:02:22,900 --> 00:02:24,470 yenə ətrafında dönür. 52 00:02:24,470 --> 00:02:27,410 İkinci script balıq nin fikir prosesində nəzarət edir. 53 00:02:27,410 --> 00:02:29,290 Bu bir ac balıq olduğunu çıxır. 54 00:02:29,290 --> 00:02:32,080 Belə ki, 3 saniyə gözlədikdən sonra, balıq, edirəm 55 00:02:32,080 --> 00:02:34,420 Dördüncü ikinci "Mən ac deyiləm". 56 00:02:34,420 --> 00:02:36,440 Bu script də əbədi çalışır. 57 00:02:36,440 --> 00:02:38,940 Və biz tıklayarak proqram yayınlanmasını, bax 58 00:02:38,940 --> 00:02:41,730 yaşıl bayraq, həm skriptlər icra görünür 59 00:02:41,730 --> 00:02:43,100 eyni zamanda. 60 00:02:43,100 --> 00:02:46,460 Balıq eyni zamanda hərəkət və düşünür. 61 00:02:46,460 --> 00:02:49,030 >> Yoxsul balıq belə ac görünür ildən isə bəzi əlavə bildirin 62 00:02:49,030 --> 00:02:50,670 yemək üçün cheesy layları. 63 00:02:50,670 --> 00:02:53,060 Ümid edirəm ki, onlar su dağılmaq deyil. 64 00:02:53,060 --> 00:02:55,560 Biz ikinci bir sprite əlavə, biz də edə bilərsiniz 65 00:02:55,560 --> 00:02:58,020 ki, sprite müvafiq yazıları əlavə edin. 66 00:02:58,020 --> 00:02:59,580 Və, beləliklə, bir set var olacaq 67 00:02:59,580 --> 00:03:00,830 ki run lazımdır mövzuları. 68 00:03:03,590 --> 00:03:06,270 Proqram nəzarət istifadəçi üzərində vermək üçün zaman 69 00:03:06,270 --> 00:03:09,340 ac balıq ərzaq alır, edək deyirlər ki, zaman Space 70 00:03:09,340 --> 00:03:11,840 Bar edib ki, cheesy layları üçün səhnədə görünür 71 00:03:11,840 --> 00:03:13,300 balıq yemək. 72 00:03:13,300 --> 00:03:15,760 Biz Space Bar hit əvvəl, biz cheesy saxlamaq lazımdır 73 00:03:15,760 --> 00:03:19,020 balıq onları görmək bilməz ki layları gizli. 74 00:03:19,020 --> 00:03:21,140 Bunu etmək üçün, biz üçün scripts bir neçə lazımdır 75 00:03:21,140 --> 00:03:22,750 cheesy layları sprite. 76 00:03:22,750 --> 00:03:26,980 Ilk script, yaşıl bayraq, yalnız ərzaq şəklində olacaq. 77 00:03:26,980 --> 00:03:29,530 Biz yazdıq başqa scripts fərqli olaraq, bu bir saxlamaq deyil 78 00:03:29,530 --> 00:03:30,560 əbədi çalışır. 79 00:03:30,560 --> 00:03:33,250 Bu basın sağ zaman başlamaq və çox tez başa çatacaq 80 00:03:33,250 --> 00:03:35,000 yaşıl bayrağı düyməsini basın. 81 00:03:35,000 --> 00:03:37,180 >> Space Bar olması üçün biz növbəti script gözləyəcəyik 82 00:03:37,180 --> 00:03:39,590 icra əvvəl basdı. 83 00:03:39,590 --> 00:03:42,770 Biz istifadəçi girişi üçün "gözləmə" və ya "dinləmək" gözləyir zəng edə bilərsiniz 84 00:03:42,770 --> 00:03:43,860 bir hadisə üçün. 85 00:03:43,860 --> 00:03:46,750 Və bir hadisə və ya qəbul olunduğu zaman həyata kod 86 00:03:46,750 --> 00:03:50,280 eşitdim hadisə user kodu adlanır. 87 00:03:50,280 --> 00:03:53,550 Bizim Space Bar hadisə handler üzrə cheesy layları göstərəcək 88 00:03:53,550 --> 00:03:56,330 ekran belə balıq onlara yemək bilər. 89 00:03:56,330 --> 00:03:58,880 Bu nöqtədə, hər şey yaxşı axtarır. 90 00:03:58,880 --> 00:04:00,990 >> Biz nə etmək lazımdır növbəti şey almaq üçün necə anlamaq üçün 91 00:04:00,990 --> 00:04:03,570 balıq yemək yemək var ki, həyata keçirmək. 92 00:04:03,570 --> 00:04:06,030 In ki, daim balıq başqa bir mövzu əlavə edək 93 00:04:06,030 --> 00:04:08,790 bu cheesy layları toxunan olsun və ya yoxlayır. 94 00:04:08,790 --> 00:04:11,510 Biz ki yol bəri ayrı bir mövzu bunu 95 00:04:11,510 --> 00:04:13,710 daim qida kontrol. 96 00:04:13,710 --> 00:04:16,829 Əks halda, biz yalnız vaxtaşırı ərzaq kontrol edə ediyorum 97 00:04:16,829 --> 00:04:21,180 gliding arasında, ətrafında dönüş gözləyir, ya düşünür. 98 00:04:21,180 --> 00:04:22,000 >> OK. 99 00:04:22,000 --> 00:04:23,785 İndi bizim Not proqram run imkan verir. 100 00:04:23,785 --> 00:04:26,921 Gözlənildiyi kimi, qida dərhal gizlədir və 101 00:04:26,921 --> 00:04:28,920 ac balıq geri swims və irəli əvvəl istəyirəm. 102 00:04:32,050 --> 00:04:35,060 Biz Space Bar hit zaman, cheesy layları keçirmək minir 103 00:04:35,060 --> 00:04:37,470 və ac balıq Whoo deyir. 104 00:04:37,470 --> 00:04:39,340 Amma qəribə ki, gözləyin. 105 00:04:39,340 --> 00:04:42,150 Balıq nin fikir interrupts "Mən ac deyiləm" Necə gəlmək 106 00:04:42,150 --> 00:04:43,580 digər məhsulları? 107 00:04:43,580 --> 00:04:45,780 Biz heç bir koordinasiya yaratmaq deyil, çünki bu 108 00:04:45,780 --> 00:04:47,590 üç balıq scripts arasında. 109 00:04:47,590 --> 00:04:50,610 Hər nə qədər unutqan öz mövzu çalışan 110 00:04:50,610 --> 00:04:52,120 digər edirlər. 111 00:04:52,120 --> 00:04:54,980 Biz hərəkət əvvəl bu düzeltmek edək. 112 00:04:54,980 --> 00:04:57,700 >> Mövzuları arasında koordinasiya biz ildən çətin vəzifə 113 00:04:57,700 --> 00:05:00,940 açıq hər mövzu çalıştırıldığında nəzarət və ya yoxdur 114 00:05:00,940 --> 00:05:02,190 çalışmaz. 115 00:05:02,190 --> 00:05:04,710 Bir mövzu başqa bir mesaj göndərmək üçün, biz lazımdır 116 00:05:04,710 --> 00:05:08,300 bir mövzu, biz qurmaq, və ya yazmaq olar ki, bir dəyişən istifadə 117 00:05:08,300 --> 00:05:10,170 və digər oxuyun. 118 00:05:10,170 --> 00:05:12,920 Gəlin biz müəyyən edə bilər ki, bir dəyişən adlı foodFound yaratmaq 119 00:05:12,920 --> 00:05:15,530 doğru balıq cheesy layları içinə axır zaman. 120 00:05:15,530 --> 00:05:17,540 Bəli, əlbəttə, biz onu müəyyən əmin etmək istəyirəm 121 00:05:17,540 --> 00:05:19,240 ilkin yalan. 122 00:05:19,240 --> 00:05:22,540 Sonra, balıq nin düşüncə sap, biz kontrol bilərsiniz əgər 123 00:05:22,540 --> 00:05:25,400 balıq "Mən ac deyiləm" gösteren əvvəl qida tapdı 124 00:05:25,400 --> 00:05:26,770 bubble düşündüm. 125 00:05:26,770 --> 00:05:29,670 >> İndi, proqram çalışan yenə görürük ki, balıq 126 00:05:29,670 --> 00:05:31,580 aclıq fikirləri ilə müdaxilə almaq deyil zaman 127 00:05:31,580 --> 00:05:33,820 cheesy layları deyillər. 128 00:05:33,820 --> 00:05:36,820 Biz son problem cheesy layları getmək yoxdur ki, 129 00:05:36,820 --> 00:05:39,800 üz balıq sonra, dırnağı bağlamaq sitat, onları "yeyir". 130 00:05:39,800 --> 00:05:42,305 Balıq scripts, bu cheesy gizlətmək üçün heç asan yolu yoxdur 131 00:05:42,305 --> 00:05:44,710 layları, biz cheesy layları bir mesaj göndərmək lazımdır 132 00:05:44,710 --> 00:05:46,780 özünü gizlətmək sprite. 133 00:05:46,780 --> 00:05:49,550 Biz başqa dəyişən bunu bilən cheesy layları 134 00:05:49,550 --> 00:05:52,680 sprite çıxışı, eləcə də balıq sprite var. 135 00:05:52,680 --> 00:05:55,720 >> Lakin, bu halda bunu təmiz yol var 136 00:05:55,720 --> 00:05:57,840 yerinə ki, bir script mesaj göndərmək ildən 137 00:05:57,840 --> 00:06:00,570 yerdə həyata ortasında, biz göndərə bilərsiniz 138 00:06:00,570 --> 00:06:03,710 başlamaq üçün gözləmə ki, bir script mesaj. 139 00:06:03,710 --> 00:06:07,360 Biz balıq edərək bunu biz will bir hadisə, bir yayımlanacaq 140 00:06:07,360 --> 00:06:08,800 yeyilmiş çağırırıq. 141 00:06:08,800 --> 00:06:11,510 Sonra biz ki cheesy layları üçün script yaratmaq lazımdır 142 00:06:11,510 --> 00:06:13,030 bu hadisə üçün gözləyin. 143 00:06:13,030 --> 00:06:15,560 Bu ki, bu istisna olmaqla, Space Bar hadisə kimi 144 00:06:15,560 --> 00:06:19,250 zaman, istifadəçi birbaşa hadisə tetiklemesini bir deyil. 145 00:06:19,250 --> 00:06:22,800 İndi biz nə üçün bütün foodFound dəyişən geri müəyyən edilir 146 00:06:22,800 --> 00:06:25,750 yalan və biz indi çox ac balıq verə bilər 147 00:06:25,750 --> 00:06:28,470 o istədiyi kimi cheesy layları və porsiyon. 148 00:06:28,470 --> 00:06:30,040 >> Belə ki, çox pis deyil, sağ? 149 00:06:30,040 --> 00:06:33,400 C, multi-yivli proqramları yazma, daha mürəkkəbdir 150 00:06:33,400 --> 00:06:35,700 lakin əsasları eynidir. 151 00:06:35,700 --> 00:06:38,690 Hər halda, mən sizi bir əyləncə tikinti böyük bir zaman var ümid 152 00:06:38,690 --> 00:06:41,030 Not ilə paralel proqramları. 153 00:06:41,030 --> 00:06:42,570 My name Nate Hardison edir. 154 00:06:42,570 --> 00:06:45,260 Bu CS50 edir.