>> ROB BOWDEN: مرحبا.
أنا روب.
يتساءل عن كيفية تنفيذ هذه اللعبة؟
حسنا، دعونا الخروج الحل الموظفين.
>> لذا، دعونا أول رئيس لأسفل إلى الحرف الأول الوظائف التي قلنا لكم ل
تنفيذ أول.
أول واحد سوف نلقي نظرة في ذلك هو الحرف الأول مجداف.
كل الحق، وتذكر بحيث نريد مجداف أن تركز تماما في
محور س.
لذلك نحن بحاجة إلى معرفة حيث ينبغي أن تذهب.
>> نظرا للعرض المجلس - الذي كما تجزئة محددة حتى أعلى -
نحن بحاجة إلى طرح من عرض مجداف والقسمة على 2، بحيث
مركز مجداف في وسط اللوحة.
تذكر أن الإحداثي س يشير إلى أعلى الزاوية اليسرى من مجداف،
وحتى هذا هو بالضبط حيث نحن نريد أن يكون.
الإحداثي ص لا يهم قدر لأننا يمكن أن تضع
أينما نريد.
لذلك نحن instantiating مجداف، وضعنا اللون الأسود، وضعنا ملء إلى True
لذلك هو شغلها في المستطيل، ونحن ثم إضافته إلى النافذة والعودة
مجداف.
وهذا كل شيء لتهيئة مجداف.
>> انها سوف تكون مشابهة لوحة النتائج الحرف الأول.
لذلك نحن ذاهبون الى تهيئة التسمية، ونحن في طريقنا لتعيين لون ل
رمادي فاتح - يمكنك اختيار ما كنت نريد - نحن في طريقنا إلى تعيين الخط ل
بلا الرقيق 48 -
يمكن اختيار أيضا كل ما تريد -
سنقوم إضافته إلى النافذة.
الآن هذا الإرسال إلى الخلف ليس حقا اللازمة، انها فقط في حالة شيئا
يحدث آخر لتداخل التسمية.
ثم عندما نستخدم كشف التصادم، كشف التصادم والكشف عن أخرى
الشيء قبل أن يكتشف التسمية.
ولكن هذا حقا لا ينبغي أن تؤثر على لنا في هذا البرنامج.
>> أخيرا، لدينا هذا تحديث لوحة النتائج الوظيفة التي كتبنا.
لذلك دعونا نلقي نظرة على ذلك.
الآن، وهنا نرى شيئا هذا متطابقة تقريبا إلى ما
رأينا في label.c.
لذلك لدينا التسمية -
منطقة عازلة طابع 12 حرفا، وهو ما يكفي للتعامل مع أي
صحيح، سلبية أو إيجابية.
ثم نستخدم sprintf نسخ ويشير إلى أن العازلة.
حتى و هذا يحتوي على سلسلة تمثل عدد من النقاط.
>> أخيرا، وضعنا التسمية لهذه السلسلة.
ثم نحن بحاجة إلى توسيط التسمية في حال انتقلنا من تسعة إلى 10
وتشير ولقد تحول ذلك.
ولذا فإننا حساب الإحداثيات x و y- التسمية التي سوف
الحصول على العرض والارتفاع من النافذة.
على الرغم من، يمكننا أيضا استخدام فقط ثوابت العرض والارتفاع التجزئة
تعرف حتى أعلى.
ونحن أيضا الحصول على العرض والارتفاع التسمية والانقسام
أنه من خلال 2 إلى المركز.
ثم نستخدم مجموعة الموقع إلى الواقع وضعه في هذا الموقع.
لذلك هذا كل شيء عن اللوحة الحرف الأول.
>> موافق.
الكرة الحرف الأول حتى ستكون مشابهة جدا إلى الحرف الأول المجاذيف كذلك.
نرى هنا أن نستخدمه newgoval من أجل مثيل الكرة الجديدة.
وهنا نستخدمه 2 مرات في دائرة نصف قطرها كما عرض على الكرة، و2
أضعاف نصف قطر باعتبارها ارتفاع الكرة.
الآن، وأيضا لnewgoval، x و الإحداثي ص أننا في تمرير يجري
للإشارة إلى الجزء العلوي الأيسر من الكرة، الذي هو في الواقع
خارج الكرة نفسها.
وذلك من أجل الحصول على الكرة تماما تركزت في المجلس، ونحن بحاجة لتمرير
عرض مقسوما على 2 للمركز، و ثم طرح خارج دائرة نصف قطرها لدفع
مركز الفعلي على الكرة في وسط اللوحة.
ونحن نفعل نفس الشيء بالضبط لمحور y، إلا باستخدام
ارتفاع بدلا من العرض.
>> بحيث يضع الكرة في الوسط.
وهذا instantiates على الكرة، تعيين اللون إلى الأسود، وملء في الكرة،
ثم أخيرا إضافته إلى نافذة وإعادته.
وهذا كل شيء لتهيئة الإستحواذ على الكرة.
>> حتى الآن دعونا نلقي نظرة على الحرف الأول الطوب الذي هو أكثر قليلا
معقدة، لكنها جميلة مماثلة إلى الحرف الأول مجداف.
الآن، أولا نحن بحاجة إلى معرفة عرض كل الطوب.
تذكر أن لدينا ثابت يسمى المكالمات التي تحدد
عدد الأعمدة من الطوب التي لدينا.
لذلك، ونحن في طريقنا لتحديد عرض الطوب واحد عن طريق اتخاذ العرض
مجلس العموم، ليحذف من حجم الفجوة لدينا -
الذي يعرف التجزئة حتى أعلى ويشير لعدد وحدات البكسل التي
يجب أن يكون بين كل لبنة -
وحتى ونحن في طريقنا لدينا ما مجموعه يدعو مرات الفجوة بكسل فارغة في
صف واحد.
والتي من شأنها أن تشير أيضا إلى بعض فارغة بكسل إلى اليمين واليسار من
اليسار عمود والطوب العمود الأيمن.
>> لذلك طرح من تلك بكسل فارغة يتركنا مع عدد من وحدات البكسل التي
الطوب تستخدم في الواقع.
ثم نقسم دعوات للحصول على عدد بكسل لكل الطوب.
لذلك نحن هنا تعريف صفيف فقط يحدد الألوان نريد لكل
صف من الطوب.
إذا كان لدينا أكثر من الطوب من الصفوف الألوان التي حددنا، وسنرى
التي سنقوم حلقة توه حول و استخدام الحمراء مرة أخرى، ومن ثم البرتقال و
الأصفر وهلم جرا.
>> لذلك، وتلميحات المواصفات المنصوص ع، نحن الذهاب الى حلقة على كل الصفوف و
أعمدة من الطوب.
ولكن قبل أن حلقة على الأعمدة، ونحن نرى هنا أننا تحديد
موقف ذ كل الطوب في هذا الصف بالذات.
نحن يمكن أيضا نقل هذا في الثانية للحلقة، ولكن بعد ذلك سنكون فقط
القيام حساب مرارا وتكرارا مرة أخرى عندما نحن لسنا بحاجة ل.
>> وبالتالي فإن موقف ذ من الطوب يجري أن يكون الهامش، وهو تجزئة
تعرف حتى أعلى ويشير فقط إلى المسافة بين الجزء العلوي من لوحة و
بداية كل من الطوب.
ونحن في طريقنا لإضافة إلى أن الصف أننا على أضعاف ارتفاع ل
الطوب الفردية بالإضافة إلى الفجوة هذا هو بين كل الطوب.
لذلك هذا هو أيضا العمودي الفجوة بين كل الطوب.
بحيث يعطينا الإحداثي ص من الطوب.
>> حتى هنا ونحن في طريقنا لحساب الإحداثي س من الطوب.
الآن، لدينا فجوة مقسوما على 2 منذ ذلك الحين، وقال لي أن نتذكر قبل في
الجانب الأيسر من لوحة، ونحن في طريقنا لترك مساحة صغيرة.
لذلك الفجوة مقسوما على 2 هو أن الفضاء.
وبعد ذلك تقوم بإضافة إلى أن العمود أننا في الأوقات بالإضافة إلى عرض
الفجوة، حيث العرض هو مقدار المساحة أن لبنة واحدة يستغرق و
ثم الفجوة هو الفضاء بين كل لبنة.
بحيث يحسب الإحداثي س من الطوب.
>> الآن نحن بحاجة فقط إلى مثيل الطوب بالنظر إلى أن x و y-تنسيق
باستخدام العرض الذي حسبنا لكل ارتفاع الطوب، والذي هو انقطاع
تجزئة المعرفة حتى أعلى.
وضعنا اللون من الطوب.
لاحظ أننا نستخدم الألوان لدينا مجموعة و نحن يمر في الصف الذي كانت
على الألوان الأسطوانات وزارة الدفاع التي هو الذهاب الى جعل لنا التفاف حول العودة إلى اللون الأحمر إذا كنا
الحصول على مزيد من الصفوف من الألوان.
أخيرا، وسنقوم في ملء الطوب اللون وإضافته إلى النافذة.
>> وهذا كل شيء.
لذلك، هذا كل شيء عن كل من طرق التهيئة.
ونحن الآن بحاجة الى ان ننظر في ذلك الوقت حلقة التي كان عليك أن تملأ فيها.
لذلك نحن هنا نرى أن هذا هو الوقت لدينا حلقة التي سوف تستمر حتى
اللعبة قد انتهت، والتي إما وسيلة ونحن نفد من الأرواح أو
ونحن نفد من الطوب.
>> أولا حتى شيء لدينا هو انتظر نقرة.
وبالتالي فإن اللعبة ينتظر منا أن الواقع انقر قبل أن يبدأ الكرة تتحرك.
ثم نحن في طريقنا لإنقاص الأرواح.
حتى لو كان لدينا ثلاثة اشخاص، والآن نحن وصولا الى اثنين من الأرواح، ونستخدمه لدينا
الحياة الثالثة.
ونحن في طريقنا إلى مركز الكرة.
وحتى الآن، وهذا ليس حقا للمساعدة لنا على أول الحياة نلعب
منذ الكرة يجري بالفعل ل وقد تركزت من عندما كنا
إنشاء مثيل.
ولكن عندما نرى نحن في نهاية المطاف فقدان الحياة وحلقة حول العودة، ثم نحن
تريد الذهاب الى recenter الكرة من الجزء السفلي من لوحة إلى
المركز.
>> لذلك، والآن هنا نحن بحاجة إلى توليد س سرعة الكرة.
و، حسب المواصفات، نستخدمه د راند 48 لتوليد بعض رقم عشوائي
لتحديد السرعة.
نحن مضيفا إلى أنه منذ نحن فقط تريد سرعة في مجموعة واحدة
إلى اثنين بدلا من صفر إلى واحد.
أخيرا، نستخدمه د 48 راند مرة أخرى في لتحديد ما إذا كانت الكرة
سوف تتحرك إلى اليسار أو الحق في بدء.
>> د حتى 48 راند إرجاع رقم عشوائي بين صفر و واحد، وذلك عن طريق طرح
اذا كان هذا أقل من 0.5، لدينا 50 50 فرصة لتبديل سرعة
الكرة لتكون سلبية.
أخيرا، وضعنا سرعة الرأسي لل الكرة ليكون مجرد بعض ثابتة.
نختار الثلاثة.
والآن لدينا حلقة أخرى.
>> لذلك هذا هو حلقة داخلية سوف تستمر.
نلاحظ هنا، في حين الطوب أكبر من الصفر -
حتى إذا كنا نفد من الطوب، لدينا فاز في المباراة وسعنا
الخروج من هذه الحلقة -
وجميع الحصول على ذ الكرة أقل من الارتفاع ناقص 2 أضعاف نصف قطر.
فما هذا هو الاعتراف هو إذا كان الكرة يحدث لتجاوز مجداف، في
هذه الحالة كنت قد فقدت الحياة.
>> يبحث داخل هذا للحلقة لدينا والتحقق من وجود الحدث الماوس.
وهكذا، إذا كان هناك حدثا الماوس، التي يعني أننا نريد أن تحقق ل
نرى ما اذا كان تم نقل الماوس، وإذا كان تم نقل الماوس، ونحن نريد أن يكون
مجداف مواكبة الماوس.
لذلك، على أن تفعل ذلك، ونحن حساب جديد موقف مجداف، والتي يجري
للاستيلاء على موضع الماوس - العناوين الرئيسية للصحف التي الموقف باستخدام
الحدث الذي كنا مرت -
ثم نحن في طريقنا للخروج طرح عرض مجداف مقسوما على 2، وبالتالي فإن
إقامة مجداف تركزت على الماوس بدلا من الجانب الأيسر من مجداف
البقاء محورها.
>> وحتى الآن نحن نريد أيضا أن تكون على يقين من أننا لا تذهب على الجانب اليمين أو اليسار
جانب من اللوحة.
وحتى هنا نحن فقط التحقق إذا كان سوف تكون مجداف قبالة الجانب الأيسر من
مجلس، مجرد عصا إلى الجانب الأيسر.
وهنا نحن التحقق إذا مجداف سيكون على الجانب الأيمن من
مجلس، مجرد عصا إلى الجانب الأيمن.
وأخيرا، وضعنا في الواقع موقع مجداف.
>> الآن، إذا لم يكن هناك حركة الماوس، هذا يعني أننا في طريقنا لل
تريد نقل الكرة.
وهكذا لدينا بالفعل س و y سرعة الكرة
ولذا فإننا تحريكه.
ولكن الآن نريد للكشف عن الأشياء زوجين.
حتى هنا نحن الكشف عن إذا ضربنا إما الجانب الأيسر أو الأيمن من
المجلس، ونحن نريد الكرة لترتد.
وهكذا، في هذه الحالة، وضعنا س السرعة إلى سلبية خ السرعة.
>> إذا ضرب الكرة أعلى اللوح، ثم نريد أيضا ترتد الكرة.
ولكن الآن نريد أن تغيير سرعة ذ.
لاحظ أننا لا نملك شرطا ل الكرة لتصل إلى الجزء السفلي من
تم القبض على متنها منذ ذلك بالفعل هنا في هذا الوقت حلقة.
>> أخيرا، ونحن نريد للكشف عن بعض اصطدام حيث إذا ضرب الكرة
إما مجداف أو الطوب، ونحن نريد للقيام ببعض الأشياء حالة خاصة.
حتى إذا كان هناك تصادم، التي سوف الأجسام الحالة لا تكون فارغة، بعد ذلك،
إذا ضرب الكائن مجداف، كنا فقط أريد أن ترتد الكرة.
وهنا، أيضا، يمكننا تعيين موقع الكرة إلى ما فوق مجداف.
لاحظ اننا نتخذ موقف العاشر من الكرة ومجرد إعادة استخدام ذلك.
ولكن هنا نحن نحصل على موقف ذ من مجداف وتحريك الكرة
فوق مجداف.
>> هذا هو حالة خاصة بحيث الكرة لا ضرب مجداف ومن ثم،
قبل انها قادرة على التحرك قبالة مجداف، حلقة أخرى يدور حولها و
فإنه يعتقد أنه لا يزال على لوحة و حتى يحصل على تعيين سرعة ذ إلى
السلبية ومن ثم الكرة النوع فقط من العصي كذاب على مجداف.
لذلك، إذا لم نكن ضرب مجداف، ثم نحن نريد أيضا أن تحقق
إذا كنا ضرب الطوب.
وهكذا هذه هي الطريقة التي يمكن أن تحقق لنرى ما اذا كنا ضرب الطوب.
>> نحن بحاجة إلى التحقق لهذا لأننا قد ضربت فعلا التسمية، ونحن
لا تريد إزالة التسمية.
حتى لو كنا ضرب الطوب، ونحن يمكن أن إزالة الطوب من النافذة، إنقاص
لدينا عدد من الطوب، وزيادة لدينا عدد من النقاط، والآن نحن بحاجة ل
تحديث هذه اللوحة وهو بالضبط نفس كما رأينا من قبل عندما شاهدنا
الحرف الأول اللوحة.
ولكن الآن نحن مجرد تحديث اللوحة منذ قمنا بتغيير
عدد من النقاط.
وينبغي أن يعرض الآن أن ضربنا أكثر واحد كسر.
>> وأخيرا، إذا كان لنا أن ضرب الطوب نحن نريد أيضا أن ترتد.
حتى أخيرا، نتوقف فقط بحيث الكرة لا يتحرك بسرعة فائقة، ونحن
يمكن أن تصل فعلا مع مجداف لدينا.
وهذا الى حد كبير ذلك.
حتى الآن كنا حلقة العودة إلى أعلى هذه الحلقة في حين وتستمر حتى
إما أن تفقد الحياة أو ونحن نفد من الطوب.
>> ماذا يحدث إذا فقدنا حياة؟
ثم ونحن في طريقنا للخروج من هذا في حين حلقة، وسنرى إرادة حلقة عمل نسخة احتياطية
إلى أعلى حلقة في حين الخارجي.
في هذه الحالة، ونحن في طريقنا لل تنفيذ وضع هذا الأمر مرة أخرى.
ووضع هذا الأمر سوف يكون لنا الانتظار مقابل كل نقرة، إنقاص عدد لدينا
من الأرواح، recenter على الكرة، إعادة حساب وx و y السرعة، و
ثم تستأنف المباراة.
>> وهكذا، من شأنها أن تستمر حتى إما الطوب ينتهي به الأمر إلى أقل من
أو تساوي الصفر -
وفي هذه الحالة فزنا في المباراة -
أو حياة أقل من الصفر، والتي الحالة نكون قد خسرنا المباراة.
لذلك، مرة واحدة هذا هو الحال، ونحن خروج من أنه في حين أن حلقة، ونصل هنا
أين نحن ذاهبون الى الانتظار لفوق قبل أن تخرج من اللعبة حتى يتسنى لل
اللعبة لا فقط على الفور إغلاق علينا.
وأخيرا سنقوم إغلاق النافذة وهذا كل شيء.
اسمي روب، وكان هذا الاختراق.