سؤال

أنا أصنع سقوط لعبة الرمال في جافا. أريد أن يكون المستخدمون قادرين على كتابة محركهم الخاص للعبة واعتقدت أن لغة البرمجة النصية قد تعمل من أجل ذلك. لقد جربت نصًا صغيرًا مع Jython وهو أبطأ عدة مرات من إصدار Java.

أحتاج إلى لغة نصية لها حلقات سريعة و/أو وصول سريع للمصفوفة لأن هذا ما ستقوم به اللعبة كثيرًا. أو إذا كان لديك أي اقتراحات حول طريقة أخرى للسماح للمستخدمين بكتابة محركهم الخاص للعبة.

كما أنني لست متأكدًا تمامًا من أن هذا يمكن أن يعمل (حسنًا). إذا كنت لا تعتقد أنه يمكن أن تخبرني لماذا وربما بعض البدائل الممكنة.

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

المحلول

Javacc

يمكنك أن تكتب أنك تملك لغة لعبة بسيطة مع Javacc. هذا يمنحك كل ما تريده وسرعة جافا الأصلية (حسناً أن الفعلي يعتمد على تطبيقك). لكنك تحتاج إلى الحفاظ على بناء الجملة بسيطًا وإلا فإن الأمر سيستغرق بعض الإغفال ...

جافا

جافا؟ نعم جافا! لماذا لا تسمح للمستخدمين بتمديد لعبتك بواسطة رمز Java؟ في Java 6 يوجد API Java Compiler:

Beanshell vs Rhino

بعض المقارنة بين الأداء بين بينشيل و ال وحيد القرن (JavaScript) المترجمون المترجمون (وحيد القرن هو الفائز):

نصائح أخرى

قد تنظر إلى بينشيل لهذا. في استخدامي ، كان الأمر سريعًا مثل Java الأصلي (كما يصبح هذا ما يصبح) ويمكن الوصول إليه إلى حد كبير هو جافا ، وإن كانت مغلقة حول جافا 1.4.

Relproxy هو برنامج التحويل البرمجي Java على الذبابة وإعادة صياغة الفئة الساخنة التلقائية ، يمكن تنفيذ رمز Java النقي مثل لغة البرمجة النصية.

نظرًا لأن java عبارة عن faaast java ربما يكون ذلك أسرع لغة نصية ، حيث يمكنك من الناحية اختياريًا استخدام ملفات class مثل نوع من ذاكرة التخزين المؤقت المترجمة لتجنب التجميع عند التحميل.

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