سؤال

أنا أكتب برنامج جافا الدوري الرياضية التي يمر الحالي مجموعة من الألعاب لعبت من كل فريق و جداول المباريات المقبلة ، ثم على أساس أن أقدم نموذجا من تدفق الشبكة.فكرة البرنامج هي أن تجد الفرق التي هي بالفعل في القضاء وليس لديهم فرص احتساء النبيذ أو تقاسم 1 مكان مع أي فريق آخر.بعد تحليل الشبكة (تطبيق EdmondsKarp algo.) يمكنني معرفة ما إذا كان فريق تحصل على القضاء أم لا.الآن أريد أيضا لمحاكاة هذا.أنا باستخدام JGraphT كما البياني المكتبة ، وربما يكون باستخدام JGraph التصور (السبب:بمجرد إنشاء JGraphT الكائنات يمكنني ببساطة مثيل JGraph الكائنات معهم وعرض الرسم البياني).أنا أيضا اكتشفت جونغ إطار أمس ، يبدو لطيفا.

المشكلة الرئيسية هي لم كتب المحاكاة و هي النقطة التي أريد "مرحبا العالم" مساعدة.عندما أقول محاكاة يعني أنا أريد أن تظهر بصريا كل جزء من خوارزمية التنفيذ ، وهنا مثال السيناريو:خوارزمية لإيجاد زيادة مسارات ، لذلك أريد أن تظهر عند كل حافة إضافة إلى زيادة المسار.وسوف يكون المستخدم قادرا على اللعب ووقف الرسوم المتحركة.أنا أيضا أريد أن تظهر التغيرات في التدفق في جميع حواف وأشياء من هذا القبيل.حتى الآن لدي خوارزمية العمل ولكن لا أعرف كيفية التعامل مع المحاكاة.يجب أن يكون باستخدام مؤشر ترابط منفصل عن محاكاة التنفيذ ؟ يجب أن أكتب فئة منفصلة من شأنها أن تنفيذ خوارزمية لكن مع الولايات تسجيل حتى من دون معرفة حقيقية خوارزمية (لأنني لا أريد أن يقطع الأداء الحقيقي الخوارزمية).يجب استخدام الحالية خوارزمية و إضافة بعض الخطوط بين لإنقاذ تنفيذ الدول في بعض هياكل البيانات التي يمكن أن تستخدم في وقت لاحق لعرض محاكاة المستخدم ؟ أي أفكار قد تساعد..

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

المحلول

إذا فهمت بشكل صحيح, أنت تسأل عن طريقة تحريك خوارزمية الخاص بك ومراقبة تنفيذها بشكل تفاعلي من خلال الرسوم المتحركة التي ليست تماما نفس المحاكاة (محاكاة فقط ينفذ نموذج عادة خلال فترة محددة من الوقت - الذي لا علاقة له مع تفاعل المستخدم أو الرسوم المتحركة ، ولكن بالطبع يمكن أن تكون جنبا إلى جنب مع كل كذلك).

أود أن أقترح عليك تقسيم المشكلة إلى قسمين رئيسيين ، التفاعل والرسوم المتحركة.على حد سواء يمكن حلها عن طريق تطبيق model-view-controller النهج:

  • للتفاعل مع خوارزمية تحديد 'الذرية خطوات' تريد أن نميز مثلاإضافة حافة الطريق.فأنت إما تمديد خوارزمية تعمل أيضا خطوة حكيمة أو الكتابة إضافية الدرجة التي يلتف الخوارزمية و توفر ما يلزم من إجراءات من أجل تنفيذ تدريجي.

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

فيما يتعلق أنت خيوط الأسئلة:الخوارزمية ربما ينبغي أن تعمل في ترابط إضافية (إلا إذا كان جدا سريع جدا) و يمكنك أيضا وضع الرسوم المتحركة في ترابط إضافية (وربما هذا هو بالفعل التي تقدمها JGraph على أي حال, مجرد التحقق من مستندات أو استخدام مكوناتها كما نصح).يجب أن نلاحظ أن الخوارزمية وقت الأداء يكاد يكون من المؤكد أن تتأثر aninmation ، حتى لو كان هو تشغيل في موضوع آخر (لأن الإعلام لا يزال يتعين القيام به من قبل الخوارزمية) - لذا كن حذرا مع تحليل الأداء واستخدام الامم المتحدة المتحركة إصدار مثل هذه الدراسات.

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