Tip:
Highlight text to annotate it
X
>> ZAMYLA تشان: مرحبا، ومرحبا بكم لمعاينة خدش.
اسمي Zamyla وسأكون الرائدة تجول بالنسبة لك هذا العام.
في CS50، كل مشكلة تعيين هو يرافقه الإرشادات التفصيلية.
خلال هذه كثروو سأذهب على مجموعة مشكلة هذا الأسبوع، وشرح
المفاهيم المطلوبة وتفريق المشكلة في تعيين دغات يمكن التحكم فيها.
>> لأول ف مجموعة في CS50، ونحن في الواقع لن ندخل في الكتابة و
آلة الاشياء متاحة تماما حتى الآن.
بدلا من ذلك، نحن ذاهبون الى استخدام الصفر، و البرنامج الذي يسمح لنا لاستكشاف
مفاهيم البرمجة في الطريقة البصرية والإبداعية.
هذه الإرشادات التفصيلية سوف استكشاف المفاهيم الأساسية التي سنستخدم
في جميع أنحاء CS50، فضلا عن خدمة كما تعليمي خدش.
في كل تجول أنا سرد مجموعة من الأدوات التي يمكنك استخدامها ل
تعيين المشكلة.
من المفاهيم بالطبع أكبر لالفعلية وظائف، انها جيدة ومفيدة ل
أعرف ما كنت مجهزة قبل معالجة تعيين المشكلة.
>> أولا، دعونا نتحدث عن العفاريت.
العفاريت هي المركزية لاتخاذ مشاريع في سكراتش.
كل كائن أو كل حرف، سواء كان ذلك القط، والكلب أو
الكرة، ويسمى العفريت.
إذا أردت ذلك، مثلا، اثنين من القطط في بلدي المشروع، أنا بحاجة لجعل اثنين
العفاريت منفصلة في خدش، حتى لو انهم متطابقة تماما.
>> كل العفريت والكتابات المرتبطة مع ذلك العفريت محددة.
النصوص هي ما كنت تريد الذهاب ليتم بناء طريق سحب
وإسقاط القطع.
مخطوطات هي التعليمات التي تحديد وتعريف
كيف يتصرف البرنامج النصي.
>> الآن، العفاريت ليست الصور فقط.
يحدد زي العفاريت ما يبدو وكأنه شبح.
أي شبح معين يمكن أن يكون أكثر من زي واحد.
في وقت لاحق قليلا أثناء هذه الإرشادات التفصيلية سوف أكون تظهر لك كيف يمكن أن يكون لديك
ازياء التغيير العفريت خلال البرنامج.
>> لخلق شبح في خدش، يمكنك إما اختيار زي الأولية لل
مكتبة الصفر، ورسم بنفسك في المدمج في محرر الطلاء الصفر، و
تحميل الصور الخاصة بك، أو التقاط صورة مع كاميرا جهاز الكمبيوتر الخاص بك.
يتم وضعها كل من العفاريت على ما نسميه المرحلة.
المرحلة هو مثل قماش لدينا حيث يمكن العفاريت التحرك.
>> على الرغم من أننا يمكن أن يكون لها مضاعفات العفاريت، يمكن أن يكون هناك سوى مرحلة واحدة.
خلاف ذلك، ومراحل والعفاريت لا بأس به مماثلة في تلك المرحلة يمكن
أيضا البرامج النصية.
النصوص على المسرح هي مفيدة جدا عندما لم يكن لديك برنامج نصي
لا تتعلق بالضرورة لشبح واحد محدد.
ربما أنها تتعلق متعددة المشارب، أو لا شيء على الإطلاق.
>> انها التصميم الجيد عموما إلى مكانك النصوص على المسرح إذا كانت
عموما بما فيه الكفاية ولا تتعلق إلى العفاريت محددة.
وتماما مثل العفاريت لديها الأزياء، مراحل ديك الخلفيات التي يمكن أن تغير
على مدار البرنامج.
ويمكنك رسم الخاص بك، وتحميل و الصورة، التقاط صورة، أو استخدام
مكتبة الصفر من الخلفيات.
كل من مرحلة والعفاريت يمكن أيضا أن تلعب يبدو من مكتبة خدش، وأو
يمكنك تحميل وتسجيل بنفسك.
>> لبدء البرنامج الخاص للخدش عليك تحتاج إلى النقر فوق العلم الأخضر في
الزاوية العلوية اليمنى من إطار المرحلة.
ولكن إذا لم تقم بتوصيل أي شيء ل هذه الكتلة هنا، ثم لا شيء ل
يحدث فعلا أن يحدث، لأن برنامجك تحتاج العفاريت والمرحلة أن يقال
للرد على هذا الحدث من العلم الأخضر يجري النقر.
لذلك عليك أن نعلق كتل ل الأخدود في الجزء السفلي من الأخضر
العلم، ثم سيقوم البرنامج تنفيذ تلك الإجراءات عند بدء تشغيل
البرنامج.
>> حسنا، ماذا يأتي بعد ذلك؟
حسنا، خدش لديه الكثير من الكتل لتتمكن من استخدامها، ويمكنك
حتى على مسؤوليتك الخاصة.
سترى ثلاث علامات تبويب، مخطوطات، الأزياء والأصوات.
تحت علامة مخطوطات هي الفئات البيانات.
التصريحات ملائم نظمتها اللون.
لديك الإجراءات المتصلة الحركة، يبدو، ويبدو، وهلم جرا.
على الرغم من أنك سوف تضطر الكتل الأخرى بنيت حول البيانات الخاصة بك، انها
تصريحات من شأنها أن تساعد على العفاريت أو المرحلة أن تفعل شيئا، في حين
وسوف تساعد على تحديد الكتل الأخرى عند القيام بها.
>> دعونا نقول كنت تقوم بإنشاء بك جدا المشروع الأول وتريد فقط
القط لمواء تحت معينة الظروف.
لتنفيذ هذا، ونحن يمكن أن تتخذ الاستفادة من القيم المنطقية.
هذه هي التعبيرات التي تقييم إما صحيحة أو خاطئة.
في خدش ويتم تحديد هذه من قبل زوايا في نهاية القطع.
سيكون لديك مجموعة متنوعة من أنواع مختلفة من القيم المنطقية مثل هو الفأر
يتم الضغط إلى أسفل، لا 2 زائد 2 يساوي إلى 5، أو للمستخدم الضغط
أسفل مفتاح معين على لوحة المفاتيح؟
>> الآن، لا يمكنك استخدام فقط هذه القيم المنطقية وحدها.
سوف تحتاج إلى الجمع بينها و ما نسميه الظروف.
كتل حالة يمكن العثور عليها في البيانات السيطرة البرتقال.
الظروف يكون مريح قليلا النائب الذي يظهر على شكل
كتلة التي تحتاجها لوضعت فيه.
وذلك اعتمادا على سياق الحالة، يمكنك اختيار منطقية
ووضعه داخل حالتك.
وضعت معا، لديك بيان الشرطية.
بمجرد وضع البيانات داخل تلك كتلة لديك بنية إعداد
حيث مرة واحدة في حالة معينة والتقى، وكنت ثم تنفيذ تلك
التصريحات.
>> واحدة من المزايا من أجهزة الكمبيوتر القوة العظمى والسرعة التي
يمكن تنفيذ العمليات المتكررة.
بدلا من ذلك، مثلا، وتكرار ل تعليمات مرارا ومرارا وتكرارا
مرة أخرى وفعلا كتابة أنه من أصل، أو في هذه الحالة، سحب وإسقاط
وسحب وإسقاط، ما كنا يمكن القيام به هو تغليف في حلقة.
>> الحلقات يمكن أن تستخدم إما تنفيذ الأشياء بلا حدود مع حلقة إلى الأبد،
أو لعدد محدد من المرات.
على سبيل المثال، كرر البيان، ويقول مرحبا، 10 مرات، أو ربما حتى بعض
الشرط صحيحا.
وكرر هذا حتى مع منع لك نرى أن خدش وملمحا الى انه
ستحتاج إلى وضع منطقية في وكرر حتى كتلة لجعل
عبارة شرطية.
>> الآن، ونحن نعلم أننا يمكن أن تغلف العمليات المتكررة داخل الحلقات، و
حتى تستطيع أن ترى لماذا شيء من هذا القبيل هذا قد لا يكون مثاليا.
انها السوبر الطويل، فإنه لا فقط الشيء نفسه مرارا وتكرارا
مرة أخرى، في الواقع 10 مرات.
وهو يتحرك 10 خطوات، ويقول مرحبا، نقل 10 خطوات، ويقول مرحبا.
ولكن مع مساعدة من الحلقات نحن يمكن أن ترتب هذا الأمر قليلا.
نرى كيف أن هذا هو أفضل بكثير.
انها أقصر، انها أصغر و وهي تكمل نفس الشيء.
>> الانتقال إلى المتغيرات.
المتغيرات هي أساسا حاويات للقيم.
في خدش، تلك الأنواع من القيم يمكن إما أن تكون الكلمات أو أنها يمكن أن تكون
الأرقام والقيم التي نحن لديك السيطرة عليها.
في هذه الكتلة الأولى لدينا متغير النص يحتوي على
قيمة، مرحبا، والعالم.
في المثال الثاني، وانه من المفترض أن لدينا بالفعل متغير اسمه
مكافحة ونحن تزايد من قبل ثلاثة.
وبعد ذلك، في المثال الأخير، ونحن نرى مثال على المتغيرات المستخدمة
داخل من الشروط.
في هذه الكتلة، ونحن نسأل إذا كان المتغير العداد أقل من الصفر.
>> الآن، عند إنشاء متغير لديك لتقرر ما إذا كنت جعل
متغير متاحة لجميع من العفاريت في برنامج خدش الخاص بك، أو
فقط للالعفاريت محددة مختارة عند إجراء المتغير.
وهذا هو المهم جدا قرار لجعل.
يتعلق الأمر نزولا الى ما كنت نطاق تريد المتغير لديهم.
>> ومثال على النطاق المحلي أن يكون متغير لمجرد شبح واحد محدد،
وهو ما يعني أن الوحيد الذي من شأنه العفريت أن يكون قادرا على رؤية أو تعديله.
إذا كنت تحديد متغير مع العالمية عن طريق تحديد نطاق للجميع
العفاريت، فإن ذلك يعني أن المرحلة، وكذلك كل من العفاريت،
سوف تكون قادرا على رؤية وتعديل و وصول
المتغير الذي قمت بإنشائه.
ومن حيث التصميم، وأنه من الأفضل ل اختيار النطاق المحلي كلما استطعت
مجرد أن ذلك ما تبقى من العفاريت والمرحلة لم يكن لديك ما يدعو للقلق
تتبع هذا المتغير.
>> هل يمكن أن يكون بالفعل اثنين من المتغيرات نفس الاسم للالعفاريت مختلفة مثل
دامت تلك هي المتغيرات المحلية.
شبح واحد، والقط، ويمكن أن يكون متغير اسم مكافحة الإرهاب، وشبح اثنين، كلب،
يمكن أن يكون أيضا متغير اسمه مكافحة طالما هذه
كلاهما المتغيرات المحلية.
لأن نطاق المتغير لا تمتد إلى بقية
البرنامج، وأيا من العفاريت أخرى أو المرحلة سوف يحصل الخلط.
>> في وقت سابق، ذكرت نقطة الدخول، وعندما علم أخضر النقر كتلة.
تلك الكتلة والمصاحبة التصريحات هي التي تقول أساسا
العفاريت أو المسرح، موافق، عندما يتم النقر العلم الأخضر، وهذا هو
ما يجب عليك القيام به.
ولكن ليس هذا هو الحدث الوحيد الذي يمكن العفاريت ومرحلة الاستجابة ل.
لدينا، على سبيل المثال، وهو حدث ل عند الضغط على مفتاح لوحة المفاتيح.
يمكنك اختيار فعلا الأحرف A من خلال Z، الصفر خلال تسعة أو
مفاتيح الأسهم.
>> هناك أحداث أخرى أيضا، مثل كما هو الحال عندما يتم النقر العفريت الخاص بك.
عند بدء تشغيل مع كتل حدث مثل هذه، ستلاحظ وجود اتجاه.
أنهم جميعا لديهم مجموعة واحدة على أسفل وأعلى على نحو سلس، والتي
يشير إلى أن أي شيء أعلاه يعلقها على تلك الكتلة.
كنت بناء بموجب تلك الأحداث وبناء كتل أسفل.
>> الآن، ماذا يحدث إذا كنا نريد بعض الأحداث أن يحدث، مثلا، عندما تكون القطة
لمس قسم معين المرحلة؟
ونحن في الواقع لم يكن لديك أي المدمج في الحدث للدلالة على ذلك، لذلك ما سنقوم
عليك القيام به هو خلق الحدث منطقتنا.
وهذا ما يسمى البث.
>> حتى عندما تريد الإشارة إلى أن حدث حدث معين، فإنك
استخدام الأسود يسمى البث، والتي وجدت في علامة التبويب التحكم.
هناك سوف اكتب في اسم الحدث الذي تريد بثه، و
ثم أيهما العفريت أو المرحلة يمكن الرد على ذلك
بث إذا كنت ترغب في ذلك.
وعندما كنت احصل على كتلة يحكي العفاريت ما يجب القيام به عندما يكونون
إخطار عهدك حدث الحدث.
لذلك تذكر أنك كلما بث حدثا، انها مع
فهم إما أن واحدة من العفاريت أو المرحلة يتم الانتقال إلى
تلقي هذا الحدث والرد عليه.
>> الآن، ومفهوم آخر قبل أن نصل إلى مثال الفعلي للخدش
البرنامج، هو مفهوم المواضيع.
هذا عندما يكون الكمبيوتر تنفيذ في وقت واحد
العمليات في نفس الوقت.
وأنا متأكد من أننا قد اتخذت جميع ميزة هذا.
مثل تصفح الويب في حين الاستماع إلى الموسيقى.
الكمبيوتر يمكن تنفيذ العديد من الأشياء في نفس الوقت.
>> في هذا المثال هنا، هذين مخطوطات يمكن استخدامها ل
نفس العفريت بالضبط.
كتلة نقطة دخول، وعندما العلم الأخضر النقر عليها، ويستخدم عدة مرات، ولكن
هم اثنين من النصوص منفصلة.
في الواقع، والعلم الأخضر النقر كتلة وربما يكون واحدا من أكثر
كتل شعبية في البرنامج.
وهنا نرى أنه عندما علم الأخضر هو النقر عليها، هناك عملية واحدة مستمرة
على، فضلا عن أخرى.
حتى خدش سيتم تشغيل هذه في الواقع اثنين في نفس الوقت بالضبط.
ومعرفة أنه يمكن أن يكون في الواقع نقطة دخول أكثر من واحد، حتى لو
انها نقطة الدخول نفسه، يجري أن تكون مفيدة حقا إذا كنت تريد
مهام منفصلة متميزة عن بعضها البعض.
>> حسنا.
حتى الآن أننا قد غطت كل هذه المفاهيم، دعونا ننظر إلى مثال على ذلك.
لقد قدمت سلسلة من البرامج خدش، وذلك في محاولة لمتابعة على طول ونحن
جعل لعبة صغيرة.
دعونا نبدأ من خلال افتتاح جائع دينو صفر.
>> دعونا فوق العلم الأخضر لبدء ونرى ماذا يفعل.
لدينا شبح الخلل الذي يتحرك ل خطوات قليلة، يعيد في بعض الارتفاع، و
ثم خطوات الى الوراء.
ثم لدينا شبح دينو.
عن طريق الضغط على مفاتيح الأسهم، انا تتحرك والعفريت دينو حولها، مما يجعلها تتحول
وتناوب.
يمكن أن يكون نوع من المرح، ولكن ليس هناك الكثير جدا
مخطوطات في هذا البرنامج.
يمكننا بالتأكيد إضافة إلى هذا.
>> على سبيل المثال، عندما يتم نقله دينو يمكن الحصول على الواقع قبالة الشاشة و
تختفي تقريبا من الموقع.
نريد تغيير ذلك لأننا لا تريد دينو من الفرار.
لذلك دعونا وقف النصي لدينا مع أحمر العلم ثم تحرير النصوص دينو.
لاحظ أن هذا البرنامج النصي لديه خاصة حلقة إلى الأبد، والتي تنتهي مع
حافة مستقيمة.
أنه ليس لديه أي الأخدود في الجزء السفلي.
وهذا يجعل الشعور من اسم، حلقة إلى الأبد.
انها تنفيذ شيء ما لا نهاية وسوف تنتهي أبدا.
لذلك هذا هو فرصة عظيمة لإدخال موضوع.
>> حسنا.
لذلك دعونا نضيف النصي آخر.
أنا ذاهب لبدء مع هذا الدخول نقطة، عند النقر العلم الأخضر.
وأريد أن تحقق باستمرار إذا كان دينو ستكون
لمس الحافة.
تحت موشن هناك كتلة قليلا أنيق أن يقول، إذا في حافة ترتد.
وهكذا نريد أن مستمر تنفيذ هذا.
>> ما هذا البيان يفعله هو يتحقق إذا والعفريت هو على حافة
المرحلة، ويرتد مرة أخرى إذا هو عليه.
ولأن يمكن للمستخدم التحرك دائما دينو، ونحن نريد لإيجاد نوع من
حلقة تسمح لنا باستمرار تنفيذ هذا البيان.
يبحث تحت مراقبة سنقوم اختيار حلقة للأبد.
لذلك دعونا أن سحب في مخطوطات دينو، ثم
إضافة إذا في حافة ترتد.
ثم دعونا اختبار برنامجنا.
>> وبالتالي فإن علة تتحرك حسب المعتاد، و ثم إذا كنا اختبار نصي جديد لدينا من قبل
تتحرك دينو لدينا إلى الحافة، ونحن نرى أنه لا يمكن
الهروب من المرحلة بعد الآن.
انعكاسها الظهير الايمن.
الآن قد نتساءل لماذا دينو مستبعد ولكن ليس علة.
حسنا، هذا لأننا لدينا أحدث كتب النصي داخل النصوص دينو
وليس الخلل.
وبالتالي فإن علة عدم الاستماع إلى تعليمات أعطينا دينو.
>> حسنا.
لذلك دعونا نضيف شيئا جديدا الآن.
إذا ذهبت إلى علامة التبويب ازياء سترى أن الأزياء المختلفة التي
تأتي مسبقة مع العفريت اخترتها إذا اخترت واحدة من
مكتبة الصفر.
هناك هذا لطيف دينو اقضم بصوت عالي قليلا زي، لذلك دعونا تنفيذ دينو
قضم بصوت عالي عندما نضغط، أقول، مفتاح الفضاء.
>> العودة إلى البرامج النصية دينو.
في هذا السيناريو هنا، أنا بالفعل التدقيق في الحلقة إلى الأبد سواء
يتم ضغط مفاتيح معينة السهم ونقل دينو وفقا لذلك.
إذا تركوا السهم يتم الضغط، و دينو تدور عكس اتجاه عقارب الساعة.
إذا تم الضغط على السهم الأيمن، دينو تدور في اتجاه عقارب الساعة.
بحيث إذا تم الضغط على السهم لأعلى، ثم تقدم دينو إلى الأمام.
يمكننا فقط إضافة إلى البرنامج النصي بدلا من إضافة احدة منفصلة لأن هذا
يتم التحقق مسبقا في موضوع الذي يجري الضغط على المفاتيح.
>> دعونا نضيف واحد أن يتحقق ل مفتاح الفضاء للضغط.
هذه الكتل هنا يتم التحقق لمفاتيح للضغط.
انهم جميعا في إشراقا الأزرق، لذلك دعونا نذهب إلى الاستشعار زرقاء لامعة
التصريحات وننظر حولنا.
وهنا مفتاح كتلة مباعد برس.
ذلك ما نريد القيام به هو لديها دينو التبديل إلى تقطيع أسفل زي ل
إذا، وفقط إذا، في الفضاء يتم ضغط مفتاح.
>> لذلك دعونا تقليد هيكل هنا.
الآن، وتغيير الزي لا علاقة له كيف تبدو دينو ذلك سنذهب ل
انظر البيان.
والمؤكد، لدينا التبديل زي دينو لأقضم بصوت عالي.
الآن، ونحن عندما اقضم بصوت عالي أسفل ونحن لا نريد دينو أن قضم بصوت عالي أسفل إلى الأبد،
لذلك دعونا إضافة عبارة تقول ليعود مرة أخرى.
انها سوف التبديل النوع من الأزياء بسرعة، رغم ذلك، لأن في تصريحات للخدش
سيتم تنفيذ العودة إلى الوراء حقا بسرعة، وعلى الفور تقريبا.
لذلك دعونا نذهب إلى التحكم ثم جعل وقفة لدينو قليلا عن طريق الانتظار
ثانية واحدة بعد أن chomps أسفل.
>> الآن دعونا تحرير العفريت الشوائب.
والعفريت علة خمس خطوات إلى الأمام خطوات ما مجموعه خمس مرات بعد
وقفة حظة.
في كتلة العلوي هنا علة الأماكن نفسها في بعض
س تنسيق القيمة.
العثور على الإحداثيات يمكنك فعلا الماوس فوق الشاشة و
ثم في الزاوية السفلى من المرحلة نافذة الإحداثيات سيتم تحديث ذلك
يمكنك الاستفادة من هذا مفيد ميزة لتنفيذ الإحداثيات
الذي تريده.
و، في هذا البيان هنا، ونحن إرشاد علة أن تبدأ في نفس
قيمة س في كل مرة، ولكن لاختيار عشوائي ارتفاع للعلة التي لا تزال
إقامة حدود القيود المرحلة.
>> نرى هنا أن أنا مع الاستفادة من بث الحدث في خدش.
وهذا ما يسمى معالج الأحداث جديد Bug1.
لذلك كلما يتلقى علة الحدث جديد Bug1،
انها سوف تنفيذ العبارة.
حتى بعد أن يتحرك إلى الأمام مجموعتها كمية من المرات، فإنه في الواقع
يبث الحدث Bug1 جديد.
>> ولكن ماذا عن نغير هذا السيناريو قليلا؟
الحق الآن لدينا خلل تتحرك خمس خطوات.
هذا ليس كثيرا، ما مجموعه خمس مرات.
نحن لا نعرف حقا كم مرة سوف تكون هناك حاجة حتى الروافد علة،
ويقول، في نهاية الشاشة، لذلك دعونا ولكن جعل الوصول إلى نهاية
الشاشة، ولكن تستخدم نوعا من بناء أخرى.
>> أنا ذاهب لفصل من ذلك لأن ونحن في طريقنا إلى تغيير بعض الأشياء.
لحذف كتل من الصفر قمت بسحب كتل ل
غادر ثم يفرج عنه.
ويحصل حذفه.
إذا قررت أنك لم تريد حذفه ثم يمكنك
انتقل إلى تحرير والحذف.
لكننا لم ترغب في الحصول على التخلص من تلك الكتلة.
>> ما نريد القيام به الآن هو التحرك، كما يقول، 50 خطوات وقفة ثانية واحدة، و
كرر هذا حتى نلمس نهاية الشاشة.
لذلك دعونا استخدام حلقة التي تسمح لنا ل تكرار العملية حتى معين
واجتمع الشرط، بجدارة كرر حتى اسمه.
>> ما يدور داخل حالة من كرر حتى؟
شيء أن يخبرنا ما إذا كان علة لمس حافة
الشاشة، والتي ستكون تحت القوائم الاستشعار.
وهنا هذا منطقي، لمس.
وهنا يمكنك تحديد ما كنت تريد أن تحقق ل.
ولذا فإننا سوف حدد حافة لمس وإضافة هذه عبارة شرطية تكبير الخريطة.
>> حتى الآن إذا نشاهد علة لدينا، وأنها سوف الرجوع مرة أخرى أنها تمس
حافة المسرح.
عظيم.
نحن مع الانتهاء من الجياع دينو صفر، لذلك دعونا فتح دينو الجياع واحدة.
نوع من مثل الطبخ تظهر، واضاف لقد أكثر قليلا الميزات.
على سبيل المثال، سترى أن علة هو في الواقع تتجسد بكل بساطة الآن
على عكس من قبل.
تحت الحركة هناك هذا أنسل من البيان.
الآن، وعلة الانزلاقات 70 وحدة ل حق المعرض الحالي، ولكن
يبقى في نفس الموقف ذ هنا.
ونحن الآن يمكن أن يكون دينو قضم بصوت عالي كما نفذنا من قبل.
>> ولكن، لا يسمى هذا البرنامج الجياع ديون مقابل لا شيء لذلك دعونا لديها
دينو أكل الشوائب.
كيف يمكن أن نقول للعلة، أو نقول لل دينو، أنه قد قطعوا؟
كيف يمكن أن نتواصل هذا الحدث؟
حسنا، نحن نعرف أننا عندما التبديل زي لدينو إلى اقضم بصوت عالي دينو
بعد أن قمنا قضم بصوت عالي أسفل.
ونقول أننا نريد أن تختفي الشوائب بمجرد تؤكل.
كذلك، سيكون لدينا لتحقق ما إذا كان وقد قضم بصوت عالي على علة و
التواصل لعلة أنه سيكون لديك لإخفاء أو تختفي من الشاشة
بمجرد تم قضم بصوت عالي عليه.
>> فما نوع من المفهوم، أي نوع من أداة يمكن أن نستخدمها لديها دينو
التواصل إلى الخلل الذي وقد قضم بصوت عالي عليه؟
البث.
لذلك دعونا نذهب إلى الأحداث وإضافة حدث للبث.
اقضم بصوت عالي.
موافق.
ولكن تذكر أنه بمجرد أن نبث شيء علينا أيضا أن
تلقي هذا الحدث.
لذلك العفريت الذي سوف تبث اقضم بصوت عالي؟
حسنا، دعونا نفعل ذلك لدينو عند الضغط على مفتاح الفضاء.
>> دعونا نضيف لبنة لتلقي اقضم بصوت عالي.
الآن، عندما يأتي دينو أسفل فقط على مساحة فارغة لا نريد علة
للرد على ذلك على الإطلاق، إلا إذا كان دينو كان لمس ولكن في الوقت
من كومب هل نحن فعلا القيام بشيء ما.
لذلك سنستخدم حالة إذا ل نحن فحص ما إذا كان هناك شيئا
صحيح أم لا.
>> الآن إذا عدنا إلى استشعار، ثم يمكننا استخدام هذا لمس
منع وتحديد دينو.
ثم، تحت نظرات، نجد هذا إخفاء منع التي سوف تجعل أساسا علة
تختفي من المسرح.
>> اننا سنحقق ذلك إخفاء، ولكن نفعل تريد علة أخرى، أليس كذلك؟
لدينا دينو جائعا.
لذلك نحن نريد لاعطائها آخر علة لمطاردة.
لذلك دعونا بث أيضا الحدث Bug1 جديد.
إلا أننا نريد أن الانتظار لفترة من الوقت قبل ظهور علة أخرى، لذلك دعونا
كما تنتظر ثانية واحدة.
>> حسنا.
لذلك دعونا التحقق من ذلك.
نحن قضم بصوت عالي أسفل، ولكن يختفي، يظهر واحد آخر، ونحن اقضم بصوت عالي أسفل
عليه مرة أخرى.
هذا ما تبدو وكأنها جميلة لعبة ممتعة، ولكن جميع الألعاب
تحتاج للتسجيل، أليس كذلك؟
ذلك ما يمكن أن نستخدمها لتتبع كيف العديد من البق قد أكل في دينو؟
متغير.
لذلك دعونا إضافة متغير يسمى نقاط.
>> والآن علينا أن نقرر ما نطاق هذا المتغير لديه.
لذلك دعونا نفكر.
في حين أننا قد تريد ولكن لزيادة النتيجة إذا انها كانت
تؤكل بنجاح، وربما المرحلة لها أن تفعل شيئا مع
يسجل أيضا، لذلك دعونا تعيين هذا المتغير إلى كل العفاريت.
>> نحن نريد لزيادة النتيجة إذا، و إلا إذا تم أكل الشوائب.
ولقد كتبت بالفعل السيناريو الذي صفقات مع الشوائب التي تؤكل حتى
دعونا نضيف هذا بيان واحد في، تغيير النتيجة تلو الآخر.
وهذا يعني أنه بمجرد أن تأكل خلل الزيادات النتيجة.
>> هيا نلعب قليلا وتناول الطعام، أنا لا أعرف، وثلاثة البق.
حتى تحصل تعبت من اللعبة، حسنا، عليك الضغط على التوقف الحمراء
توقيع لإيقاف اللعبة.
وعندما تريد أن تعود عليك اضغط على العلم الأخضر من جديد.
ولكن النتيجة لا تزال حتى ثلاثة على الرغم من أنني ألعب لعبة جديدة.
نحن لا نريد أن نعطي للمستخدمين الرأس بدء، ولذا فإننا سوف تحتاج إلى إعادة تعيين
يسجل في كل مرة بدء لعبة جديدة.
لذلك دعونا إضافة عبارة إلى مرحلة ل النصي مدخلا لتعيين
النتيجة المتغير إلى صفر.
وحتى الآن، وكلما كنت بدء لعبة، وسوف تبدأ لتصبح النتيجة صفر.
>> الآن دعونا فتح دينو الجياع 2 حيث واضاف لقد بضعة أشياء.
أنا بالنقر بزر الفأرة على شبح علة ل تكرار العفريت الذي قدم
العفريت مماثلة لبلدي واحد السابقة.
علة السم هو أساسا مطابقة ل Bug1 ولكن اخترت زي جديد ل
اعتقدت انه بدا، أيضا، نوع من السامة.
بدلا من زيادة النتيجة عندما يؤكل علة السم، وأنا فعلا
تقليل النتيجة عن طريق تغيير يسجل تلو الآخر سلبي.
>> وبعد ذلك قدم زي آخر ل دينو لدينا باستخدام محرر الطلاء ل
جعل دينو المرضى أبحث وأطلقوا عليه اسم دينو المرضى.
ولكن نحن لا نستخدم هذا الزي في منطقتنا البرنامج حتى الآن، لذلك دعونا نضيف بعض
التصريحات وكتل من شأنها أن تغير زي دينو إلى المرضى الخضراء
كلما زي أنه يأكل خلل مات مسموما.
>> الآن، لأننا تكرار شبح علة، علة تسمم لديه كل
النصوص أن علة الأصلي لا.
إذا أردت نسخ البرامج النصية من خلال العفاريت الأخرى، يمكنك سحب
النصي على رأس العفريت الذي تريد نسخ ل.
لكننا لن تحتاج إلى القيام بذلك هنا لأن علة تسمم لديها بالفعل
النصي الذي يتحقق من أن علة وقد قضم بصوت عالي الخناق على.
ويمكننا الاستفادة من هذا ل التواصل إلى دينو أنه أكل
علة السامة.
ونتواصل بين العفاريت قبل البث.
لذلك دعونا بث جديدة الحدث دعا دينو المرضى.
>> ونحن نعرف أن لدينا زي لل دينو لتغيير، لكننا أيضا
نعرف من في وقت سابق أنه من الأفضل أن تضيف في وقفة
بين التغيرات زي.
لذلك عندما أتلقى دينو المرضى، وانا ذاهب لتغيير الزي لدينو المرضى، الانتظار
ثانية واحدة، والتبديل ثم عد إلى دينو الجياع.
حسنا.
هيا نلعب لعبتنا وأكل خلل والخنفساء.
ويقلل من درجة تلو الآخر.
>> الآن، في بعض الأحيان قد لاحظت أن قد لا تظهر على متغير
الزاوية اليسرى من الشاشة.
إذا كنت انتقل إلى القسم البيانات تحت النصوص، سترى هذه علامة
بجانب المتغيرات التي تقوم بإنشائها.
وهذا يخفي أو unhides و المتغير من الشاشة.
ولكن يمكنك أيضا استخدام عبارة دعا مشاهدة أو
إخفاء المتغير النوعي.
لذلك دعونا استخدام هذا المتغير لمشاهدة النتيجة تأكد من أن كل مرة نبدأ
اللعبة، يظهر متغير.
عظيم.
>> لذلك دعونا تشغيل اللعبة وأكل الشوائب السم على الفور.
الآن، انها غريبة قليلا لديك لعبة أن يكون نقطة سلبية، أليس كذلك؟
لذلك دعونا نقدم ميزة أخرى.
إذا كان دينو يأكل الكثير من السامة البق ثم فإنه يحصل مريضة جدا و
اللعبة قد انتهت.
وذلك لتنفيذ ذلك، سنقوم ببث حدث آخر، أكثر من لعبة.
كيف لنا أن نعرف متى تنفيذ هذه اللعبة أكثر من البث؟
>> كذلك، يمكننا أن نفعل هذا بعدة طرق.
فإننا يمكن أن يكون السيناريو في المرحلة التي يتحقق باستمرار ما إذا كانت النتيجة
هو سلبي أم لا، والبث أكثر من لعبة عندما
يصبح النتيجة سلبية.
أو أننا يمكن أن تستفيد من حقيقة أن الطريقة الوحيدة يمكن النتيجة من أي وقت مضى
تكون سلبية، هو عندما السامة يؤكل الشوائب.
لأنه عندما تأكل غيرها علة، ويزيد من درجة.
وليس هناك استخدام في فحص ما إذا كان وينبغي أن يكون أكثر من لعبة أم لا عند
أكل علة الصالحة للأكل.
>> حتى نتمكن من الواقع مجرد إضافة إلى النصي الذي يتلقى المرضى دينو
بث الحدث.
نحن نريد لإرشاد دينو النحو التالي.
إذا كانت النتيجة أقل من الصفر، بث أكثر من لعبة.
لذلك سنقوم ببناء نقاط أقل من الصفر حالة استخدام كتلة من
القسم المشغل، وسحب في النتيجة جهدنا لتلك الكتلة.
ونرى هنا يمكنك سحب فقط النتيجة متغير ووضع أقل من الصفر.
ونحن في طريقنا للبث حدثا جديدا، أكثر من لعبة.
>> ولكن إذا لم يذهب النتيجة أدناه الصفر، ونحن نريد لدينو
تستمر اللعبة.
وذلك بدلا من استخدام إذا هنا، دعونا استخدام بناء إذا آخر.
وإذا بناء آخر يقول دينو جهدنا ل تفعل شيئا واحدا إذا كان الشرط صحيحا
وشيء آخر إذا كان الشرط هو زائف.
جسد لدينا أولا إذا يمكن أن تذهب إلى السحب إذا آخر، لذلك دعونا أن فيها
ولكن إذا كانت النتيجة ليست أقل من الصفر، ثم دعونا التبديل إلى
جائع زي دينو.
نحن لا نريد أن نفعل ذلك استباقي.
عظيم.
>> ولكن بما أننا بث أكثر من لعبة، ما زلنا بحاجة إلى إجراء
الحدث كتلة المستقبل.
في الواقع هناك وقف جميع بيان في السيطرة، لذلك دعونا إلى ربط هذه
وعندما يستلم أنا أكثر من لعبة.
لكننا نريد أيضا علة لوقف، لذلك دعونا سحب هذا السيناريو إلى كل من
العفاريت علة وكذلك المسرح.
دعونا نحاول ذلك.
>> تناول الشوائب السامة على الفور، توقف البرنامج كما هو متوقع.
أيا من الحشرات الأخرى لا تتحرك و هل دينو إذا ضغطت
أسفل مفاتيح الأسهم.
ولكن دعونا نقول أننا لا نريد أن نذكر المستخدم من النتيجة السلبية، لذلك
دعونا إخفاء النتيجة متغير من المرحلة كلما اللعبة
وتلقى أكثر من الحدث.
حسنا.
>> لذلك هذا هو لعبة جميلة لائق.
مع المزيد من الوقت يمكنك إضافة المزيد من العفاريت وأكثر البرامج النصية.
ربما الخلل يمكن ان تتحرك بسرعات مختلفة.
يمكنك إضافة خلفية جديدة إلى المرحلة -
لعبة أكثر من خلفية -
مثل ذلك، عندما يتلقى المرحلة لعبة أكثر من الحدث، فإنه يمكن ان تتحول إلى
أكثر من لعبة خلفية وجميع من العفاريت إخفاء.
ويمكن إجراء الكثير من القرص الصغيرة لجعل اللعبة أكثر قليلا مصقول.
>> وهذا مثال واحد فقط من المشروع الذي يمكنك ان تجعل في خدش
باستخدام جميع الأدوات التي ناقشنا في وقت سابق -
العفاريت، والأزياء، ومراحل، الخلفيات، الظروف، حلقات، والمتغيرات،
بث الأحداث والمواضيع.
دينو الجياع لا تستخدم أي صوت الآثار، ولكن يمكنك بسهولة إضافة الخاصة بك
الخاصة قبل الانتقال إلى علامة التبويب الأصوات و استكشاف البيانات الصوتية.
الصفر هو مقدمة رائعة ل مفاهيم البرمجة، لذلك تكون خلاقة
والأهم من ذلك، والمتعة.
اسمي Zamyla، وهذا هو CS50.