[Powered by Google Translate] NATE HARDISON: Siz var zaman çox proqramları açmaq
kompüter, hər şeyi Agentliyi kimi görünür
eyni zamanda çalışır.
Məsələn, sizin kimi bir web browser çalışır bilər
Firefox və ya Internet Explorer, iTunes musiqi dinləmək,
və sözü ilə inşa yazı.
Lakin, başlıq altında, proqramlar, həqiqətən,
bir-bir axır.
Bu, Windows, Mac OSX əməliyyat sisteminin iş var, və ya
Linux kimi, bu ayrı-ayrı proseslərin hər idarə etmək
proqramları məlumdur və onlar arasında keçid ki, zaman
Sizin inşa üzrə iş üçün Facebook səhifə yoxlanılması getmək
yenidən, Word çalışan olan biridir.
>> Bəzən də, biz özləri edə proqramlar istəyirəm
də bu kimi bir çox şeyə.
Siz mənim kimi değilseniz, siz yəqin ki, bir dəstə var
müxtəlif Nişanlar web brauzerinizin, e-poçt üçün bir açılacaq
təqvim ilə və s.
Biz ayrı-ayrı proqram və ya proses kimi hər nişanı müalicə edə bilər
kimi Google Chrome edir, lakin bir çox proqramları istifadə
prosesinin yüngül çəki versiyası mövzu çağırıb.
>> A sap emal yalnız başqa vahidi, bir sıra
təlimat və ya "Çalıştır" bilər ki, kodu, quote dırnağı bağlamaq,
eyni zamanda digər mövzuları ilə.
Bu mümkün Facebook göz üçün edir nə
fonunda məni dinləmək və ya iki üçün isə
YouTube videos eyni zamanda oynayır.
Belə ki, concurrency kimi tanınan bu ümumi mövzu, adətən
belə erkən kompüter kursları qədər deyil
aşağı səviyyədə ətraflı müzakirə tələb çünki
əməliyyat sistemləri və kimi.
Lakin, proqramlaşdırma dili, biz də istifadə
CS50 əvvəlinə, Not, bəzi uykusuz alətləri təmin edir
asan çox şeyi proqramları yazmaq etmək
bir dəfə gedir.
>> Siz Not proqramları qurmaq zaman, daim istəyirik
mövzuları ilə işləyir.
Hər Not script, ilə başlayan bir kod blok deyil
və "zaman" puzzle ədəd biri fikir ola bilər
ayrı bir mövzu kimi.
Nin necə bu işləri görmək üçün sadə Not proqram baxaq.
>> Burada iki scripts, bir balıq obyekt və ya sprite var
həm start biz az yaşıl bayraq düyməsinə basın zaman.
Ilk script balıq hərəkət nəzarət edir.
Yaşıl bayrağı tıklandığında zaman, balıq yerləşdirilmiş olur
ekranın sol tərəfində, səhnəyə çağırıb
sağ duran.
Sonra əbədi qaçmaq lazımdır ki, təlimat bir sıra qədər biz
proqramı dayandırmaq, balıq, sağ tərəfə sürüşür
ətrafında dönür sol tərəfində geri gedir və
yenə ətrafında dönür.
İkinci script balıq nin fikir prosesində nəzarət edir.
Bu bir ac balıq olduğunu çıxır.
Belə ki, 3 saniyə gözlədikdən sonra, balıq, edirəm
Dördüncü ikinci "Mən ac deyiləm".
Bu script də əbədi çalışır.
Və biz tıklayarak proqram yayınlanmasını, bax
yaşıl bayraq, həm skriptlər icra görünür
eyni zamanda.
Balıq eyni zamanda hərəkət və düşünür.
>> Yoxsul balıq belə ac görünür ildən isə bəzi əlavə bildirin
yemək üçün cheesy layları.
Ümid edirəm ki, onlar su dağılmaq deyil.
Biz ikinci bir sprite əlavə, biz də edə bilərsiniz
ki, sprite müvafiq yazıları əlavə edin.
Və, beləliklə, bir set var olacaq
ki run lazımdır mövzuları.
Proqram nəzarət istifadəçi üzərində vermək üçün zaman
ac balıq ərzaq alır, edək deyirlər ki, zaman Space
Bar edib ki, cheesy layları üçün səhnədə görünür
balıq yemək.
Biz Space Bar hit əvvəl, biz cheesy saxlamaq lazımdır
balıq onları görmək bilməz ki layları gizli.
Bunu etmək üçün, biz üçün scripts bir neçə lazımdır
cheesy layları sprite.
Ilk script, yaşıl bayraq, yalnız ərzaq şəklində olacaq.
Biz yazdıq başqa scripts fərqli olaraq, bu bir saxlamaq deyil
əbədi çalışır.
Bu basın sağ zaman başlamaq və çox tez başa çatacaq
yaşıl bayrağı düyməsini basın.
>> Space Bar olması üçün biz növbəti script gözləyəcəyik
icra əvvəl basdı.
Biz istifadəçi girişi üçün "gözləmə" və ya "dinləmək" gözləyir zəng edə bilərsiniz
bir hadisə üçün.
Və bir hadisə və ya qəbul olunduğu zaman həyata kod
eşitdim hadisə user kodu adlanır.
Bizim Space Bar hadisə handler üzrə cheesy layları göstərəcək
ekran belə balıq onlara yemək bilər.
Bu nöqtədə, hər şey yaxşı axtarır.
>> Biz nə etmək lazımdır növbəti şey almaq üçün necə anlamaq üçün
balıq yemək yemək var ki, həyata keçirmək.
In ki, daim balıq başqa bir mövzu əlavə edək
bu cheesy layları toxunan olsun və ya yoxlayır.
Biz ki yol bəri ayrı bir mövzu bunu
daim qida kontrol.
Əks halda, biz yalnız vaxtaşırı ərzaq kontrol edə ediyorum
gliding arasında, ətrafında dönüş gözləyir, ya düşünür.
>> OK.
İndi bizim Not proqram run imkan verir.
Gözlənildiyi kimi, qida dərhal gizlədir və
ac balıq geri swims və irəli əvvəl istəyirəm.
Biz Space Bar hit zaman, cheesy layları keçirmək minir
və ac balıq Whoo deyir.
Amma qəribə ki, gözləyin.
Balıq nin fikir interrupts "Mən ac deyiləm" Necə gəlmək
digər məhsulları?
Biz heç bir koordinasiya yaratmaq deyil, çünki bu
üç balıq scripts arasında.
Hər nə qədər unutqan öz mövzu çalışan
digər edirlər.
Biz hərəkət əvvəl bu düzeltmek edək.
>> Mövzuları arasında koordinasiya biz ildən çətin vəzifə
açıq hər mövzu çalıştırıldığında nəzarət və ya yoxdur
çalışmaz.
Bir mövzu başqa bir mesaj göndərmək üçün, biz lazımdır
bir mövzu, biz qurmaq, və ya yazmaq olar ki, bir dəyişən istifadə
və digər oxuyun.
Gəlin biz müəyyən edə bilər ki, bir dəyişən adlı foodFound yaratmaq
doğru balıq cheesy layları içinə axır zaman.
Bəli, əlbəttə, biz onu müəyyən əmin etmək istəyirəm
ilkin yalan.
Sonra, balıq nin düşüncə sap, biz kontrol bilərsiniz əgər
balıq "Mən ac deyiləm" gösteren əvvəl qida tapdı
bubble düşündüm.
>> İndi, proqram çalışan yenə görürük ki, balıq
aclıq fikirləri ilə müdaxilə almaq deyil zaman
cheesy layları deyillər.
Biz son problem cheesy layları getmək yoxdur ki,
üz balıq sonra, dırnağı bağlamaq sitat, onları "yeyir".
Balıq scripts, bu cheesy gizlətmək üçün heç asan yolu yoxdur
layları, biz cheesy layları bir mesaj göndərmək lazımdır
özünü gizlətmək sprite.
Biz başqa dəyişən bunu bilən cheesy layları
sprite çıxışı, eləcə də balıq sprite var.
>> Lakin, bu halda bunu təmiz yol var
yerinə ki, bir script mesaj göndərmək ildən
yerdə həyata ortasında, biz göndərə bilərsiniz
başlamaq üçün gözləmə ki, bir script mesaj.
Biz balıq edərək bunu biz will bir hadisə, bir yayımlanacaq
yeyilmiş çağırırıq.
Sonra biz ki cheesy layları üçün script yaratmaq lazımdır
bu hadisə üçün gözləyin.
Bu ki, bu istisna olmaqla, Space Bar hadisə kimi
zaman, istifadəçi birbaşa hadisə tetiklemesini bir deyil.
İndi biz nə üçün bütün foodFound dəyişən geri müəyyən edilir
yalan və biz indi çox ac balıq verə bilər
o istədiyi kimi cheesy layları və porsiyon.
>> Belə ki, çox pis deyil, sağ?
C, multi-yivli proqramları yazma, daha mürəkkəbdir
lakin əsasları eynidir.
Hər halda, mən sizi bir əyləncə tikinti böyük bir zaman var ümid
Not ilə paralel proqramları.
My name Nate Hardison edir.
Bu CS50 edir.