que tiene un pequeño juego escrito en C#. Utiliza una base de datos como back-end. Es un trading card game, y quería implementar la función de las tarjetas como una secuencia de comandos.Adición de funcionalidad de scripting para aplicaciones .NET
Lo que quiero decir es que, esencialmente, tengo una interfaz, ICard
, que implementa una clase de tarjeta (public class Card056 : ICard
) y que contiene funciones que son llamadas por el juego.
Ahora, para hacer la cosa mantenible/modificable, me gustaría tener la clase para cada tarjeta como código fuente en la base de datos y, esencialmente, compilarlo en el primer uso. Así que cuando tengo que añadir/cambiar una tarjeta, sólo voy a añadir a la base de datos y decirle a mi solicitud para actualizar, sin necesidad de ningún despliegue de montaje (especialmente ya que estaríamos hablando de montaje 1 por tarjeta que significa cientos de asambleas) .
¿Es posible? Registrar una clase a partir de un archivo de origen y luego instanciarlo, etc.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
El lenguaje es C#, pero bono extra si es posible escribir el guión en cualquier lenguaje .NET.
Eso es gracioso, yo y un amigo estábamos pensando en escribir un juego de cartas coleccionables en C# hace un tiempo, ¿no crees que todavía tienes la fuente para esto? Interesado en cómo te acercaste a esto. – mattytommo
@mattytommo No, no me queda nada, estaba en las primeras etapas y básicamente funcionaba como lo describí anteriormente. Hoy en día, buscaría en Roslyn para hacer la compilación de C#: http://blogs.msdn.com/b/csharpfaq/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx - Alternativamente, el uso de JavaScript Jint - http://jint.codeplex.com/ –
ah gracias, pero estaba buscando más la implementación del juego de cartas coleccionables en sí y la estructura que habías usado, a diferencia del motor de scripting. Gracias de todos modos :) – mattytommo