>> ZAMYLA تشان: دعونا متعة مع خمسة عشر.
خمسة عشر هي اللعبة الأولى التي تحصل لتنفيذ وانها التفاعلية.
الآن، لا داعي للقلق.
لم يكن لديك لكتابة كل شيء بنفسك.
ننظر في مدونة التوزيع لأن الكثير من بنية اللعبة هو بالفعل
التي أنشئت من أجل لك.
أنه يقبل ويوزع سطر الأوامر حجة من المستخدم ويقوم بإنشاء
مجلس بناء على ذلك الإدخال.
فإنه يتحقق إذا تم فاز في المباراة ومخارج مرة واحدة للمستخدم فاز في المباراة.
والفوز في المباراة، فإنه يحصل مدخلات من المستخدم و
باستدعاء الدالة نقل.
>> لذلك نحن ذاهبون الى أن تنفيذ أربعة وظائف لعبة الخمسة عشر،
الحرف الأول، ورسم، ونقل، وفاز.
أولا، دعونا معالجة الحرف الأول.
في الحرف الأول، لتهيئة، التي نمثلها المجلس في مجموعة 2D صحيح.
وهذا هو متغير عمومي يسمى المجلس مع أبعاد MAX، وMAX،
الأبعاد القصوى للمجلس.
الآن، البعد الفعلي للمجلس وتعطى من قبل المستخدم، ممثلة في
التي يمكن صحيح د، يكون أقل من MAX.
ولكن، في C، لا يمكنك تغيير حجم المصفوفات، لذلك كنت عالقة مع
أن أقصى البعد.
>> عملك في الحرف الأول هو لملء قيم المجلس
مع القيمة الصحيحة.
الآن، رأيناه المصفوفات 1D، ولكن كيف تعمل صفائف 2D؟
هناك فهرس الصف، الصفر فهرسة كما هو الحال دائما، وبعد ذلك أيضا من
العمود.
وعليك ملء الشبكة الخاصة بك في في تنازلي القيم، تماما مثل هذا.
الشبكة، 0، 0، 0 صف، عمود 0، 8، الشبكة 0، 1 7.
وهذا هو مثال حيث د، د قليلا، هو 3.
>> الآن، المجلس في خمسة عشر يجب أيضا تحتوي على البلاط فارغة، وإذا كنت قد أي وقت مضى
لعبت مع لعبة المادية.
ولكن، لوحة عبارة عن صفيف عدد صحيح، لذلك كل القيم يجب أن تكون صحيحة.
لذلك والامر متروك لكم لاتخاذ قرار صحيح قيمة لتمثيل البلاط فارغة.
تهيئة منتداك، يمكنك استخدام هياكل حلقة لاحتواء
الدولة بدءا من مجلس الإدارة، حيث متنها يمثل ط ي العنصر في
ط الصفوف والأعمدة ي.
يبدأون في ترتيب تنازلي، و تذكر، أنه إذا كان عدد من البلاط
أمر غريب، ثم وأنت تسير لدينا ل مبادلة موقع 2 و 1.
حتى لا يكون هناك، لدينا مجلس تهيئة.
>> الآن، بعد أن قمنا تهيئة لدينا المجلس، وحان الوقت لاستدراجه.
سوف التعادل طباعة الحالة الراهنة لل المجلس، ولكن كنت بحاجة للتأكد من
لطباعة البلاط في نفس الترتيب بعد أن كنت قد تهيئة لهم.
وتحتاج أيضا إلى تنسيق الأرقام الخاصة بك بشكل صحيح.
لأننا قد أصابع اليد الواحدة و رقمين، ثم تريد
طباعة مساحة فارغة قبل أي أرقام في خانة الاحاد.
استخدام هذا باستخدام العنصر النائب -.
>> ولكن تذكر مساحة فارغة لدينا.
نحن لا نريد لطباعة العدد الفعلي التي اخترناها لتمثيل
هذه المساحة فارغة في المجلس، ولكن نحن أيضا لا تريد طباعة أي شيء على الإطلاق.
ذلك ما يمكنك القيام به هو تحديد رمزا أو حرف لتمثيل
البلاط فارغة.
في الأمثلة السابقة لقد اختار ل تؤكد، ثم قمت بطباعة فقط
أنه كلما تصل إلى فارغ الفضاء في وظيفة السحب الخاصة بك.
>> ولذا فقد عشش لرسم الحلقات.
شيء من هذا القبيل.
لكل صف، ثم لكل قيمة في الصف، وأنت تسير لطباعة
القيمة في هذا الفضاء.
بمجرد طباعة كافة القيم في الصف، فإنك
يمكن طباعة سطر جديد.
تذكر أن أجل التعادل الخاص وظيفة يجب أن تعكس صدى أو النظام
في الدالة تهيئة.
>> الآن بعد أن كنت تهيئة المجلس و بعد أن كنت قد رسمها، وحان الوقت للسماح لل
المستخدم تحريره وجعل تحركاتها.
حتى في وظيفة Fifteen.c، و يأخذ البرنامج مدخلات من المستخدم و
ثم باستدعاء الدالة الخطوة، ويمر في عدد من البلاط أن
يريد المستخدم للتحرك.
الآن، وتوخي الحذر.
هذا هو العدد الفعلي للبلاط وليس موقفها الفعلي.
لذلك، سوف تحتاج للبحث عن البلاط و الموقف أن تعرف أين هو.
>> الآن، يجب أن تسمح فقط للمستخدم لاتخاذ خطوة اذا كان قانوني.
وتحرك قانوني هو أي البلاط التي هي المتاخمة للبلاط فارغة.
وهذا يعني، فوق وتحت، ل اليسار وإلى اليمين.
لذلك عليك أن تعرف أين البلاط فارغة هو كذلك.
الآن، لكل خطوة كنت تبحث عن البلاط المستخدمين، ولكن من المحتمل أن يكون
لا أفضل للبحث عن البلاط فارغة في كل مرة لأنك تفعل ذلك
كل مرة واحدة و يريد المستخدم للتحرك.
لذلك، بدلا من ذلك، فإنه من الأفضل أن نتذكر فيها البلاط فارغة يستخدم بعض
كذلك تسمية المتغيرات.
وذلك بمجرد تسمح للمستخدم لجعل الخاصة بهم التحركات، فهي كذلك على هم
الطريق إلى الفوز في المباراة من خمسة عشر.
>> الى الفوز في المباراة من خمسة عشر، والبلاط يجب أن تكون في ترتيب معين، و
يتحقق ظيفة سواء فاز وفاز في المباراة.
فإنها ترجع صحيح إذا فاز في المباراة و البلاط في الترتيب الصحيح،
و False خلاف ذلك.
وذلك لتحقيق الفوز في المباراة من خمسة عشر، والبلاط يجب أن تكون زيادة الطلب، مع
البلاط فارغة في أسفل الزاوية اليمنى.
إذا كيف يمكنك أن تحقق ما إذا كان المستخدم انتقلت الى مجلس الحق
التوجه؟
>> كذلك، عليك تكرار عبر مجلس الإدارة و تحقق من القيم للتأكد من أن
انهم في المكان الصحيح.
للقيام بذلك، يمكنك استخدام المتداخلة لحلقات مثلما فعلت
في التعادل والحرف الأول.
هناك عدة طرق للتحقق والتحقق من صحة ما إذا كان المجلس هو
الصحيح والفوز تشكيل، وإن كان.
إذا كنت تذهب من اليسار إلى اليمين، بدءا من الصف الأعلى إلى الأسفل، ثم كل
يجب أن يكون عدد أكبر من سابقتها.
كن حذرا حول ما نقدر قمت اختار للبلاط فارغة على الرغم من.
>> أو هل يمكن استخدام متغير العداد ل تأكد من أن كل قيمة في مكان، إذا
يمكنك الخروج مع بعض نوع من صيغة لتمثيل هذا.
بحيث يكون متعة تجريب مع الرياضيات.
مرة واحدة كنت قد وصلنا إلى وسيلة، وعودة صحيح مرة واحدة وفاز المستخدم اللعبة.
لكن إذا كان أي قيمة غير صحيحة، والعودة كاذبة، المستخدم لديه لمواصلة التحرك
لأنهم لم يفز اللعبة.
بمجرد تنفيذ هذا الاختيار، وجنبا إلى جنب مع تهيئة، ورسم، ونقل،
الانتهاء من لعبة خمسة عشر.
التهاني والمتعة في اللعب.
اسمي Zamyla وهذا هو CS50.