سؤال

أنا صنع استنساخ تتريس في C # مع XNA، وأنا غير متأكد من كيفية تنفيذ الكتل بالفعل.

لا أعتقد أن جعل الأشكال كصور ستعمل (نظرا لأن الأجزاء تتم إزالتها عندما يتم تشكيل الخطوط)، لذلك لدي كتل لتعويض القطع هذه.

لسوء الحظ، لا أعرف كيفية تحديد الكتل في الواقع لجعل القطع، ولا أعرف كيفية التعامل معها لجعلها تدوير، إلخ.

تحرير: أود أيضا أن أحتاج إلى مساعدة في تعلم كيفية جعل شبكة تتريس أيضا.

هل كانت مفيدة؟

المحلول

لم أقم بإنشاء Tetris من قبل، ولكن بعد بعض التفكير، أعتقد أنني سوف أستخدم مصفوفة بسيطة لإنشاء القطع الخاصة بي. على سبيل المثال، سيكون لوحة اللعبة بأكملها مصفوفة واحدة كبيرة. مجموعة فرعية من تلك المصفوفة، ويقول كتلة 4x4 منه، ستكون قطعة لعبة. أي أجزاء من كتلة 4x4 سيتم ملء سيتم تحديدها من خلال أي قطعة معينة تريد إنشاءها. يمكن أن يكون لكل جزء من المصفوفة علامة منطقية من شأنها أن تشير إلى ما إذا كانت مليئة أم لا. هذا وجهة نظر مبسطة للغاية، لكنني أعتقد أنه حل قابل للحياة.

نصائح أخرى

استخدم مصفوفة منطقية لنموذج حالة الشاشة. كل قطعة هي نفسها مصفوفة منطقية أصغر آخر.

تدوير قطعة بسيطة مثل اللعب مع الإحداثيات قليلا (تركت هذا لك).

حول كيفية تقديمه، فقط قم بسحب بلاط قطعة لكل قيمة حقيقية في مصفوفةك ored مع تحول قطعة السقوط الحالية وتناوب.

بالنسبة للكتل، أود أن أقترح بقوة العمل ثلاثي الأبعاد. لا يزال بإمكانك جعل اللعبة تبدو وكأنها ثنائية الأبعاد عن طريق قفل الكاميرا وغيرها، لكنك ستفيد الكثير من العمل في رسومات ناقلات. ستكون الكتل الخاصة بك مكعبات بسيطة (مسطحة أو مع بعض العمق) التي تقوم بتدويرها وتتنقل حولها.

بالنسبة للشبكة، انظر إلى إجابات فورتران و @ آرون، سيفعل مصفوفة منطقية الخدعة.

ربما هذا الرابط ل Coding4fun. سوف يساعد. إنه باللغة الألمانية، ولكن يجب أن تكون قادرا على الحصول على شفرة المصدر وإلقاء نظرة على كيفية حل المشكلة هنا.

فقط للتأكد، هنا تحميل الرابط المباشر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top