المقدمة: استخدم Silverlight 2.0 (c#) لتطوير لعبة Lianliankan. كيفية اللعب: حدد البطاقة بزر الفأرة الأيسر إذا كان الاتصال بين البطاقتين المحددتين لا يزيد عن 3 خطوط مستقيمة، فيمكن حذف البطاقتين المحددتين .
أفكار
1. خوارزمية الترتيب الأولي للبطاقة: من المعروف أن سعة الحاوية هي x، وعدد البطاقات الفريدة هو y، x >= y && x % 2 == 0، قم أولاً بترتيب البطاقات بشكل عشوائي في الحاوية، ثم أخرجها نفس البطاقات الموجودة في الحاوية لمجموعة ذات رقم فردي (يجب أن يكون عدد الأعضاء في المجموعة رقمًا زوجيًا)، وأخيرًا قم بقطع المجموعة عبر اللوحة وانسخ البطاقات من النصف الأيمن للمجموعة إلى النصف الأيسر من المجموعة بالتسلسل. تضمن الخوارزمية المذكورة أعلاه أنه بناءً على معدل عشوائي معين، لن يكون هناك عدد فردي من البطاقات المتطابقة.
2. لا توجد خوارزمية حل وخوارزمية إعادة ترتيب: من بين البطاقات الموجودة في الحاوية، احسب ما إذا كان هناك مسار قابل للحذف في أزواج، وإذا لم يكن الأمر كذلك، فلا يوجد حل ويجب إعادة ترتيبه. عند إعادة الترتيب، تحتاج إلى الحصول على مجموعة البطاقات الحالية ومجموعة مواضع البطاقة، واختيار البطاقات بشكل عشوائي من مجموعة البطاقات (إذا قمت بإخراج واحدة، فستتم إزالة هذه البطاقة من المجموعة الأصلية)، ثم وضعها في مجموعة مواضع البطاقة من أجل تحقيق الغرض من استبدال البطاقات الموجودة الغرض من إعادة الترتيب
3. خوارزمية مسار الإزالة ذات النقطتين وخوارزمية لتحديد مسار الإزالة الأمثل: خذ جميع مجموعات الإحداثيات بدون عناصر نائبة (بما في ذلك أنت) في اتجاه المحور السيني واتجاه المحور الصادي للنقطة الأولى التي حددها اللاعب، والأسماء هي على التوالي x1s، y1s؛ خذ جميع مجموعات الإحداثيات بدون عناصر نائبة (بما في ذلك أنت) في اتجاه المحور x واتجاه المحور y للنقطة الثانية التي حددها اللاعب، والأسماء هي x2s، y2s على التوالي. ابحث أولاً عن نقطتين لهما إحداثيات x متساوية في x1s وابحث عن مجموعة المسارات القابلة للحذف في وy2s. مجموعة المجموعتين هي مجموعة جميع المسارات القابلة للمسح بين النقطتين المحددتين من قبل اللاعب. إذا كانت المجموعة فارغة، فلا يمكن حذف النقطتين. أقصر مسار في المجموعة هو مسار الإزالة الأمثل، والـ 4 -نقطة الاتصال في المجموعة هي القضاء على موصلات المسار
4. تم تطوير اللعبة باستخدام نمط MVVM (النموذج - العرض - ViewModel).
يوسع